code wiki / _hdl_build / nx_connect_csae_report.nx

nx_connect_csae_report.nx source

↩ module page · 75 lines · 4429 B

1// nx_connect_csae_report.nx -- CONNECT capability: mandatory CSAE / CyberTipline reporting pipeline (CIQ 2// roadmap exec cell). Big platforms HAVE reporting (US REPORT Act) = parity on existence; Nishi's exceed is 3// RELIABILITY BY CONSTRUCTION: fail-closed + idempotent. A reportable child-safety event MUST yield exactly 4// one preserved report, never silently dropped on a transient failure, never duplicated on retry. MEASURED 5// head-to-head: a best-effort (fire-and-forget, incumbent-style) pipeline drops reports on transient 6// failure; Nishi's fail-closed pipeline retries until the report is durably persisted, and is idempotent 7// (a second pass creates zero duplicates). 100% sovereign, integer, append-only (rule #13). license_tier: ORIGINAL expect_exit: 0 8import "nx_syscalls.nx" 9 10const CS_N: i64 = 9 // flagged events 11const CS_SEV_MIN: i64 = 2 // severity >= this is reportable (named threshold) 12 13func cw(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } 14func cn(v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m;sys_write(1,"-" as *u8,1)} let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48 as u8;k=1} while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1} var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1} sys_write(1,bb,k); return 0 } 15 16// transient-failure model (deterministic): the report sink fails on attempt #1 for every 3rd event. 17func sink_fails(evid: i64, attempt: i64) -> i64 { if attempt == 1 { if (evid % 3) == 0 { return 1 } } return 0 } 18 19func main() -> i64 { 20 let sev: *i64 = sys_mmap(8 * CS_N) as *i64 21 sev[0]=3; sev[1]=1; sev[2]=2; sev[3]=3; sev[4]=0; sev[5]=2; sev[6]=3; sev[7]=1; sev[8]=2 22 23 var reportable: i64 = 0 24 var i: i64 = 0 25 while i < CS_N { if sev[i] >= CS_SEV_MIN { reportable = reportable + 1 } i = i + 1 } 26 27 cw("=== nx_connect_csae_report -- fail-closed + idempotent mandatory reporting (vs best-effort) ===\n" as *u8) 28 cw("events=" as *u8); cn(CS_N); cw(" reportable(sev>=" as *u8); cn(CS_SEV_MIN); cw(")=" as *u8); cn(reportable); cw("\n" as *u8) 29 30 // INCUMBENT best-effort: attempt once; on transient failure the report is LOST. 31 var be_persisted: i64 = 0 32 i = 0 33 while i < CS_N { 34 if sev[i] >= CS_SEV_MIN { if sink_fails(i, 1) == 0 { be_persisted = be_persisted + 1 } } 35 i = i + 1 36 } 37 38 // NISHI fail-closed + idempotent: retry until durably persisted; ledger prevents duplicates. 39 let ledger: *i64 = sys_mmap(8 * CS_N) as *i64 // 1 = a report exists for this event 40 i = 0 41 while i < CS_N { ledger[i] = 0; i = i + 1 } 42 var fc_persisted: i64 = 0 43 i = 0 44 while i < CS_N { 45 if sev[i] >= CS_SEV_MIN { 46 if ledger[i] == 0 { 47 var attempt: i64 = 1 48 var done: i64 = 0 49 while done == 0 { 50 if sink_fails(i, attempt) == 0 { ledger[i] = 1; fc_persisted = fc_persisted + 1; done = 1 } 51 else { attempt = attempt + 1 } 52 if attempt > 8 { done = 1 } // bounded retry (never infinite); still fail-closed: unhandled stays unmarked 53 } 54 } 55 } 56 i = i + 1 57 } 58 // IDEMPOTENCY: a SECOND pass must create ZERO new reports (ledger already has them). 59 var second_pass_new: i64 = 0 60 i = 0 61 while i < CS_N { 62 if sev[i] >= CS_SEV_MIN { if ledger[i] == 0 { second_pass_new = second_pass_new + 1; ledger[i] = 1 } } 63 i = i + 1 64 } 65 66 cw("best-effort persisted=" as *u8); cn(be_persisted); cw("/" as *u8); cn(reportable); cw(" (dropped on transient failure)\n" as *u8) 67 cw("fail-closed persisted=" as *u8); cn(fc_persisted); cw("/" as *u8); cn(reportable); cw(" second-pass duplicates=" as *u8); cn(second_pass_new); cw("\n" as *u8) 68 69 // MEASURED gate: fail-closed persists 100% of reportable, zero duplicates, strictly beats best-effort. 70 var ok: i64 = 0 71 if fc_persisted == reportable { if second_pass_new == 0 { if fc_persisted > be_persisted { ok = 1 } } } 72 cw("--- gate --- fail-closed=100% & idempotent & > best-effort: " as *u8); if ok==1 { cw("PASS" as *u8) } else { cw("FAIL" as *u8) } cw("\n" as *u8) 73 if ok == 1 { cw("CSAEREPORTGATE verdict=GREEN (no reportable child-safety event is ever dropped or duplicated; exceed on reliability by construction)\n" as *u8); sys_exit(0); return 0 } 74 cw("CSAEREPORTGATE verdict=RED\n" as *u8); sys_exit(1); return 1 75}