code wiki / _hdl_build / nx_intent_register.nx
nx_intent_register.nx source
↩ module page · 40 lines · 3083 B
1// nx_intent_register.nx -- records CR4 (intent WAL). Engineer gate = the 5-row intent gate
2// green AND the 9-row crash drill green (regression: revive changed), both 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 ir_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 ir_run("/tmp/nx_intent_gate.sov.elf" as *u8) != 0 { allok = 0 }
25 if ir_run("/tmp/nx_revive_gate.sov.elf" as *u8) != 0 { allok = 0 }
26 cr_w(1, "ENGINEER: intent gate 5-row + crash drill 9-row fresh-run all-pass=" as *u8); cr_wn(1, allok); cr_w(1, "\n" as *u8)
27 let eng: i64 = ig_engineer(1, 1, 1, allok)
28 let dec: i64 = ig_decision(eng, ig_council(eng, 1, 1, 2), 1)
29 if dec != IG_INGEST { cr_w(1, "HELD\n" as *u8); sys_exit(1) }
30 if cr_can_register(5, 2, 6, dec) != 1 { cr_w(1, "REFUSED\n" as *u8); sys_exit(1) }
31 let lp: *u8 = "/tmp/nishi_cap_registry.log" as *u8
32 let jp: *u8 = "knowledge/status/cap_registry_durable.log" as *u8
33 let idx: i64 = cl_next_idx(lp, jp)
34 let ok: i64 = cl_register_dual(lp, jp, idx, 5,
35 2, "HEAL INTENT-WAL CR4 (crash-recovery ladder; work interrupted mid-flight stops being SILENTLY LOST). Writer: nx_team_pulse self-journals -- INTENT-START id=epoch*1e5+pid name epoch at entry, INTENT-DONE id rc at every exit -> knowledge/status/intent_wal.log (best-effort, never wedges the pulse; a crash mid-pulse leaves the START open). Reader: nx_boot_revive (1b) scans the WAL each run: any START from BEFORE this boot (start-epoch < boot_epoch) with no DONE and no FILED mark = ORPHAN -> auto-files arc=CRASH-RECOVERY ORPHAN-INTENT pm_plan row (owner=Conductor, names step+id+epochs) + appends INTENT-FILED mark (idempotent forever); in-flight intents from THIS boot are never touched; intents_orphaned=N now in every REVIVE line. ENGINEER nx_intent_gate 5/5 GREEN first run (finished-not-filed, orphan-filed-once-with-mark, mark-idempotent, in-flight-protected, LIVE row: a real pulse run appended START+matching DONE to the real WAL) + nx_revive_gate 9/9 regression GREEN with the orphan-scanning revive. Re-blessed _offc/nx_boot_revive.elf. Composes CR1-CR3 (CAPREG314). NEXT: more writers (sov_build_run wrap = every build journaled), WAL compaction, CR5 examiner crash-awareness, CR6 ONSTART" as *u8)
36 if ok != 1 { cr_w(1, "DUAL-WRITE FAILED\n" as *u8); sys_exit(1) }
37 cr_w(1, "CAPREG idx=" as *u8); cr_wn(1, idx); cr_w(1, " REGISTERED -- interrupted work is now auto-filed, never silent\n" as *u8)
38 sys_exit(0)
39 return 0
40}