code wiki / _hdl_build / nx_print_material_gate.nx
nx_print_material_gate.nx source
↩ module page · 107 lines · 5869 B
1// nx_print_material_gate.nx -- GATE: the multi-material 3D-printing ladder CENSUS (FLAGGED workstream R0).
2// Measured + liar-killed + honest. T1 ladder (7 materials, 3 families), T2 filament SHIPPING verified (a
3// material can't claim SHIPPING unless its toolpath organ EXISTS on disk -- liar-kill), T3 honest counts
4// (filament ships, concrete/metal MODELED/FUTURE), T4 Cardinal-26 never-brick (firmware is SIMmed not flashed),
5// T5 concrete<->R-ECO tie (the cistern is the first concrete-print demand), T6 NO-OVERCLAIM (only FILAMENT
6// ships; PASTE/METAL are never marked SHIPPING). license_tier: ORIGINAL
7import "nx_print_material.nx"
8import "nx_food_science.nx"
9import "nx_seg_store.nx"
10import "nx_syscalls.nx"
11
12const MG_PRINT: *u8 = "knowledge/store/print-"
13
14func g_p(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
15func g_i(v: i64) -> i64 {
16 let bb: *u8 = sys_mmap(28); var m: i64 = v
17 if m < 0 { sys_write(1, "-" as *u8, 1); m = 0 - m }
18 let t: *u8 = sys_mmap(28); var k: i64 = 0
19 if m == 0 { t[0] = 48 as u8; k = 1 }
20 while m > 0 { t[k] = (48 + (m % 10)) as u8; m = m / 10; k = k + 1 }
21 var i: i64 = 0; while i < k { bb[i] = t[k - 1 - i]; i = i + 1 } sys_write(1, bb, k); return 0
22}
23
24func main() -> i64 {
25 g_p("=== nx_print_material_gate (multi-material 3D-printing ladder census) ===\n" as *u8)
26 let sw: i64 = pm_seed(MG_PRINT)
27 g_p("materials authored this run=" as *u8); g_i(sw); g_p("\n" as *u8)
28
29 let ids: *i64 = sys_mmap(8 * 32) as *i64
30 let n: i64 = pm_list(MG_PRINT, ids)
31
32 var pass: i64 = 0
33 var tot: i64 = 0
34
35 // T1 ladder: 7 materials across FILAMENT / PASTE / METAL
36 var hasF: i64 = 0; var hasP: i64 = 0; var hasM: i64 = 0
37 var i: i64 = 0
38 while i < n {
39 let fam: *u8 = sys_mmap(24); pm_field_str(MG_PRINT, ids[i] as *u8, 1, fam)
40 if pm_streq(fam, "FILAMENT" as *u8) == 1 { hasF = 1 }
41 if pm_streq(fam, "PASTE" as *u8) == 1 { hasP = 1 }
42 if pm_streq(fam, "METAL" as *u8) == 1 { hasM = 1 }
43 i = i + 1
44 }
45 tot = tot + 1
46 if n == 7 { if hasF + hasP + hasM == 3 { pass = pass + 1; g_p("PASS T1 ladder: 7 materials across FILAMENT + PASTE + METAL\n" as *u8) } else { g_p("FAIL T1 families\n" as *u8) } } else { g_p("FAIL T1 n=" as *u8); g_i(n); g_p("\n" as *u8) }
47
48 // T2 filament SHIPPING verified (liar-kill: organ must exist on disk)
49 var nship: i64 = 0
50 var nverified: i64 = 0
51 i = 0
52 while i < n {
53 if pm_status_is(MG_PRINT, ids[i] as *u8, "SHIPPING" as *u8) == 1 {
54 nship = nship + 1
55 let ev: *u8 = sys_mmap(64); pm_field_str(MG_PRINT, ids[i] as *u8, 7, ev)
56 if pm_organ_exists(ev) == 1 { nverified = nverified + 1 }
57 }
58 i = i + 1
59 }
60 g_p("SHIPPING materials=" as *u8); g_i(nship); g_p(" with a real toolpath organ on disk=" as *u8); g_i(nverified); g_p("\n" as *u8)
61 tot = tot + 1
62 if nship == 3 { if nverified == nship { pass = pass + 1; g_p("PASS T2 filament SHIPPING is REAL (every shipping material's G-code organ exists -- liar-killed)\n" as *u8) } else { g_p("FAIL T2 unverified shipping\n" as *u8) } } else { g_p("FAIL T2 nship=" as *u8); g_i(nship); g_p("\n" as *u8) }
63
64 // T3 honest counts
65 var cs: i64 = 0; var cm: i64 = 0; var cf: i64 = 0
66 i = 0
67 while i < n {
68 if pm_status_is(MG_PRINT, ids[i] as *u8, "SHIPPING" as *u8) == 1 { cs = cs + 1 }
69 if pm_status_is(MG_PRINT, ids[i] as *u8, "MODELED" as *u8) == 1 { cm = cm + 1 }
70 if pm_status_is(MG_PRINT, ids[i] as *u8, "FUTURE" as *u8) == 1 { cf = cf + 1 }
71 i = i + 1
72 }
73 g_p("status: SHIPPING=" as *u8); g_i(cs); g_p(" MODELED=" as *u8); g_i(cm); g_p(" FUTURE=" as *u8); g_i(cf); g_p("\n" as *u8)
74 tot = tot + 1
75 if cs == 3 { if cm == 2 { if cf == 2 { pass = pass + 1; g_p("PASS T3 honest: filament ships, concrete/clay MODELED, metal FUTURE (not overclaimed)\n" as *u8) } else { g_p("FAIL T3 future\n" as *u8) } } else { g_p("FAIL T3 modeled\n" as *u8) } } else { g_p("FAIL T3 shipping\n" as *u8) }
76
77 // T4 Cardinal 26 never-brick: firmware is SIMmed, never flashed
78 tot = tot + 1
79 if pm_organ_exists("nx_printer_fw_sim" as *u8) == 1 { pass = pass + 1; g_p("PASS T4 never-brick (Cardinal 26): printer firmware is SIMmed (nx_printer_fw_sim), registry emits no firmware\n" as *u8) } else { g_p("FAIL T4 fw_sim missing\n" as *u8) }
80
81 // T5 concrete <-> R-ECO tie
82 tot = tot + 1
83 var ok5: i64 = 1
84 if pm_status_is(MG_PRINT, "concrete" as *u8, "MODELED" as *u8) != 1 { ok5 = 0 }
85 let cfam: *u8 = sys_mmap(24); pm_field_str(MG_PRINT, "concrete" as *u8, 1, cfam)
86 if pm_streq(cfam, "PASTE" as *u8) != 1 { ok5 = 0 }
87 if pm_organ_exists("nx_ecodesign" as *u8) != 1 { ok5 = 0 }
88 if ok5 == 1 { pass = pass + 1; g_p("PASS T5 concrete (PASTE, MODELED) ties to R-ECO: the rainwater cistern is the first concrete-print demand\n" as *u8) } else { g_p("FAIL T5\n" as *u8) }
89
90 // T6 NO-OVERCLAIM: only FILAMENT family is ever SHIPPING
91 tot = tot + 1
92 var ok6: i64 = 1
93 i = 0
94 while i < n {
95 if pm_status_is(MG_PRINT, ids[i] as *u8, "SHIPPING" as *u8) == 1 {
96 let fam: *u8 = sys_mmap(24); pm_field_str(MG_PRINT, ids[i] as *u8, 1, fam)
97 if pm_streq(fam, "FILAMENT" as *u8) != 1 { ok6 = 0 }
98 }
99 i = i + 1
100 }
101 if ok6 == 1 { pass = pass + 1; g_p("PASS T6 no-overclaim: concrete/metal are NOT marked SHIPPING (only the real filament pipeline is)\n" as *u8) } else { g_p("FAIL T6 a non-filament claimed SHIPPING\n" as *u8) }
102
103 g_p("nx_print_material_gate pass=" as *u8); g_i(pass); g_p("/" as *u8); g_i(tot)
104 if pass == tot { g_p(" verdict=GREEN (multi-material ladder flagged: filament SHIPPING, concrete/metal the honest growth path, never-brick)\n" as *u8); return 0 }
105 g_p(" verdict=RED\n" as *u8)
106 return 1
107}