code wiki / _hdl_build / nx_gateverify.nx
nx_gateverify.nx
buildroot/runtime/_hdl_build/nx_gateverify.nx
about
nx_gateverify.nx -- BEHAVIOURAL gate-record verification: run a gate, then compare what it PRINTED
against what it RECORDED.
WHY THIS AND NOT THE TEXTUAL CHECK: an earlier sibling organ tried to judge emit ORDER from source
position and was wrong on all seven gates it flagged -- helper definitions, test fixtures and /tmp
writes all match an append token, and it even flagged its own gate via test-data literals. That check
was DELETED. The one genuine defect in that arc was caught by READING THE LOG AGAINST THE OUTPUT:
the gate printed 41/41 while its log said 23/23. This organ mechanises exactly that comparison, so it
finds the real thing and cannot manufacture the false ones.
★A gate's stdout is watched by a human for ten seconds; its LOG is what every ruler reads forever.
When those two disagree, the log is the one that matters and the one that is wrong.
nx_gateverify <gate-name> [logname]
e.g. nx_gateverify nx_capgraph_derive_gate
verdicts: AGREE · DISAGREE (the record is untrustworthy) · NO-LOG · UNPARSED
exit 0 agree/no-log · 1 DISAGREE · 4 run-fail
license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
dependencies 2 imports · 0 importers
imports: nx_gateorder_lib.nxnx_tool_run.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
| 22 | const GV_CAP: i64 = 262144 |
| 23 | const GV_PATH: i64 = 512 |
functions
| 29 | func gv_cat(dst: *u8, at: i64, s: *u8) -> i64 |
| 44 | func gv_logpath(name: *u8) -> i64 |
| 68 | func main(argc: i64, argv: *i64) -> i64 |