code wiki / _hdl_build / nx_stackaudit_census_gate.nx

nx_stackaudit_census_gate.nx source

↩ module page · 131 lines · 6161 B

1// nx_stackaudit_census_gate.nx -- gate for the sovereign full-stack auditor. Proves the EXACT 2// production code path (sax_eval + sax_census) on /tmp fixtures it writes itself (self-contained: 3// survives WSL /tmp cold-boot wipes; fixture bytes identical every run so non-truncating rewrites 4// stay deterministic). NEGATIVE CONTROLS are load-bearing: last-verdict-wins cannot fabricate a 5// green (T2), a missing file reads UNKNOWN not GREEN (T3), and the anti-rot liar-kill fires when 6// EXPECTED evidence is absent (T6 uses table t=1 whose 3rd row points at a never-created path). 7// verdict GREEN iff 8/8. license_tier: ORIGINAL 8import "nx_stackaudit_lib.nx" 9 10func sag_row(name: *u8, ok: i64) -> i64 { 11 _p("SAGATE row=" as *u8); _p(name) 12 if ok == 1 { _p(" verdict=PASS\n" as *u8) } else { _p(" verdict=FAIL\n" as *u8) } 13 if ok == 1 { return 1 } 14 return 0 15} 16 17func main(argc: i64, argv: *i64) -> i64 { 18 var pass: i64 = 0 19 let ev: *i64 = sys_mmap(32) as *i64 20 let buf: *u8 = sys_mmap(4096) 21 22 // fixtures (same bytes every run -> deterministic even without truncate-on-write) 23 var o: i64 = 0 24 o = ss_cat(buf, 0, "SAFX step=1 verdict=RED\nSAFX step=2 verdict=GREEN\n" as *u8) 25 ss_writefile("/tmp/sa_fx_g.log" as *u8, buf, o) 26 o = ss_cat(buf, 0, "SAFX meter=live permil=347 grade=D\n" as *u8) 27 ss_writefile("/tmp/sa_fx_p.log" as *u8, buf, o) 28 o = ss_cat(buf, 0, "SAFX only verdict=GREEN\n" as *u8) 29 ss_writefile("/tmp/sa_fx_g2.log" as *u8, buf, o) 30 o = ss_cat(buf, 0, "SAFX good verdict=GREEN\nSAFX later verdict=RED\n" as *u8) 31 ss_writefile("/tmp/sa_fx_r.log" as *u8, buf, o) 32 o = ss_cat(buf, 0, "SAFX nothing to parse here\n" as *u8) 33 ss_writefile("/tmp/sa_fx_noise.log" as *u8, buf, o) 34 35 // T1 gate-liveness last-wins GREEN (RED then GREEN -> GREEN) 36 sax_eval(2, "/tmp/sa_fx_g.log" as *u8, "verdict=" as *u8, ev) 37 var ok: i64 = 0 38 if ev[0] == 1 { if ev[2] == 0 { ok = 1 } } 39 pass = pass + sag_row("T1-last-wins-green" as *u8, ok) 40 41 // T2 NEG (load-bearing): GREEN then RED -> RED, a stale green can NOT survive 42 sax_eval(2, "/tmp/sa_fx_r.log" as *u8, "verdict=" as *u8, ev) 43 ok = 0 44 if ev[0] == 2 { if ev[2] == 0 { ok = 1 } } 45 pass = pass + sag_row("T2-neg-last-wins-red" as *u8, ok) 46 47 // T3 NEG: missing file -> UNKNOWN + missing flag, never GREEN (no fabricated liveness) 48 sax_eval(2, "/tmp/sa_fx_never.log" as *u8, "verdict=" as *u8, ev) 49 ok = 0 50 if ev[0] == 0 { if ev[2] == 1 { ok = 1 } } 51 pass = pass + sag_row("T3-neg-missing-unknown" as *u8, ok) 52 53 // T4 permil-derive parses the real token 54 sax_eval(1, "/tmp/sa_fx_p.log" as *u8, "permil=" as *u8, ev) 55 ok = 0 56 if ev[0] == 3 { if ev[1] == 347 { ok = 1 } } 57 pass = pass + sag_row("T4-permil-347" as *u8, ok) 58 59 // T5 NEG: file present but token absent -> missing evidence, not a number 60 sax_eval(1, "/tmp/sa_fx_noise.log" as *u8, "permil=" as *u8, ev) 61 ok = 0 62 if ev[0] == 0 { if ev[2] == 1 { ok = 1 } } 63 pass = pass + sag_row("T5-neg-token-absent" as *u8, ok) 64 65 // T6 NEG (the census-level anti-rot liar-kill): table t=1 row 3 EXPECTS /tmp/sa_fx_never.log 66 // which is never created -> conflicts=1 -> census verdict RED. Proves rot screams. 67 let out1: *i64 = sys_mmap(128) as *i64 68 let v1: i64 = sax_census(1, 0, out1) 69 ok = 0 70 if v1 == 1 { if out1[5] == 1 { if out1[1] == 1 { if out1[3] == 1 { if out1[4] == 1 { ok = 1 } } } } } 71 pass = pass + sag_row("T6-neg-liar-kill-fires" as *u8, ok) 72 73 // T7 POS: table t=2 fully evidenced -> verdict GREEN, counts exact (green=2 measured=1 unknown=0) 74 let out2: *i64 = sys_mmap(128) as *i64 75 let v2: i64 = sax_census(2, 0, out2) 76 ok = 0 77 if v2 == 0 { if out2[5] == 0 { if out2[1] == 2 { if out2[3] == 1 { if out2[4] == 0 { if out2[6] == 347 { ok = 1 } } } } } } 78 pass = pass + sag_row("T7-pos-green-path" as *u8, ok) 79 80 // T8 determinism: same table, two runs, identical outputs 81 let out3: *i64 = sys_mmap(128) as *i64 82 let v3: i64 = sax_census(2, 0, out3) 83 ok = 1 84 if v3 != v2 { ok = 0 } 85 var k: i64 = 0 86 while k < 8 { if out3[k] != out2[k] { ok = 0 } k = k + 1 } 87 pass = pass + sag_row("T8-deterministic" as *u8, ok) 88 89 // ---- TRIANGULATION (anti-self-validation) ---- 90 // T9 health signal: gate-GREEN witness = healthy; permil below/above FLOOR = broken/healthy 91 ok = 0 92 if sax_healthy(2, 1, 0 - 1) == 1 { if sax_healthy(1, 3, 347) == 0 { if sax_healthy(1, 3, 947) == 1 { ok = 1 } } } 93 pass = pass + sag_row("T9-health-signal" as *u8, ok) 94 95 // T10 two witnesses AGREE (both healthy) -> triangulated 96 ok = 0 97 if sax_tri_status(1, 2, 0, 1) == 2 { ok = 1 } 98 pass = pass + sag_row("T10-agree-triangulated" as *u8, ok) 99 100 // T11 NEG (load-bearing): witnesses DISAGREE -> CONFLICT caught, never silently merged 101 ok = 0 102 if sax_tri_status(1, 2, 0, 0) == 3 { ok = 1 } 103 pass = pass + sag_row("T11-neg-disagree-conflict" as *u8, ok) 104 105 // T12 NEG: 2nd source DECLARED but ABSENT -> single-source, NOT a fabricated conflict 106 ok = 0 107 if sax_tri_status(1, 2, 1, 0) == 1 { ok = 1 } 108 pass = pass + sag_row("T12-neg-absent-2nd-single" as *u8, ok) 109 110 // T13 end-to-end conflict: table t=3 = one rung, primary GREEN vs 2nd source RED -> 111 // tri_conflict=1 -> census verdict RED (inconsistent evidence is untrustworthy) 112 let out4: *i64 = sys_mmap(128) as *i64 113 let v4: i64 = sax_census(3, 0, out4) 114 ok = 0 115 if v4 == 1 { if out4[9] == 1 { if out4[8] == 0 { if out4[5] == 0 { ok = 1 } } } } 116 pass = pass + sag_row("T13-neg-e2e-tri-conflict-reddens" as *u8, ok) 117 118 // T14 POS: t=2 green path triangulates row0 (agreeing 2nd source), stays GREEN 119 let out5: *i64 = sys_mmap(128) as *i64 120 let v5: i64 = sax_census(2, 0, out5) 121 ok = 0 122 if v5 == 0 { if out5[8] == 1 { if out5[9] == 0 { if out5[10] == 2 { ok = 1 } } } } 123 pass = pass + sag_row("T14-pos-triangulated-green" as *u8, ok) 124 125 _p("SAGATE pass=" as *u8); _fn(1, pass); _p("/14 verdict=" as *u8) 126 var rc: i64 = 1 127 if pass == 14 { rc = 0 } 128 if rc == 0 { _p("GREEN\n" as *u8) } else { _p("RED\n" as *u8) } 129 sys_exit(rc) 130 return rc 131}