code wiki / _hdl_build / nx_vizsla_budget_register.nx

nx_vizsla_budget_register.nx source

↩ module page · 45 lines · 3839 B

1// nx_vizsla_budget_register.nx -- registers VIZSLA V1 (family budget ledger) via 2// the Librarian. ENGINEER evidence = the V1 gate re-run here from its DURABLE 3// home (_offc/nx_vizsla_budget_gate.elf against _offc/nx_vizsla_budget.elf, 4// 11 KAT rows incl. time-travel + tamper-evidence; instrument-tamper RED proven). 5// license_tier: ORIGINAL 6import "nx_cap_register.nx" 7import "nx_capreg_librarian.nx" 8import "nx_syscalls.nx" 9 10func vbreg_run(path: *u8, a1: *u8) -> i64 { 11 let pid: i64 = sys_fork() 12 if pid == 0 { 13 let dn: i64 = sys_openat_wr("/dev/null" as *u8, 0x1a4) 14 if dn >= 0 { sys_dup3(dn, 1, 0); sys_dup3(dn, 2, 0) } 15 let argv: *i64 = sys_mmap(32) as *i64 16 argv[0] = path as i64 17 var i: i64 = 1 18 if (a1 as i64) != 0 { argv[i] = a1 as i64; i = i + 1 } 19 argv[i] = 0 20 let envp: *i64 = sys_mmap(16) as *i64; envp[0] = 0 21 sys_execve(path, argv, envp); sys_exit(127) 22 } 23 let st: *i64 = sys_mmap(16) as *i64 24 sys_wait4(pid, st, 0) 25 return st[0] 26} 27 28func main() -> i64 { 29 var allok: i64 = 1 30 if vbreg_run("_offc/nx_vizsla_budget_gate.elf" as *u8, "_offc/nx_vizsla_budget.elf" as *u8) != 0 { allok = 0 } 31 cr_w(1, "ENGINEER: vizsla V1 budget gate (11 KAT rows) pass=" as *u8); cr_wn(1, allok); cr_w(1, "\n" as *u8) 32 let eng: i64 = ig_engineer(1, 1, 1, allok) 33 let dec: i64 = ig_decision(eng, ig_council(eng, 1, 1, 2), 1) 34 if dec != IG_INGEST { cr_w(1, "HELD\n" as *u8); sys_exit(1) } 35 if cr_can_register(5, 2, 6, dec) != 1 { cr_w(1, "REFUSED\n" as *u8); sys_exit(1) } 36 let lp: *u8 = "/tmp/nishi_cap_registry.log" as *u8 37 let jp: *u8 = "knowledge/status/cap_registry_durable.log" as *u8 38 let idx: i64 = cl_next_idx(lp, jp) 39 let ok: i64 = cl_register_dual(lp, jp, idx, 5, 40 2, "GEN NISHI-VIZSLA-V1 FAMILY-BUDGET-LEDGER (arc=VIZSLA rung V1; fills finance/EDITOR + feeds finance/ARCHITECT from the V0 gap profile). nx_vizsla_budget on the INFOMGMT seg_store substrate (append-only immutable segments, rename(2) commit, fsync power-loss closure) + nx_canon_cid content addressing, NO SQL: load TXN line-records -> canonical NXR1 records -> CID keys txn:nxc1-... (same content = same CID = IDEMPOTENT RE-LOAD law 10 BY CONSTRUCTION, dup_infile/dup_instore counted not rewritten); report = per-category sums vs ENV envelope file (data-driven, law 11) w/ exact deltas, OVER named, UNBUDGETED named never dropped, asof=<segid> bounds the segment walk = TIME-TRAVEL to any commit; verify recomputes every record CID vs its key = TAMPER-EVIDENCE naming the segment. Log derived from store prefix (fixture isolation). GATE nx_vizsla_budget_gate 11/11=1000 GREEN sovereign first-compile (loud-fail, hand-totaled month exact incl txns=7 spent=142999, over-delta -500, unbudgeted named, idempotent reload new=0/dup=7/segment=none, additive month2 ALL txns=10 spent=269599, TIME-TRAVEL asof=1001 byte-identical post-month2, determinism, verify CLEAN entries=10, flipped-byte => TAMPERED + segment named); instrument-tamper run 0/11 RED proven; re-gated GREEN from durable home. LIVE: knowledge/vizsla/ledger- seeded from transactions.txt template (real-store idempotency proven dup_instore=3 segment=none; default no-arg report = family budget status; verify CLEAN). EXCEED vs consumer budget apps (Mint/YNAB-class): additive money history + as-of-commit time travel + content-address tamper evidence, none of which they prove. PARTNERSHIP STEP: family replaces template rows with a real export. Blessed _offc/nx_vizsla_budget{,_gate}.elf; spec knowledge/specs/2026-06-10-nishi-vizsla-ladder.md; next V2 jobs" as *u8) 41 if ok != 1 { cr_w(1, "DUAL-WRITE FAILED\n" as *u8); sys_exit(1) } 42 cr_w(1, "CAPREG idx=" as *u8); cr_wn(1, idx); cr_w(1, " REGISTERED (NISHI VIZSLA V1 budget ledger)\n" as *u8) 43 sys_exit(0) 44 return 0 45}