code wiki / _hdl_build / nx_pattern_emit2_register.nx

nx_pattern_emit2_register.nx source

↩ module page · 35 lines · 2266 B

1// nx_pattern_emit2_register.nx -- records the extended pattern emitters (COMPARATOR + THRESHOLD_TABLE). 2// Engineer gate = the team-authored comparator + capacity-table tests both pass. license_tier: ORIGINAL 3import "nx_cap_register.nx" 4import "nx_syscalls.nx" 5 6func pe2_run(path: *u8) -> i64 { 7 let pid: i64 = sys_fork() 8 if pid == 0 { 9 let dn: i64 = sys_openat_wr("/dev/null" as *u8, 0x1a4) 10 if dn >= 0 { sys_dup3(dn, 1, 0); sys_dup3(dn, 2, 0) } 11 let argv: *i64 = sys_mmap(32) as *i64; argv[0] = path as i64; argv[1] = 0 12 let envp: *i64 = sys_mmap(16) as *i64; envp[0] = 0 13 sys_execve(path, argv, envp); sys_exit(127) 14 } 15 let st: *i64 = sys_mmap(16) as *i64 16 sys_wait4(pid, st, 0) 17 return st[0] 18} 19 20func main() -> i64 { 21 var allok: i64 = 1 22 if pe2_run("/tmp/_pe_cmp_test.sov.elf" as *u8) != 0 { allok = 0 } 23 if pe2_run("/tmp/_pe_cap_test.sov.elf" as *u8) != 0 { allok = 0 } 24 cr_w(1, "ENGINEER: team-authored comparator+threshold tests all-pass=" as *u8); cr_wn(1, allok); cr_w(1, "\n" as *u8) 25 let eng: i64 = ig_engineer(1, 1, 1, allok) 26 let dec: i64 = ig_decision(eng, ig_council(eng, 1, 1, 2), 1) 27 if dec != IG_INGEST { cr_w(1, "HELD\n" as *u8); sys_exit(1) } 28 if cr_can_register(5, 2, 6, dec) != 1 { cr_w(1, "REFUSED\n" as *u8); sys_exit(1) } 29 let fd: i64 = sys_openat_append("/tmp/nishi_cap_registry.log" as *u8, 0x1a4) 30 cr_write_entry(fd, 235, 5, "SELF PATTERN-EMIT-2 (Builder authors 2 more shapes) -- COMPARATOR (a vs b -> winner, the referee/scoreboard shape) + THRESHOLD_TABLE (3-point linear interpolation, the printer jam-capacity / material-profile / dose-curve shape). PROVEN: the team authored _pe_cmp + _pe_cap (a REAL capacity curve 190C->6000, 210->10000, 230->13000 with actual interp logic '6000+(4000)*(x-190)/20', not a stub); the ENGINEER verified both green, ZERO Claude logic. Builder pattern-emit coverage now 4 of 10 shapes hands-off (VERDICT_GATE/ACCUMULATOR/COMPARATOR/THRESHOLD_TABLE) -> bp_claude_touch=0 for those classes. Extends nx_pattern_emit (CAPREG231). Next: PARSER_KAT/GOVERNOR/STATE_FLOW/GEOMETRY/PID_LOOP" as *u8, 2) 31 sys_close(fd) 32 cr_w(1, "CAPREG idx=235 REGISTERED (4/10 shapes hands-off)\n" as *u8) 33 sys_exit(0) 34 return 0 35}