code wiki / _hdl_build / nx_autmeter_register.nx

nx_autmeter_register.nx source

↩ module page · 31 lines · 2311 B

1// nx_autmeter_register.nx -- records X-AUT-002. Gate re-run GREEN at register time. 2// license_tier: ORIGINAL 3import "nx_cap_register.nx" 4import "nx_capreg_librarian.nx" 5import "nx_syscalls.nx" 6func ar_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 if (st[0] % 128) != 0 { return 0 - 1 } 18 return (st[0] >> 8) & 0xff 19} 20func main() -> i64 { 21 let lp: *u8 = "/tmp/nishi_cap_registry.log" as *u8 22 let jp: *u8 = "knowledge/status/cap_registry_durable.log" as *u8 23 if ar_run("/tmp/_autonomy_meter_gate_authored.sov.elf" as *u8) != 0 { cr_w(1, "AMGATE not green -- refuse register\n" as *u8); sys_exit(1) } 24 let idx: i64 = cl_next_idx(lp, jp) 25 let ok: i64 = cl_register_dual(lp, jp, idx, 5, 26 2, "SELF AUTONOMY-METER (X-AUT-002, W0 declared scaffold author=tutor-with-team -- and the meter COUNTS that honestly) -- nx_autonomy_meter: the RSI autonomy grade MEASURED from ledgers every beat, never asserted (NO-CHEAT law). Four axes permil: A1 judged-DONE share (queue rows DONE carrying ||MARK= reconcile evidence / all DONE), A2 emitter-authored registration share (ABSENT-honest until author= tags, X-AUT-002a), A3 daemon-fired pulse-run share (DAEMON-BEAT/PULSE-RUN), A4 hands-off-heal share (ENG- rows DONE w/ MARK). FIRST MEASUREMENT: permil=323 grade=D (a1=766 a3=529 a4=0) -- the estimate said ~300, the ledgers said 323, and the axes name exactly what drags: hand-run beats and zero hands-off heals. AMGATE 3/3 (known-ratios world a1=500 a3=500 permil=250 exact, empty-world grade=F exit-0 measuring-a-bad-grade-is-success, live). Pulse step + AUTONOMY-METER examiner arc wired; grade rubric = autonomy ladder spec bars (F<150 D<500 C<700 B<850 A<900 S>=900)" as *u8) 27 if ok != 1 { cr_w(1, "DUAL-WRITE FAILED\n" as *u8); sys_exit(1) } 28 cr_w(1, "CAPREG idx=" as *u8); cr_wn(1, idx); cr_w(1, " AUTONOMY-METER registered\n" as *u8) 29 sys_exit(0) 30 return 0 31}