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}