nx_asset_record_gate.nx
buildroot/runtime/nx_asset_record_gate.nx
about
nx_asset_record_gate.nx -- KAT + TEETH for nx_asset_record (R0 of the universal org-tooling arc).
Proves the unified content-addressed ASSET RECORD on real bytes through the real durable store:
(a) DETERMINISTIC IDENTITY same record bytes -> same CID; ONE changed field -> DIFFERENT CID
(b) ROUND-TRIP ar_encode -> ar_put -> ar_get_by_cid -> ar_decode is byte-faithful
(every field identical, byte length identical)
(c) 3 PROVENANCE CLASSES human / machine(tool+model) / downloaded(source URL) each encode,
store, and decode with the correct class + payload surviving
(d) INTEGRITY TEETH flip ONE byte of a stored record -> recomputed CID != the stored
key (tamper detected; content-address self-proof is load-bearing)
Verdict logged to knowledge/status/asset_record_gate.log (append-only; ADDITIVE law #13).
expect_exit: 0 license_tier: ORIGINAL
dependencies 6 imports · 0 importers
imports: nx_syscalls.nxnx_canon_cid.nxnx_uxf_decode.nxnx_seg_store.nxnx_asset_record.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
| 23 | func g_puts(logfd: i64, s: *u8) -> i64 |
| 31 | func g_putn(logfd: i64, v: i64) -> i64 |
| 46 | func g_streq(a: *u8, b: *u8) -> i64 called by 1: main |
| 57 | func g_memeq(a: *u8, b: *u8, n: i64) -> i64 called by 1: main |
| 64 | func E() -> *u8 { return "\x00" as *u8 } called by 1: main |
| 67 | func sset(a: *i64, i: i64, s: *u8) -> i64 { a[i] = s as i64; return 0 } called by 1: main |
| 71 | func mk_rec(core: *i64, prov: *i64, media: *i64, org: *i64, out: *u8) -> i64 |
| 78 | func main() -> i64 |