code wiki / _hdl_build / nx_stackaudit_targets_gate.nx

nx_stackaudit_targets_gate.nx source

↩ module page · 73 lines · 3056 B

1// nx_stackaudit_targets_gate.nx -- gate for the loop-closer. Proves the EXACT production code path 2// (sax_should_emit + sax_emit_targets_core) against a /tmp queue it writes itself. NEGATIVE CONTROLS 3// are load-bearing: idempotency (an id already in the queue is NOT re-emitted -- the invariant that 4// makes per-beat emission safe), a healthy rung is NEVER targeted, and a re-run against the just- 5// written queue emits ZERO. verdict GREEN iff 6/6. license_tier: ORIGINAL 6import "nx_stackaudit_lib.nx" 7 8func stg_row(name: *u8, ok: i64) -> i64 { 9 _p("STGATE row=" as *u8); _p(name) 10 if ok == 1 { _p(" verdict=PASS\n" as *u8) } else { _p(" verdict=FAIL\n" as *u8) } 11 if ok == 1 { return 1 } 12 return 0 13} 14 15func main(argc: i64, argv: *i64) -> i64 { 16 var pass: i64 = 0 17 let buf: *u8 = sys_mmap(4096) 18 19 // T1 id shape 20 let idp: *u8 = sys_mmap(96) 21 sax_mkid("intelligence" as *u8, idp) 22 var ok: i64 = 0 23 if el_streq(idp, "STACK-intelligence" as *u8) == 1 { ok = 1 } 24 pass = pass + stg_row("T1-id-shape" as *u8, ok) 25 26 // T2 unhealthy + not-in-queue -> emit 27 let emptyq: *u8 = "\n" 28 ok = 0 29 if sax_should_emit("intelligence" as *u8, 1, emptyq, 1) == 1 { ok = 1 } 30 pass = pass + stg_row("T2-unhealthy-emit" as *u8, ok) 31 32 // T3 NEG (load-bearing): id ALREADY in queue -> NOT re-emitted (idempotency) 33 let seededq: *u8 = "STACK-intelligence\tSTK\t9\tM\n" 34 ok = 0 35 if sax_should_emit("intelligence" as *u8, 1, seededq, 27) == 0 { ok = 1 } 36 pass = pass + stg_row("T3-neg-idempotent" as *u8, ok) 37 38 // T4 NEG: a HEALTHY rung is never targeted regardless of the queue 39 ok = 0 40 if sax_should_emit("data" as *u8, 0, emptyq, 1) == 0 { ok = 1 } 41 pass = pass + stg_row("T4-neg-healthy-never" as *u8, ok) 42 43 // T5 end-to-end: emit against a FRESH /tmp queue -> emitted>=0, done_marks>0 (some rungs healthy) 44 ss_writefile("/tmp/sa_tq.tsv" as *u8, "# fresh stack target queue\n" as *u8, 26) 45 let szp: *i64 = sys_mmap(16) as *i64 46 let qb1: *u8 = ss_readall("/tmp/sa_tq.tsv" as *u8, szp) 47 var qn1: i64 = szp[0] 48 if qn1 < 0 { qn1 = 0 } 49 let qf1: i64 = sys_openat_append("/tmp/sa_tq.tsv" as *u8, 0x1a4) 50 let out1: *i64 = sys_mmap(32) as *i64 51 sax_emit_targets_core(qb1, qn1, qf1, 0 - 1, out1) 52 if qf1 >= 0 { sys_close(qf1) } 53 ok = 0 54 if out1[0] >= 0 { if out1[1] > 0 { ok = 1 } } 55 pass = pass + stg_row("T5-e2e-emit" as *u8, ok) 56 57 // T6 NEG (the idempotency invariant end-to-end): re-run against the NOW-written queue -> 0 emitted 58 let qb2: *u8 = ss_readall("/tmp/sa_tq.tsv" as *u8, szp) 59 var qn2: i64 = szp[0] 60 if qn2 < 0 { qn2 = 0 } 61 let out2: *i64 = sys_mmap(32) as *i64 62 sax_emit_targets_core(qb2, qn2, 0 - 1, 0 - 1, out2) 63 ok = 0 64 if out2[0] == 0 { ok = 1 } 65 pass = pass + stg_row("T6-neg-rerun-zero" as *u8, ok) 66 67 _p("STGATE pass=" as *u8); _fn(1, pass); _p("/6 verdict=" as *u8) 68 var rc: i64 = 1 69 if pass == 6 { rc = 0 } 70 if rc == 0 { _p("GREEN\n" as *u8) } else { _p("RED\n" as *u8) } 71 sys_exit(rc) 72 return rc 73}