nx_comparestale_edge_cli_t139.nx
buildroot/runtime/nx_comparestale_edge_cli_t139.nx
about
nx_comparestale.nx -- IS EVERY PUBLISHED COMPARE PAGE STILL TRUE TO ITS SOURCE?
WHY THIS EXISTS. /compare/doctor sat a MONTH stale, publishing "THE root blocker: emitted ELFs
carry no line mapping" long after that stopped being true -- with a perfectly valid
generated_unix. Nothing could see it, because nothing compared the page to the thing it was
generated from. A TIMESTAMP TELLS YOU WHEN A PAGE WAS MADE, NEVER WHETHER IT IS CURRENT.
HOW. Both generators now stamp "source_hash" = djb2-48 over the .matrix/.sota they read. This
organ recomputes that hash from the source on disk and compares it to the published page.
Deliberately CLOCK-FREE: mtimes lie across copies (this tree has TWO knowledge/compare
directories and I lost an edit to exactly that) and clocks lie across machines. Content does not.
VERDICTS, and the distinction is the point:
FRESH page hash == source hash
STALE page exists and disagrees with its source -> the source of truth moved, publish did not
UNPUBLISHED source exists, no page -> never generated, or gate-refused
NOSTAMP page predates the provenance stamp -> republish once and it becomes decidable
Exit 1 if any STALE. UNPUBLISHED does NOT fail the gate: a domain whose matrix gate legitimately
refuses (legal, present>=5) must not be reported as drift -- CONFLATING "REFUSED" WITH "DRIFTED"
IS THE SAME DEFECT THIS ESTATE KEEPS PAYING FOR.
license_tier: ORIGINAL expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_comparestale_edge_lib_t139.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
| 24 | const CS_MAGIC_5381: i64 = 5381 |
| 25 | const CS_MAGIC_8192: i64 = 8192 |
| 26 | const CS_MAGIC_1024: i64 = 1024 |
| 27 | const CS_MAGIC_8000: i64 = 8000 |
| 29 | const CS_CAP: i64 = 262144 |
functions
| 31 | func w(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } |
| 32 | func wn(v: i64) -> i64 |
| 45 | func cs_read(path: *u8, buf: *u8, cap: i64) -> i64 |
| 57 | func cs_cat(dst: *u8, off: i64, s: *u8) -> i64 called by 1: main |
| 64 | func cs_hash(b: *u8, n: i64) -> i64 called by 1: main |
| 71 | func cs_find(b: *u8, n: i64, pat: *u8) -> i64 called by 1: main |
| 84 | func cs_int_at(b: *u8, n: i64, off: i64) -> i64 called by 1: main |
| 97 | func main(argc: i64, argv: *i64) -> i64 |