code wiki / _hdl_build / nx_drysweep.nx
nx_drysweep.nx
buildroot/runtime/_hdl_build/nx_drysweep.nx
about
nx_drysweep.nx -- WHAT DOES nx_gate_dry_apply ACTUALLY SAY ABOUT EVERY GATE? The D001 lane has been
sized from a constant nobody measured: dry_apply's own SKIP text asserts "the fails==0 family, 36
gates" and nothing in the tree derives it (debt 1786236085). dry_apply has NO sweep verb -- its usage
is `<gate> <out-candidate-path>` -- so the census could not be taken. This is that census.
★COMPOSES THE RULER, NEVER RE-IMPLEMENTS IT. It FORKS nx_gate_dry_apply per gate and only TALLIES the
answer, exactly as nx_forkgrade forks nx_srcdiff per pair so that exactly ONE line-differ exists in the
estate. Re-deriving dry_apply's classification here would create a second, silently-diverging judge --
and a census that disagrees with the tool it describes is worse than no census.
★DURABLE AS IT GOES. Rows APPEND to knowledge/status/drysweep.log per gate, before any summary. A long
sweep that buffers its output has NO partial results: an interruption costs everything, not the
remainder. Resume with <skip>.
★NO SILENT CAPS: <max> bounds the run and the DEFERRED remainder is printed. A cap reached in silence
becomes a measurement nobody knows is partial.
nx_drysweep <max> [skip] [dir]
exit: 0 swept clean | 1 at least one ERROR/TIMEOUT (the tally is still printed) | 2 usage
3 NO-CONCLUSION (dry_apply unresolvable, or the gate dir cannot be opened)
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_artifact_root.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
| 25 | const DS_DIR: *u8 = "buildroot/runtime/_hdl_build" |
| 26 | const DS_LOG: *u8 = "knowledge/status/drysweep.log" |
| 27 | const DS_CAND: *u8 = "/tmp/drysweep_cand.nx" |
| 28 | const DS_OUTCAP: i64 = 65536 |
| 29 | const DS_TIMEOUT: i64 = 20000 |
| 30 | const DS_DIRBUF: i64 = 1048576 |
| 31 | const DS_NAMECAP: i64 = 512 |
functions
| 33 | func ds_puts(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 34 | func ds_w(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 } |
| 35 | func ds_n(fd: i64, v: i64) -> i64 |
| 48 | func ds_has(buf: *u8, n: i64, pat: *u8) -> i64 called by 1: main |
| 64 | func ds_is_gate(nm: *u8) -> i64 called by 1: main |
| 74 | func main(argc: i64, argv: *i64) -> i64 |