code wiki / _hdl_build / nx_infomgmt_im6c_register.nx
nx_infomgmt_im6c_register.nx source
↩ module page · 39 lines · 2853 B
1// nx_infomgmt_im6c_register.nx -- registers IM6c (merged .idx aux file) via
2// the Librarian. ENGINEER evidence = the 15-row INFOMGMT gate re-run here.
3// license_tier: ORIGINAL
4import "nx_cap_register.nx"
5import "nx_capreg_librarian.nx"
6import "nx_syscalls.nx"
7
8func i6cr_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 i6cr_run("/tmp/nx_infomgmt_gate.sov.elf" as *u8) != 0 { allok = 0 }
25 cr_w(1, "ENGINEER: INFOMGMT gate (15 rows, merged-idx format) 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(6, 2, 7, 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, 6,
34 2, "GEN INFOMGMT-IM6c MERGED .idx AUX FILE (the race-localized fsync-ceremony rung CLOSED) -- seg-<id>.idx = NXI1 | klen | tlen | plen | keys | terms | post in ONE write+fsync+rename instead of three (5 files/segment -> 2 + manifest); readers SLICE the blob (handle layout unchanged -> zero query-code drift); ss_load_aux w/ LEGACY 3-file fallback = compaction is the format-upgrade path, PROVEN LIVE on the real store (mixed legacy+merged segments queried correctly pre-fold, then compact -> pure merged); dead ss_keysname removed. Gate 15/15 re-proves crash-invisibility/key-oracle/term-oracle/AND/compaction/archive/scale on the NEW format. RACE evidence: 4x SOV-WINS-BOTH rows logged under load (infomgmt_race.log), QUERY WIN 3-4x robust at ANY load (3.7-4.8ms vs 11.6-18.6ms), index floor parity-ish (quiet ~20 vs 19ms) noise-bound under contention -- honest standing: query EXCEED proven, index parity, codegen arc = the remaining named rung. Real store: 668 records ONE merged segment, term infomgmt=34 and infomgmt+postings=11 (the store now searches the team's own evidence: and gen img = svc:gen-img + 7 log records). Composes CAPREG363/364/304/312" 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 (IM6c merged .idx)\n" as *u8)
37 sys_exit(0)
38 return 0
39}