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}