nx_asset_catalog_gate.nx
buildroot/runtime/nx_asset_catalog_gate.nx
about
nx_asset_catalog_gate.nx -- KAT + TEETH for nx_asset_catalog (R1 of the universal org-tooling arc).
Proves the content-addressed CATALOG over REAL R0 asset records through the REAL durable store:
(a) INGEST 3 DISTINCT records -> cat_count==3, and each cat_get returns the byte-faithful
original record bytes (the SSOT inventory round-trips)
(b) DEDUP teeth -> ingest a 4th record whose bytes EQUAL record #1: status==DUP
and count STAYS 3 (no second copy stored = content-addressed
dedup, the load-bearing R1 claim)
(c) IDEMPOTENT teeth -> re-ingest all 3: every one returns DUP, count STAYS 3 (#10)
(d) LIST -> cat_list returns exactly the 3 member CIDs (set complete)
(e) GET-UNKNOWN teeth -> cat_get on a CID never ingested -> not-found (graceful, no crash)
Plus an OPTIONAL real-records demo (machine image + downloaded video + human doc via R0 prov
helpers) in a separate catalog prefix, reporting count + that a re-ingest is DUP.
Verdict appended to knowledge/status/asset_catalog_gate.log (additive law #13).
expect_exit: 0 license_tier: ORIGINAL
dependencies 6 imports · 0 importers
imports: nx_syscalls.nxnx_canon_cid.nxnx_seg_store.nxnx_asset_record.nxnx_asset_catalog.nxnx_gate_verdict.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 27 | func g_puts(logfd: i64, s: *u8) -> i64 |
| 35 | func g_putn(logfd: i64, v: i64) -> i64 |
| 50 | func g_streq(a: *u8, b: *u8) -> i64 called by 1: main |
| 61 | func g_memeq(a: *u8, b: *u8, n: i64) -> i64 called by 1: main |
| 68 | func E() -> *u8 { return "\x00" as *u8 } called by 1: main |
| 71 | func sset(a: *i64, i: i64, s: *u8) -> i64 { a[i] = s as i64; return 0 } called by 1: main |
| 75 | func mk_rec(core: *i64, prov: *i64, media: *i64, org: *i64, out: *u8) -> i64 |
| 85 | func mk_prefix(prefix: *u8, base: *u8, salt: i64) -> i64 |
| 100 | func main() -> i64 |