code wiki / _hdl_build / nx_ingest_governed_test.nx

nx_ingest_governed_test.nx source

↩ module page · 72 lines · 5081 B

1// nx_ingest_governed_test.nx -- prove a loop candidate must EARN ingestion through Engineer rigor + 2// Council process + documentation, with separation of duties. No single flag inserts into the ecosystem. 3// Exit 0 on 9/9. license_tier: ORIGINAL 4 5import "nx_ingest_governed.nx" 6import "nx_syscalls.nx" 7 8func gt_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } 9func gt_num(v: i64) -> i64 { let bb: *u8 = sys_mmap(28); var m: i64=v; if m<0 {m=0-m}; let t: *u8 = sys_mmap(28); var k: i64=0; if m==0 {t[0]=48;k=1}; while m>0 {t[k]=48+(m%10); 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 } 10 11// organ ids for the separation-of-duties check. 12const ORG_BUILDER: i64 = 10 13const ORG_COUNCIL: i64 = 20 14 15func main() -> i64 { 16 gt_puts("=== GOVERNED INGEST -- a candidate must pass Engineer + Council + docs, not a single flag ===\n" as *u8) 17 18 // CASE A: a clean candidate -- compiles, links, runs, exit 0; additive; admitted by Council (not the 19 // Builder); documented. -> INGEST. 20 let engA: i64 = ig_engineer(1, 1, 1, 1) 21 let counA: i64 = ig_council(engA, 1, ORG_BUILDER, ORG_COUNCIL) 22 let docA: i64 = ig_documented(1, 1) 23 let decA: i64 = ig_decision(engA, counA, docA) 24 gt_puts(" A clean+additive+documented, council-admitted: eng=" as *u8); gt_num(engA); gt_puts(" council=" as *u8); gt_num(counA); gt_puts(" decision=" as *u8); gt_num(decA); gt_puts(" (1=INGEST)\n" as *u8) 25 26 // CASE B: the candidate CRASHES (the silent-miscompile class). Engineer catches it -> HELD -> Doctor. 27 let engB: i64 = ig_engineer(1, 1, 0, 0) 28 let counB: i64 = ig_council(engB, 1, ORG_BUILDER, ORG_COUNCIL) 29 let decB: i64 = ig_decision(engB, counB, ig_documented(1,1)) 30 let rB: i64 = ig_held_reason(engB, counB, ig_documented(1,1)) 31 gt_puts(" B crashes: eng=" as *u8); gt_num(engB); gt_puts(" (4=CRASH) decision=" as *u8); gt_num(decB); gt_puts(" (0=HELD) reason=" as *u8); gt_num(rB); gt_puts(" (1=->Doctor)\n" as *u8) 32 33 // CASE C: the BUILDER tries to admit its OWN work (author == admitter). Council rejects: separation of duties. 34 let engC: i64 = ig_engineer(1, 1, 1, 1) 35 let counC: i64 = ig_council(engC, 1, ORG_BUILDER, ORG_BUILDER) 36 let decC: i64 = ig_decision(engC, counC, ig_documented(1,1)) 37 let rC: i64 = ig_held_reason(engC, counC, ig_documented(1,1)) 38 gt_puts(" C self-admit (author==admitter): council=" as *u8); gt_num(counC); gt_puts(" (0=REJECT) decision=" as *u8); gt_num(decC); gt_puts(" reason=" as *u8); gt_num(rC); gt_puts(" (2=council)\n" as *u8) 39 40 // CASE D: passes Engineer + Council but is UNDOCUMENTED. HELD pending the Scribe. 41 let engD: i64 = ig_engineer(1, 1, 1, 1) 42 let counD: i64 = ig_council(engD, 1, ORG_BUILDER, ORG_COUNCIL) 43 let decD: i64 = ig_decision(engD, counD, ig_documented(0, 0)) 44 let rD: i64 = ig_held_reason(engD, counD, ig_documented(0, 0)) 45 gt_puts(" D undocumented: decision=" as *u8); gt_num(decD); gt_puts(" (0=HELD) reason=" as *u8); gt_num(rD); gt_puts(" (3=->document)\n" as *u8) 46 47 // CASE E: NON-additive (would overwrite protected source). Council rejects even if Engineer passes. 48 let engE: i64 = ig_engineer(1, 1, 1, 1) 49 let counE: i64 = ig_council(engE, 0, ORG_BUILDER, ORG_COUNCIL) 50 gt_puts(" E non-additive: council=" as *u8); gt_num(counE); gt_puts(" (0=REJECT, additive-only law)\n" as *u8) 51 52 let r: *i64 = sys_mmap(16*8) as *i64 53 r[0]=0; if decA == IG_INGEST { r[0]=1 } // clean candidate ingests 54 r[1]=0; if ig_held_reason(engA,counA,docA) == IG_REASON_OK { r[1]=1 } // ...with no held-reason 55 r[2]=0; if engB == IG_ENG_CRASH { r[2]=1 }; if decB != IG_HELD { r[2]=0 } // crash caught + held 56 r[3]=0; if rB == IG_REASON_ENGINEER { r[3]=1 } // routed to Doctor 57 r[4]=0; if counC == IG_REJECT { r[4]=1 }; if rC != IG_REASON_COUNCIL { r[4]=0 } // self-admit blocked 58 r[5]=0; if decD == IG_HELD { r[5]=1 }; if rD != IG_REASON_UNDOC { r[5]=0 } // undocumented held 59 r[6]=0; if counE == IG_REJECT { r[6]=1 } // non-additive rejected 60 r[7]=0; if ig_council(IG_ENG_FAIL, 1, ORG_BUILDER, ORG_COUNCIL) == IG_REJECT { r[7]=1 } // council never admits an Engineer-fail 61 r[8]=0; if decA == IG_INGEST { if decB == IG_HELD { if decC == IG_HELD { if decD == IG_HELD { r[8]=1 } } } } // only the fully-governed one ingests 62 var pass: i64 = 0; var i: i64 = 0 63 while i < 9 { pass = pass + r[i]; i = i + 1 } 64 gt_puts("----\n passed " as *u8); gt_num(pass); gt_puts("/9\n" as *u8) 65 if pass == 9 { 66 gt_puts(" GOVERNED: ingestion into the ecosystem/language requires Engineer rigor (no crash/miscompile),\n" as *u8) 67 gt_puts(" Council admission (additive-only + no self-admit), AND documentation. A loop win is a CANDIDATE,\n" as *u8) 68 gt_puts(" never an auto-insert; held candidates route to Doctor / Scribe / rejection with a reason.\n" as *u8) 69 sys_exit(0); return 0 70 } 71 gt_puts(" FAIL\n" as *u8); sys_exit(1); return 1 72}