code wiki / _hdl_build / nx_genealogist.nx

nx_genealogist.nx

buildroot/runtime/_hdl_build/nx_genealogist.nx

4407 B93 linesdepth 2pulls 2 transitivereach 5 importersview sourcekind library
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nx_genealogist.nx nx_genealogist2_test.nx nx_genealogist_test.nx nx_nightly_maintenance.nx nx_spec_synth_test.nx

imports: nx_syscalls.nx

imported by: nx_genealogist2_test.nxnx_genealogist_test.nxnx_nightly_maintenance.nxnx_spec_synth_test.nx

structs

none

consts

13const ART_ALLOC: i64 = 1 // a bit/resource allocation
14const ART_FIDELITY: i64 = 2 // a fidelity/quality metric
15const ART_SEARCH: i64 = 3 // a search/synthesis engine
16const ART_KERNEL: i64 = 4 // a compute kernel
17const ART_ORGAN: i64 = 5 // a crew organ
19const OBJ_IMPORTANCE: i64 = 1
20const OBJ_DISTORTION: i64 = 2
21const OBJ_PERCEPTION: i64 = 3
22const OBJ_ENERGY: i64 = 4
23const OBJ_GENERIC: i64 = 5
24const OBJ_COMPOSITE: i64 = 6
26const GEN_NOVEL: i64 = 0
27const GEN_DUPLICATE: i64 = 1

functions

30func gen_is_duplicate(art: i64, obj: i64, reg_art: *i64, reg_obj: *i64, n: i64) -> i64
40func gen_clear_to_build(art: i64, obj: i64, reg_art: *i64, reg_obj: *i64, n: i64) -> i64
called by 2: mainmain calls 1: gen_is_duplicate
46func gen_register(art: i64, obj: i64, reg_art: *i64, reg_obj: *i64, n: i64) -> i64
called by 1: main
63func gen_relatedness(a1: i64, o1: i64, a2: i64, o2: i64) -> i64
called by 2: gen_sprawl_scanmain calls 1: gen_obj_related
72func gen_sprawl_scan(n: i64, reg_art: *i64, reg_obj: *i64, out_exact: *i64, out_near: *i64) -> i64
called by 2: mainmain calls 1: gen_relatedness
90func gen_supersedes(art: i64, obj: i64, new_score: i64, old_art: i64, old_obj: i64, old_score: i64) -> i64
called by 2: mainmain