code wiki / _hdl_build / nx_cr5_register.nx
nx_cr5_register.nx source
↩ module page · 39 lines · 2974 B
1// nx_cr5_register.nx -- records CR5 (crash-aware grading + continuous self-resurrection).
2// Engineer gate = the 5-row triage gate (incl. the 3 CR5 grace KATs) green fresh on THIS run.
3// Registered via Librarian alloc + dual-write. license_tier: ORIGINAL
4import "nx_cap_register.nx"
5import "nx_capreg_librarian.nx"
6import "nx_syscalls.nx"
7
8func c5_run(path: *u8) -> i64 {
9 let pid: i64 = sys_fork()
10 if pid == 0 {
11 let dn: i64 = sys_openat_wr("/dev/null" as *u8, 0x1a4)
12 if dn >= 0 { sys_dup3(dn, 1, 0); sys_dup3(dn, 2, 0) }
13 let argv: *i64 = sys_mmap(32) as *i64; argv[0] = path as i64; argv[1] = 0
14 let envp: *i64 = sys_mmap(16) as *i64; envp[0] = 0
15 sys_execve(path, argv, envp); sys_exit(127)
16 }
17 let st: *i64 = sys_mmap(16) as *i64
18 sys_wait4(pid, st, 0)
19 return st[0]
20}
21
22func main() -> i64 {
23 var allok: i64 = 1
24 if c5_run("/tmp/nx_triage_gate.sov.elf" as *u8) != 0 { allok = 0 }
25 cr_w(1, "ENGINEER: triage gate 5-row (incl 3 CR5 grace KATs) fresh-run all-pass=" as *u8); cr_wn(1, allok); cr_w(1, "\n" as *u8)
26 let eng: i64 = ig_engineer(1, 1, 1, allok)
27 let dec: i64 = ig_decision(eng, ig_council(eng, 1, 1, 2), 1)
28 if dec != IG_INGEST { cr_w(1, "HELD\n" as *u8); sys_exit(1) }
29 if cr_can_register(5, 2, 6, dec) != 1 { cr_w(1, "REFUSED\n" as *u8); sys_exit(1) }
30 let lp: *u8 = "/tmp/nishi_cap_registry.log" as *u8
31 let jp: *u8 = "knowledge/status/cap_registry_durable.log" as *u8
32 let idx: i64 = cl_next_idx(lp, jp)
33 let ok: i64 = cl_register_dual(lp, jp, idx, 5,
34 2, "HEAL CRASH-AWARE-GRADING CR5 (crash-recovery ladder; recovering is not wedged + healing runs EVERY BEAT). (a) nx_system_triage boot-grace: stale beat/evidence within conf G window (G 7200) of a JOURNALED boot (boot_journal.log BOOT row, the CR1 instrument) grades RECOVER rc=2 with boot_age=/graced= fields -- a measured crash in recovery is distinguishable from a wedged-while-up daemon, which stays ATTENTION; G absent = grace off (opt-in, data-driven); argv beat-log/boot-journal overrides added so the gate proves it on fixtures. ENGINEER nx_triage_gate widened 2->5 rows ALL-PASS first run (grace->RECOVER, ancient-boot->ATTENTION, no-G->ATTENTION). (b) CONTINUOUS SELF-RESURRECTION: nx_boot_revive wired as pulse step 2 (after triage, before any grader) -- every recoverable organ absence + every down daemon now heals EVERY BEAT not only at boot; live pulse 14 steps, revive OK. (c) Examiner arc row CRASH-RECOVERY (crash_drill.log DRILL verdict=GREEN) -- the recovery capability itself is now examiner-graded every beat; 15 arcs, CRASH-RECOVERY GREEN live. Composes CR1-CR4 (CAPREG314, 337). NEXT CR6: ONSTART elevated task + NAS dark-watch" as *u8)
35 if ok != 1 { cr_w(1, "DUAL-WRITE FAILED\n" as *u8); sys_exit(1) }
36 cr_w(1, "CAPREG idx=" as *u8); cr_wn(1, idx); cr_w(1, " REGISTERED -- recovering is graded as recovering; healing is on the loop\n" as *u8)
37 sys_exit(0)
38 return 0
39}