code wiki / _hdl_build / nx_pm_board_gate.nx
nx_pm_board_gate.nx source
↩ module page · 127 lines · 5909 B
1// nx_pm_board_gate.nx -- gate for the PM dashboard (authored ON nx_gate_verdict, migrate-on-touch).
2// The load-bearing tooth is T4: ROI is NON-FAKE BY CONSTRUCTION -- a SET-ME assumption surfaces under
3// needs_decision (never invented); only an operator-filled basis yields a derived number.
4// T1 executive tallies derive from planes (frontier done/total, debts open/closed)
5// T2 debt gate is schema-aware (a legacy 5-col row AND a v2 7-col row both counted; sev read right)
6// T3 sev>=7 open debt listed as an incident
7// T4 ROI: SET-ME row -> needs_decision; filled row -> derived number (dclosed * minutes)
8// T5 fail-closed: unseeded frontier plane -> nonzero exit, no dashboard
9// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
10import "nx_store_seed_lib.nx"
11import "nx_seg_store.nx"
12import "nx_deploy_lib.nx"
13import "nx_gate_verdict.nx"
14import "nx_syscalls.nx"
15
16const MG_CAP: i64 = 262144
17const MG_PFX: i64 = 128
18
19func mg_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
20func mg_has(q: *u8, n: i64, s: *u8) -> i64 {
21 let sn: i64 = mg_slen(s)
22 if sn == 0 { return 1 }
23 var i: i64 = 0
24 while i + sn <= n {
25 var hit: i64 = 1
26 var j: i64 = 0
27 while j < sn { if q[i+j] != s[j] { hit = 0; j = sn } else { j = j + 1 } }
28 if hit == 1 { return 1 }
29 i = i + 1
30 }
31 return 0
32}
33func mg_mkpfx(dst: *u8, stem: *u8, epoch: i64) -> i64 {
34 var o: i64 = ss_cat(dst, 0, stem)
35 o = ss_catn(dst, o, epoch)
36 o = ss_cat(dst, o, "-" as *u8)
37 dst[o] = 0 as u8
38 return o
39}
40
41func main() -> i64 {
42 let ctr: *i64 = gv_ctr()
43 gv_head("nx_pm_board gate -- exec/mgmt/ops dashboard + NON-FAKE ROI (assumptions or nothing)" as *u8)
44 let elf: *u8 = "/tmp/nx_pm_board.sov.elf" as *u8
45 let outf: *u8 = "/tmp/mg_run.out" as *u8
46 let epoch: i64 = sys_now_realtime_sec()
47
48 let fx: *u8 = sys_mmap(MG_PFX)
49 mg_mkpfx(fx, "/tmp/mgf" as *u8, epoch)
50 let dx: *u8 = sys_mmap(MG_PFX)
51 mg_mkpfx(dx, "/tmp/mgd" as *u8, epoch)
52 let wx: *u8 = sys_mmap(MG_PFX)
53 mg_mkpfx(wx, "/tmp/mgw" as *u8, epoch)
54 let rx: *u8 = sys_mmap(MG_PFX)
55 mg_mkpfx(rx, "/tmp/mgr" as *u8, epoch)
56 let ox: *u8 = sys_mmap(MG_PFX)
57 mg_mkpfx(ox, "/tmp/mgo" as *u8, epoch)
58
59 let b: *u8 = sys_mmap(MG_CAP)
60 // frontier: 3 rows, 2 done (9-col: id title w dur owner status deps milestone lane)
61 var o: i64 = 0
62 o = ss_cat(b, o, "F900\ta\t8\t1\town1\tD\t-\t-\tlane1\n" as *u8)
63 o = ss_cat(b, o, "F901\tb\t8\t1\town1\tD\t-\t-\tlane1\n" as *u8)
64 o = ss_cat(b, o, "F902\tc\t8\t1\town2\tT\t-\t-\tlane2\n" as *u8)
65 sts_seed(fx, b, o)
66 // debt: 1 legacy 5-col (epoch,sev@1=8,scope,status=open,note) sev>=7 incident
67 // + 1 v2 7-col open sev 8 (own1) + 1 v2 7-col closed
68 o = 0
69 o = ss_cat(b, o, "1784400000\t8\tcoordination\topen\tlegacy incident row\n" as *u8)
70 o = ss_cat(b, o, "D900\tv2 open debt\t8\topen\town1\truntime/\tan open v2 debt\n" as *u8)
71 o = ss_cat(b, o, "D901\tv2 closed debt\t5\tclosed\town1\truntime/\tclosed\n" as *u8)
72 sts_seed(dx, b, o)
73 // work: 2 rows, 1 open (own1) 1 closed (own1)
74 o = 0
75 o = ss_cat(b, o, "W900\topen work\t5\topen\town1\tk/\tx\n" as *u8)
76 o = ss_cat(b, o, "W901\tdone work\t5\tclosed\town1\tk/\ty\n" as *u8)
77 sts_seed(wx, b, o)
78 // raci: 1 lane own1
79 o = 0
80 o = ss_cat(b, o, "lane1\town1\tpm\teng\tteam\tactive\tnote\n" as *u8)
81 sts_seed(rx, b, o)
82 // roi: 1 SET-ME + 1 filled (manual_minutes_per_debt=30, filled basis)
83 o = 0
84 o = ss_cat(b, o, "ROI1\tmanual_dollars_per_debt\t0\tSET-ME\toperator sets the dollar figure\n" as *u8)
85 o = ss_cat(b, o, "ROI2\tmanual_minutes_per_debt\t30\toperator-est-2026-07\thuman minutes to eat one debt manually\n" as *u8)
86 sts_seed(ox, b, o)
87
88 let av: *i64 = sys_mmap(8*8) as *i64
89 av[0] = fx as i64
90 av[1] = dx as i64
91 av[2] = wx as i64
92 av[3] = rx as i64
93 av[4] = ox as i64
94 let rc: i64 = dep_run_capture(elf, av, 5, outf)
95 let d: *u8 = sys_mmap(MG_CAP)
96 let dn: i64 = dp_read(outf, d, MG_CAP - 4)
97
98 var t1: i64 = 0
99 if rc == 0 { if mg_has(d, dn, "\x22frontier_done\x22:2" as *u8) == 1 { if mg_has(d, dn, "\x22frontier_total\x22:3" as *u8) == 1 { if mg_has(d, dn, "\x22debts_open\x22:2" as *u8) == 1 { t1 = 1 } } } }
100 gv_check("T1 executive tallies derive from planes (done 2/3, debts_open 2)" as *u8, t1, ctr)
101
102 // schema-aware: both legacy + v2 open debts counted (debts_open:2 already implies both; check closed:1)
103 var t2: i64 = 0
104 if mg_has(d, dn, "\x22debts_closed\x22:1" as *u8) == 1 { t2 = 1 }
105 gv_check("T2 debt gate schema-aware (legacy 5-col + v2 7-col both tallied; closed 1)" as *u8, t2, ctr)
106
107 // incident: the legacy sev-8 open row's id listed
108 var t3: i64 = 0
109 if mg_has(d, dn, "\x22incidents_sev7plus\x22:[\x221784400000\x22" as *u8) == 1 { if mg_has(d, dn, "D900" as *u8) == 1 { t3 = 1 } }
110 gv_check("T3 sev>=7 open debts listed as incidents (legacy + v2 ids)" as *u8, t3, ctr)
111
112 // NON-FAKE ROI: ROI1 SET-ME -> needs_decision; ROI2 filled -> derived 1*30=30 (1 closed debt)
113 var t4: i64 = 0
114 if mg_has(d, dn, "\x22needs_decision\x22:[\x22ROI1\x22]" as *u8) == 1 { if mg_has(d, dn, "\x22est_minutes_saved_debt_eating\x22:30" as *u8) == 1 { t4 = 1 } }
115 gv_check("T4 NON-FAKE ROI: SET-ME->needs_decision, filled->derived number (never invented)" as *u8, t4, ctr)
116
117 // fail-closed on unseeded frontier
118 av[0] = "/tmp/mg_nope-" as *u8 as i64
119 let rc5: i64 = dep_run_capture(elf, av, 5, outf)
120 var t5: i64 = 0
121 if rc5 != 0 { t5 = 1 }
122 gv_check("T5 unseeded frontier plane -> fail-closed (no dashboard over missing data)" as *u8, t5, ctr)
123
124 let rcv: i64 = gv_verdict("PM-BOARD-GATE" as *u8, ctr, "exec/mgmt/ops derived from planes; ROI non-fake by construction (assumptions or needs_decision)" as *u8)
125 sys_exit(rcv)
126 return rcv
127}