code wiki / _hdl_build / nx_genealogist.nx
nx_genealogist.nx
buildroot/runtime/_hdl_build/nx_genealogist.nx
about
nx_genealogist.nx -- the GENEALOGIST: prevent capability DUPLICATION (operator: don't rebuild what
we already have). Before the Builder authors a capability, the Genealogist checks the registry for
an equivalent. A capability has a two-axis SIGNATURE: (artifact_kind, objective_kind). It is a
DUPLICATE only if BOTH match -- so "allocation optimizing IMPORTANCE" (imatrix) and "allocation
optimizing PERCEPTION" are DIFFERENT capabilities (same artifact, new objective = novel), but
proposing imatrix twice, or re-proposing PSNR fidelity, is caught and refused. This keeps the
100+ caps from bloating into near-duplicates and forces REUSE of what exists. RACI: the
Genealogist guards lineage (it does not build or verify). license_tier: ORIGINAL Refs: code-hygiene organ.
dependencies 1 imports · 4 importers
imports: nx_syscalls.nx
imported by: nx_genealogist2_test.nxnx_genealogist_test.nxnx_nightly_maintenance.nxnx_spec_synth_test.nx
structs
| none |
consts
| 13 | const ART_ALLOC: i64 = 1 // a bit/resource allocation |
| 14 | const ART_FIDELITY: i64 = 2 // a fidelity/quality metric |
| 15 | const ART_SEARCH: i64 = 3 // a search/synthesis engine |
| 16 | const ART_KERNEL: i64 = 4 // a compute kernel |
| 17 | const ART_ORGAN: i64 = 5 // a crew organ |
| 19 | const OBJ_IMPORTANCE: i64 = 1 |
| 20 | const OBJ_DISTORTION: i64 = 2 |
| 21 | const OBJ_PERCEPTION: i64 = 3 |
| 22 | const OBJ_ENERGY: i64 = 4 |
| 23 | const OBJ_GENERIC: i64 = 5 |
| 24 | const OBJ_COMPOSITE: i64 = 6 |
| 26 | const GEN_NOVEL: i64 = 0 |
| 27 | const GEN_DUPLICATE: i64 = 1 |
functions
| 30 | func gen_is_duplicate(art: i64, obj: i64, reg_art: *i64, reg_obj: *i64, n: i64) -> i64 |
| 40 | func gen_clear_to_build(art: i64, obj: i64, reg_art: *i64, reg_obj: *i64, n: i64) -> i64 |
| 46 | func gen_register(art: i64, obj: i64, reg_art: *i64, reg_obj: *i64, n: i64) -> i64 called by 1: main |
| 55 | func gen_obj_related(o1: i64, o2: i64) -> i64 called by 1: gen_relatedness |
| 63 | func gen_relatedness(a1: i64, o1: i64, a2: i64, o2: i64) -> i64 |
| 72 | func gen_sprawl_scan(n: i64, reg_art: *i64, reg_obj: *i64, out_exact: *i64, out_near: *i64) -> i64 |
| 90 | func gen_supersedes(art: i64, obj: i64, new_score: i64, old_art: i64, old_obj: i64, old_score: i64) -> i64 |