nx_cap_census.nx source
↩ module page · 624 lines · 40195 B
1// nx_cap_census.nx -- THE NISHI CAPABILITY DRIVER (unified, measurement-first). ONE engine measures how SOTA
2// any TARGET is, replacing the scattered per-lane census organs. Data-driven: a target T is defined by
3// knowledge/registry/T_capabilities.conf (cols: feature<TAB>surface<TAB>status<TAB>file<TAB>marker<TAB>note);
4// the set of targets is knowledge/registry/capability_targets.conf. SURFACES ARE DYNAMIC -- discovered from
5// the rows, so each target brings its own taxonomy (torrent: acquire..ops; protocol: core..advanced; the next
6// target: whatever it declares). LIAR-KILL: a HAVE/PARTIAL opens the repo-relative `file` and requires the
7// `marker` substring present (marker "-"=existence-only); a missing file OR absent marker flips the claim to
8// UNGROUNDED (counted as GAP + flagged) -- so a capability can never be asserted without the code on disk.
9// nx_cap_census -> ECOSYSTEM SCOREBOARD: one SOTA line per target + the overall number
10// nx_cap_census all -> same
11// nx_cap_census <target> -> full per-surface census + gap roadmap (the build order to 1000) for one target
12// Durable ecosystem log -> knowledge/status/capability_ecosystem_census.log. license_tier: ORIGINAL
13import "nx_str.nx"
14import "nx_itoa_lib.nx" // shared MSB-first emitter (zero-alloc)
15import "nx_syscalls.nx"
16import "nx_flatstore_flip.nx" // SSOT = sovereign seg-store on the info plane; the flat .conf is migrate-source only
17const CAP_MAGIC_4096: i64 = 4096
18const CAP_MAGIC_65536: i64 = 65536
19const CAP_MAGIC_65000: i64 = 65000
20const CAP_MAGIC_131072: i64 = 131072
21const CAP_MAGIC_131000: i64 = 131000
22const CAP_MAGIC_200000: i64 = 200000
23const CAP_MAGIC_524288: i64 = 524288
24const CAP_MAGIC_20000: i64 = 20000
25const CAP_MAGIC_16384: i64 = 16384
26const CAP_MAGIC_16000: i64 = 16000
27
28const CAP_MANIFEST: *u8 = "knowledge/registry/capability_targets.conf"
29const CAP_ROWKEY: *u8 = "cap:row:"
30const CAP_ECOLOG: *u8 = "knowledge/status/capability_ecosystem_census.log"
31
32func cp(s: *u8) -> i64 { sys_write(1, s, nx_str_len(s)); return 0 }
33// MIGRATED to the shared emitter (debt 1785563586). The old body mmapped a scratch buffer
34// per call and never freed it. At PAGE granularity that is 4096B leaked PER CALL -- the
35// defect that took 28.5GB of a 36GB host in nx_ts_lumadiff (2MB input, ~3.66M calls).
36// nxi_* is MSB-first, allocates NOTHING, and emits identical bytes including the sign.
37func cnum(v: i64) -> i64 { nxi_out(v); return 0 }
38func cwf(fd: i64, s: *u8) -> i64 { if fd>=0 { sys_write(fd, s, nx_str_len(s)) } return 0 }
39// MIGRATED to the shared emitter (debt 1785563586). The old body mmapped a scratch buffer
40// per call and never freed it. At PAGE granularity that is 4096B leaked PER CALL -- the
41// defect that took 28.5GB of a 36GB host in nx_ts_lumadiff (2MB input, ~3.66M calls).
42// nxi_* is MSB-first, allocates NOTHING, and emits identical bytes including the sign.
43func cwn(fd: i64, v: i64) -> i64 { nxi_fd(fd, v); return 0 }
44
45func cap_streq(a: *u8, b: *u8) -> i64 { var i: i64=0; while a[i]!=(0 as u8) { if a[i]!=b[i] { return 0 } i=i+1 } if b[i]!=(0 as u8) { return 0 } return 1 }
46func cap_app(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64=0; while s[i]!=(0 as u8) { dst[off+i]=s[i]; i=i+1 } return off+i }
47func cap_field(buf: *u8, ls: i64, le: i64, n: i64, out: *u8) -> i64 {
48 var fi: i64=0; var i: i64=ls; var o: i64=0
49 while i<le {
50 if buf[i]==(9 as u8) { if fi==n { out[o]=0 as u8; return 1 } fi=fi+1 } else { if fi==n { out[o]=buf[i]; o=o+1 } }
51 i=i+1
52 }
53 if fi==n { out[o]=0 as u8; return 1 }
54 return 0
55}
56func cap_contains(hay: *u8, hn: i64, needle: *u8) -> i64 {
57 var nn: i64=0; while needle[nn]!=(0 as u8) { nn=nn+1 }
58 if nn==0 { return 1 }
59 var i: i64=0
60 while i+nn<=hn {
61 var j: i64=0; var ok: i64=1
62 while j<nn { if hay[i+j]!=needle[j] { ok=0; j=nn } else { j=j+1 } }
63 if ok==1 { return 1 }
64 i=i+1
65 }
66 return 0
67}
68// LIAR-KILL grounding: open the repo-relative file; require the marker substring (marker "-"=existence-only).
69func cap_grounded(file: *u8, marker: *u8, fbuf: *u8, fcap: i64) -> i64 {
70 if cap_streq(file,"-" as *u8)==1 { return 0 }
71 let fd: i64=sys_openat_rd(file); if fd<0 { return 0 }
72 var tot: i64=0; var r: i64=1
73 while r>0 { let dst: *u8=((fbuf as i64)+tot) as *u8; r=sys_read(fd,dst,fcap-tot); if r>0 { tot=tot+r } if tot>=fcap { r=0 } }
74 sys_close(fd)
75 if cap_streq(marker,"-" as *u8)==1 { return 1 }
76 return cap_contains(fbuf, tot, marker)
77}
78// dynamic surface registry: register-or-find a surface label, returns its index (cap 32).
79func cap_surf_reg(labs: *i64, nlab: *i64, s: *u8) -> i64 {
80 var i: i64=0
81 while i<nlab[0] { if cap_streq(labs[i] as *u8, s)==1 { return i } i=i+1 }
82 let idx: i64=nlab[0]
83 if idx>=32 { return 31 }
84 let cp2: *u8=sys_mmap(64); var k: i64=0; while s[k]!=(0 as u8) { if k<63 { cp2[k]=s[k] } k=k+1 } cp2[k]=0 as u8
85 labs[idx]=cp2 as i64; nlab[0]=idx+1
86 return idx
87}
88func cap_pct(h: i64, p: i64, g: i64) -> i64 { let t: i64=h+p+g; if t<=0 { return 0 } return (h*2+p)*1000/(t*2) }
89// find the byte index just AFTER `needle` in buf[0,n); -1 if absent. (drift-check log parsing)
90func cap_find_after(buf: *u8, n: i64, needle: *u8) -> i64 {
91 var nn: i64=0; while needle[nn]!=(0 as u8) { nn=nn+1 }
92 if nn==0 { return 0-1 }
93 var i: i64=0
94 while i+nn<=n {
95 var j: i64=0; var ok: i64=1
96 while j<nn { if buf[i+j]!=needle[j] { ok=0; j=nn } else { j=j+1 } }
97 if ok==1 { return i+nn }
98 i=i+1
99 }
100 return 0-1
101}
102func cap_int_at(buf: *u8, n: i64, pos: i64) -> i64 {
103 if pos<0 { return 0-1 }
104 var i: i64=pos; var v: i64=0; var any: i64=0
105 while i<n { let c: i64=buf[i] as i64; if c>=48 { if c<=57 { v=v*10+(c-48); any=1; i=i+1 } else { i=n } } else { i=n } }
106 if any==0 { return 0-1 }
107 return v
108}
109// the target's score recorded in a prior ecosystem log ("<target> score=<n> ..."); -1 if absent.
110func cap_prev_score(buf: *u8, n: i64, target: *u8) -> i64 {
111 let needle: *u8=sys_mmap(128); var o: i64=0; o=cap_app(needle,o,target); o=cap_app(needle,o," score=" as *u8); needle[o]=0 as u8
112 let p: i64=cap_find_after(buf,n,needle); if p<0 { return 0-1 }
113 return cap_int_at(buf,n,p)
114}
115// build "knowledge/registry/<target>_capabilities.conf" into out.
116func cap_conf_path(target: *u8, out: *u8) -> i64 {
117 var o: i64=0; o=cap_app(out,o,"knowledge/registry/" as *u8); o=cap_app(out,o,target); o=cap_app(out,o,"_capabilities.conf" as *u8); out[o]=0 as u8; return o
118}
119func cap_srcs_path(target: *u8, out: *u8) -> i64 {
120 var o: i64=0; o=cap_app(out,o,"knowledge/registry/" as *u8); o=cap_app(out,o,target); o=cap_app(out,o,"_sota_sources.conf" as *u8); out[o]=0 as u8; return o
121}
122// the sovereign seg-store (SSOT on the Nishi information plane) for a target's capability rows
123func cap_store_path(target: *u8, out: *u8) -> i64 {
124 var o: i64=0; o=cap_app(out,o,"knowledge/store/cap_" as *u8); o=cap_app(out,o,target); out[o]=0 as u8; return o
125}
126// SELF-LOCATE: grounding needs CWD = the repo root (has runtime/, knowledge/, sites/). A scheduler/tool execs us
127// from an arbitrary CWD but passes argv[0] = our absolute path. If our parent dir is named "runtime" (i.e. the
128// elf lives at <root>/runtime/<name>), chdir to <root> so all relative grounding paths resolve. A local run
129// (argv[0]=/tmp/<name>, parent "tmp") is left untouched, so CWD stays the repo we were launched from.
130func cap_self_locate(argv: *i64) -> i64 {
131 // A. buildroot visible from CWD (NAS tools daemon CWD=nishihost has buildroot/knowledge/registry) -- PREFER it
132 let fa: i64 = sys_openat_rd("buildroot/knowledge/registry" as *u8); if fa>=0 { sys_close(fa); sys_chdir("buildroot" as *u8); return 1 }
133 // B. already at a repo root (local run: CWD has knowledge/registry)
134 let fb: i64 = sys_openat_rd("knowledge/registry" as *u8); if fb>=0 { sys_close(fb); return 0 }
135 // C/D. derive from our own ABSOLUTE path argv[0] so a scheduler can launch us from ANY CWD.
136 let a0: *u8 = argv[0] as *u8
137 if (a0 as i64)==0 { return 0 }
138 var n: i64=0; while a0[n]!=(0 as u8) { n=n+1 }
139 var ls: i64=0-1; var k: i64=0; while k<n { if a0[k]==(47 as u8) { ls=k } k=k+1 }
140 if ls<0 { return 0 }
141 let ed: *u8=sys_mmap(CAP_MAGIC_4096); var i: i64=0; while i<ls { ed[i]=a0[i]; i=i+1 } ed[ls]=0 as u8 // exe dir
142 // C. <exedir>/buildroot (elf promoted next to buildroot -- the clockjob case)
143 let c1: *u8=sys_mmap(CAP_MAGIC_4096); var o: i64=0; o=cap_app(c1,o,ed); o=cap_app(c1,o,"/buildroot" as *u8); c1[o]=0 as u8
144 let c1r: *u8=sys_mmap(CAP_MAGIC_4096); var q: i64=0; q=cap_app(c1r,q,c1); q=cap_app(c1r,q,"/knowledge/registry" as *u8); c1r[q]=0 as u8
145 let fc: i64 = sys_openat_rd(c1r); if fc>=0 { sys_close(fc); sys_chdir(c1); return 3 }
146 // D. <exedir> itself is the repo root (elf at <root>/<name>)
147 let c2r: *u8=sys_mmap(CAP_MAGIC_4096); var r: i64=0; r=cap_app(c2r,r,ed); r=cap_app(c2r,r,"/knowledge/registry" as *u8); c2r[r]=0 as u8
148 let fd: i64 = sys_openat_rd(c2r); if fd>=0 { sys_close(fd); sys_chdir(ed); return 4 }
149 return 0
150}
151// count the EXTERNAL SOTA sources this target is measured against (non-comment, non-blank rows).
152func cap_count_sources(target: *u8) -> i64 {
153 let p: *u8=sys_mmap(512); cap_srcs_path(target, p)
154 let fd: i64=sys_openat_rd(p); if fd<0 { return 0 }
155 let b: *u8=sys_mmap(CAP_MAGIC_65536); var n: i64=0; var r: i64=1
156 while r>0 { let dst: *u8=((b as i64)+n) as *u8; r=sys_read(fd,dst,CAP_MAGIC_65000-n); if r>0 { n=n+r } if n>=CAP_MAGIC_65000 { r=0 } }
157 sys_close(fd)
158 var c: i64=0; var ls: i64=0
159 while ls<n {
160 var le: i64=ls; var eol: i64=0
161 while eol==0 { if le>=n { eol=1 } else { if b[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
162 if le>ls { if b[ls]!=(35 as u8) { if b[ls]!=(13 as u8) { c=c+1 } } }
163 ls=le+1
164 }
165 return c
166}
167// print the external SOTA frontier this target is measured against (the researcher's fetch targets).
168func cap_print_sources(target: *u8) -> i64 {
169 let p: *u8=sys_mmap(512); cap_srcs_path(target, p)
170 let fd: i64=sys_openat_rd(p); if fd<0 { cp("\n TARGET "); cp(target); cp(" -- (no SOTA sources registry)\n" as *u8); return 0 }
171 let b: *u8=sys_mmap(CAP_MAGIC_65536); var n: i64=0; var r: i64=1
172 while r>0 { let dst: *u8=((b as i64)+n) as *u8; r=sys_read(fd,dst,CAP_MAGIC_65000-n); if r>0 { n=n+r } if n>=CAP_MAGIC_65000 { r=0 } }
173 sys_close(fd)
174 cp("\n TARGET "); cp(target); cp(" -- measured against the external frontier:\n" as *u8)
175 let f0: *u8=sys_mmap(128); let f1: *u8=sys_mmap(256); let f2: *u8=sys_mmap(512); let f3: *u8=sys_mmap(256)
176 var ls: i64=0
177 while ls<n {
178 var le: i64=ls; var eol: i64=0
179 while eol==0 { if le>=n { eol=1 } else { if b[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
180 if le>ls { if b[ls]!=(35 as u8) {
181 if cap_field(b,ls,le,0,f0)==1 { cap_field(b,ls,le,1,f1); cap_field(b,ls,le,2,f2); cap_field(b,ls,le,3,f3)
182 cp(" - "); cp(f0); cp(" [establishes: "); cp(f3); cp("]\n "); cp(f1); cp("\n "); cp(f2); cp("\n" as *u8)
183 }
184 } }
185 ls=le+1
186 }
187 return 0
188}
189
190// census ONE target. detail=1 -> print per-surface + gap roadmap. out4[0..3]=H,P,G,UNG. returns score, or -1 if conf missing.
191func cap_census_one(target: *u8, detail: i64, fbuf: *u8, out4: *i64) -> i64 {
192 // READ FROM THE SOVEREIGN SEG-STORE (SSOT on the info plane); self-seed once from the migrate-source .conf.
193 let confp: *u8=sys_mmap(512); cap_conf_path(target, confp)
194 let store: *u8=sys_mmap(512); cap_store_path(target, store)
195 let cb: *u8=sys_mmap(CAP_MAGIC_131072)
196 var cn: i64=fsf_read_all(store, CAP_ROWKEY, cb, CAP_MAGIC_131000)
197 if cn<=0 {
198 let tp: *i64=sys_mmap(16) as *i64; let vp: *i64=sys_mmap(16) as *i64
199 fsf_migrate(confp, store, CAP_ROWKEY, tp, vp)
200 cn=fsf_read_all(store, CAP_ROWKEY, cb, CAP_MAGIC_131000)
201 }
202 if cn<=0 { out4[0]=0; out4[1]=0; out4[2]=0; out4[3]=0; return 0-1 }
203
204 let labs: *i64=sys_mmap(32*8) as *i64; let nlab: *i64=sys_mmap(8) as *i64; nlab[0]=0
205 let sh: *i64=sys_mmap(32*8) as *i64; let sp: *i64=sys_mmap(32*8) as *i64; let sg: *i64=sys_mmap(32*8) as *i64
206 var z: i64=0; while z<32 { sh[z]=0; sp[z]=0; sg[z]=0; z=z+1 }
207 var H: i64=0; var P: i64=0; var G: i64=0; var UNG: i64=0
208 let feat: *u8=sys_mmap(256); let surf: *u8=sys_mmap(64); let stat: *u8=sys_mmap(32); let file: *u8=sys_mmap(512); let mark: *u8=sys_mmap(256)
209 let gapbuf: *u8=sys_mmap(CAP_MAGIC_200000); var go: i64=0
210 let ungbuf: *u8=sys_mmap(CAP_MAGIC_65536); var uo: i64=0
211
212 var ls: i64=0
213 while ls<cn {
214 var le: i64=ls; var eol: i64=0
215 while eol==0 { if le>=cn { eol=1 } else { if cb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
216 if le>ls { if cb[ls]!=(35 as u8) {
217 if cap_field(cb,ls,le,0,feat)==1 { if cap_field(cb,ls,le,1,surf)==1 { if cap_field(cb,ls,le,2,stat)==1 {
218 cap_field(cb,ls,le,3,file); cap_field(cb,ls,le,4,mark)
219 let si: i64=cap_surf_reg(labs,nlab,surf)
220 var st: i64=2
221 if cap_streq(stat,"HAVE" as *u8)==1 { st=2 } else { if cap_streq(stat,"PARTIAL" as *u8)==1 { st=1 } else { st=0 } }
222 if st>0 { if cap_grounded(file,mark,fbuf,CAP_MAGIC_524288)==0 {
223 UNG=UNG+1; st=0
224 uo=cap_app(ungbuf,uo," !! UNGROUNDED " as *u8); uo=cap_app(ungbuf,uo,feat); uo=cap_app(ungbuf,uo," (" as *u8); uo=cap_app(ungbuf,uo,file); uo=cap_app(ungbuf,uo," :: " as *u8); uo=cap_app(ungbuf,uo,mark); uo=cap_app(ungbuf,uo,")\n" as *u8)
225 } }
226 if st==2 { sh[si]=sh[si]+1; H=H+1 }
227 if st==1 { sp[si]=sp[si]+1; P=P+1 }
228 if st==0 { sg[si]=sg[si]+1; G=G+1
229 go=cap_app(gapbuf,go,"[" as *u8); go=cap_app(gapbuf,go,surf); go=cap_app(gapbuf,go,"] " as *u8); go=cap_app(gapbuf,go,feat); go=cap_app(gapbuf,go,"\n" as *u8)
230 }
231 } } }
232 } }
233 ls=le+1
234 }
235 let TOT: i64=H+P+G
236 var score: i64=0; if TOT>0 { score=(H*2+P)*1000/(TOT*2) }
237 if detail==1 {
238 cp("\n== TARGET "); cp(target); cp(" == score="); cnum(score); cp("/1000 (HAVE "); cnum(H); cp(" / PARTIAL "); cnum(P); cp(" / GAP "); cnum(G); cp(" of "); cnum(TOT); cp(")\n" as *u8)
239 cp("-- per-surface (HAVE/PARTIAL/GAP -> permille), in declared order --\n" as *u8)
240 var t: i64=0; while t<nlab[0] {
241 cp(" "); cp(labs[t] as *u8); cp(" "); cnum(sh[t]); cp("/"); cnum(sp[t]); cp("/"); cnum(sg[t]); cp(" -> "); cnum(cap_pct(sh[t],sp[t],sg[t])); cp("/1000\n" as *u8)
242 t=t+1
243 }
244 if UNG>0 { cp("-- LIAR-KILL: "); cnum(UNG); cp(" UNGROUNDED --\n" as *u8); sys_write(1,ungbuf,uo) }
245 else { cp("-- LIAR-KILL: 0 ungrounded (every HAVE/PARTIAL grounded on disk) --\n" as *u8) }
246 cp("-- GAP ROADMAP (build order to 1000, "); cnum(G); cp(" items) --\n" as *u8); sys_write(1,gapbuf,go)
247 }
248 out4[0]=H; out4[1]=P; out4[2]=G; out4[3]=UNG
249 return score
250}
251
252// BEHAVIOR-PROOF grounding: a capability's optional probe (col 6) "gate:<name>" is PROVEN iff that gate/test
253// organ is on disk (runtime/<name>.nx or runtime/_hdl_build/<name>.nx) -- the behavior has a real GATE, not
254// just the code. (Escalation of presence-grounding; RUNNING the gate is the next tier.)
255func cap_probe_grounded(probe: *u8) -> i64 {
256 if probe[0]==(0 as u8) { return 0 }
257 let pre: *u8="gate:" as *u8; var i: i64=0; while i<5 { if probe[i]!=pre[i] { return 0 } i=i+1 }
258 let nm: *u8=((probe as i64)+5) as *u8
259 let p1: *u8=sys_mmap(512); var o: i64=0; o=cap_app(p1,o,"runtime/" as *u8); o=cap_app(p1,o,nm); o=cap_app(p1,o,".nx" as *u8); p1[o]=0 as u8
260 let f1: i64=sys_openat_rd(p1); if f1>=0 { sys_close(f1); return 1 }
261 let p2: *u8=sys_mmap(512); var o2: i64=0; o2=cap_app(p2,o2,"runtime/_hdl_build/" as *u8); o2=cap_app(p2,o2,nm); o2=cap_app(p2,o2,".nx" as *u8); p2[o2]=0 as u8
262 let f2: i64=sys_openat_rd(p2); if f2>=0 { sys_close(f2); return 1 }
263 return 0
264}
265// T2 RUN-THE-GATE: fork+exec the gate elf and check it PASSES (exit 0), not just that its source exists.
266// probe = "gate:<name>"; tries the built/deployed elf in a few locations. returns: -1 elf-not-found (can't run),
267// 0 ran-but-FAILED (nonzero exit), 1 ran-and-PASSED (exit 0). This is BEHAVIOR PROOF, not presence.
268func cap_gate_run(probe: *u8) -> i64 {
269 let pre: *u8="gate:" as *u8; var i: i64=0; while i<5 { if probe[i]!=pre[i] { return 0-1 } i=i+1 }
270 let nm: *u8=((probe as i64)+5) as *u8
271 let cand: *u8=sys_mmap(768); var found: i64=0
272 // 1. /tmp/<name>.sov.elf (local build output) 2. <name>.elf (nishihost live tool) 3. runtime/<name>.sov.elf
273 var o: i64=0; o=cap_app(cand,o,"/tmp/" as *u8); o=cap_app(cand,o,nm); o=cap_app(cand,o,".sov.elf" as *u8); cand[o]=0 as u8
274 let f1: i64=sys_openat_rd(cand); if f1>=0 { sys_close(f1); found=1 }
275 if found==0 { o=0; o=cap_app(cand,o,nm); o=cap_app(cand,o,".elf" as *u8); cand[o]=0 as u8; let f2: i64=sys_openat_rd(cand); if f2>=0 { sys_close(f2); found=1 } }
276 if found==0 { o=0; o=cap_app(cand,o,"runtime/" as *u8); o=cap_app(cand,o,nm); o=cap_app(cand,o,".sov.elf" as *u8); cand[o]=0 as u8; let f3: i64=sys_openat_rd(cand); if f3>=0 { sys_close(f3); found=1 } }
277 // 4. ../<name>.elf : on the NAS the census self-locates to buildroot(=nishihost/buildroot), so .. = nishihost
278 // where promoted gate elfs live (nishihost/<name>.elf)
279 if found==0 { o=0; o=cap_app(cand,o,"../" as *u8); o=cap_app(cand,o,nm); o=cap_app(cand,o,".elf" as *u8); cand[o]=0 as u8; let f4: i64=sys_openat_rd(cand); if f4>=0 { sys_close(f4); found=1 } }
280 if found==0 { return 0-1 }
281 __syscall(90, cand as i64, 0x1ed, 0, 0, 0, 0) // chmod 0755 (shipped elfs aren't reliably +x)
282 let pid: i64=sys_fork()
283 if pid==0 {
284 let av: *i64=sys_mmap(32) as *i64; av[0]=cand as i64; av[1]=0
285 let ev: *i64=sys_mmap(16) as *i64; ev[0]="PATH=/usr/bin:/bin" as *u8 as i64; ev[1]=0
286 sys_execve(cand, av, ev); sys_exit(127)
287 }
288 let st: *i64=sys_mmap(16) as *i64; st[0]=0; sys_wait4(pid, st, 0)
289 let raw: i64=st[0]; let sig: i64=raw & 0x7f; let code: i64=(raw >> 8) & 0xff
290 if sig!=0 { return 0-100-sig } // crashed (signal): caller sees rr < -1
291 return code // 0 = PASS(GREEN); >0 = FAIL with that exit code
292}
293func cap_num_app(dst: *u8, off: i64, v: i64) -> i64 {
294 var o: i64=off
295 if v==0 { dst[o]=48 as u8; return o+1 }
296 var m: i64=v; if m<0 { dst[o]=45 as u8; o=o+1; m=0-m }
297 let t: *u8=sys_mmap(28); var k: i64=0; while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 }
298 while k>0 { k=k-1; dst[o]=t[k]; o=o+1 }
299 return o
300}
301// VERIFY one target: RUN every behavior-proven capability's gate, count how many PASS. out3[0]=have,
302// out3[1]=have-a-gate, out3[2]=gate-passes. returns verified permille (passing/have).
303func cap_verify_one(target: *u8, detail: i64, out3: *i64) -> i64 {
304 let confp: *u8=sys_mmap(512); cap_conf_path(target, confp)
305 let store: *u8=sys_mmap(512); cap_store_path(target, store)
306 let cb: *u8=sys_mmap(CAP_MAGIC_131072)
307 var cn: i64=fsf_read_all(store, CAP_ROWKEY, cb, CAP_MAGIC_131000)
308 if cn<=0 { let tp: *i64=sys_mmap(16) as *i64; let vp: *i64=sys_mmap(16) as *i64; fsf_migrate(confp, store, CAP_ROWKEY, tp, vp); cn=fsf_read_all(store, CAP_ROWKEY, cb, CAP_MAGIC_131000) }
309 if cn<=0 { out3[0]=0; out3[1]=0; out3[2]=0; return 0-1 }
310 var have: i64=0; var gated: i64=0; var passing: i64=0
311 let feat: *u8=sys_mmap(256); let stat: *u8=sys_mmap(32); let probe: *u8=sys_mmap(256)
312 let pbuf: *u8=sys_mmap(CAP_MAGIC_20000); var pbo: i64=0
313 var ls: i64=0
314 while ls<cn {
315 var le: i64=ls; var eol: i64=0
316 while eol==0 { if le>=cn { eol=1 } else { if cb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
317 if le>ls { if cb[ls]!=(35 as u8) {
318 if cap_field(cb,ls,le,0,feat)==1 { if cap_field(cb,ls,le,2,stat)==1 {
319 if cap_streq(stat,"HAVE" as *u8)==1 {
320 have=have+1
321 if cap_field(cb,ls,le,6,probe)==1 { if cap_probe_grounded(probe)==1 {
322 gated=gated+1
323 let rr: i64=cap_gate_run(probe)
324 pbo=cap_app(pbuf,pbo," " as *u8)
325 if rr==0 { pbo=cap_app(pbuf,pbo,"PASS " as *u8); passing=passing+1 } else { if rr==(0-1) { pbo=cap_app(pbuf,pbo,"NOELF " as *u8) } else { if rr<(0-1) { pbo=cap_app(pbuf,pbo,"CRASH sig=" as *u8); pbo=cap_num_app(pbuf,pbo,0-100-rr); pbo=cap_app(pbuf,pbo," " as *u8) } else { pbo=cap_app(pbuf,pbo,"FAIL exit=" as *u8); pbo=cap_num_app(pbuf,pbo,rr); pbo=cap_app(pbuf,pbo," " as *u8) } } }
326 pbo=cap_app(pbuf,pbo,feat); pbo=cap_app(pbuf,pbo," ["); pbo=cap_app(pbuf,pbo,probe); pbo=cap_app(pbuf,pbo,"]\n" as *u8)
327 } }
328 }
329 } }
330 } }
331 ls=le+1
332 }
333 var ver: i64=0; if have>0 { ver=passing*1000/have }
334 if detail==1 {
335 cp("\n== VERIFY "); cp(target); cp(" -- RUN the gates (behavior PASSES, not just gate-exists) ==\n" as *u8)
336 cp(" HAVE: "); cnum(have); cp(" gated: "); cnum(gated); cp(" gate PASSES: "); cnum(passing); cp("\n" as *u8)
337 sys_write(1, pbuf, pbo)
338 cp(" verified coverage: "); cnum(ver); cp("/1000 (gate ran + exited GREEN; NOELF = gate not built here)\n" as *u8)
339 let lfd: i64=sys_openat_wr("knowledge/status/capability_verify.log" as *u8, 420)
340 if lfd>=0 { cwf(lfd,"VERIFY "); cwf(lfd,target); cwf(lfd," have="); cwn(lfd,have); cwf(lfd," gated="); cwn(lfd,gated); cwf(lfd," passing="); cwn(lfd,passing); cwf(lfd," verified="); cwn(lfd,ver); cwf(lfd,"/1000\n"); sys_write(lfd,pbuf,pbo); sys_close(lfd) }
341 }
342 out3[0]=have; out3[1]=gated; out3[2]=passing
343 return ver
344}
345// JUDGE one target: of its HAVE capabilities, how many are behavior-PROVEN (cite a real gate)? out2[0]=have,
346// out2[1]=proven; returns coverage permille. Measures the "presence != works" gap the JUDGE tier closes.
347func cap_judge_one(target: *u8, detail: i64, out2: *i64) -> i64 {
348 let confp: *u8=sys_mmap(512); cap_conf_path(target, confp)
349 let store: *u8=sys_mmap(512); cap_store_path(target, store)
350 let cb: *u8=sys_mmap(CAP_MAGIC_131072)
351 var cn: i64=fsf_read_all(store, CAP_ROWKEY, cb, CAP_MAGIC_131000)
352 if cn<=0 { let tp: *i64=sys_mmap(16) as *i64; let vp: *i64=sys_mmap(16) as *i64; fsf_migrate(confp, store, CAP_ROWKEY, tp, vp); cn=fsf_read_all(store, CAP_ROWKEY, cb, CAP_MAGIC_131000) }
353 if cn<=0 { out2[0]=0; out2[1]=0; return 0-1 }
354 var have: i64=0; var proven: i64=0
355 let feat: *u8=sys_mmap(256); let stat: *u8=sys_mmap(32); let probe: *u8=sys_mmap(256)
356 let pbuf: *u8=sys_mmap(CAP_MAGIC_20000); var pbo: i64=0
357 var ls: i64=0
358 while ls<cn {
359 var le: i64=ls; var eol: i64=0
360 while eol==0 { if le>=cn { eol=1 } else { if cb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
361 if le>ls { if cb[ls]!=(35 as u8) {
362 if cap_field(cb,ls,le,0,feat)==1 { if cap_field(cb,ls,le,2,stat)==1 {
363 if cap_streq(stat,"HAVE" as *u8)==1 {
364 have=have+1
365 if cap_field(cb,ls,le,6,probe)==1 { if cap_probe_grounded(probe)==1 { proven=proven+1; pbo=cap_app(pbuf,pbo," + PROVEN " as *u8); pbo=cap_app(pbuf,pbo,feat); pbo=cap_app(pbuf,pbo," [" as *u8); pbo=cap_app(pbuf,pbo,probe); pbo=cap_app(pbuf,pbo,"]\n" as *u8) } }
366 }
367 } }
368 } }
369 ls=le+1
370 }
371 var cov: i64=0; if have>0 { cov=proven*1000/have }
372 if detail==1 {
373 cp("\n== JUDGE "); cp(target); cp(" -- behavior-proof coverage (does our HAVE actually WORK?) ==\n" as *u8)
374 cp(" HAVE capabilities: "); cnum(have); cp(" PROVEN (real behavior gate on disk): "); cnum(proven); cp(" PRESENT-ONLY: "); cnum(have-proven); cp("\n" as *u8)
375 sys_write(1, pbuf, pbo)
376 cp(" behavior-proof coverage: "); cnum(cov); cp("/1000 (presence-grounding = the code EXISTS; this = the behavior has a GATE)\n" as *u8)
377 }
378 out2[0]=have; out2[1]=proven
379 return cov
380}
381
382func main(argc: i64, argv: *i64) -> i64 {
383 cap_self_locate(argv) // chdir to the repo root so grounding + registries resolve from any launcher
384 sys_mkdir("knowledge/store" as *u8, 0x1ff) // ensure the sovereign-store dir exists (idempotent; NAS buildroot lacks it)
385 let fbuf: *u8=sys_mmap(CAP_MAGIC_524288)
386 let out4: *i64=sys_mmap(4*8) as *i64
387 // RESEED: (re)migrate every target's flat .conf -> its sovereign seg-store (run after editing a registry)
388 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"reseed" as *u8)==1 {
389 cp("=== nx_cap_census reseed: flat .conf -> sovereign seg-store (info-plane SSOT) ===\n" as *u8)
390 let mfd: i64=sys_openat_rd(CAP_MANIFEST); if mfd<0 { cp(" manifest unreadable\n" as *u8); sys_exit(1); return 1 }
391 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r: i64=1
392 while r>0 { let dst: *u8=((mb as i64)+mn) as *u8; r=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r>0 { mn=mn+r } if mn>=CAP_MAGIC_16000 { r=0 } }
393 sys_close(mfd)
394 let tn2: *u8=sys_mmap(64); var ls: i64=0
395 while ls<mn {
396 var le: i64=ls; var eol: i64=0
397 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
398 if le>ls { if mb[ls]!=(35 as u8) {
399 var o: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tn2[o]=mb[i]; o=o+1 } } i=i+1 } tn2[o]=0 as u8
400 if o>0 {
401 let confp: *u8=sys_mmap(512); cap_conf_path(tn2, confp)
402 let store: *u8=sys_mmap(512); cap_store_path(tn2, store)
403 let tp: *i64=sys_mmap(16) as *i64; let vp: *i64=sys_mmap(16) as *i64
404 fsf_migrate(confp, store, CAP_ROWKEY, tp, vp)
405 cp(" "); cp(tn2); cp(" rows="); cnum(tp[0]); cp(" verified="); cnum(vp[0])
406 if vp[0]==tp[0] { if tp[0]>0 { cp(" OK\n" as *u8) } else { cp(" EMPTY\n" as *u8) } } else { cp(" !! MISMATCH\n" as *u8) }
407 }
408 } }
409 ls=le+1
410 }
411 sys_exit(0); return 0
412 } }
413 // JSON export: emit the scoreboard as JSON so the sovereign store interoperates OUT to other formats
414 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"json" as *u8)==1 {
415 let mfd: i64=sys_openat_rd(CAP_MANIFEST); if mfd<0 { cp("{\"error\":\"manifest\"}\n" as *u8); sys_exit(1); return 1 }
416 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r: i64=1
417 while r>0 { let dst: *u8=((mb as i64)+mn) as *u8; r=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r>0 { mn=mn+r } if mn>=CAP_MAGIC_16000 { r=0 } }
418 sys_close(mfd)
419 cp("{\"targets\":[" as *u8)
420 let tn2: *u8=sys_mmap(64); var first: i64=1
421 var sumH: i64=0; var sumP: i64=0; var sumG: i64=0; var ls: i64=0
422 while ls<mn {
423 var le: i64=ls; var eol: i64=0
424 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
425 if le>ls { if mb[ls]!=(35 as u8) {
426 var o: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tn2[o]=mb[i]; o=o+1 } } i=i+1 } tn2[o]=0 as u8
427 if o>0 {
428 let s: i64=cap_census_one(tn2, 0, fbuf, out4)
429 if s>=0 {
430 if first==0 { cp("," as *u8) } first=0
431 cp("{\"target\":\"" as *u8); cp(tn2); cp("\",\"score\":" as *u8); cnum(s)
432 cp(",\"have\":" as *u8); cnum(out4[0]); cp(",\"partial\":" as *u8); cnum(out4[1]); cp(",\"gap\":" as *u8); cnum(out4[2]); cp(",\"ungrounded\":" as *u8); cnum(out4[3]); cp("}" as *u8)
433 sumH=sumH+out4[0]; sumP=sumP+out4[1]; sumG=sumG+out4[2]
434 }
435 }
436 } }
437 ls=le+1
438 }
439 let ST: i64=sumH+sumP+sumG; var eco: i64=0; if ST>0 { eco=(sumH*2+sumP)*1000/(ST*2) }
440 cp("],\"ecosystem\":{\"score\":" as *u8); cnum(eco); cp(",\"have\":" as *u8); cnum(sumH); cp(",\"partial\":" as *u8); cnum(sumP); cp(",\"gap\":" as *u8); cnum(sumG); cp("}}\n" as *u8)
441 sys_exit(0); return 0
442 } }
443 // VERIFY mode: RUN the gates (T2 -- behavior actually PASSES, not just gate-on-disk) -- `verify <target>` = detail
444 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"verify" as *u8)==1 {
445 let o3: *i64=sys_mmap(24) as *i64
446 if argc>2 { cap_verify_one(argv[2] as *u8, 1, o3); sys_exit(0); return 0 }
447 cp("=== nx_cap_census VERIFY: gates RUN + PASS per target (T2 behavior proof) ===\n" as *u8)
448 let mfd: i64=sys_openat_rd(CAP_MANIFEST); if mfd<0 { cp(" manifest unreadable\n" as *u8); sys_exit(1); return 1 }
449 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r: i64=1
450 while r>0 { let dst: *u8=((mb as i64)+mn) as *u8; r=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r>0 { mn=mn+r } if mn>=CAP_MAGIC_16000 { r=0 } }
451 sys_close(mfd)
452 let tn2: *u8=sys_mmap(64); var ls: i64=0
453 while ls<mn {
454 var le: i64=ls; var eol: i64=0
455 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
456 if le>ls { if mb[ls]!=(35 as u8) {
457 var o: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tn2[o]=mb[i]; o=o+1 } } i=i+1 } tn2[o]=0 as u8
458 if o>0 { let ver: i64=cap_verify_one(tn2, 0, o3); if ver>=0 {
459 cp(" "); cp(tn2); var pad: i64=o; while pad<20 { cp(" " as *u8); pad=pad+1 }
460 cp("gates pass "); cnum(o3[2]); cp("/"); cnum(o3[1]); cp(" run, of "); cnum(o3[0]); cp(" HAVE -> "); cnum(ver); cp("/1000 verified\n" as *u8)
461 } }
462 } }
463 ls=le+1
464 }
465 sys_exit(0); return 0
466 } }
467 // JUDGE mode: behavior-proof coverage (does our HAVE actually WORK?) -- `judge <target>` = detail, else scoreboard
468 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"judge" as *u8)==1 {
469 let o2: *i64=sys_mmap(16) as *i64
470 if argc>2 { cap_judge_one(argv[2] as *u8, 1, o2); sys_exit(0); return 0 }
471 cp("=== nx_cap_census JUDGE: behavior-proof coverage per target (presence != works) ===\n" as *u8)
472 let mfd: i64=sys_openat_rd(CAP_MANIFEST); if mfd<0 { cp(" manifest unreadable\n" as *u8); sys_exit(1); return 1 }
473 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r: i64=1
474 while r>0 { let dst: *u8=((mb as i64)+mn) as *u8; r=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r>0 { mn=mn+r } if mn>=CAP_MAGIC_16000 { r=0 } }
475 sys_close(mfd)
476 let tn2: *u8=sys_mmap(64); var sH: i64=0; var sPv: i64=0; var ls: i64=0
477 while ls<mn {
478 var le: i64=ls; var eol: i64=0
479 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
480 if le>ls { if mb[ls]!=(35 as u8) {
481 var o: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tn2[o]=mb[i]; o=o+1 } } i=i+1 } tn2[o]=0 as u8
482 if o>0 { let cov: i64=cap_judge_one(tn2, 0, o2); if cov>=0 {
483 cp(" "); cp(tn2); var pad: i64=o; while pad<20 { cp(" " as *u8); pad=pad+1 }
484 cp("proven "); cnum(o2[1]); cp("/"); cnum(o2[0]); cp(" HAVE -> "); cnum(cov); cp("/1000 behavior-proof\n" as *u8)
485 sH=sH+o2[0]; sPv=sPv+o2[1]
486 } }
487 } }
488 ls=le+1
489 }
490 var eco: i64=0; if sH>0 { eco=sPv*1000/sH }
491 cp(" ---------------------------------------------------------------\n" as *u8)
492 cp(" ECOSYSTEM behavior-proof: "); cnum(sPv); cp("/"); cnum(sH); cp(" HAVE -> "); cnum(eco); cp("/1000\n" as *u8)
493 sys_exit(0); return 0
494 } }
495 // SOTA mode: list the external frontier each target is measured against (the researcher's fetch targets)
496 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"sota" as *u8)==1 {
497 cp("=== nx_cap_census SOTA: the external frontier each target is measured against (researcher fetch targets) ===\n" as *u8)
498 let mfd: i64=sys_openat_rd(CAP_MANIFEST)
499 if mfd<0 { cp(" manifest unreadable\n" as *u8); sys_exit(1); return 1 }
500 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r: i64=1
501 while r>0 { let dst: *u8=((mb as i64)+mn) as *u8; r=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r>0 { mn=mn+r } if mn>=CAP_MAGIC_16000 { r=0 } }
502 sys_close(mfd)
503 let tn2: *u8=sys_mmap(64)
504 var ls: i64=0
505 while ls<mn {
506 var le: i64=ls; var eol: i64=0
507 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
508 if le>ls { if mb[ls]!=(35 as u8) {
509 var o: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tn2[o]=mb[i]; o=o+1 } } i=i+1 } tn2[o]=0 as u8
510 if o>0 { cap_print_sources(tn2) }
511 } }
512 ls=le+1
513 }
514 sys_exit(0); return 0
515 } }
516 // CHECK mode: drift vs the last measurement -- the primitive a scheduler runs to ALERT on change (exit 1 = drift)
517 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"check" as *u8)==1 {
518 let pb: *u8=sys_mmap(CAP_MAGIC_65536); var pn: i64=0
519 let pfd: i64=sys_openat_rd(CAP_ECOLOG)
520 if pfd>=0 { var rr: i64=1; while rr>0 { let dst: *u8=((pb as i64)+pn) as *u8; rr=sys_read(pfd,dst,CAP_MAGIC_65000-pn); if rr>0 { pn=pn+rr } if pn>=CAP_MAGIC_65000 { rr=0 } } sys_close(pfd) }
521 cp("=== nx_cap_census CHECK: drift vs last measurement ===\n" as *u8)
522 let mfd: i64=sys_openat_rd(CAP_MANIFEST); if mfd<0 { cp(" manifest unreadable\n" as *u8); sys_exit(2); return 2 }
523 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r2: i64=1
524 while r2>0 { let dst: *u8=((mb as i64)+mn) as *u8; r2=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r2>0 { mn=mn+r2 } if mn>=CAP_MAGIC_16000 { r2=0 } }
525 sys_close(mfd)
526 let o4: *i64=sys_mmap(4*8) as *i64; let tn3: *u8=sys_mmap(64)
527 var drift: i64=0
528 var ls: i64=0
529 while ls<mn {
530 var le: i64=ls; var eol: i64=0
531 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
532 if le>ls { if mb[ls]!=(35 as u8) {
533 var oo: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tn3[oo]=mb[i]; oo=oo+1 } } i=i+1 } tn3[oo]=0 as u8
534 if oo>0 {
535 let cur: i64=cap_census_one(tn3, 0, fbuf, o4)
536 if cur>=0 {
537 cp(" "); cp(tn3); var pad: i64=oo; while pad<20 { cp(" " as *u8); pad=pad+1 }
538 let prev: i64=cap_prev_score(pb, pn, tn3)
539 if prev<0 { cp(" NEW target cur="); cnum(cur); cp("/1000"); drift=drift+1 }
540 else { if cur!=prev { cp(" DRIFT prev="); cnum(prev); cp(" -> cur="); cnum(cur); drift=drift+1 } else { cp(" stable "); cnum(cur); cp("/1000") } }
541 if o4[3]>0 { cp(" !! ungrounded "); cnum(o4[3]); drift=drift+1 }
542 cp("\n" as *u8)
543 }
544 }
545 } }
546 ls=le+1
547 }
548 if drift>0 { cp("\nDRIFT: "); cnum(drift); cp(" change(s) since last measurement -- rebaseline (run all) + review.\n" as *u8); sys_exit(1); return 1 }
549 cp("\nIN SYNC: capabilities match the last measurement.\n" as *u8); sys_exit(0); return 0
550 } }
551 var mode_all: i64=1
552 let tgt: *u8=sys_mmap(64); tgt[0]=0 as u8
553 if argc>1 { let a1: *u8=argv[1] as *u8; if cap_streq(a1,"all" as *u8)==0 { mode_all=0; var i: i64=0; while a1[i]!=(0 as u8) { if i<63 { tgt[i]=a1[i] } i=i+1 } tgt[i]=0 as u8 } }
554
555 if mode_all==0 {
556 let s: i64=cap_census_one(tgt, 1, fbuf, out4)
557 if s<0 { cp(" no registry: knowledge/registry/"); cp(tgt); cp("_capabilities.conf\n" as *u8); sys_exit(1) }
558 sys_exit(0); return 0
559 }
560
561 // ECOSYSTEM SCOREBOARD across every target in the manifest
562 cp("=== nx_cap_census: NISHI ECOSYSTEM CAPABILITY SCOREBOARD (source-grounded, liar-killed) ===\n" as *u8)
563 let mfd: i64=sys_openat_rd(CAP_MANIFEST)
564 if mfd<0 { cp(" manifest unreadable: knowledge/registry/capability_targets.conf\n" as *u8); sys_exit(1); return 1 }
565 let mb: *u8=sys_mmap(CAP_MAGIC_16384); var mn: i64=0; var r: i64=1
566 while r>0 { let dst: *u8=((mb as i64)+mn) as *u8; r=sys_read(mfd,dst,CAP_MAGIC_16000-mn); if r>0 { mn=mn+r } if mn>=CAP_MAGIC_16000 { r=0 } }
567 sys_close(mfd)
568 var sumH: i64=0; var sumP: i64=0; var sumG: i64=0; var ntar: i64=0
569 let lfd: i64=sys_openat_wr(CAP_ECOLOG, 420)
570 let tname: *u8=sys_mmap(64)
571 var ls: i64=0
572 var ngrounded: i64=0
573 while ls<mn {
574 var le: i64=ls; var eol: i64=0
575 while eol==0 { if le>=mn { eol=1 } else { if mb[le]==(10 as u8) { eol=1 } else { le=le+1 } } }
576 if le>ls { if mb[ls]!=(35 as u8) {
577 var o: i64=0; var i: i64=ls; while i<le { if mb[i]!=(13 as u8) { if mb[i]!=(32 as u8) { tname[o]=mb[i]; o=o+1 } } i=i+1 } tname[o]=0 as u8
578 if o>0 {
579 let s: i64=cap_census_one(tname, 0, fbuf, out4)
580 cp(" "); cp(tname)
581 var pad: i64=o; while pad<20 { cp(" " as *u8); pad=pad+1 }
582 if s<0 { cp(" (no registry)\n" as *u8) }
583 else {
584 let nsrc: i64=cap_count_sources(tname)
585 if nsrc<=0 {
586 cp(" UNGROUNDED"); cp(" HAVE "); cnum(out4[0]); cp(" / PARTIAL "); cnum(out4[1]); cp(" / GAP "); cnum(out4[2])
587 cp(" vs 0 SOTA-src -- REFUSING to emit a score")
588 } else {
589 cp(" "); cnum(s); cp("/1000 HAVE "); cnum(out4[0]); cp(" / PARTIAL "); cnum(out4[1]); cp(" / GAP "); cnum(out4[2])
590 cp(" vs "); cnum(nsrc); cp(" SOTA-src")
591 ngrounded=ngrounded+1
592 }
593 if out4[3]>0 { cp(" !! ungrounded "); cnum(out4[3]) }
594 cp("\n" as *u8)
595 sumH=sumH+out4[0]; sumP=sumP+out4[1]; sumG=sumG+out4[2]; ntar=ntar+1
596 cwf(lfd, tname); cwf(lfd, " score="); cwn(lfd, s); cwf(lfd, " H="); cwn(lfd, out4[0]); cwf(lfd, " P="); cwn(lfd, out4[1]); cwf(lfd, " G="); cwn(lfd, out4[2]); cwf(lfd, " ung="); cwn(lfd, out4[3]); cwf(lfd, "\n")
597 }
598 }
599 } }
600 ls=le+1
601 }
602 let ST: i64=sumH+sumP+sumG
603 var eco: i64=0; if ST>0 { eco=(sumH*2+sumP)*1000/(ST*2) }
604 cp(" ---------------------------------------------------------------\n" as *u8)
605 cp(" SCANNED-TARGETS ("); cnum(ntar); cp(", grounded "); cnum(ngrounded); cp(") ")
606 if ngrounded<=0 {
607 cp("UNGROUNDED")
608 } else {
609 cnum(eco); cp("/1000")
610 }
611 cp(" HAVE "); cnum(sumH); cp(" / PARTIAL "); cnum(sumP); cp(" / GAP "); cnum(sumG); cp("\n" as *u8)
612 if ngrounded<=0 {
613 cp(" L2 REFUSAL: not one target carries an external SOTA source, so this aggregate is graded\n" as *u8)
614 cp(" against NOTHING and is withheld. A self-referential score can only drift upward. HAVE/PARTIAL/GAP\n" as *u8)
615 cp(" above are PRESENCE counts and say nothing about quality: a toy and a SOTA impl both score HAVE.\n" as *u8)
616 }
617 if ntar<10 {
618 cp(" SCOPE: this is NOT the ecosystem -- nx_ecosystem_maturity_rollup tracks 26 domains and\n" as *u8)
619 cp(" nx_sota_status 40. Per-capability SHAPE (min/skew/starved) lives in nx_capaxes_derive.\n" as *u8)
620 }
621 cwf(lfd, "ECOSYSTEM targets="); cwn(lfd, ntar); cwf(lfd, " score="); cwn(lfd, eco); cwf(lfd, " H="); cwn(lfd, sumH); cwf(lfd, " P="); cwn(lfd, sumP); cwf(lfd, " G="); cwn(lfd, sumG); cwf(lfd, "\n")
622 if lfd>=0 { sys_close(lfd) }
623 sys_exit(0); return 0
624}