code wiki / _hdl_build / nx_procgen_p4_register.nx
nx_procgen_p4_register.nx source
↩ module page · 48 lines · 3810 B
1// nx_procgen_p4_register.nx -- registers PROCGEN P4 (causal water) + the
2// refine-loop verdict-autonomy upgrade via the Librarian. ENGINEER
3// evidence = real re-runs: the gate-built P4 KAT elf green AND the
4// durable verdict bank exists (the autonomy organ's first row fired).
5// license_tier: ORIGINAL
6import "nx_cap_register.nx"
7import "nx_capreg_librarian.nx"
8import "nx_syscalls.nx"
9
10func p4r_run(path: *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(16) as *i64
16 argv[0] = path as i64; argv[1] = 0
17 let envp: *i64 = sys_mmap(16) as *i64; envp[0] = 0
18 sys_execve(path, argv, envp); sys_exit(127)
19 }
20 let st: *i64 = sys_mmap(16) as *i64
21 sys_wait4(pid, st, 0)
22 let sig: i64 = st[0] & 0x7f
23 if sig != 0 { return 128 + sig }
24 return (st[0] >> 8) & 0xff
25}
26
27func main() -> i64 {
28 var ok: i64 = 1
29 if p4r_run("/tmp/nx_procgen_water_test.gg.elf" as *u8) != 0 { ok = 0 }
30 let cfd: i64 = sys_openat_rd("knowledge/status/worldgen_best.conf" as *u8)
31 if cfd < 0 { ok = 0 }
32 if cfd >= 0 { sys_close(cfd) }
33 cr_w(1, "ENGINEER: P4 water KATs + durable verdict bank pass=" as *u8); cr_wn(1, ok); cr_w(1, "\n" as *u8)
34
35 let eng: i64 = ig_engineer(1, 1, 1, ok)
36 let dec: i64 = ig_decision(eng, ig_council(eng, 1, 1, 2), 1)
37 if dec != IG_INGEST { cr_w(1, "HELD\n" as *u8); sys_exit(1) }
38 if cr_can_register(5, 2, 6, dec) != 1 { cr_w(1, "REFUSED\n" as *u8); sys_exit(1) }
39 let lp: *u8 = "/tmp/nishi_cap_registry.log" as *u8
40 let jp: *u8 = "knowledge/status/cap_registry_durable.log" as *u8
41 let idx: i64 = cl_next_idx(lp, jp)
42 let okw: i64 = cl_register_dual(lp, jp, idx, 5,
43 2, "GEN PROCGEN-P4 CAUSAL WATER + REFINE-VERDICT AUTONOMY (arc=EXCEED10 rung R3, bucket B3). nx_procgen_water: springs = poisson candidates filtered to upper-third elevation (water starts high); trace = steepest-descent walk, termination CAUSAL (map edge = sea, local min = pond via nx_sig_basin -- P1 primitive composed not duplicated); carve = channel incision centre+banks; rills = dense short shallow traces (drainage texture = the first honest LOCAL_VARIATION attack, var 2900->3900 measured, still sub-marginal = named remaining work); water MASK -> nx_feature_assign_with_water (ADDITIVE api, v1 contract untouched): a feature standing in water IS water, causality beats the mix table. nx_procgen_landscape_v2 = v1 + water, additive. GATE nx_procgen_water_test 8 KATs (cone trace strictly-decreasing reaches edge, bowl trace stops at local min, carve geometry exact incl. centre+bank stacking, v2 determinism hm+mask, width water-forms all 5 presets x 2 seeds, mask kind-override + conservation, VAR-AXIS-UP worst-of-3 instrument-proven, grade-never-down) = game-gate module 21, FULL GATE 22 MODULES fails=0, flap-probe 5x STABLE pre-gate. AUTONOMY UPGRADE in nx_worldgen_refine: best verdict dual-written to DURABLE knowledge/status/worldgen_best.conf (reboot-proof, /tmp consumer contract kept) and on VERDICT CHANGE auto-files one arc=PROCGEN pm_plan row naming the next axis (dedup state = the durable conf; one row per change never per beat) -- the grader's directive became a filed assignment, zero LLM in the loop; first row fired live (next-refine=MORE_FEATURES: rivers carving mesa cores trade ext for var/frac = the instrument catching the tradeoff). HONEST: best grade still C; ext-vs-var tension + sub-marginal var = P5 erosion/detail rung" as *u8)
44 if okw != 1 { cr_w(1, "DUAL-WRITE FAILED\n" as *u8); sys_exit(1) }
45 cr_w(1, "CAPREG idx=" as *u8); cr_wn(1, idx); cr_w(1, " REGISTERED (PROCGEN P4 + refine autonomy)\n" as *u8)
46 sys_exit(0)
47 return 0
48}