code wiki / _hdl_build / nx_ctxcost.nx

nx_ctxcost.nx source

↩ module page · 147 lines · 6901 B

1// nx_ctxcost.nx -- CONTEXT-COST ADVISOR (operator 2026-07-21: 'make nishi SEE the cost if it can, flag to 2// you what we should do as you work a workstream'). MEASURED real usage 2026-07-21: 96pct of spend at 3// >150k context; 71pct from nishi MCP results that STAY in context re-read every turn. So: given the 4// current context_pct (relayed from the Claude Code usage banner -- nishi can't read live context, so the 5// caller feeds the number it CAN see), advise CONTINUE / COMPACT-SOON / COMPACT-NOW from data-driven 6// thresholds in ctxbudget- (rule-11, tune without code). Reminds of the cheap-reboot: /clear then 7// nx_seat boot = ~1KB (state lives in planes). Composes nx_sovjson_lib (sj_*) = OO, 5th base consumer. 8// advise <context_pct> [ws] [ctxbudgetprefix] -> verdict JSON | selftest [tmpbase] 9// ctxbudget- row = id threshold_pct verdict action reason (5-col policy plane; pick highest thr <= pct). 10// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0 11import "nx_sovjson_lib.nx" 12import "nx_store_seed_lib.nx" 13import "nx_seg_store.nx" 14import "nx_gate_verdict.nx" 15import "nx_syscalls.nx" 16 17const CC_CAP: i64 = 1048576 18const CC_OUT: i64 = 8192 19const CC_SPAN: i64 = 16 20const CC_USAGE: i64 = 2 21 22func cc_advise(pct: i64, ws: *u8, prefix: *u8, out: *u8) -> i64 { 23 let buf: *u8 = sys_mmap(CC_CAP) 24 let n: i64 = sts_load(prefix, buf, CC_CAP) 25 let c0: *i64 = sys_mmap(CC_SPAN) as *i64 26 let c1: *i64 = sys_mmap(CC_SPAN) as *i64 27 let c2: *i64 = sys_mmap(CC_SPAN) as *i64 28 let c3: *i64 = sys_mmap(CC_SPAN) as *i64 29 let c4: *i64 = sys_mmap(CC_SPAN) as *i64 30 var bestthr: i64 = 0 - 1 31 var v2s: i64 = 0 - 1 32 var v2e: i64 = 0 - 1 33 var a3s: i64 = 0 - 1 34 var a3e: i64 = 0 - 1 35 var r4s: i64 = 0 - 1 36 var r4e: i64 = 0 - 1 37 var i: i64 = 0 38 while i < n { 39 let le: i64 = sj_le(buf, i, n) 40 if sj_col(buf, i, le, 1, c1) == 1 { 41 let thr: i64 = sj_atoi_span(buf, c1[0], c1[1]) 42 if thr <= pct { if thr > bestthr { 43 bestthr = thr 44 if sj_col(buf, i, le, 2, c2) == 1 { v2s = c2[0]; v2e = c2[1] } 45 if sj_col(buf, i, le, 3, c3) == 1 { a3s = c3[0]; a3e = c3[1] } 46 if sj_col(buf, i, le, 4, c4) == 1 { r4s = c4[0]; r4e = c4[1] } 47 } } 48 } 49 i = le + 1 50 } 51 var o: i64 = 0 52 o = sj_cat(out, o, "{\"organ\":\"nx_ctxcost\",\"verb\":\"advise\",\"context_pct\":" as *u8) 53 o = sj_catn(out, o, pct) 54 o = sj_cat(out, o, ",\"ws\":\"" as *u8) 55 o = sj_cat_esc(out, o, ws, 0, sj_vlen(ws), 40) 56 o = sj_cat(out, o, "\",\"verdict\":\"" as *u8) 57 if bestthr >= 0 { 58 o = sj_cat_esc(out, o, buf, v2s, v2e, 30) 59 o = sj_cat(out, o, "\",\"action\":\"" as *u8) 60 o = sj_cat_esc(out, o, buf, a3s, a3e, 100) 61 o = sj_cat(out, o, "\",\"reason\":\"" as *u8) 62 o = sj_cat_esc(out, o, buf, r4s, r4e, 140) 63 o = sj_cat(out, o, "\",\"threshold_hit\":" as *u8) 64 o = sj_catn(out, o, bestthr) 65 } else { 66 o = sj_cat(out, o, "NO-POLICY\",\"action\":\"seed-ctxbudget-plane\",\"reason\":\"no-threshold<=pct;fail-open\",\"threshold_hit\":-1" as *u8) 67 } 68 o = sj_cat(out, o, ",\"cheap_reboot\":\"after /clear: nx_seat boot <ws> = ~1KB re-establishes state (planes hold it)\",\"evidence\":\"real-usage-2026-07-21:96pct->150k-context;71pct-nishi-MCP-results-re-read-every-turn\"}" as *u8) 69 out[o] = 10 as u8 70 o = o + 1 71 return o 72} 73func cc_selftest(base: *u8) -> i64 { 74 let ctr: *i64 = gv_ctr() 75 gv_head("nx_ctxcost selftest -- context-cost advisor (highest-threshold policy, fail-open)" as *u8) 76 let now: i64 = sys_now_realtime_sec() 77 let fp: *u8 = sys_mmap(256) 78 var fo: i64 = sj_cat(fp, 0, base) 79 fo = sj_catn(fp, fo, now) 80 fo = sj_cat(fp, fo, "ctxbudget-" as *u8) 81 fp[fo] = 0 as u8 82 let seed: *u8 = sys_mmap(CC_CAP) 83 var so: i64 = 0 84 so = sj_cat(seed, so, "CB1 0 CONTINUE keep-working below-expensive-zone 85" as *u8) 86 so = sj_cat(seed, so, "CB2 60 COMPACT-SOON write-state-to-memory-then-plan-compact approaching-150k 87" as *u8) 88 so = sj_cat(seed, so, "CB3 75 COMPACT-NOW compact-now-or-clear-if-switching over-150k-reread-every-turn 89" as *u8) 90 sts_seed(fp, seed, so) 91 let out: *u8 = sys_mmap(CC_OUT) 92 var l: i64 = cc_advise(30, "w" as *u8, fp, out) 93 var t1: i64 = 0 94 if sj_span_has(out, 0, l, "\"verdict\":\"CONTINUE\"" as *u8) == 1 { if sj_span_has(out, 0, l, "\"threshold_hit\":0" as *u8) == 1 { t1 = 1 } } 95 gv_check("T1 pct 30 -> CONTINUE (threshold 0)" as *u8, t1, ctr) 96 l = cc_advise(64, "w" as *u8, fp, out) 97 var t2: i64 = 0 98 if sj_span_has(out, 0, l, "\"verdict\":\"COMPACT-SOON\"" as *u8) == 1 { if sj_span_has(out, 0, l, "\"threshold_hit\":60" as *u8) == 1 { t2 = 1 } } 99 gv_check("T2 pct 64 -> COMPACT-SOON picks HIGHEST applicable (60 not 0)" as *u8, t2, ctr) 100 l = cc_advise(90, "w" as *u8, fp, out) 101 var t3: i64 = 0 102 if sj_span_has(out, 0, l, "\"verdict\":\"COMPACT-NOW\"" as *u8) == 1 { if sj_span_has(out, 0, l, "\"threshold_hit\":75" as *u8) == 1 { t3 = 1 } } 103 gv_check("T3 pct 90 -> COMPACT-NOW (threshold 75)" as *u8, t3, ctr) 104 let ep: *u8 = sys_mmap(256) 105 var eo: i64 = sj_cat(ep, 0, base) 106 eo = sj_catn(ep, eo, now) 107 eo = sj_cat(ep, eo, "empty-" as *u8) 108 ep[eo] = 0 as u8 109 l = cc_advise(50, "w" as *u8, ep, out) 110 gv_check("T4 empty policy plane -> NO-POLICY fail-open" as *u8, sj_span_has(out, 0, l, "\"verdict\":\"NO-POLICY\"" as *u8), ctr) 111 gv_check("T5 cheap-reboot + evidence declared in-band" as *u8, sj_span_has(out, 0, l, "cheap_reboot" as *u8), ctr) 112 let rc: i64 = gv_verdict("CTXCOST-GATE" as *u8, ctr, "context-cost advisor: highest-threshold policy, fail-open, evidence-grounded" as *u8) 113 return rc 114} 115func main(argc: i64, argv: *i64) -> i64 { 116 if argc < 2 { 117 sj_werr("usage: nx_ctxcost {advise <context_pct> [ws] [ctxbudgetprefix] | selftest [tmpbase]} 118" as *u8) 119 sys_exit(CC_USAGE) 120 return CC_USAGE 121 } 122 let verb: *u8 = argv[1] as *u8 123 if sj_lit_eq(verb, 0, sj_vlen(verb), "advise" as *u8) == 1 { 124 if argc < 3 { sj_werr("CTXCOST-FAIL advise needs <context_pct> 125" as *u8); sys_exit(CC_USAGE); return CC_USAGE } 126 var ws: *u8 = "-" as *u8 127 var pfx: *u8 = "knowledge/store/ctxbudget-" as *u8 128 if argc > 3 { ws = argv[3] as *u8 } 129 if argc > 4 { pfx = argv[4] as *u8 } 130 let out: *u8 = sys_mmap(CC_OUT) 131 let n: i64 = cc_advise(sj_atoi_z(argv[2] as *u8), ws, pfx, out) 132 sys_write(1, out, n) 133 sys_exit(0) 134 return 0 135 } 136 if sj_lit_eq(verb, 0, sj_vlen(verb), "selftest" as *u8) == 1 { 137 var b: *u8 = "/tmp/nxctxc_st" as *u8 138 if argc > 2 { b = argv[2] as *u8 } 139 let rc: i64 = cc_selftest(b) 140 sys_exit(rc) 141 return rc 142 } 143 sj_werr("CTXCOST-FAIL unknown verb 144" as *u8) 145 sys_exit(CC_USAGE) 146 return CC_USAGE 147}