code wiki / _hdl_build / nx_genesis_trace.nx
nx_genesis_trace.nx
buildroot/runtime/_hdl_build/nx_genesis_trace.nx
about
nx_genesis_trace.nx -- THE GENESIS GENEALOGY TRACER.
module: nishi-core.genealogy.genesis_trace
capability: CORE_COMPUTE (the god->adam&eve->...->IO-endpoint lineage, made queryable)
THE MODEL (operator 2026-06-16):
god = the ORIGINATION point -- ANY hardware substrate, not locked to one chip.
adam & eve = the conceptual 1 and 0 (binary; quantum = the higher register) god passes down.
FRAGMENTATION points = 3rd-party divergence axes (hardware, os, ...) where you can get
LOCKED to a vendor/variant.
UNIFICATION points = layers that SPAN a fragmentation axis ("runs on all hardware",
"one app on all OSes") so you are NOT locked. A fragmentation axis with NO unification
node = a lock-in (a BOOTSTRAP_MAP broken link).
final endpoint = the APP <-> IO LOOP with a human or machine (OS is NOT the top).
This organ READS the lineage straight from DATA (knowledge/registry/genesis_lineage.tsv)
and re-derives, FRESH every run (Cardinal 11/25 -- add an axis = add rows, no code change):
* traces the endpoint DOWN to god, asserting it bottoms out at the origination (any HW);
* flags BROKEN LINKS (a parent_id that names no node) -- loud, never silently traced;
* censuses every FRAGMENTATION axis and whether a UNIFICATION spans it (else LOCKED).
Sovereign: imports only nx_syscalls (no gcc/sed/awk). license_tier: ORIGINAL
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_genesis_trace_gate.nx
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 25 | const GT_FILE: *u8 = "knowledge/registry/genesis_lineage.tsv" |
| 28 | const NT_NONE: i64 = 0 |
| 29 | const NT_ORIGIN: i64 = 1 |
| 30 | const NT_PRIM: i64 = 2 |
| 31 | const NT_UNI: i64 = 3 |
| 32 | const NT_DESC: i64 = 4 |
| 33 | const NT_FRAG: i64 = 5 |
| 34 | const NT_VAR: i64 = 6 |
| 35 | const NT_ENDPOINT: i64 = 7 |
functions
| 47 | func gt_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != 0 as u8 { n = n + 1 } sys_write(1, s, n); return 0 } |
| 48 | func gt_putn(v: i64) -> i64 |
| 58 | func gt_streq(a: *u8, b: *u8) -> i64 |
| 66 | func gt_field_dup(b: *u8, ls: i64, le: i64, f: i64) -> *u8 |
| 83 | func gt_type_code(s: *u8) -> i64 |
| 93 | func gt_type_name(t: i64) -> *u8 called by 1: gt_print_spine |
| 105 | func gt_parse(file: *u8) -> i64 |
| 155 | func gt_find(id: *u8) -> i64 |
| 163 | func gt_axis_has_uni(axis: *u8) -> i64 |
| 172 | func gt_node_reaches_god(idx: i64) -> i64 |
| 185 | func gt_has_child(id: *u8) -> i64 |
| 196 | func gt_analyze(file: *u8, outs: *i64) -> i64 called by 2: mainmain calls 6: gt_parsegt_streqgt_findgt_axis_has_unigt_node_reaches_godgt_has_child |
| 282 | func gt_print_spine() -> i64 |
| 309 | func main() -> i64 |