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}