code wiki / _hdl_build / nx_pm_cockpit_gate.nx
nx_pm_cockpit_gate.nx source
↩ module page · 145 lines · 7348 B
1// nx_pm_cockpit_gate.nx -- gate for the PM cockpit core (nx_pm_roi_lib). On nx_gate_verdict
2// (D001 migrate-on-touch law: new gates import the canonical verdict lib).
3// Proves: ROI KAT + measured-override + FAIL-CLOSED no-fabrication when the rates plane is
4// absent (the honesty core) - mixed-schema debt scan (legacy 5-col + v2 7-col) - third-party
5// classifier - frontier scan KAT - live ecomat rollup passthrough on a seeded /tmp store -
6// emitters carry envelope/UNSEEDED/ESTIMATE markers - PRODUCTION-SHAPE scale tooth (600-row
7// debt plane >> real ~60; scale-law: fixture gates never prove scale, so one tooth must).
8// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
9import "nx_pm_roi_lib.nx"
10import "nx_gate_verdict.nx"
11
12const G_BUF: i64 = 524288
13const G_SCALE_N: i64 = 600
14
15func g_mkrow(b: *u8, o: i64, s: *u8) -> i64 { return ss_cat(b, o, s) }
16
17func main(argc: i64, argv: *i64) -> i64 {
18 let ctr: *i64 = gv_ctr()
19 gv_head("nx_pm_cockpit_gate -- PM cockpit core: honest ROI, mixed-schema debt, frontier, live maturity, emitters, scale" as *u8)
20
21 let m: *i64 = sys_mmap(64*8) as *i64
22 var z: i64 = 0
23 while z < 64 { m[z] = 0; z = z + 1 }
24
25 // ---- T1 ROI KAT + measured override: 3x2000 + 2x600 declared, tools-measured 5x400 => 9200
26 let rb: *u8 = sys_mmap(G_BUF)
27 var rn: i64 = 0
28 rn = g_mkrow(rb, rn, "roi001\thosting\tdeclared\t3\t2000\tvs managed site $20/mo\n" as *u8)
29 rn = g_mkrow(rb, rn, "roi002\temail\tdeclared\t2\t600\tvs workspace $6/user/mo\n" as *u8)
30 rn = g_mkrow(rb, rn, "roi003\ttools upkeep\tmeasured:tools\t0\t400\tper live tool\n" as *u8)
31 m[S_TOOLS] = 5
32 let rl: *i64 = sys_mmap(24*11*8) as *i64
33 let nr: i64 = pm_roi_compute(rb, rn, m, rl, 24)
34 var t1: i64 = 0
35 if nr == 3 { if m[S_ROICENTS] == 9200 { if m[S_ROIAV] == 1 { if rl[2*11] == 5 { t1 = 1 } } } }
36 gv_check("T1 roi-kat-with-measured-override" as *u8, t1, ctr)
37
38 // ---- T2 FAIL-CLOSED: absent rates plane => UNSEEDED, zero lines, zero cents (no fabrication)
39 var t2: i64 = 0
40 let m2: *i64 = sys_mmap(64*8) as *i64
41 z = 0
42 while z < 64 { m2[z] = 0; z = z + 1 }
43 let n2: i64 = sts_load("/tmp/pmnosuchplane-" as *u8, rb, G_BUF)
44 pm_roi_compute(rb, n2, m2, rl, 24)
45 if n2 == 0 { if m2[S_ROIAV] == 0 { if m2[S_ROICENTS] == 0 { if m2[S_ROILINES] == 0 { t2 = 1 } } } }
46 gv_check("T2 roi-missing-plane-fail-closed" as *u8, t2, ctr)
47
48 // ---- T3 mixed-schema debt scan: legacy open sev7 (3p) + legacy eaten + v2 open sev8 + v2 closed
49 let db: *u8 = sys_mmap(G_BUF)
50 var dn: i64 = 0
51 dn = g_mkrow(db, dn, "1784400001\t7\tcoordination\topen\tark sweeps via stock git legs\n" as *u8)
52 dn = g_mkrow(db, dn, "1784400002\t5\tcron\teaten\told note\n" as *u8)
53 dn = g_mkrow(db, dn, "D001\tgate dups\t8\topen\treferee\truntime/\tDRY verdict lib remains\n" as *u8)
54 dn = g_mkrow(db, dn, "D009\tfrontier stale\t7\tclosed\tpm\tknowledge/\treseeded\n" as *u8)
55 let dt: *i64 = sys_mmap(PM_TOP_DEBTS*3*8) as *i64
56 let ndt: i64 = pm_debt_scan(db, dn, m, dt)
57 var t3: i64 = 0
58 if m[S_DTOT] == 4 { if m[S_DOPEN] == 2 { if m[S_DSEV] == 2 { if m[S_D3P] == 1 { if ndt == 2 { t3 = 1 } } } } }
59 gv_check("T3 debt-mixed-schema-counts" as *u8, t3, ctr)
60
61 // ---- T4 third-party classifier positive + negative
62 var t4: i64 = 0
63 let s1: *u8 = "rides stock git under the hood" as *u8
64 let s2: *u8 = "our organ leaks an fd on flush" as *u8
65 if pm_is_3p(s1, 0, pm_len(s1)) == 1 { if pm_is_3p(s2, 0, pm_len(s2)) == 0 { t4 = 1 } }
66 gv_check("T4 third-party-classifier-pos-neg" as *u8, t4, ctr)
67
68 // ---- T5 frontier scan KAT: D + open big rock (w9) + X
69 let fb: *u8 = sys_mmap(G_BUF)
70 var fn_: i64 = 0
71 fn_ = g_mkrow(fb, fn_, "F001\talpha done\t8\t1\tpm\tD\t-\t-\tauto\n" as *u8)
72 fn_ = g_mkrow(fb, fn_, "F002\tbeta rock\t9\t2\tpm\tT\tF001\t-\tauto\n" as *u8)
73 fn_ = g_mkrow(fb, fn_, "F003\tgamma ext\t7\t1\tpm\tX\t-\t-\tauto\n" as *u8)
74 let ft: *i64 = sys_mmap(PM_TOP_ROCKS*5*8) as *i64
75 let nft: i64 = pm_frontier_scan(fb, fn_, m, ft)
76 var t5: i64 = 0
77 if m[S_FTOT] == 3 { if m[S_FDONE] == 1 { if m[S_FEXT] == 1 { if m[S_FOPEN] == 1 { if nft == 1 { if ft[0] == 9 { t5 = 1 } } } } } }
78 gv_check("T5 frontier-scan-kat" as *u8, t5, ctr)
79
80 // ---- T6 live ecomat rollup passthrough on a seeded /tmp store: (1+2)/(4+4) => 375 permil
81 let w: *i64 = ss_begin_cap(1048576)
82 ec_seed_one(w, 0, 0, 0, 1, 4, 5, 0, "gatedomA" as *u8, "bench" as *u8, "raise A" as *u8)
83 ec_seed_one(w, 1, 1, 0, 2, 4, 7, 0, "gatedomB" as *u8, "bench" as *u8, "raise B" as *u8)
84 let pfx: *u8 = "/tmp/pmecomat" as *u8
85 ss_commit(pfx, w, ss_next_segid(pfx))
86 let eo: *i64 = sys_mmap(256) as *i64
87 em_rollup_store(pfx, "/tmp/pm_no_autolog" as *u8, eo, 0)
88 var t6: i64 = 0
89 if eo[0] == 375 { if eo[2] == 2 { t6 = 1 } }
90 gv_check("T6 ecomat-rollup-passthrough-375" as *u8, t6, ctr)
91
92 // ---- T6b maturity-next feedback: both below bar => 2 entries, heavier first-kept
93 let nv: *i64 = sys_mmap(PM_TOP_NEXT*2*8) as *i64
94 let nn: i64 = pm_maturity_next(pfx, nv, PM_TOP_NEXT)
95 var t6b: i64 = 0
96 if nn == 2 { t6b = 1 }
97 gv_check("T6b maturity-next-below-bar" as *u8, t6b, ctr)
98
99 // ---- T7 SCALE TOOTH (production shape): 600 legacy rows -- 10x the real ledger
100 var sn: i64 = 0
101 var i: i64 = 0
102 while i < G_SCALE_N {
103 sn = ss_catn(db, sn, 1784400000 + i)
104 sn = ss_cat(db, sn, "\t7\tscope\topen\tsynthetic scale row\n" as *u8)
105 i = i + 1
106 }
107 let m3: *i64 = sys_mmap(64*8) as *i64
108 z = 0
109 while z < 64 { m3[z] = 0; z = z + 1 }
110 let ndt3: i64 = pm_debt_scan(db, sn, m3, dt)
111 var t7: i64 = 0
112 if m3[S_DTOT] == G_SCALE_N { if m3[S_DOPEN] == G_SCALE_N { if m3[S_DSEV] == G_SCALE_N { if ndt3 == PM_TOP_DEBTS { t7 = 1 } } } }
113 gv_check("T7 scale-tooth-600-rows-top-capped" as *u8, t7, ctr)
114
115 // ---- T8 JSON emitter: UNSEEDED path carries no ESTIMATE; seeded path carries ESTIMATE + total
116 let ob: *u8 = sys_mmap(PM_OUT_CAP)
117 let on: i64 = pm_emit_json(ob, m2, fb, ft, nft, db, dt, 0, rb, rl, 0, pfx, nv, nn)
118 var t8: i64 = 0
119 if el_contains(ob, on, "\"envelope\"" as *u8) == 1 {
120 if el_contains(ob, on, "UNSEEDED" as *u8) == 1 {
121 if el_contains(ob, on, "ESTIMATE" as *u8) == 0 { t8 = 1 }
122 }
123 }
124 gv_check("T8 json-unseeded-no-estimate" as *u8, t8, ctr)
125 let on2: i64 = pm_emit_json(ob, m, fb, ft, nft, db, dt, ndt, rb, rl, nr, pfx, nv, nn)
126 var t8b: i64 = 0
127 if el_contains(ob, on2, "\"status\":\"ESTIMATE\"" as *u8) == 1 {
128 if el_contains(ob, on2, "\"monthly_cents\":9200" as *u8) == 1 { t8b = 1 }
129 }
130 gv_check("T8b json-seeded-estimate-total" as *u8, t8b, ctr)
131
132 // ---- T9 HTML emitter: page skeleton + honest markers
133 let hn: i64 = pm_emit_html(ob, m, fb, ft, nft, db, dt, ndt, rb, rl, nr, pfx, nv, nn)
134 var t9: i64 = 0
135 if el_contains(ob, hn, "PM Cockpit" as *u8) == 1 {
136 if el_contains(ob, hn, "measured, never asserted" as *u8) == 1 {
137 if el_contains(ob, hn, "ESTIMATE" as *u8) == 1 { t9 = 1 }
138 }
139 }
140 gv_check("T9 html-skeleton-honesty-markers" as *u8, t9, ctr)
141
142 let rc: i64 = gv_verdict("PM-COCKPIT-GATE" as *u8, ctr, "roi fail-closed + mixed-schema debt + live rollup + scale tooth" as *u8)
143 sys_exit(rc)
144 return rc
145}