code wiki / _hdl_build / nx_seat.nx
nx_seat.nx source
↩ module page · 1544 lines · 75434 B
1// nx_seat.nx -- THE AGENT-SEAT token-engine organ (seat-system S0+S3, 2026-07-20).
2// MISSION (operator): move Claude's token lift INTO the ecosystem. Measured 12-session baseline:
3// cache_read 920.8M tok vs output 6.1M -- fat tool results re-read every turn dominate cost.
4// So: boot = ONE call, HARD-CAPPED <=4096B digest (vs ~40K-token memory-file boot); the substrate
5// is digested SERVER-SIDE and only the decision surface reaches a seat's context window.
6// nx_seat boot <ws> [journal] [debtprefix] [frontierprefix] [meterlog] -> capped JSON digest
7// nx_seat meter <seat> <sessions> <out_tok> <cread_tok> <ccreate_tok> <note> [logpath]
8// -> ONE O_APPEND TSV row to knowledge/status/token_efficiency.log (conflict-free, S3)
9// nx_seat meterlog [n] [logpath] -> last n metering rows (tail-window, declared)
10// nx_seat shift [days] [meterlog] [ws.jrnl] -> ENGINE-SHIFT SCOREBOARD (F831): claude-vs-local
11// seat-class aggregates + DONE-closures in window -> tokens-per-closed-rung, capped JSON
12// nx_seat reap [actor] [note] [claims.jrnl] [ws.jrnl] -> F214 ORPHAN REAP: forks the nx_claims
13// organ's reap verb (releases ONLY provably-EXPIRED claims, age>ttl by the claim's OWN
14// ttl -- the wrapper NEVER decides expiry itself) then appends one ORPHAN-REAPED audit
15// frame per reaped ws to the ws journal (who/when/why); idempotent, additive-only
16// nx_seat selftest [tmpbase] -> gv-lib gate T1..T6 incl SCALE tooth (300-frame journal
17// -> output still <=4096B; fixture gates prove correctness NEVER scale -- ark v1 lesson)
18// SCALE-LAW: every read is tail-windowed with the true size DECLARED in output (journal_bytes vs
19// window_bytes); output budget declared as budget_bytes. AUTHORITY: nx_ws_cycle next remains the
20// scoped debt gate; boot is the recon DIGEST and says so in its output (no drift, no dup gate).
21// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
22import "nx_sovjson_lib.nx"
23import "nx_store_seed_lib.nx"
24import "nx_seg_store.nx"
25import "nx_gate_verdict.nx"
26import "nx_tool_run.nx"
27import "nx_syscalls.nx"
28// BOUNDED EXEC (seq1442). nx_seat forks helper organs (nx_debt, nx_frontier_board, ...) to build the
29// boot digest. tr_run_capture has no deadline, so ONE wedged helper hangs `nx_seat boot` -- the FIRST
30// call of every session -- with no way through. A digest missing one field is recoverable; a session
31// that cannot start is not. 30s: these are local store reads that normally return in well under a
32// second, so this can only ever catch a genuine hang.
33const ST_FORK_TIMEOUT_MS: i64 = 30000
34const ST_MAGIC_4096: i64 = 4096
35const ST_MAGIC_86400: i64 = 86400
36const ST_MAGIC_4092: i64 = 4092
37const ST_MAGIC_8192: i64 = 8192
38const ST_MAGIC_8188: i64 = 8188
39const ST_MAGIC_3600: i64 = 3600
40const ST_MAGIC_1024: i64 = 1024
41const ST_MAGIC_9000: i64 = 9000
42const ST_MAGIC_90000: i64 = 90000
43const ST_MAGIC_65536: i64 = 65536
44
45const ST_CAP: i64 = 1048576
46const ST_OUTCAP: i64 = 4096
47const ST_OUTBUF: i64 = 8192
48const ST_SEEK_SET: i64 = 0
49const ST_SEEK_END: i64 = 2
50const ST_TAB: i64 = 9
51const ST_NL: i64 = 10
52const ST_STDERR: i64 = 2
53const ST_SPAN: i64 = 16
54const ST_EXIT_USAGE: i64 = 2
55const ST_ACTIVE_MAX: i64 = 8
56const ST_FRONT_MAX: i64 = 5
57const ST_ROW_ESC: i64 = 240
58const ST_NOTE_ESC: i64 = 160
59const ST_WS_ESC: i64 = 40
60const ST_TITLE_ESC: i64 = 60
61const ST_STALE_SEC: i64 = 7200
62const ST_MODE_RW: i64 = 0x1a4
63const ST_ST_FRAMES: i64 = 300
64
65// helpers below DELEGATE to the shared nx_sovjson_lib (sj_*) -- one canonical copy, dup logic eaten (TS04)
66func st_puts(s: *u8) -> i64 { return sj_puts(s) }
67func st_werr(s: *u8) -> i64 { return sj_werr(s) }
68func st_vlen(s: *u8) -> i64 { return sj_vlen(s) }
69func st_cat(d: *u8, o: i64, s: *u8) -> i64 { return sj_cat(d, o, s) }
70func st_catn(d: *u8, o: i64, v: i64) -> i64 { return sj_catn(d, o, v) }
71func st_cat_esc(d: *u8, o: i64, q: *u8, s: i64, e: i64, maxn: i64) -> i64 { return sj_cat_esc(d, o, q, s, e, maxn) }
72func st_atoi_z(s: *u8) -> i64 { var v: i64 = 0; var i: i64 = 0; while s[i] != (0 as u8) { let c: i64 = s[i] as i64; if c >= 48 { if c <= 57 { v = v * 10 + (c - 48) } } i = i + 1 } return v }
73func st_atoi_span(q: *u8, s: i64, e: i64) -> i64 { return sj_atoi_span(q, s, e) }
74func st_le(q: *u8, i: i64, n: i64) -> i64 { return sj_le(q, i, n) }
75func st_col(q: *u8, ls: i64, le: i64, c: i64, out: *i64) -> i64 { return sj_col(q, ls, le, c, out) }
76
77// Find the `_cap=<token>` inside a shift_verbs HINT column; fills cs[0]=off cs[1]=len. 0 = no cap declared.
78// WHY THIS EARNS ITS BYTES (seq1235, id 1785338488): that row MEASURED 44pct of all tool calls as raw shell and
79// named the cause as DISCOVERY, not capability -- nx_mgmt returns capability-denied unless the ADMIN cap rides
80// as _cap, which reads like the tool is unavailable, so seats fall back to ssh and never revisit. The conf has
81// ALREADY carried `_cap=admin.cap` in its hint column all along; the digest simply never emitted that column,
82// because the emitter reads col 0 and col 1 and stops.
83// u00e2u02dcu2026A HINT THAT EXISTS IN THE FILE AND NOT IN THE DIGEST IS A HINT NOBODY HAS.
84// Confirmed live 2026-07-31 on the session that fixed it: I read this exact digest at boot, saw the verb WITHOUT
85// the cap, called nx_mgmt, got capability-denied, and hand-hunted ~/.nishi/admin.cap -- the precise failure the
86// row predicted, on the session that closed it. Emits ONLY the token, never the whole hint, so the digest's
87// 512B tail reserve still holds.
88func st_cap_of(buf: *u8, off: i64, len: i64, cs: *i64) -> i64 {
89 let pat: *u8 = "_cap=" as *u8
90 let lim: i64 = off + len
91 var i: i64 = off
92 while i + 5 <= lim {
93 var k: i64 = 0
94 var ok: i64 = 1
95 while k < 5 { if buf[i+k] != pat[k] { ok = 0; k = 5 } else { k = k + 1 } }
96 if ok == 1 {
97 var e: i64 = i + 5
98 var go: i64 = 1
99 while go == 1 {
100 if e >= lim { go = 0 } else {
101 let c2: i64 = buf[e] as i64
102 if c2 == 59 { go = 0 } else { if c2 == 32 { go = 0 } else { e = e + 1 } }
103 }
104 }
105 cs[0] = i + 5
106 cs[1] = e - (i + 5)
107 return 1
108 }
109 i = i + 1
110 }
111 return 0
112}
113func st_lit_eq(q: *u8, s: i64, e: i64, lit: *u8) -> i64 { return sj_lit_eq(q, s, e, lit) }
114func st_span_eq(q: *u8, s1: i64, e1: i64, s2: i64, e2: i64) -> i64 {
115 if e1 - s1 != e2 - s2 { return 0 }
116 var i: i64 = 0
117 while s1 + i < e1 { if q[s1+i] != q[s2+i] { return 0 } i = i + 1 }
118 return 1
119}
120func st_contains(q: *u8, n: i64, lit: *u8) -> i64 { return sj_span_has(q, 0, n, lit) }
121// SCALE-LAW tail-window read: newest bytes win; partial first line dropped; true size declared.
122func st_read(path: *u8, buf: *u8, cap: i64, sizep: *i64) -> i64 {
123 sizep[0] = 0
124 let fd: i64 = sys_openat_rd(path)
125 if fd < 0 { return 0 }
126 var size: i64 = sys_lseek(fd, 0, ST_SEEK_END)
127 if size < 0 { size = 0 }
128 sizep[0] = size
129 var off: i64 = 0
130 if size > cap { off = size - cap }
131 sys_lseek(fd, off, ST_SEEK_SET)
132 var n: i64 = 0
133 var go: i64 = 1
134 while go == 1 { let r: i64 = sys_read(fd, ((buf as i64) + n) as *u8, cap - n); if r <= 0 { go = 0 } else { n = n + r } if n >= cap { go = 0 } }
135 sys_close(fd)
136 if off > 0 {
137 var fnl: i64 = 0
138 var s: i64 = 1
139 while s == 1 { if fnl >= n { s = 0 } else { if buf[fnl] == (ST_NL as u8) { s = 0 } else { fnl = fnl + 1 } } }
140 if fnl < n {
141 var t: i64 = 0
142 let sk: i64 = fnl + 1
143 while sk + t < n { buf[t] = buf[sk + t]; t = t + 1 }
144 n = t
145 }
146 }
147 return n
148}
149// one O_APPEND metering row: ts\tseat\tsessions\tout\tcread\tccreate\tnote\n (tabs/nl in note -> space)
150func st_meter_append(logpath: *u8, seat: *u8, sess: i64, outk: i64, cread: i64, ccre: i64, note: *u8) -> i64 {
151 let ln: *u8 = sys_mmap(ST_MAGIC_4096)
152 var o: i64 = 0
153 o = st_catn(ln, o, sys_now_realtime_sec())
154 ln[o] = ST_TAB as u8
155 o = o + 1
156 var i: i64 = 0
157 while seat[i] != (0 as u8) { var c: i64 = seat[i] as i64; if c < 32 { c = 32 } ln[o] = c as u8; o = o + 1; i = i + 1 }
158 ln[o] = ST_TAB as u8
159 o = o + 1
160 o = st_catn(ln, o, sess)
161 ln[o] = ST_TAB as u8
162 o = o + 1
163 o = st_catn(ln, o, outk)
164 ln[o] = ST_TAB as u8
165 o = o + 1
166 o = st_catn(ln, o, cread)
167 ln[o] = ST_TAB as u8
168 o = o + 1
169 o = st_catn(ln, o, ccre)
170 ln[o] = ST_TAB as u8
171 o = o + 1
172 var j: i64 = 0
173 while note[j] != (0 as u8) { var c2: i64 = note[j] as i64; if c2 < 32 { c2 = 32 } ln[o] = c2 as u8; o = o + 1; j = j + 1 }
174 ln[o] = ST_NL as u8
175 o = o + 1
176 let fd: i64 = sys_openat_append(logpath, ST_MODE_RW)
177 if fd < 0 { return 0 - 1 }
178 sys_write(fd, ln, o)
179 sys_close(fd)
180 return 0
181}
182// journal helpers (same frame grammar as ws_sync: ts\tVERB\tws\tactor\tnote)
183func st_has(q: *u8, n: i64, verb: *u8, ws: *u8) -> i64 {
184 let cv: *i64 = sys_mmap(ST_SPAN) as *i64
185 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
186 var i: i64 = 0
187 while i < n {
188 let le: i64 = st_le(q, i, n)
189 if st_col(q, i, le, 1, cv) == 1 { if st_lit_eq(q, cv[0], cv[1], verb) == 1 {
190 if st_col(q, i, le, 2, cw) == 1 { if st_lit_eq(q, cw[0], cw[1], ws) == 1 { return 1 } }
191 } }
192 i = le + 1
193 }
194 return 0
195}
196func st_first_kick(q: *u8, upto: i64, ws_s: i64, ws_e: i64) -> i64 {
197 let cv: *i64 = sys_mmap(ST_SPAN) as *i64
198 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
199 var i: i64 = 0
200 while i < upto {
201 let le: i64 = st_le(q, i, upto)
202 if st_col(q, i, le, 1, cv) == 1 { if st_lit_eq(q, cv[0], cv[1], "KICKOFF" as *u8) == 1 {
203 if st_col(q, i, le, 2, cw) == 1 { if st_span_eq(q, cw[0], cw[1], ws_s, ws_e) == 1 { return 0 } }
204 } }
205 i = le + 1
206 }
207 return 1
208}
209func st_last_ts_lit(q: *u8, n: i64, ws: *u8) -> i64 {
210 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
211 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
212 var last: i64 = 0 - 1
213 var i: i64 = 0
214 while i < n {
215 let le: i64 = st_le(q, i, n)
216 if st_col(q, i, le, 2, cw) == 1 { if st_lit_eq(q, cw[0], cw[1], ws) == 1 {
217 if st_col(q, i, le, 0, c0) == 1 { last = st_atoi_span(q, c0[0], c0[1]) }
218 } }
219 i = le + 1
220 }
221 return last
222}
223func st_last_ts_span(q: *u8, n: i64, ws_s: i64, ws_e: i64) -> i64 {
224 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
225 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
226 var last: i64 = 0 - 1
227 var i: i64 = 0
228 while i < n {
229 let le: i64 = st_le(q, i, n)
230 if st_col(q, i, le, 2, cw) == 1 { if st_span_eq(q, cw[0], cw[1], ws_s, ws_e) == 1 {
231 if st_col(q, i, le, 0, c0) == 1 { last = st_atoi_span(q, c0[0], c0[1]) }
232 } }
233 i = le + 1
234 }
235 return last
236}
237// ctx-tax flush loop (ws=ctx-tax-function): the LAST CHECKPOINT frame for a ws -- ts returned,
238// note span into fs[0..1] -- so boot can surface in-flight state after a harness compact/clear
239func st_last_brief(q: *u8, n: i64, ws: *u8, fs: *i64) -> i64 {
240 let cv: *i64 = sys_mmap(ST_SPAN) as *i64
241 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
242 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
243 let c4: *i64 = sys_mmap(ST_SPAN) as *i64
244 var last: i64 = 0 - 1
245 fs[0] = 0 - 1
246 fs[1] = 0 - 1
247 var i: i64 = 0
248 while i < n {
249 let le: i64 = st_le(q, i, n)
250 if st_col(q, i, le, 1, cv) == 1 { if st_lit_eq(q, cv[0], cv[1], "CHECKPOINT" as *u8) == 1 {
251 if st_col(q, i, le, 2, cw) == 1 { if st_lit_eq(q, cw[0], cw[1], ws) == 1 {
252 if st_col(q, i, le, 0, c0) == 1 { if st_col(q, i, le, 4, c4) == 1 {
253 last = st_atoi_span(q, c0[0], c0[1])
254 fs[0] = c4[0]
255 fs[1] = c4[1]
256 } }
257 } }
258 } }
259 i = le + 1
260 }
261 return last
262}
263// top-severity OPEN debt (schema-aware: legacy 5-col sev@1 / v2 7-col sev@2, status@3 both).
264// fills row span fs[0..1] + sev fs[2]; returns open count.
265func st_topdebt(dp: *u8, dbuf: *u8, fs: *i64) -> i64 {
266 let n: i64 = sts_load(dp, dbuf, ST_CAP)
267 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
268 let c3: *i64 = sys_mmap(ST_SPAN) as *i64
269 let cs: *i64 = sys_mmap(ST_SPAN) as *i64
270 fs[0] = 0 - 1
271 fs[1] = 0 - 1
272 fs[2] = 0 - 1
273 var k: i64 = 0
274 var i: i64 = 0
275 while i < n {
276 let le: i64 = st_le(dbuf, i, n)
277 if st_col(dbuf, i, le, 3, c3) == 1 { if st_lit_eq(dbuf, c3[0], c3[1], "open" as *u8) == 1 {
278 k = k + 1
279 var sevcol: i64 = 2
280 if st_col(dbuf, i, le, 0, c0) == 1 {
281 if c0[1] - c0[0] >= 8 {
282 var alldig: i64 = 1
283 var p: i64 = c0[0]
284 while p < c0[1] { let c: i64 = dbuf[p] as i64; if c < 48 { alldig = 0; p = c0[1] } else { if c > 57 { alldig = 0; p = c0[1] } else { p = p + 1 } } }
285 if alldig == 1 { sevcol = 1 }
286 }
287 }
288 if st_col(dbuf, i, le, sevcol, cs) == 1 {
289 let sev: i64 = st_atoi_span(dbuf, cs[0], cs[1])
290 if sev > fs[2] { fs[2] = sev; fs[0] = i; fs[1] = le }
291 }
292 } }
293 i = le + 1
294 }
295 return k
296}
297// status CHAR (i64) of the frontier row whose col0 == id span [ids,ide) in fbuf; 0 if not found.
298// Same-buffer span compare (ids/ide and the scanned col0 both index fbuf).
299func st_frontier_status(fbuf: *u8, fn: i64, ids: i64, ide: i64) -> i64 {
300 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
301 let c5: *i64 = sys_mmap(ST_SPAN) as *i64
302 var i: i64 = 0
303 while i < fn {
304 let le: i64 = st_le(fbuf, i, fn)
305 if st_col(fbuf, i, le, 0, c0) == 1 {
306 if st_span_eq(fbuf, c0[0], c0[1], ids, ide) == 1 {
307 if st_col(fbuf, i, le, 5, c5) == 1 { if c5[1] > c5[0] { return fbuf[c5[0]] as i64 } }
308 return 0
309 }
310 }
311 i = le + 1
312 }
313 return 0
314}
315// count of BLOCKING deps in a deps-column span [ds,de): each internal F-ref whose status != D.
316// "-"/empty => 0 (ready). External (non-F) or unresolvable refs do NOT block (can't gate here).
317// 68='D' 70='F' 45='-' 44=',' 59=';' 32=' '
318func st_deps_block_count(fbuf: *u8, fn: i64, ds: i64, de: i64) -> i64 {
319 if de <= ds { return 0 }
320 if de - ds == 1 { if fbuf[ds] == (45 as u8) { return 0 } }
321 var block: i64 = 0
322 var p: i64 = ds
323 while p < de {
324 var sk: i64 = 1
325 while sk == 1 { if p >= de { sk = 0 } else { let c: i64 = fbuf[p] as i64; if c == 44 { p = p + 1 } else { if c == 59 { p = p + 1 } else { if c == 32 { p = p + 1 } else { sk = 0 } } } } }
326 if p < de {
327 let ts: i64 = p
328 var s2: i64 = 1
329 while s2 == 1 { if p >= de { s2 = 0 } else { let c2: i64 = fbuf[p] as i64; if c2 == 44 { s2 = 0 } else { if c2 == 59 { s2 = 0 } else { if c2 == 32 { s2 = 0 } else { p = p + 1 } } } } }
330 let te: i64 = p
331 if te > ts { if fbuf[ts] == (70 as u8) {
332 let stt: i64 = st_frontier_status(fbuf, fn, ts, te)
333 if stt != 0 { if stt != 68 { block = block + 1 } }
334 } }
335 }
336 }
337 return block
338}
339// THE READY DIGEST (F832): deps-resolved READY frontier set from the SAME seg-store the 33.7KB
340// nx_frontier_board reads -- a seat picks work in ~1KB, not the full CPM dump. READY = status T
341// with every internal F-dep at status D. Lane filter ("*"/empty = all). Envelope DECLARED
342// (store_bytes/ready_total vs shown/cap). Authority pointers preserved (debt-gate + full CPM).
343func st_ready(lane: *u8, maxn: i64, fp: *u8, out: *u8) -> i64 {
344 let fbuf: *u8 = sys_mmap(ST_CAP)
345 let fn: i64 = sts_load(fp, fbuf, ST_CAP)
346 let now: i64 = sys_now_realtime_sec()
347 let lanelen: i64 = st_vlen(lane)
348 var nofilter: i64 = 0
349 if lanelen == 0 { nofilter = 1 }
350 if lanelen == 1 { if lane[0] == (42 as u8) { nofilter = 1 } }
351 var o: i64 = 0
352 o = st_cat(out, o, "{\"organ\":\"nx_seat\",\"verb\":\"ready\",\"epoch\":" as *u8)
353 o = st_catn(out, o, now)
354 o = st_cat(out, o, ",\"budget_bytes\":" as *u8)
355 o = st_catn(out, o, ST_OUTCAP)
356 o = st_cat(out, o, ",\"store_bytes\":" as *u8)
357 o = st_catn(out, o, fn)
358 o = st_cat(out, o, ",\"lane\":\"" as *u8)
359 o = st_cat_esc(out, o, lane, 0, lanelen, ST_WS_ESC)
360 o = st_cat(out, o, "\",\"ready\":[" as *u8)
361 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
362 let c1: *i64 = sys_mmap(ST_SPAN) as *i64
363 let c5: *i64 = sys_mmap(ST_SPAN) as *i64
364 let c6: *i64 = sys_mmap(ST_SPAN) as *i64
365 let c8: *i64 = sys_mmap(ST_SPAN) as *i64
366 var nready: i64 = 0
367 var nblocked: i64 = 0
368 var ntodo: i64 = 0
369 var shown: i64 = 0
370 let c2w: *i64 = sys_mmap(ST_SPAN) as *i64
371 // RANKW1 (big-rocks sharpening 2026-07-20): the digest must surface the BIGGEST rocks first,
372 // not first-inserted. Pass 1 counts; pass 2 emits in weight bands 9..0 (col 2; store order
373 // within a band; missing/non-numeric w = 0 = last). <=10 in-memory passes, no sort machinery.
374 var i: i64 = 0
375 while i < fn {
376 let le: i64 = st_le(fbuf, i, fn)
377 if st_col(fbuf, i, le, 5, c5) == 1 { if st_lit_eq(fbuf, c5[0], c5[1], "T" as *u8) == 1 {
378 var lanematch: i64 = nofilter
379 if lanematch == 0 { if st_col(fbuf, i, le, 8, c8) == 1 { if st_lit_eq(fbuf, c8[0], c8[1], lane) == 1 { lanematch = 1 } } }
380 if lanematch == 1 {
381 ntodo = ntodo + 1
382 var blk: i64 = 0
383 if st_col(fbuf, i, le, 6, c6) == 1 { blk = st_deps_block_count(fbuf, fn, c6[0], c6[1]) }
384 if blk > 0 { nblocked = nblocked + 1 } else { nready = nready + 1 }
385 }
386 } }
387 i = le + 1
388 }
389 var band: i64 = 9
390 while band >= 0 {
391 var j: i64 = 0
392 while j < fn {
393 let le2: i64 = st_le(fbuf, j, fn)
394 if shown < maxn { if st_col(fbuf, j, le2, 5, c5) == 1 { if st_lit_eq(fbuf, c5[0], c5[1], "T" as *u8) == 1 {
395 var lm2: i64 = nofilter
396 if lm2 == 0 { if st_col(fbuf, j, le2, 8, c8) == 1 { if st_lit_eq(fbuf, c8[0], c8[1], lane) == 1 { lm2 = 1 } } }
397 if lm2 == 1 {
398 var wv: i64 = 0
399 if st_col(fbuf, j, le2, 2, c2w) == 1 { wv = st_atoi_span(fbuf, c2w[0], c2w[1]) }
400 if wv > 9 { wv = 9 }
401 if wv < 0 { wv = 0 }
402 if wv == band {
403 var blk2: i64 = 0
404 if st_col(fbuf, j, le2, 6, c6) == 1 { blk2 = st_deps_block_count(fbuf, fn, c6[0], c6[1]) }
405 if blk2 == 0 {
406 if st_col(fbuf, j, le2, 0, c0) == 1 { if st_col(fbuf, j, le2, 1, c1) == 1 {
407 if shown > 0 { o = st_cat(out, o, "," as *u8) }
408 o = st_cat(out, o, "{\"id\":\"" as *u8)
409 o = st_cat_esc(out, o, fbuf, c0[0], c0[1], ST_WS_ESC)
410 o = st_cat(out, o, "\",\"w\":" as *u8)
411 o = st_catn(out, o, wv)
412 o = st_cat(out, o, ",\"t\":\"" as *u8)
413 o = st_cat_esc(out, o, fbuf, c1[0], c1[1], ST_TITLE_ESC)
414 o = st_cat(out, o, "\",\"lane\":\"" as *u8)
415 if st_col(fbuf, j, le2, 8, c8) == 1 { o = st_cat_esc(out, o, fbuf, c8[0], c8[1], ST_WS_ESC) }
416 o = st_cat(out, o, "\"}" as *u8)
417 shown = shown + 1
418 } }
419 }
420 }
421 }
422 } } }
423 j = le2 + 1
424 }
425 band = band - 1
426 }
427 o = st_cat(out, o, "],\"ready_total\":" as *u8)
428 o = st_catn(out, o, nready)
429 o = st_cat(out, o, ",\"shown\":" as *u8)
430 o = st_catn(out, o, shown)
431 o = st_cat(out, o, ",\"blocked_total\":" as *u8)
432 o = st_catn(out, o, nblocked)
433 o = st_cat(out, o, ",\"todo_total\":" as *u8)
434 o = st_catn(out, o, ntodo)
435 o = st_cat(out, o, ",\"env\":\"frontier-store-digest;ready=T-with-all-F-deps-D;order=w-desc;cap-" as *u8)
436 o = st_catn(out, o, maxn)
437 o = st_cat(out, o, "\",\"authority\":\"debt-gate=nx_ws_cycle-next;full-CPM=nx_frontier_board\"}" as *u8)
438 out[o] = ST_NL as u8
439 o = o + 1
440 return o
441}
442func st_has_span_done(q: *u8, n: i64, ws_s: i64, ws_e: i64) -> i64 {
443 let cv: *i64 = sys_mmap(ST_SPAN) as *i64
444 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
445 var i: i64 = 0
446 while i < n {
447 let le: i64 = st_le(q, i, n)
448 if st_col(q, i, le, 1, cv) == 1 { if st_lit_eq(q, cv[0], cv[1], "DONE" as *u8) == 1 {
449 if st_col(q, i, le, 2, cw) == 1 { if st_span_eq(q, cw[0], cw[1], ws_s, ws_e) == 1 { return 1 } }
450 } }
451 i = le + 1
452 }
453 return 0
454}
455// THE ENGINE-SHIFT SCOREBOARD (F831 half 2): seat-class aggregates from the SAME evidence log
456// meter writes + DONE closures from the SAME journal boot reads. The plan's gauge: engine-shift
457// = claude out-per-done FALLING while local zero-API closure rows RISE. class = seat prefix
458// "claude" vs everything-else=local; both reads tail-windowed + declared (scale-law).
459func st_starts(q: *u8, s: i64, e: i64, lit: *u8) -> i64 {
460 var i: i64 = 0
461 while lit[i] != (0 as u8) {
462 if s + i >= e { return 0 }
463 if q[s+i] != lit[i] { return 0 }
464 i = i + 1
465 }
466 return 1
467}
468func st_shift(days: i64, ml: *u8, jr: *u8, out: *u8) -> i64 {
469 let now: i64 = sys_now_realtime_sec()
470 let win: i64 = days * ST_MAGIC_86400
471 var cutoff: i64 = now - win
472 if days <= 0 { cutoff = 0 }
473 let mb: *u8 = sys_mmap(ST_CAP)
474 let msz: *i64 = sys_mmap(ST_SPAN) as *i64
475 let mn: i64 = st_read(ml, mb, ST_CAP - 4, msz)
476 let c0: *i64 = sys_mmap(ST_SPAN) as *i64
477 let c1: *i64 = sys_mmap(ST_SPAN) as *i64
478 let c2: *i64 = sys_mmap(ST_SPAN) as *i64
479 let c3: *i64 = sys_mmap(ST_SPAN) as *i64
480 let c4: *i64 = sys_mmap(ST_SPAN) as *i64
481 let c5: *i64 = sys_mmap(ST_SPAN) as *i64
482 var crows: i64 = 0
483 var csess: i64 = 0
484 var coutv: i64 = 0
485 var ccread: i64 = 0
486 var cccre: i64 = 0
487 var lrows: i64 = 0
488 var lsess: i64 = 0
489 var lout: i64 = 0
490 var i: i64 = 0
491 while i < mn {
492 let le: i64 = st_le(mb, i, mn)
493 if st_col(mb, i, le, 0, c0) == 1 {
494 let ts: i64 = st_atoi_span(mb, c0[0], c0[1])
495 if ts >= cutoff { if st_col(mb, i, le, 1, c1) == 1 {
496 var sess: i64 = 0
497 var outv: i64 = 0
498 var crd: i64 = 0
499 var ccr: i64 = 0
500 if st_col(mb, i, le, 2, c2) == 1 { sess = st_atoi_span(mb, c2[0], c2[1]) }
501 if st_col(mb, i, le, 3, c3) == 1 { outv = st_atoi_span(mb, c3[0], c3[1]) }
502 if st_col(mb, i, le, 4, c4) == 1 { crd = st_atoi_span(mb, c4[0], c4[1]) }
503 if st_col(mb, i, le, 5, c5) == 1 { ccr = st_atoi_span(mb, c5[0], c5[1]) }
504 if st_starts(mb, c1[0], c1[1], "claude" as *u8) == 1 {
505 crows = crows + 1
506 csess = csess + sess
507 coutv = coutv + outv
508 ccread = ccread + crd
509 cccre = cccre + ccr
510 } else {
511 lrows = lrows + 1
512 lsess = lsess + sess
513 lout = lout + outv
514 }
515 } }
516 }
517 i = le + 1
518 }
519 let q: *u8 = sys_mmap(ST_CAP)
520 let jsz: *i64 = sys_mmap(ST_SPAN) as *i64
521 let n: i64 = st_read(jr, q, ST_CAP - 4, jsz)
522 let d0: *i64 = sys_mmap(ST_SPAN) as *i64
523 let d1: *i64 = sys_mmap(ST_SPAN) as *i64
524 var done: i64 = 0
525 var j: i64 = 0
526 while j < n {
527 let jle: i64 = st_le(q, j, n)
528 if st_col(q, j, jle, 1, d1) == 1 { if st_lit_eq(q, d1[0], d1[1], "DONE" as *u8) == 1 {
529 if st_col(q, j, jle, 0, d0) == 1 { if st_atoi_span(q, d0[0], d0[1]) >= cutoff { done = done + 1 } }
530 } }
531 j = jle + 1
532 }
533 var tpd: i64 = 0 - 1
534 var cpd: i64 = 0 - 1
535 if done > 0 { tpd = coutv / done }
536 if done > 0 { cpd = ccread / done }
537 var o: i64 = 0
538 o = st_cat(out, o, "{\"organ\":\"nx_seat\",\"verb\":\"shift\",\"epoch\":" as *u8)
539 o = st_catn(out, o, now)
540 o = st_cat(out, o, ",\"budget_bytes\":" as *u8)
541 o = st_catn(out, o, ST_OUTCAP)
542 o = st_cat(out, o, ",\"days\":" as *u8)
543 o = st_catn(out, o, days)
544 o = st_cat(out, o, ",\"log_bytes\":" as *u8)
545 o = st_catn(out, o, msz[0])
546 o = st_cat(out, o, ",\"log_window\":" as *u8)
547 o = st_catn(out, o, mn)
548 o = st_cat(out, o, ",\"jr_bytes\":" as *u8)
549 o = st_catn(out, o, jsz[0])
550 o = st_cat(out, o, ",\"jr_window\":" as *u8)
551 o = st_catn(out, o, n)
552 o = st_cat(out, o, ",\"claude\":{\"rows\":" as *u8)
553 o = st_catn(out, o, crows)
554 o = st_cat(out, o, ",\"sessions\":" as *u8)
555 o = st_catn(out, o, csess)
556 o = st_cat(out, o, ",\"out\":" as *u8)
557 o = st_catn(out, o, coutv)
558 o = st_cat(out, o, ",\"cread\":" as *u8)
559 o = st_catn(out, o, ccread)
560 o = st_cat(out, o, ",\"ccreate\":" as *u8)
561 o = st_catn(out, o, cccre)
562 o = st_cat(out, o, "},\"local\":{\"rows\":" as *u8)
563 o = st_catn(out, o, lrows)
564 o = st_cat(out, o, ",\"sessions\":" as *u8)
565 o = st_catn(out, o, lsess)
566 o = st_cat(out, o, ",\"out\":" as *u8)
567 o = st_catn(out, o, lout)
568 o = st_cat(out, o, "},\"done_ws\":" as *u8)
569 o = st_catn(out, o, done)
570 o = st_cat(out, o, ",\"claude_out_per_done\":" as *u8)
571 o = st_catn(out, o, tpd)
572 o = st_cat(out, o, ",\"claude_cread_per_done\":" as *u8)
573 o = st_catn(out, o, cpd)
574 o = st_cat(out, o, ",\"env\":\"tail-1MiB-both-declared;class=seat-prefix-claude-else-local;done=DONE-frames-in-window;out-hard-" as *u8)
575 o = st_catn(out, o, ST_OUTCAP)
576 o = st_cat(out, o, "\",\"authority\":\"evidence=token_efficiency.log+ws_sync.jrnl;goal=out-per-done-falling-local-rows-rising\"}" as *u8)
577 out[o] = ST_NL as u8
578 o = o + 1
579 return o
580}
581// THE BOOT DIGEST: one hard-capped JSON. Returns emitted length (<= ST_OUTCAP by construction).
582func st_boot(ws: *u8, jr: *u8, dp: *u8, fp: *u8, ml: *u8, out: *u8) -> i64 {
583 let q: *u8 = sys_mmap(ST_CAP)
584 let jsz: *i64 = sys_mmap(ST_SPAN) as *i64
585 let n: i64 = st_read(jr, q, ST_CAP - 4, jsz)
586 let now: i64 = sys_now_realtime_sec()
587 var o: i64 = 0
588 o = st_cat(out, o, "{\"organ\":\"nx_seat\",\"epoch\":" as *u8)
589 o = st_catn(out, o, now)
590 o = st_cat(out, o, ",\"budget_bytes\":" as *u8)
591 o = st_catn(out, o, ST_OUTCAP)
592 o = st_cat(out, o, ",\"journal_bytes\":" as *u8)
593 o = st_catn(out, o, jsz[0])
594 o = st_cat(out, o, ",\"window_bytes\":" as *u8)
595 o = st_catn(out, o, n)
596 o = st_cat(out, o, ",\"ws\":\"" as *u8)
597 o = st_cat_esc(out, o, ws, 0, st_vlen(ws), ST_WS_ESC)
598 o = st_cat(out, o, "\",\"phase\":\"" as *u8)
599 let lt: i64 = st_last_ts_lit(q, n, ws)
600 if st_has(q, n, "DONE" as *u8, ws) == 1 { o = st_cat(out, o, "DONE" as *u8) } else {
601 if lt >= 0 { o = st_cat(out, o, "INFLIGHT" as *u8) } else { o = st_cat(out, o, "UNKNOWN" as *u8) }
602 }
603 o = st_cat(out, o, "\",\"age_s\":" as *u8)
604 if lt >= 0 { o = st_catn(out, o, now - lt) } else { o = st_catn(out, o, 0 - 1) }
605 // ctx-tax flush loop: surface the last CHECKPOINT so post-compact re-entry keeps state
606 let bfs: *i64 = sys_mmap(ST_SPAN) as *i64
607 let bts: i64 = st_last_brief(q, n, ws, bfs)
608 o = st_cat(out, o, ",\"brief_age_s\":" as *u8)
609 if bts >= 0 { o = st_catn(out, o, now - bts) } else { o = st_catn(out, o, 0 - 1) }
610 o = st_cat(out, o, ",\"last_brief\":\"" as *u8)
611 if bfs[0] >= 0 { o = st_cat_esc(out, o, q, bfs[0], bfs[1], ST_NOTE_ESC) }
612 o = st_cat(out, o, "\"" as *u8)
613 // debts: open count + THE top-severity row (eat-most-important-first pointer)
614 let dbuf: *u8 = sys_mmap(ST_CAP)
615 let fs: *i64 = sys_mmap(ST_SPAN * 2) as *i64
616 let k: i64 = st_topdebt(dp, dbuf, fs)
617 o = st_cat(out, o, ",\"open_debts\":" as *u8)
618 o = st_catn(out, o, k)
619 o = st_cat(out, o, ",\"top_sev\":" as *u8)
620 o = st_catn(out, o, fs[2])
621 o = st_cat(out, o, ",\"top_debt\":\"" as *u8)
622 if fs[0] >= 0 { o = st_cat_esc(out, o, dbuf, fs[0], fs[1], ST_ROW_ESC) }
623 o = st_cat(out, o, "\",\"active\":[" as *u8)
624 // board digest: ACTIVE ws (fresh within window) capped, DONE/STALE counted only
625 let cv: *i64 = sys_mmap(ST_SPAN) as *i64
626 let cw: *i64 = sys_mmap(ST_SPAN) as *i64
627 var nact: i64 = 0
628 var ndone: i64 = 0
629 var nstale: i64 = 0
630 var i: i64 = 0
631 while i < n {
632 let le: i64 = st_le(q, i, n)
633 if st_col(q, i, le, 1, cv) == 1 { if st_lit_eq(q, cv[0], cv[1], "KICKOFF" as *u8) == 1 {
634 if st_col(q, i, le, 2, cw) == 1 { if st_first_kick(q, i, cw[0], cw[1]) == 1 {
635 if st_has_span_done(q, n, cw[0], cw[1]) == 1 { ndone = ndone + 1 } else {
636 let wlt: i64 = st_last_ts_span(q, n, cw[0], cw[1])
637 if now - wlt <= ST_STALE_SEC {
638 if nact < ST_ACTIVE_MAX {
639 if nact > 0 { o = st_cat(out, o, "," as *u8) }
640 o = st_cat(out, o, "{\"ws\":\"" as *u8)
641 o = st_cat_esc(out, o, q, cw[0], cw[1], ST_WS_ESC)
642 o = st_cat(out, o, "\",\"age_s\":" as *u8)
643 o = st_catn(out, o, now - wlt)
644 o = st_cat(out, o, "}" as *u8)
645 }
646 nact = nact + 1
647 } else { nstale = nstale + 1 }
648 }
649 } }
650 } }
651 i = le + 1
652 }
653 o = st_cat(out, o, "],\"active_total\":" as *u8)
654 o = st_catn(out, o, nact)
655 o = st_cat(out, o, ",\"done_ws\":" as *u8)
656 o = st_catn(out, o, ndone)
657 o = st_cat(out, o, ",\"stale_ws\":" as *u8)
658 o = st_catn(out, o, nstale)
659 // frontier: first N TODO rows (id + capped title) + totals
660 let fbuf: *u8 = sys_mmap(ST_CAP)
661 let fn: i64 = sts_load(fp, fbuf, ST_CAP)
662 let f0: *i64 = sys_mmap(ST_SPAN) as *i64
663 let f1: *i64 = sys_mmap(ST_SPAN) as *i64
664 let f5: *i64 = sys_mmap(ST_SPAN) as *i64
665 o = st_cat(out, o, ",\"frontier_todo\":[" as *u8)
666 var nf: i64 = 0
667 var tf: i64 = 0
668 var fi: i64 = 0
669 while fi < fn {
670 let fle: i64 = st_le(fbuf, fi, fn)
671 if st_col(fbuf, fi, fle, 5, f5) == 1 { if st_lit_eq(fbuf, f5[0], f5[1], "T" as *u8) == 1 {
672 tf = tf + 1
673 if nf < ST_FRONT_MAX {
674 if st_col(fbuf, fi, fle, 0, f0) == 1 { if st_col(fbuf, fi, fle, 1, f1) == 1 {
675 if nf > 0 { o = st_cat(out, o, "," as *u8) }
676 o = st_cat(out, o, "{\"id\":\"" as *u8)
677 o = st_cat_esc(out, o, fbuf, f0[0], f0[1], ST_WS_ESC)
678 o = st_cat(out, o, "\",\"t\":\"" as *u8)
679 o = st_cat_esc(out, o, fbuf, f1[0], f1[1], ST_TITLE_ESC)
680 o = st_cat(out, o, "\"}" as *u8)
681 nf = nf + 1
682 } }
683 }
684 } }
685 fi = fle + 1
686 }
687 o = st_cat(out, o, "],\"frontier_todo_total\":" as *u8)
688 o = st_catn(out, o, tf)
689 // metering pointer: last row of the token-efficiency evidence log
690 let mbuf: *u8 = sys_mmap(ST_CAP)
691 let msz: *i64 = sys_mmap(ST_SPAN) as *i64
692 let mn: i64 = st_read(ml, mbuf, ST_MAGIC_4096, msz)
693 o = st_cat(out, o, ",\"meter_last\":\"" as *u8)
694 if mn > 0 {
695 var ls: i64 = 0
696 var mi: i64 = 0
697 while mi < mn { let mle: i64 = st_le(mbuf, mi, mn); if mle < mn { ls = mi } else { if mle > mi { ls = mi } } mi = mle + 1 }
698 let lse: i64 = st_le(mbuf, ls, mn)
699 o = st_cat_esc(out, o, mbuf, ls, lse, ST_NOTE_ESC)
700 }
701 o = st_cat(out, o, "\"" as *u8) // 2026-07-29: the shift_verbs insertion dropped meter_last's CLOSING quote -- the whole boot digest was INVALID JSON (a human reader skims past it; every machine consumer -- makers, cheap-model seats, scripts -- dies on JSON.parse, which is precisely who the digest is for)
702 // SHIFT-VERBS: the sovereign path for each work class a session would
703 // otherwise rediscover by shelling out (discovery-is-the-bottleneck,
704 // knowledge/status/self_sufficiency_map_20260729.md). Data-driven per
705 // rule 11: knowledge/shift_verbs.conf rows task<TAB>verb<TAB>hint --
706 // extend the conf, never rebuild the seat. Additive field (rule 19);
707 // conf absent => empty list, the FIELD is always present (honest zero).
708 // Row emission is BUDGET-DERIVED, not a taste top-N (bounds law 07-29):
709 // rows emit while output stays under ST_OUTCAP minus ST_SV_RESERVE bytes.
710 let svb: *u8 = sys_mmap(ST_CAP)
711 let svz: *i64 = sys_mmap(ST_SPAN) as *i64
712 let svn: i64 = st_read("knowledge/shift_verbs.conf" as *u8, svb, ST_MAGIC_4096, svz)
713 o = st_cat(out, o, ",\"shift_verbs\":[" as *u8)
714 var nsv: i64 = 0
715 if svn > 0 {
716 let s0: *i64 = sys_mmap(ST_SPAN) as *i64
717 let s1: *i64 = sys_mmap(ST_SPAN) as *i64
718 // Allocated ONCE outside the row loop on purpose: a sys_mmap per row is an allocator in a loop, which
719 // this ecosystem has already paid for twice (the unfreed-mmap class). Both are pure out-params.
720 let s2: *i64 = sys_mmap(ST_SPAN) as *i64
721 let cs: *i64 = sys_mmap(ST_SPAN) as *i64
722 var si: i64 = 0
723 while si < svn {
724 let sle: i64 = st_le(svb, si, svn)
725 if sle > si + 2 { if svb[si] != (35 as u8) {
726 // ST_SV_RESERVE units=BYTES: measured digest tail after this
727 // field (env+authority strings ~230B) + one max row (task
728 // ST_WS_ESC + verb ST_TITLE_ESC + json wrappers ~200B) + NL,
729 // rounded up = 512. When this bound bites the fix is a wider
730 // ST_OUTCAP envelope or a leaner tail -- never a smaller list.
731 if o < ST_OUTCAP - 512 {
732 if st_col(svb, si, sle, 0, s0) == 1 { if st_col(svb, si, sle, 1, s1) == 1 {
733 if nsv > 0 { o = st_cat(out, o, "," as *u8) }
734 o = st_cat(out, o, "{\"t\":\"" as *u8)
735 o = st_cat_esc(out, o, svb, s0[0], s0[1], ST_WS_ESC)
736 o = st_cat(out, o, "\",\"v\":\"" as *u8)
737 o = st_cat_esc(out, o, svb, s1[0], s1[1], ST_TITLE_ESC)
738 // Carry the cap token when the hint declares one. Additive field (rule 19): consumers
739 // that ignore it are unaffected, and a row with no _cap= emits exactly what it did
740 // before, so a conf without caps produces a byte-identical digest.
741 if st_col(svb, si, sle, 2, s2) == 1 {
742 if st_cap_of(svb, s2[0], s2[1], cs) == 1 {
743 o = st_cat(out, o, "\",\"cap\":\"" as *u8)
744 // Direct byte copy, not st_cat_esc: the first cut emitted "cap":"" and the
745 // escaper is the only unknown in that path. A cap token is [a-z0-9._-] by
746 // construction (it names a file in ~/.nishi), so there is nothing to escape and
747 // nothing to be gained by routing it through a helper whose contract I would be
748 // guessing at. Bounded by cs[1], which st_cap_of derived from the slice itself.
749 var cq: i64 = 0
750 while cq < cs[1] { out[o] = svb[cs[0] + cq]; o = o + 1; cq = cq + 1 }
751 }
752 }
753 o = st_cat(out, o, "\"}" as *u8)
754 nsv = nsv + 1
755 } }
756 }
757 } }
758 si = sle + 1
759 }
760 }
761 o = st_cat(out, o, "],\"shift_src\":\"knowledge/shift_verbs.conf;rows-budget-derived-512B-reserve\"" as *u8)
762 o = st_cat(out, o, ",\"env\":\"jr-tail-1MiB-declared;debt-plane-1MiB;frontier-first-" as *u8)
763 o = st_catn(out, o, ST_FRONT_MAX)
764 o = st_cat(out, o, ";out-hard-" as *u8)
765 o = st_catn(out, o, ST_OUTCAP)
766 o = st_cat(out, o, "\",\"authority\":\"nx_ws_cycle-next-is-the-scoped-gate;this-is-the-recon-digest\"}" as *u8)
767 out[o] = ST_NL as u8
768 o = o + 1
769 return o
770}
771// append one journal frame (selftest fixture writer; same grammar as ws_sync)
772func st_frame(jr: *u8, ts: i64, verb: *u8, ws: *u8, actor: *u8, note: *u8) -> i64 {
773 let ln: *u8 = sys_mmap(ST_MAGIC_4096)
774 var o: i64 = 0
775 o = st_catn(ln, o, ts)
776 ln[o] = ST_TAB as u8
777 o = o + 1
778 o = st_cat(ln, o, verb)
779 ln[o] = ST_TAB as u8
780 o = o + 1
781 o = st_cat(ln, o, ws)
782 ln[o] = ST_TAB as u8
783 o = o + 1
784 o = st_cat(ln, o, actor)
785 ln[o] = ST_TAB as u8
786 o = o + 1
787 o = st_cat(ln, o, note)
788 ln[o] = ST_NL as u8
789 o = o + 1
790 let fd: i64 = sys_openat_append(jr, ST_MODE_RW)
791 if fd < 0 { return 0 - 1 }
792 sys_write(fd, ln, o)
793 sys_close(fd)
794 return 0
795}
796// claims-grammar fixture frame (ts\tVERB\tres\tactor\tttl\tnote) -- selftest injects OLD ts
797// to synthesize a provably-EXPIRED claim in a SCRATCH journal (never the prod store)
798func st_cframe(cjr: *u8, ts: i64, verb: *u8, res: *u8, actor: *u8, ttl: i64, note: *u8) -> i64 {
799 let ln: *u8 = sys_mmap(ST_MAGIC_4096)
800 var o: i64 = 0
801 o = st_catn(ln, 0, ts)
802 ln[o] = ST_TAB as u8
803 o = o + 1
804 o = st_cat(ln, o, verb)
805 ln[o] = ST_TAB as u8
806 o = o + 1
807 o = st_cat(ln, o, res)
808 ln[o] = ST_TAB as u8
809 o = o + 1
810 o = st_cat(ln, o, actor)
811 ln[o] = ST_TAB as u8
812 o = o + 1
813 o = st_catn(ln, o, ttl)
814 ln[o] = ST_TAB as u8
815 o = o + 1
816 o = st_cat(ln, o, note)
817 ln[o] = ST_NL as u8
818 o = o + 1
819 let fd: i64 = sys_openat_append(cjr, ST_MODE_RW)
820 if fd < 0 { return 0 - 1 }
821 sys_write(fd, ln, o)
822 sys_close(fd)
823 return 0
824}
825// CTX-TAX FLUSH VERB (the warden's ecosystem-side function): ONE CHECKPOINT frame captures the
826// in-flight state so the operator can /compact or /clear LOSSLESSLY; re-entry = boot, whose 1KB
827// digest now carries last_brief. Journal-append only -- additive, conflict-free, rule-19.
828func st_do_brief(ws: *u8, actor: *u8, note: *u8, wj: *u8, out: *u8) -> i64 {
829 let rc: i64 = st_frame(wj, sys_now_realtime_sec(), "CHECKPOINT" as *u8, ws, actor, note)
830 var o: i64 = 0
831 if rc != 0 {
832 o = st_cat(out, 0, "BRIEF-FAIL journal unwritable jr=" as *u8)
833 o = st_cat_esc(out, o, wj, 0, st_vlen(wj), 200)
834 out[o] = ST_NL as u8
835 o = o + 1
836 sys_write(1, out, o)
837 return 1
838 }
839 o = st_cat(out, 0, "BRIEF ws=" as *u8)
840 o = st_cat(out, o, ws)
841 o = st_cat(out, o, " checkpoint=1 flush-safe=1 reboot=nx_seat-boot note=" as *u8)
842 o = st_cat_esc(out, o, note, 0, st_vlen(note), 160)
843 out[o] = ST_NL as u8
844 o = o + 1
845 sys_write(1, out, o)
846 return 0
847}
848// S1 ONE-CALL PROTOCOL (composes the sibling nx_claims organ by FORK -- its derived-holdership
849// parser stays THE one copy, no dup): checkin = claim(fail-closed CONTENDED) then KICKOFF frame;
850// checkout = DONE frame then release. A seat's whole session protocol = two calls.
851func st_claims_run(verb: *u8, cj: *u8, ws: *u8, actor: *u8, ttl: i64, note: *u8, cout: *u8, ccap: i64, colen: *i64) -> i64 {
852 let elf: *u8 = "/volume1/homes/elderwesto/nishihost/nx_claims.elf" as *u8
853 let av: *i64 = sys_mmap(16 * 8) as *i64
854 let tb: *u8 = sys_mmap(28)
855 av[0] = elf as i64
856 av[1] = verb as i64
857 av[2] = cj as i64
858 av[3] = ws as i64
859 av[4] = actor as i64
860 var n: i64 = 5
861 if ttl >= 0 {
862 let te: i64 = st_catn(tb, 0, ttl)
863 tb[te] = 0 as u8
864 av[5] = tb as i64
865 n = 6
866 }
867 av[n] = note as i64
868 av[n+1] = 0
869 return tr_run_capture_to(elf, av, cout, ccap, colen, ST_FORK_TIMEOUT_MS)
870}
871func st_do_checkin(ws: *u8, actor: *u8, ttl: i64, note: *u8, cj: *u8, wj: *u8, out: *u8) -> i64 {
872 let cout: *u8 = sys_mmap(ST_MAGIC_4096)
873 let colen: *i64 = sys_mmap(ST_SPAN) as *i64
874 let rc: i64 = st_claims_run("claim" as *u8, cj, ws, actor, ttl, note, cout, ST_MAGIC_4092, colen)
875 var o: i64 = 0
876 if rc != 0 {
877 o = st_cat(out, o, "CHECKIN-REFUSED rc=" as *u8)
878 o = st_catn(out, o, rc)
879 o = st_cat(out, o, " claim=" as *u8)
880 o = st_cat_esc(out, o, cout, 0, colen[0], 300)
881 out[o] = ST_NL as u8
882 o = o + 1
883 sys_write(1, out, o)
884 return rc
885 }
886 st_frame(wj, sys_now_realtime_sec(), "KICKOFF" as *u8, ws, actor, note)
887 o = st_cat(out, o, "CHECKIN ws=" as *u8)
888 o = st_cat(out, o, ws)
889 o = st_cat(out, o, " claim=HELD kickoff=1 note=" as *u8)
890 o = st_cat_esc(out, o, note, 0, st_vlen(note), 160)
891 out[o] = ST_NL as u8
892 o = o + 1
893 sys_write(1, out, o)
894 return 0
895}
896// ---------- seq543/seq552 checkout honesty ----------
897// ROOT CAUSE: the de-facto seat protocol is `checkout <ws> <actor> done <note>` while the v2
898// grammar was `checkout <ws> <actor> <note> [claims.jrnl]` -- the RESULT NOTE was consumed as
899// the CLAIMS JOURNAL PATH, so release forked at a phantom journal -> ABSENT -> NOT-HOLDER(3)
900// while the real claim in knowledge/status/claims.jrnl stayed HELD. A journal arg must LOOK
901// like a journal (contains '/' or ends ".jrnl"); interpretation is data-shape-driven.
902func st_jpathish(s: *u8) -> i64 {
903 var i: i64 = 0
904 var slash: i64 = 0
905 while s[i] != (0 as u8) { if s[i] == (47 as u8) { slash = 1 } i = i + 1 }
906 if slash == 1 { return 1 }
907 if i < 5 { return 0 }
908 if s[i-5] != (46 as u8) { return 0 }
909 if s[i-4] != (106 as u8) { return 0 }
910 if s[i-3] != (114 as u8) { return 0 }
911 if s[i-2] != (110 as u8) { return 0 }
912 if s[i-1] != (108 as u8) { return 0 }
913 return 1
914}
915// checkout arg interpretation (T16): a5 jpathish -> classic `<note> [claims]` form (oi=5, note
916// untouched); else a4 was a status token -> note = "a4 a5" merged, journals shift (oi=6)
917func st_co_argshift(a4: *u8, a5: *u8, nout: *i64) -> i64 {
918 nout[0] = a4 as i64
919 if st_jpathish(a5) == 1 { return 5 }
920 let mb: *u8 = sys_mmap(ST_MAGIC_4096)
921 var mo: i64 = st_cat(mb, 0, a4)
922 mo = st_cat(mb, mo, " " as *u8)
923 mo = st_cat(mb, mo, a5)
924 mb[mo] = 0 as u8
925 nout[0] = mb as i64
926 return 6
927}
928// single-resource state probe through the sibling organ (holdership derivation stays THE one copy)
929func st_claims_state(cj: *u8, ws: *u8, cout: *u8, ccap: i64, colen: *i64) -> i64 {
930 let elf: *u8 = "/volume1/homes/elderwesto/nishihost/nx_claims.elf" as *u8
931 let vb: *u8 = "state" as *u8
932 let av: *i64 = sys_mmap(8 * 8) as *i64
933 av[0] = elf as i64
934 av[1] = vb as i64
935 av[2] = cj as i64
936 av[3] = ws as i64
937 av[4] = 0
938 return tr_run_capture_to(elf, av, cout, ccap, colen, ST_FORK_TIMEOUT_MS)
939}
940// CHECKOUT rewrite (rule-3, not a patch cascade). DONE frame ALWAYS lands first (kept).
941// (1) an unreadable claims journal cannot hold a claim -- forking release at it can only lie
942// NOT-HOLDER while the real claim stays held; refuse LOUD rc=2, never fork (fail-safe).
943// (2) release rc=3 is CLASSIFIED via the sibling's state probe: FREE/ABSENT -> benign
944// ALREADY-FREE (rc=0, honest note; covers ttl-lapse-then-reap); HELD/EXPIRED by ANOTHER
945// actor -> FOREIGN-HELD stays rc=3 LOUD (nx_claims refuses foreign release; no force path
946// exists here); probe unavailable/unparsable -> NOT-HOLDER-UNCLASSIFIED stays rc=3
947// (never guess benign). Output prefix + fields are ADDITIVE (rule 19).
948func st_do_checkout(ws: *u8, actor: *u8, note: *u8, cj: *u8, wj: *u8, out: *u8) -> i64 {
949 st_frame(wj, sys_now_realtime_sec(), "DONE" as *u8, ws, actor, note)
950 let jfd: i64 = sys_openat_rd(cj)
951 if jfd < 0 {
952 var ob: i64 = 0
953 ob = st_cat(out, 0, "CHECKOUT ws=" as *u8)
954 ob = st_cat(out, ob, ws)
955 ob = st_cat(out, ob, " done=1 release-rc=2 release=BAD-CLAIMS-JOURNAL cj=" as *u8)
956 ob = st_cat_esc(out, ob, cj, 0, st_vlen(cj), 200)
957 out[ob] = ST_NL as u8
958 ob = ob + 1
959 sys_write(1, out, ob)
960 return 2
961 }
962 sys_close(jfd)
963 let cout: *u8 = sys_mmap(ST_MAGIC_4096)
964 let colen: *i64 = sys_mmap(ST_SPAN) as *i64
965 let rc: i64 = st_claims_run("release" as *u8, cj, ws, actor, 0 - 1, note, cout, ST_MAGIC_4092, colen)
966 var frc: i64 = rc
967 var cls: i64 = 0
968 let sbuf: *u8 = sys_mmap(ST_MAGIC_4096)
969 let slen: *i64 = sys_mmap(ST_SPAN) as *i64
970 let hsp: *i64 = sys_mmap(ST_SPAN) as *i64
971 if rc == 3 {
972 cls = 3
973 let src: i64 = st_claims_state(cj, ws, sbuf, ST_MAGIC_4092, slen)
974 if src == 0 {
975 let sn: i64 = slen[0]
976 let sle: i64 = st_le(sbuf, 0, sn)
977 let ssp2: *i64 = sys_mmap(ST_SPAN) as *i64
978 if st_tagval(sbuf, 0, sle, " state=" as *u8, ssp2) == 1 {
979 var isfree: i64 = 0
980 if st_lit_eq(sbuf, ssp2[0], ssp2[1], "FREE" as *u8) == 1 { isfree = 1 }
981 if st_lit_eq(sbuf, ssp2[0], ssp2[1], "ABSENT" as *u8) == 1 { isfree = 1 }
982 if isfree == 1 { cls = 1; frc = 0 }
983 if isfree == 0 { if st_tagval(sbuf, 0, sle, " holder=" as *u8, hsp) == 1 { cls = 2 } }
984 }
985 }
986 }
987 var o: i64 = 0
988 o = st_cat(out, 0, "CHECKOUT ws=" as *u8)
989 o = st_cat(out, o, ws)
990 o = st_cat(out, o, " done=1 release-rc=" as *u8)
991 o = st_catn(out, o, frc)
992 if cls == 1 { o = st_cat(out, o, " release=ALREADY-FREE" as *u8) }
993 if cls == 2 {
994 o = st_cat(out, o, " release=FOREIGN-HELD holder=" as *u8)
995 o = st_cat_esc(out, o, sbuf, hsp[0], hsp[1], 120)
996 }
997 if cls == 3 { o = st_cat(out, o, " release=NOT-HOLDER-UNCLASSIFIED" as *u8) }
998 o = st_cat(out, o, " fork-rc=" as *u8)
999 o = st_catn(out, o, rc)
1000 o = st_cat(out, o, " " as *u8)
1001 o = st_cat_esc(out, o, cout, 0, colen[0], 200)
1002 out[o] = ST_NL as u8
1003 o = o + 1
1004 sys_write(1, out, o)
1005 return frc
1006}
1007// ---------- F214 ORPHAN REAP (seat layer) ----------
1008// forks the sibling nx_claims organ's reap verb (its derived-EXPIRED judgment stays THE one
1009// copy -- this wrapper NEVER decides expiry itself), then appends one ORPHAN-REAPED audit
1010// frame per reaped ws to the ws journal via the SAME append discipline checkin uses.
1011func st_tagval(q: *u8, ls: i64, le: i64, tag: *u8, out: *i64) -> i64 {
1012 let tl: i64 = st_vlen(tag)
1013 var i: i64 = ls
1014 while i + tl <= le {
1015 var k: i64 = 0
1016 var ok: i64 = 1
1017 while k < tl { if q[i+k] != tag[k] { ok = 0; k = tl } else { k = k + 1 } }
1018 if ok == 1 {
1019 let vs: i64 = i + tl
1020 var ve: i64 = vs
1021 var s: i64 = 1
1022 while s == 1 { if ve >= le { s = 0 } else { if q[ve] == (32 as u8) { s = 0 } else { ve = ve + 1 } } }
1023 out[0] = vs
1024 out[1] = ve
1025 return 1
1026 }
1027 i = i + 1
1028 }
1029 return 0
1030}
1031func st_reap_run(cj: *u8, actor: *u8, note: *u8, cout: *u8, ccap: i64, colen: *i64) -> i64 {
1032 let elf: *u8 = "/volume1/homes/elderwesto/nishihost/nx_claims.elf" as *u8
1033 let vb: *u8 = "reap" as *u8
1034 let av: *i64 = sys_mmap(8 * 8) as *i64
1035 av[0] = elf as i64
1036 av[1] = vb as i64
1037 av[2] = cj as i64
1038 av[3] = actor as i64
1039 av[4] = note as i64
1040 av[5] = 0
1041 return tr_run_capture_to(elf, av, cout, ccap, colen, ST_FORK_TIMEOUT_MS)
1042}
1043func st_do_reap(actor: *u8, note: *u8, cj: *u8, wj: *u8, out: *u8) -> i64 {
1044 let cout: *u8 = sys_mmap(ST_MAGIC_65536)
1045 let colen: *i64 = sys_mmap(ST_SPAN) as *i64
1046 let rc: i64 = st_reap_run(cj, actor, note, cout, ST_MAGIC_65536 - 4, colen)
1047 let cn: i64 = colen[0]
1048 let rv: *i64 = sys_mmap(ST_SPAN) as *i64
1049 let hv: *i64 = sys_mmap(ST_SPAN) as *i64
1050 let wsb: *u8 = sys_mmap(512)
1051 let nb: *u8 = sys_mmap(ST_MAGIC_1024)
1052 var frames: i64 = 0
1053 var i: i64 = 0
1054 while i < cn {
1055 let le: i64 = st_le(cout, i, cn)
1056 if st_tagval(cout, i, le, "REAPED resource=" as *u8, rv) == 1 {
1057 if st_tagval(cout, i, le, " holder=" as *u8, hv) == 1 {
1058 if rv[1] - rv[0] < 500 {
1059 let rvs: i64 = rv[0]
1060 let rve: i64 = rv[1]
1061 var a: i64 = 0
1062 while rvs + a < rve { wsb[a] = cout[rvs + a]; a = a + 1 }
1063 wsb[a] = 0 as u8
1064 var o: i64 = 0
1065 o = st_cat(nb, 0, "orphan-reap holder=" as *u8)
1066 let hvs: i64 = hv[0]
1067 let hve: i64 = hv[1]
1068 var b: i64 = 0
1069 while hvs + b < hve { if b < 200 { nb[o] = cout[hvs + b]; o = o + 1 } b = b + 1 }
1070 o = st_cat(nb, o, " why=ttl-expired " as *u8)
1071 o = st_cat(nb, o, note)
1072 nb[o] = 0 as u8
1073 st_frame(wj, sys_now_realtime_sec(), "ORPHAN-REAPED" as *u8, wsb, actor, nb)
1074 frames = frames + 1
1075 }
1076 }
1077 }
1078 i = le + 1
1079 }
1080 var o2: i64 = 0
1081 o2 = st_cat(out, 0, "REAP claims-rc=" as *u8)
1082 o2 = st_catn(out, o2, rc)
1083 o2 = st_cat(out, o2, " ws-frames=" as *u8)
1084 o2 = st_catn(out, o2, frames)
1085 o2 = st_cat(out, o2, " claims-said: " as *u8)
1086 o2 = st_cat_esc(out, o2, cout, 0, cn, 600)
1087 out[o2] = ST_NL as u8
1088 o2 = o2 + 1
1089 sys_write(1, out, o2)
1090 return rc
1091}
1092func st_selftest(base: *u8) -> i64 {
1093 let ctr: *i64 = gv_ctr()
1094 gv_head("nx_seat selftest -- boot digest + meter evidence + SCALE cap (seat-system S0+S3)" as *u8)
1095 let now: i64 = sys_now_realtime_sec()
1096 // unique fixture paths (append-only world: never reuse a stale fixture)
1097 let jr: *u8 = sys_mmap(256)
1098 var o1: i64 = st_cat(jr, 0, base)
1099 o1 = st_catn(jr, o1, now)
1100 o1 = st_cat(jr, o1, ".jrnl" as *u8)
1101 jr[o1] = 0 as u8
1102 let ml: *u8 = sys_mmap(256)
1103 var o2: i64 = st_cat(ml, 0, base)
1104 o2 = st_catn(ml, o2, now)
1105 o2 = st_cat(ml, o2, ".log" as *u8)
1106 ml[o2] = 0 as u8
1107 let dp: *u8 = sys_mmap(256)
1108 var o3: i64 = st_cat(dp, 0, base)
1109 o3 = st_catn(dp, o3, now)
1110 o3 = st_cat(dp, o3, "debt-" as *u8)
1111 dp[o3] = 0 as u8
1112 let fp: *u8 = sys_mmap(256)
1113 var o4: i64 = st_cat(fp, 0, base)
1114 o4 = st_catn(fp, o4, now)
1115 o4 = st_cat(fp, o4, "front-" as *u8)
1116 fp[o4] = 0 as u8
1117 // T1 meter appends one row, rc 0
1118 let mrc: i64 = st_meter_append(ml, "st-seat" as *u8, 1, 11, 22, 33, "st-note" as *u8)
1119 var t1: i64 = 0
1120 if mrc == 0 { t1 = 1 }
1121 gv_check("T1 meter append rc0" as *u8, t1, ctr)
1122 // T2 the row is really in the log (read-back, not asserted)
1123 let mb: *u8 = sys_mmap(ST_MAGIC_8192)
1124 let msz: *i64 = sys_mmap(ST_SPAN) as *i64
1125 let mn: i64 = st_read(ml, mb, ST_MAGIC_8188, msz)
1126 gv_check("T2 meter row read-back" as *u8, st_contains(mb, mn, "st-seat" as *u8), ctr)
1127 // T3 boot derives INFLIGHT from a real KICKOFF frame, zero debts on absent plane
1128 st_frame(jr, now, "KICKOFF" as *u8, "stws" as *u8, "stactor" as *u8, "st-go" as *u8)
1129 let ob: *u8 = sys_mmap(ST_OUTBUF)
1130 var bl: i64 = st_boot("stws" as *u8, jr, dp, fp, ml, ob)
1131 var t3: i64 = 0
1132 if st_contains(ob, bl, "\"phase\":\"INFLIGHT\"" as *u8) == 1 { if st_contains(ob, bl, "\"open_debts\":0" as *u8) == 1 { t3 = 1 } }
1133 gv_check("T3 boot INFLIGHT + zero-debt honest" as *u8, t3, ctr)
1134 // T4 envelope DECLARED in output (scale-law: silent windowing forbidden)
1135 var t4: i64 = 0
1136 if st_contains(ob, bl, "budget_bytes" as *u8) == 1 { if st_contains(ob, bl, "journal_bytes" as *u8) == 1 { t4 = 1 } }
1137 gv_check("T4 envelope declared" as *u8, t4, ctr)
1138 // T5 SCALE tooth: 300 long frames -> output STILL <= budget (production-shape, not fixture)
1139 var f: i64 = 0
1140 while f < ST_ST_FRAMES {
1141 st_frame(jr, now + f, "BEAT" as *u8, "stws" as *u8, "stactor" as *u8, "scale-frame-note-padding-0123456789-abcdefghijklmnopqrstuvwxyz-0123456789-abcdefghijklmnopqrstuvwxyz" as *u8)
1142 f = f + 1
1143 }
1144 bl = st_boot("stws" as *u8, jr, dp, fp, ml, ob)
1145 var t5: i64 = 0
1146 if bl <= ST_OUTCAP { t5 = 1 }
1147 gv_check("T5 scale cap holds under 300 frames" as *u8, t5, ctr)
1148 // T6 DONE frame flips the derived phase (evidence-derived, no self-report)
1149 st_frame(jr, now + 900, "DONE" as *u8, "stws" as *u8, "stactor" as *u8, "st-done" as *u8)
1150 bl = st_boot("stws" as *u8, jr, dp, fp, ml, ob)
1151 gv_check("T6 boot derives DONE from the frame" as *u8, st_contains(ob, bl, "\"phase\":\"DONE\"" as *u8), ctr)
1152 // T7-T9 S1 protocol vs the REAL nx_claims organ (fork composition; temp journals)
1153 let cjp: *u8 = sys_mmap(256)
1154 var o5: i64 = st_cat(cjp, 0, base)
1155 o5 = st_catn(cjp, o5, now)
1156 o5 = st_cat(cjp, o5, "claims.jrnl" as *u8)
1157 cjp[o5] = 0 as u8
1158 let s1out: *u8 = sys_mmap(ST_MAGIC_4096)
1159 let ci: i64 = st_do_checkin("stws2" as *u8, "seatA" as *u8, ST_MAGIC_3600, "s1-go" as *u8, cjp, jr, s1out)
1160 var t7: i64 = 0
1161 let q2: *u8 = sys_mmap(ST_CAP)
1162 let q2sz: *i64 = sys_mmap(ST_SPAN) as *i64
1163 let q2n: i64 = st_read(jr, q2, ST_CAP - 4, q2sz)
1164 if ci == 0 { if st_has(q2, q2n, "KICKOFF" as *u8, "stws2" as *u8) == 1 { t7 = 1 } }
1165 gv_check("T7 checkin claims+kickoff one call" as *u8, t7, ctr)
1166 let ci2: i64 = st_do_checkin("stws2" as *u8, "seatB" as *u8, ST_MAGIC_3600, "s1-steal" as *u8, cjp, jr, s1out)
1167 var t8: i64 = 0
1168 if ci2 == 3 { t8 = 1 }
1169 gv_check("T8 contended checkin REFUSED fail-closed" as *u8, t8, ctr)
1170 let co: i64 = st_do_checkout("stws2" as *u8, "seatA" as *u8, "s1-done" as *u8, cjp, jr, s1out)
1171 var t9: i64 = 0
1172 let q3n: i64 = st_read(jr, q2, ST_CAP - 4, q2sz)
1173 if co == 0 { if st_has(q2, q3n, "DONE" as *u8, "stws2" as *u8) == 1 { t9 = 1 } }
1174 gv_check("T9 checkout done+release one call" as *u8, t9, ctr)
1175 // T10 ready = deps-resolved frontier DIGEST (F832). Fixture store: lane1 -> F900 (no dep) +
1176 // F903 (dep F904=D) READY; F901 (dep F902=T) BLOCKED. Proves the ~1KB projection the 33.7KB
1177 // nx_frontier_board would otherwise need a full CPM dump to answer.
1178 let fseed: *u8 = sys_mmap(ST_CAP)
1179 var fo: i64 = 0
1180 fo = st_cat(fseed, fo, "F900\ttest-ready-nodeps\t8\t1\towner\tT\t-\tm\tlane1\n" as *u8)
1181 fo = st_cat(fseed, fo, "F901\ttest-blocked\t7\t1\towner\tT\tF902\tm\tlane1\n" as *u8)
1182 fo = st_cat(fseed, fo, "F902\ttest-dep-open\t5\t1\towner\tT\t-\tm\tlane2\n" as *u8)
1183 fo = st_cat(fseed, fo, "F903\ttest-ready-depdone\t6\t1\towner\tT\tF904\tm\tlane1\n" as *u8)
1184 fo = st_cat(fseed, fo, "F904\ttest-dep-done\t5\t1\towner\tD\t-\tm\tlane2\n" as *u8)
1185 let fpr: *u8 = sys_mmap(256)
1186 var fpo: i64 = st_cat(fpr, 0, base)
1187 fpo = st_catn(fpr, fpo, now)
1188 fpo = st_cat(fpr, fpo, "rdyfront-" as *u8)
1189 fpr[fpo] = 0 as u8
1190 sts_seed(fpr, fseed, fo)
1191 let rout: *u8 = sys_mmap(ST_OUTBUF)
1192 let rn: i64 = st_ready("lane1" as *u8, 12, fpr, rout)
1193 var t10hits: i64 = 0
1194 if st_contains(rout, rn, "F900" as *u8) == 1 { t10hits = t10hits + 1 }
1195 if st_contains(rout, rn, "F903" as *u8) == 1 { t10hits = t10hits + 1 }
1196 if st_contains(rout, rn, "F901" as *u8) == 0 { t10hits = t10hits + 1 }
1197 if st_contains(rout, rn, "\"ready_total\":2" as *u8) == 1 { t10hits = t10hits + 1 }
1198 if st_contains(rout, rn, "\"blocked_total\":1" as *u8) == 1 { t10hits = t10hits + 1 }
1199 var t10: i64 = 0
1200 if t10hits == 5 { t10 = 1 }
1201 gv_check("T10 ready = deps-resolved frontier digest (F832)" as *u8, t10, ctr)
1202 // T10b RANKW1: w-DESC ordering. F905 (w=9) seeded AFTER F900 (w=8); with maxn=1 the banded
1203 // emit MUST pick F905 and exclude F900 -- store-order would do the opposite (discriminating).
1204 let f9seed: *u8 = sys_mmap(ST_MAGIC_1024)
1205 var f9o: i64 = 0
1206 f9o = st_cat(f9seed, f9o, "F900\ttest-ready-nodeps\t8\t1\towner\tT\t-\tm\tlane1\n" as *u8)
1207 f9o = st_cat(f9seed, f9o, "F905\ttest-ready-bigger-rock\t9\t1\towner\tT\t-\tm\tlane1\n" as *u8)
1208 let f9pr: *u8 = sys_mmap(256)
1209 var f9po: i64 = st_cat(f9pr, 0, base)
1210 f9po = st_catn(f9pr, f9po, now)
1211 f9po = st_cat(f9pr, f9po, "rdyw-" as *u8)
1212 f9pr[f9po] = 0 as u8
1213 sts_seed(f9pr, f9seed, f9o)
1214 let r1out: *u8 = sys_mmap(ST_OUTBUF)
1215 let r1n: i64 = st_ready("lane1" as *u8, 1, f9pr, r1out)
1216 var t10b: i64 = 0
1217 if st_contains(r1out, r1n, "F905" as *u8) == 1 { if st_contains(r1out, r1n, "F900" as *u8) == 0 { if st_contains(r1out, r1n, "\"w\":9" as *u8) == 1 { t10b = 1 } } }
1218 gv_check("T10b ready orders biggest-w first (RANKW1)" as *u8, t10b, ctr)
1219 // T11 shift scoreboard (F831): seeded seat classes + closures -> EXACT derived numbers
1220 let sml: *u8 = sys_mmap(256)
1221 var o6: i64 = st_cat(sml, 0, base)
1222 o6 = st_catn(sml, o6, now)
1223 o6 = st_cat(sml, o6, "shift.log" as *u8)
1224 sml[o6] = 0 as u8
1225 st_meter_append(sml, "claude-fable" as *u8, 2, 600, ST_MAGIC_9000, 70, "cl-a" as *u8)
1226 st_meter_append(sml, "claude-fable" as *u8, 1, 400, 1000, 30, "cl-b" as *u8)
1227 st_meter_append(sml, "maker-local-s2" as *u8, 1, 0, 0, 0, "loc-a" as *u8)
1228 st_meter_append(sml, "maker-local-s2" as *u8, 1, 0, 0, 0, "loc-b" as *u8)
1229 let sjr: *u8 = sys_mmap(256)
1230 var o7: i64 = st_cat(sjr, 0, base)
1231 o7 = st_catn(sjr, o7, now)
1232 o7 = st_cat(sjr, o7, "shift.jrnl" as *u8)
1233 sjr[o7] = 0 as u8
1234 st_frame(sjr, now - ST_MAGIC_90000, "DONE" as *u8, "oldws" as *u8, "a" as *u8, "beyond-window" as *u8)
1235 st_frame(sjr, now - 100, "DONE" as *u8, "ws1" as *u8, "a" as *u8, "in-window" as *u8)
1236 st_frame(sjr, now - 50, "DONE" as *u8, "ws2" as *u8, "a" as *u8, "in-window" as *u8)
1237 st_frame(sjr, now - 10, "KICKOFF" as *u8, "ws3" as *u8, "a" as *u8, "not-a-closure" as *u8)
1238 let sob: *u8 = sys_mmap(ST_OUTBUF)
1239 let sn: i64 = st_shift(1, sml, sjr, sob)
1240 var t11h: i64 = 0
1241 if st_contains(sob, sn, "\"claude\":{\"rows\":2,\"sessions\":3,\"out\":1000,\"cread\":10000,\"ccreate\":100}" as *u8) == 1 { t11h = t11h + 1 }
1242 if st_contains(sob, sn, "\"local\":{\"rows\":2,\"sessions\":2,\"out\":0}" as *u8) == 1 { t11h = t11h + 1 }
1243 if st_contains(sob, sn, "\"done_ws\":2" as *u8) == 1 { t11h = t11h + 1 }
1244 if st_contains(sob, sn, "\"claude_out_per_done\":500" as *u8) == 1 { t11h = t11h + 1 }
1245 if st_contains(sob, sn, "\"claude_cread_per_done\":5000" as *u8) == 1 { t11h = t11h + 1 }
1246 var t11: i64 = 0
1247 if t11h == 5 { t11 = 1 }
1248 gv_check("T11 shift scoreboard exact aggregates + window filter" as *u8, t11, ctr)
1249 // T12 shift honest on EMPTY evidence: div0 guarded (-1 sentinels), cap holds, no crash
1250 let eml: *u8 = sys_mmap(256)
1251 var o8: i64 = st_cat(eml, 0, base)
1252 o8 = st_catn(eml, o8, now)
1253 o8 = st_cat(eml, o8, "empty.log" as *u8)
1254 eml[o8] = 0 as u8
1255 let en: i64 = st_shift(7, eml, eml, sob)
1256 var t12: i64 = 0
1257 if en <= ST_OUTCAP { if st_contains(sob, en, "\"done_ws\":0" as *u8) == 1 { if st_contains(sob, en, "\"claude_out_per_done\":-1" as *u8) == 1 { t12 = 1 } } }
1258 gv_check("T12 shift empty-evidence honest + cap" as *u8, t12, ctr)
1259 // T13 F214 reap wrapper: a synthesized EXPIRED claim (old ts, tiny ttl) is reaped through the
1260 // REAL nx_claims fork; ORPHAN-REAPED audit frame lands in the ws journal; live claim untouched.
1261 let rcj: *u8 = sys_mmap(256)
1262 var o9: i64 = st_cat(rcj, 0, base)
1263 o9 = st_catn(rcj, o9, now)
1264 o9 = st_cat(rcj, o9, "reapclaims.jrnl" as *u8)
1265 rcj[o9] = 0 as u8
1266 let rwj: *u8 = sys_mmap(256)
1267 var o10: i64 = st_cat(rwj, 0, base)
1268 o10 = st_catn(rwj, o10, now)
1269 o10 = st_cat(rwj, o10, "reapws.jrnl" as *u8)
1270 rwj[o10] = 0 as u8
1271 st_cframe(rcj, now - ST_MAGIC_86400, "CLAIM" as *u8, "orphanws" as *u8, "deadsess" as *u8, 60, "crashed-session" as *u8)
1272 st_cframe(rcj, now, "CLAIM" as *u8, "livews" as *u8, "livesess" as *u8, ST_MAGIC_3600, "alive" as *u8)
1273 let r13o: *u8 = sys_mmap(ST_OUTBUF)
1274 let rrc: i64 = st_do_reap("st-reaper" as *u8, "t13-sweep" as *u8, rcj, rwj, r13o)
1275 let wq: *u8 = sys_mmap(ST_CAP)
1276 let wqsz: *i64 = sys_mmap(ST_SPAN) as *i64
1277 let wqn: i64 = st_read(rwj, wq, ST_CAP - 4, wqsz)
1278 let cb: *u8 = sys_mmap(ST_CAP)
1279 let cbsz: *i64 = sys_mmap(ST_SPAN) as *i64
1280 let cbn: i64 = st_read(rcj, cb, ST_CAP - 4, cbsz)
1281 var t13: i64 = 0
1282 if rrc == 0 { if st_has(wq, wqn, "ORPHAN-REAPED" as *u8, "orphanws" as *u8) == 1 { if st_has(wq, wqn, "ORPHAN-REAPED" as *u8, "livews" as *u8) == 0 { if st_contains(cb, cbn, "ORPHAN-REAPED by=st-reaper" as *u8) == 1 { t13 = 1 } } } }
1283 gv_check("T13 reap wrapper reaps expired + audits ws journal (F214)" as *u8, t13, ctr)
1284 // T14 the unblocked-sibling tooth: checkin on the reaped ws by a NEW actor now SUCCEEDS,
1285 // while the live unexpired ws stays CONTENDED fail-closed (never stolen).
1286 let ci3: i64 = st_do_checkin("orphanws" as *u8, "seatC" as *u8, ST_MAGIC_3600, "post-reap" as *u8, rcj, rwj, s1out)
1287 let ci4: i64 = st_do_checkin("livews" as *u8, "seatD" as *u8, ST_MAGIC_3600, "steal-live" as *u8, rcj, rwj, s1out)
1288 var t14: i64 = 0
1289 if ci3 == 0 { if ci4 == 3 { t14 = 1 } }
1290 gv_check("T14 checkin succeeds on reaped ws refused on live ws" as *u8, t14, ctr)
1291 // T15 idempotent: re-run reap -> zero ws frames, claims journal byte-identical
1292 let csz1: *i64 = sys_mmap(ST_SPAN) as *i64
1293 st_read(rcj, wq, ST_CAP - 4, csz1)
1294 let r15o: *u8 = sys_mmap(ST_OUTBUF)
1295 let rrc2: i64 = st_do_reap("st-reaper" as *u8, "t15-rerun" as *u8, rcj, rwj, r15o)
1296 let csz2: *i64 = sys_mmap(ST_SPAN) as *i64
1297 st_read(rcj, wq, ST_CAP - 4, csz2)
1298 let rl15: i64 = st_vlen(r15o)
1299 var t15: i64 = 0
1300 if rrc2 == 0 { if csz1[0] == csz2[0] { if st_contains(r15o, rl15, "ws-frames=0" as *u8) == 1 { t15 = 1 } } }
1301 gv_check("T15 reap idempotent nothing expired nothing written" as *u8, t15, ctr)
1302 // T16-T20 seq543/seq552 checkout-honesty teeth ------------------------------------------
1303 // T16 arg interpretation: status-form (`done <note>`) shifts oi=6 + merges the note; an
1304 // explicit jpathish journal arg keeps the classic form (oi=5, note untouched)
1305 let nsl: *i64 = sys_mmap(ST_SPAN) as *i64
1306 let oiA: i64 = st_co_argshift("done" as *u8, "seq552-result-note" as *u8, nsl)
1307 let mnA: *u8 = nsl[0] as *u8
1308 var t16: i64 = 0
1309 if oiA == 6 { if st_lit_eq(mnA, 0, st_vlen(mnA), "done seq552-result-note" as *u8) == 1 {
1310 let oiB: i64 = st_co_argshift("real-note" as *u8, "scratch/claims.jrnl" as *u8, nsl)
1311 let mnB: *u8 = nsl[0] as *u8
1312 if oiB == 5 { if st_lit_eq(mnB, 0, st_vlen(mnB), "real-note" as *u8) == 1 { t16 = 1 } }
1313 } }
1314 gv_check("T16 checkout arg-shift status-form merges note jpath form classic (seq552)" as *u8, t16, ctr)
1315 // T17 BAD-CLAIMS-JOURNAL fail-safe: phantom journal (the old bug shape: a note used as the
1316 // path) -> rc=2 LOUD, release NEVER forked, the REAL claims journal is byte-identical
1317 let hcj: *u8 = sys_mmap(256)
1318 var o11: i64 = st_cat(hcj, 0, base)
1319 o11 = st_catn(hcj, o11, now)
1320 o11 = st_cat(hcj, o11, "honesty.jrnl" as *u8)
1321 hcj[o11] = 0 as u8
1322 st_cframe(hcj, now, "CLAIM" as *u8, "heldws" as *u8, "seatE" as *u8, ST_MAGIC_3600, "live" as *u8)
1323 let hsz1: *i64 = sys_mmap(ST_SPAN) as *i64
1324 st_read(hcj, wq, ST_CAP - 4, hsz1)
1325 let hout: *u8 = sys_mmap(ST_OUTBUF)
1326 let hrc: i64 = st_do_checkout("heldws" as *u8, "seatE" as *u8, "note-shape" as *u8, "seq552-phantom-journal-note" as *u8, rwj, hout)
1327 let hsz2: *i64 = sys_mmap(ST_SPAN) as *i64
1328 st_read(hcj, wq, ST_CAP - 4, hsz2)
1329 var t17: i64 = 0
1330 if hrc == 2 { if st_contains(hout, st_vlen(hout), "release=BAD-CLAIMS-JOURNAL" as *u8) == 1 { if hsz1[0] == hsz2[0] { t17 = 1 } } }
1331 gv_check("T17 phantom claims journal refused LOUD rc=2 claim untouched (seq543)" as *u8, t17, ctr)
1332 // T18 ALREADY-FREE benign: a released ws AND a never-claimed ws both checkout rc=0 with the
1333 // honest note (covers ttl-lapse-then-reap: reap emits RELEASE frames -> state FREE)
1334 st_cframe(hcj, now, "RELEASE" as *u8, "heldws" as *u8, "seatE" as *u8, 0, "freed" as *u8)
1335 let f1out: *u8 = sys_mmap(ST_OUTBUF)
1336 let farc: i64 = st_do_checkout("heldws" as *u8, "seatE" as *u8, "post-free" as *u8, hcj, rwj, f1out)
1337 let f2out: *u8 = sys_mmap(ST_OUTBUF)
1338 let fbrc: i64 = st_do_checkout("neverws" as *u8, "seatE" as *u8, "absent" as *u8, hcj, rwj, f2out)
1339 var t18: i64 = 0
1340 if farc == 0 { if fbrc == 0 { if st_contains(f1out, st_vlen(f1out), "release=ALREADY-FREE" as *u8) == 1 { if st_contains(f2out, st_vlen(f2out), "release=ALREADY-FREE" as *u8) == 1 { t18 = 1 } } } }
1341 gv_check("T18 already-free checkout benign rc=0 honest note (freed + absent)" as *u8, t18, ctr)
1342 // T19 FOREIGN-HELD stays LOUD rc=3 and the foreign live claim is NEVER released
1343 st_cframe(hcj, now, "CLAIM" as *u8, "foreignws" as *u8, "seatG" as *u8, ST_MAGIC_3600, "theirs" as *u8)
1344 let g1out: *u8 = sys_mmap(ST_OUTBUF)
1345 let grc: i64 = st_do_checkout("foreignws" as *u8, "seatH" as *u8, "try-steal" as *u8, hcj, rwj, g1out)
1346 let gq: *u8 = sys_mmap(ST_CAP)
1347 let gqsz: *i64 = sys_mmap(ST_SPAN) as *i64
1348 let gqn: i64 = st_read(hcj, gq, ST_CAP - 4, gqsz)
1349 var t19: i64 = 0
1350 if grc == 3 { if st_contains(g1out, st_vlen(g1out), "release=FOREIGN-HELD holder=seatG" as *u8) == 1 { if st_has(gq, gqn, "RELEASE" as *u8, "foreignws" as *u8) == 0 { t19 = 1 } } }
1351 gv_check("T19 live-foreign claim refused LOUD rc=3 never released" as *u8, t19, ctr)
1352 // T20 the EXACT failing protocol shape e2e: real-fork checkin then status-form checkout
1353 // (`done <note>` through st_co_argshift) releases CLEAN rc=0 (seq543/seq552 regression)
1354 let p1out: *u8 = sys_mmap(ST_MAGIC_4096)
1355 let pci: i64 = st_do_checkin("protows" as *u8, "seatI" as *u8, ST_MAGIC_3600, "proto-go" as *u8, hcj, rwj, p1out)
1356 let psl: *i64 = sys_mmap(ST_SPAN) as *i64
1357 let poi: i64 = st_co_argshift("done" as *u8, "proto-shipped" as *u8, psl)
1358 let pnote: *u8 = psl[0] as *u8
1359 let p2out: *u8 = sys_mmap(ST_OUTBUF)
1360 let pco: i64 = st_do_checkout("protows" as *u8, "seatI" as *u8, pnote, hcj, rwj, p2out)
1361 var t20: i64 = 0
1362 if pci == 0 { if poi == 6 { if pco == 0 { if st_contains(p2out, st_vlen(p2out), "RELEASED" as *u8) == 1 { t20 = 1 } } } }
1363 gv_check("T20 de-facto protocol done+note checkout releases clean e2e (seq552)" as *u8, t20, ctr)
1364 // T21 ctx-tax flush loop: brief lands a CHECKPOINT + boot surfaces it as last_brief
1365 let b21o: *u8 = sys_mmap(ST_OUTBUF)
1366 let b21rc: i64 = st_do_brief("stws" as *u8, "stactor" as *u8, "flush-state-alpha" as *u8, jr, b21o)
1367 let b21b: *u8 = sys_mmap(ST_OUTBUF)
1368 let b21n: i64 = st_boot("stws" as *u8, jr, dp, fp, ml, b21b)
1369 var t21: i64 = 0
1370 if b21rc == 0 { if st_contains(b21b, b21n, "\"last_brief\":\"flush-state-alpha\"" as *u8) == 1 { t21 = 1 } }
1371 gv_check("T21 brief CHECKPOINT + boot last_brief surfacing (ctx-tax flush loop)" as *u8, t21, ctr)
1372 // T22 SHIFT-VERBS field ALWAYS present in boot (discovery-is-the-bottleneck,
1373 // self_sufficiency_map 07-29): conf absent => empty list + src pointer --
1374 // a session must never have to rediscover the sovereign path for a work
1375 // class. Environment-agnostic: checks the FIELD, not the row count.
1376 var t22: i64 = 0
1377 if st_contains(b21b, b21n, "\"shift_verbs\":[" as *u8) == 1 { if st_contains(b21b, b21n, "\"shift_src\":\"knowledge/shift_verbs.conf" as *u8) == 1 { t22 = 1 } }
1378 gv_check("T22 boot carries shift_verbs + shift_src (present even when conf absent)" as *u8, t22, ctr)
1379 let rc: i64 = gv_verdict("SEAT-GATE" as *u8, ctr, "S0 boot + S3 meter + S1 protocol + F832 ready-digest + F831 shift scoreboard + F214 orphan-reap + seq543/seq552 checkout honesty + ctx-tax brief flush + shift-verbs discovery line proven at production shape" as *u8)
1380 return rc
1381}
1382func main(argc: i64, argv: *i64) -> i64 {
1383 if argc < 2 {
1384 st_werr("usage: nx_seat {boot <ws> [jrnl] [debt-] [frontier-] [meterlog] | ready [lane|*] [max] [frontier-] | checkin <ws> <actor> <ttl_sec> <note> [claims.jrnl] [ws.jrnl] | checkout <ws> <actor> [status] <note> [claims.jrnl] [ws.jrnl] | brief <ws> <actor> <note> [ws.jrnl] | meter <seat> <sessions> <out> <cread> <ccreate> <note> [logpath] | meterlog [n] [logpath] | shift [days] [meterlog] [ws.jrnl] | reap [actor] [note] [claims.jrnl] [ws.jrnl] | selftest [tmpbase]}\n" as *u8)
1385 sys_exit(ST_EXIT_USAGE)
1386 return ST_EXIT_USAGE
1387 }
1388 let verb: *u8 = argv[1] as *u8
1389 if st_lit_eq(verb, 0, st_vlen(verb), "boot" as *u8) == 1 {
1390 if argc < 3 { st_werr("SEAT-FAIL boot needs <ws>\n" as *u8); sys_exit(ST_EXIT_USAGE); return ST_EXIT_USAGE }
1391 var jr: *u8 = "knowledge/status/ws_sync.jrnl" as *u8
1392 var dp: *u8 = "knowledge/store/debt-" as *u8
1393 var fp: *u8 = "knowledge/store/frontier-" as *u8
1394 var ml: *u8 = "knowledge/status/token_efficiency.log" as *u8
1395 if argc > 3 { jr = argv[3] as *u8 }
1396 if argc > 4 { dp = argv[4] as *u8 }
1397 if argc > 5 { fp = argv[5] as *u8 }
1398 if argc > 6 { ml = argv[6] as *u8 }
1399 let out: *u8 = sys_mmap(ST_OUTBUF)
1400 let n: i64 = st_boot(argv[2] as *u8, jr, dp, fp, ml, out)
1401 sys_write(1, out, n)
1402 sys_exit(0)
1403 return 0
1404 }
1405 if st_lit_eq(verb, 0, st_vlen(verb), "ready" as *u8) == 1 {
1406 var lane: *u8 = "*" as *u8
1407 var maxn: i64 = 12
1408 var frp: *u8 = "knowledge/store/frontier-" as *u8
1409 if argc > 2 { lane = argv[2] as *u8 }
1410 if argc > 3 { maxn = st_atoi_z(argv[3] as *u8) }
1411 if argc > 4 { frp = argv[4] as *u8 }
1412 if maxn < 1 { maxn = 1 }
1413 if maxn > 24 { maxn = 24 }
1414 let out: *u8 = sys_mmap(ST_OUTBUF)
1415 let n: i64 = st_ready(lane, maxn, frp, out)
1416 sys_write(1, out, n)
1417 sys_exit(0)
1418 return 0
1419 }
1420 if st_lit_eq(verb, 0, st_vlen(verb), "checkin" as *u8) == 1 {
1421 if argc < 6 { st_werr("SEAT-FAIL checkin needs <ws> <actor> <ttl_sec> <note>\n" as *u8); sys_exit(ST_EXIT_USAGE); return ST_EXIT_USAGE }
1422 var cj: *u8 = "knowledge/status/claims.jrnl" as *u8
1423 var wj: *u8 = "knowledge/status/ws_sync.jrnl" as *u8
1424 if argc > 6 { cj = argv[6] as *u8 }
1425 if argc > 7 { wj = argv[7] as *u8 }
1426 let out: *u8 = sys_mmap(ST_OUTBUF)
1427 let rc: i64 = st_do_checkin(argv[2] as *u8, argv[3] as *u8, st_atoi_z(argv[4] as *u8), argv[5] as *u8, cj, wj, out)
1428 sys_exit(rc)
1429 return rc
1430 }
1431 if st_lit_eq(verb, 0, st_vlen(verb), "checkout" as *u8) == 1 {
1432 if argc < 5 { st_werr("SEAT-FAIL checkout needs <ws> <actor> [status] <note>\n" as *u8); sys_exit(ST_EXIT_USAGE); return ST_EXIT_USAGE }
1433 var cj2: *u8 = "knowledge/status/claims.jrnl" as *u8
1434 var wj2: *u8 = "knowledge/status/ws_sync.jrnl" as *u8
1435 // seq543/seq552: de-facto protocol `checkout <ws> <actor> done <note>` -- the old grammar
1436 // consumed that NOTE as the claims journal; st_co_argshift interprets by data shape
1437 var note2: *u8 = argv[4] as *u8
1438 var oi: i64 = 5
1439 if argc > 5 {
1440 let nsl2: *i64 = sys_mmap(ST_SPAN) as *i64
1441 oi = st_co_argshift(argv[4] as *u8, argv[5] as *u8, nsl2)
1442 note2 = nsl2[0] as *u8
1443 }
1444 if argc > oi { cj2 = argv[oi] as *u8 }
1445 let oi1: i64 = oi + 1
1446 if argc > oi1 { wj2 = argv[oi1] as *u8 }
1447 let out2: *u8 = sys_mmap(ST_OUTBUF)
1448 let rc2: i64 = st_do_checkout(argv[2] as *u8, argv[3] as *u8, note2, cj2, wj2, out2)
1449 sys_exit(rc2)
1450 return rc2
1451 }
1452 if st_lit_eq(verb, 0, st_vlen(verb), "reap" as *u8) == 1 {
1453 var ra: *u8 = "nx-seat-reaper" as *u8
1454 var rno: *u8 = "ttl-expired-orphan-sweep" as *u8
1455 var rcj2: *u8 = "knowledge/status/claims.jrnl" as *u8
1456 var rwj2: *u8 = "knowledge/status/ws_sync.jrnl" as *u8
1457 if argc > 2 { ra = argv[2] as *u8 }
1458 if argc > 3 { rno = argv[3] as *u8 }
1459 if argc > 4 { rcj2 = argv[4] as *u8 }
1460 if argc > 5 { rwj2 = argv[5] as *u8 }
1461 let rout2: *u8 = sys_mmap(ST_OUTBUF)
1462 let rrc3: i64 = st_do_reap(ra, rno, rcj2, rwj2, rout2)
1463 sys_exit(rrc3)
1464 return rrc3
1465 }
1466 if st_lit_eq(verb, 0, st_vlen(verb), "brief" as *u8) == 1 {
1467 if argc < 5 { st_werr("SEAT-FAIL brief needs <ws> <actor> <note>\n" as *u8); sys_exit(ST_EXIT_USAGE); return ST_EXIT_USAGE }
1468 var bwj: *u8 = "knowledge/status/ws_sync.jrnl" as *u8
1469 if argc > 5 { bwj = argv[5] as *u8 }
1470 let bout: *u8 = sys_mmap(ST_OUTBUF)
1471 let brc: i64 = st_do_brief(argv[2] as *u8, argv[3] as *u8, argv[4] as *u8, bwj, bout)
1472 sys_exit(brc)
1473 return brc
1474 }
1475 if st_lit_eq(verb, 0, st_vlen(verb), "meter" as *u8) == 1 {
1476 if argc < 8 { st_werr("SEAT-FAIL meter needs <seat> <sessions> <out> <cread> <ccreate> <note>\n" as *u8); sys_exit(ST_EXIT_USAGE); return ST_EXIT_USAGE }
1477 var lp: *u8 = "knowledge/status/token_efficiency.log" as *u8
1478 if argc > 8 { lp = argv[8] as *u8 }
1479 let rc: i64 = st_meter_append(lp, argv[2] as *u8, st_atoi_z(argv[3] as *u8), st_atoi_z(argv[4] as *u8), st_atoi_z(argv[5] as *u8), st_atoi_z(argv[6] as *u8), argv[7] as *u8)
1480 if rc != 0 { st_werr("SEAT-FAIL meter append (log path unwritable?)\n" as *u8); sys_exit(1); return 1 }
1481 st_puts("METERED row appended\n" as *u8)
1482 sys_exit(0)
1483 return 0
1484 }
1485 if st_lit_eq(verb, 0, st_vlen(verb), "meterlog" as *u8) == 1 {
1486 var nl: i64 = 5
1487 var lp2: *u8 = "knowledge/status/token_efficiency.log" as *u8
1488 if argc > 2 { nl = st_atoi_z(argv[2] as *u8) }
1489 if argc > 3 { lp2 = argv[3] as *u8 }
1490 if nl < 1 { nl = 1 }
1491 if nl > 50 { nl = 50 }
1492 let b: *u8 = sys_mmap(ST_CAP)
1493 let sz: *i64 = sys_mmap(ST_SPAN) as *i64
1494 let n: i64 = st_read(lp2, b, ST_MAGIC_65536, sz)
1495 st_puts("METERLOG file_bytes=" as *u8)
1496 let hb: *u8 = sys_mmap(64)
1497 var ho: i64 = st_catn(hb, 0, sz[0])
1498 hb[ho] = ST_NL as u8
1499 sys_write(1, hb, ho + 1)
1500 // count lines, then print the last nl of them
1501 var lines: i64 = 0
1502 var i: i64 = 0
1503 while i < n { let le: i64 = st_le(b, i, n); if le > i { lines = lines + 1 } i = le + 1 }
1504 var skip: i64 = lines - nl
1505 if skip < 0 { skip = 0 }
1506 var li: i64 = 0
1507 i = 0
1508 while i < n {
1509 let le2: i64 = st_le(b, i, n)
1510 if le2 > i {
1511 if li >= skip { sys_write(1, ((b as i64) + i) as *u8, le2 - i); sys_write(1, "\n" as *u8, 1) }
1512 li = li + 1
1513 }
1514 i = le2 + 1
1515 }
1516 sys_exit(0)
1517 return 0
1518 }
1519 if st_lit_eq(verb, 0, st_vlen(verb), "shift" as *u8) == 1 {
1520 var sdays: i64 = 7
1521 var smlp: *u8 = "knowledge/status/token_efficiency.log" as *u8
1522 var sjrp: *u8 = "knowledge/status/ws_sync.jrnl" as *u8
1523 if argc > 2 { sdays = st_atoi_z(argv[2] as *u8) }
1524 if argc > 3 { smlp = argv[3] as *u8 }
1525 if argc > 4 { sjrp = argv[4] as *u8 }
1526 if sdays < 0 { sdays = 0 }
1527 if sdays > 365 { sdays = 365 }
1528 let sout: *u8 = sys_mmap(ST_OUTBUF)
1529 let sn2: i64 = st_shift(sdays, smlp, sjrp, sout)
1530 sys_write(1, sout, sn2)
1531 sys_exit(0)
1532 return 0
1533 }
1534 if st_lit_eq(verb, 0, st_vlen(verb), "selftest" as *u8) == 1 {
1535 var base: *u8 = "/tmp/nxseat_st" as *u8
1536 if argc > 2 { base = argv[2] as *u8 }
1537 let rc: i64 = st_selftest(base)
1538 sys_exit(rc)
1539 return rc
1540 }
1541 st_werr("SEAT-FAIL unknown verb\n" as *u8)
1542 sys_exit(ST_EXIT_USAGE)
1543 return ST_EXIT_USAGE
1544}