code wiki / _hdl_build / nx_vsbench.nx

nx_vsbench.nx source

↩ module page · 397 lines · 27165 B

1// nx_vsbench.nx -- THE HEAD-TO-HEAD VS-RULER: are we BETTER than the reference titles, or do we merely 2// have the same feature LIST? nx_gamebench scores capability PRESENCE (HAVE/PARTIAL/GAP) against each 3// title's declared vector. Presence can prove PARITY OF FEATURE LIST and nothing more -- its own honest 4// block already says so: titles_reference_run = 0. This organ is the instrument that makes "better" 5// ARITHMETIC instead of opinion. 6// 7// THE CONTRACT: a head-to-head CELL is (title, axis, ours_permil, theirs_permil, evidence_tier). 8// tier 3 EXT = measured from a captured artifact that EXISTS ON DISK (the only tier that counts) 9// tier 2 DOC = a published spec/manual figure 10// tier 1 DECL = our own declaration (weakest -- this is what a self-graded board is made of) 11// The headline beat_index_permil is computed over TIER-3 CELLS ONLY. Declarations can never raise it. 12// With ZERO ext cells the headline is 0 and the verdict is UNGROUNDED -- which is exactly what it must 13// say today, because we have never run a reference title head-to-head. Everything we BELIEVE about our 14// structural advantages is emitted as HYPOTHESIS-NOT-CLAIM until a cell carries real evidence. 15// That is the cynical-instruments law applied to the one number that could flatter us most. 16// 17// A SECOND QUEUE, DELIBERATELY: nx_gamebench's gap_queue ranks by titles_blocked = a PARITY objective 18// ("what unblocks the most titles"). It structurally cannot answer "what makes us BETTER" -- which is why 19// genetics-breeding sits near the bottom there (only Breeders needs it) while being one of the few axes 20// where a generative emitter can beat a hand-authored roster outright. vsbench publishes the ADVANTAGE 21// view beside it. Two objectives, two queues, both honest. 22// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0 23import "nx_syscalls.nx" 24const VS_MAGIC_1094: i64 = 1094 25const VS_MAGIC_2173: i64 = 2173 26const VS_MAGIC_3907: i64 = 3907 27 28const VS_OUT: i64 = 262144 29const VS_TIER_EXT: i64 = 3 30const VS_TIER_DOC: i64 = 2 31const VS_TIER_DECL: i64 = 1 32const VS_CELLCAP: i64 = 256 33const VS_UNMEASURED: i64 = 0 - 1 34 35func ocat(o: *u8, at: i64, s: *u8) -> i64 { var i: i64=0; var a: i64=at; while s[i]!=(0 as u8){o[a]=s[i]; a=a+1; i=i+1} return a } 36func onum(o: *u8, at: i64, v: i64) -> i64 { 37 var a: i64=at 38 var m: i64=v 39 if m<0 { o[a]=45 as u8; a=a+1; m=0-m } 40 let t: *u8 = sys_mmap(32) 41 var k: i64=0 42 if m==0 { t[0]=48 as u8; k=1 } 43 while m>0 { t[k]=(48+(m%10)) as u8; m=m/10; k=k+1 } 44 var i: i64=0 45 while i<k { o[a]=t[k-1-i]; a=a+1; i=i+1 } 46 return a 47} 48func slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8) { n=n+1 } return n } 49 50// EXCEED IS STRICT. Equality is PARITY, never a win. A ruler that calls a tie a victory is a rubber stamp. 51func vs_verdict(mine: i64, theirs: i64) -> *u8 { 52 if mine > theirs { return "EXCEED" as *u8 } 53 if mine == theirs { return "PARITY" as *u8 } 54 return "BEHIND" as *u8 55} 56func vs_tierstr(t: i64) -> *u8 { 57 if t==3 { return "EXT" as *u8 } 58 if t==2 { return "DOC" as *u8 } 59 if t==1 { return "DECL" as *u8 } 60 return "NONE" as *u8 61} 62func vs_clsstr(c: i64) -> *u8 { 63 if c==1 { return "STRUCTURAL" as *u8 } 64 return "FIDELITY" as *u8 65} 66 67func main(argc: i64, argv: *i64) -> i64 { 68 let ob: *u8 = sys_mmap(VS_OUT) 69 70 // ---- SELFTEST MODE: proves the scoring RULES on fixed inputs so a gate can bite them ---- 71 if argc > 1 { 72 let a1: *u8 = argv[1] as *u8 73 if slen(a1)==8 { 74 if a1[0]==(115 as u8) { 75 var s: i64 = 0 76 s = ocat(ob, s, "VSSELFTEST verdict 5v4=" as *u8); s = ocat(ob, s, vs_verdict(5,4)) 77 s = ocat(ob, s, " 4v4=" as *u8); s = ocat(ob, s, vs_verdict(4,4)) 78 s = ocat(ob, s, " 4v5=" as *u8); s = ocat(ob, s, vs_verdict(4,5)) 79 s = ocat(ob, s, " tier3=" as *u8); s = ocat(ob, s, vs_tierstr(3)) 80 s = ocat(ob, s, " tier1=" as *u8); s = ocat(ob, s, vs_tierstr(1)) 81 s = ocat(ob, s, " tier0=" as *u8); s = ocat(ob, s, vs_tierstr(0)) 82 s = ocat(ob, s, "\n" as *u8) 83 sys_write(1, ob, s) 84 return 0 85 } 86 } 87 } 88 89 // ================= THE AXES ================= 90 // class 0 = FIDELITY (the reference titles lead here; closing it is a long measured climb) 91 // class 1 = STRUCTURAL (a sovereign emitter can lead here BY CONSTRUCTION -- but only once measured) 92 // dem = how many of the 10 adult reference titles the axis materially matters to. 93 // ours = OUR measured permil on our own instrument, or -1 = we have never measured it either. 94 // Every ours >= 0 MUST name an artifact the gate stats on disk. 95 let NA: i64 = 15 96 let axnm: *i64 = sys_mmap(NA*8) as *i64 97 let axcls: *i64 = sys_mmap(NA*8) as *i64 98 let axdem: *i64 = sys_mmap(NA*8) as *i64 99 let axours: *i64 = sys_mmap(NA*8) as *i64 100 let axart: *i64 = sys_mmap(NA*8) as *i64 101 let axhyp: *i64 = sys_mmap(NA*8) as *i64 102 103 var zi: i64 = 0 104 while zi < NA { axours[zi]=VS_UNMEASURED; axart[zi]=0; axhyp[zi]=0; zi=zi+1 } 105 106 axnm[0]="character-render-realtime" as i64; axcls[0]=0; axdem[0]=7 107 axnm[1]="character-animation-paired" as i64; axcls[1]=0; axdem[1]=4 108 axnm[2]="soft-body-dynamics" as i64; axcls[2]=0; axdem[2]=4 109 axnm[3]="rendered-still-consistency" as i64; axcls[3]=0; axdem[3]=3 110 axnm[4]="char-customization-ui" as i64; axcls[4]=0; axdem[4]=4 111 axnm[5]="vr-runtime" as i64; axcls[5]=0; axdem[5]=4 112 axnm[6]="visual-scene-quality" as i64; axcls[6]=0; axdem[6]=10 113 axnm[7]="networking-multiplayer" as i64; axcls[7]=1; axdem[7]=4 114 axnm[8]="genetics-breeding" as i64; axcls[8]=1; axdem[8]=1 115 axnm[9]="transformation-morph" as i64; axcls[9]=1; axdem[9]=2 116 axnm[10]="relationship-schedule-sim" as i64; axcls[10]=1; axdem[10]=2 117 axnm[11]="llm-npc-dialogue" as i64; axcls[11]=1; axdem[11]=0 118 axnm[12]="wardrobe-state-coherence" as i64; axcls[12]=1; axdem[12]=3 119 axnm[13]="adult-gating-by-construction" as i64; axcls[13]=1; axdem[13]=10 120 axnm[14]="determinism-seed-portability" as i64; axcls[14]=1; axdem[14]=0 121 122 // OUR OWN measured numbers, each pinned to an artifact that must exist on disk (gate tooth T2). 123 // Deliberately sparse: an axis with no artifact stays -1 rather than acquiring a flattering guess. 124 axours[12]=1000; axart[12]="knowledge/nx_wardrobe_state.sav" as i64 125 axours[13]=1000; axart[13]="knowledge/nx_wardrobe_adultgate.txt" as i64 126 axours[14]=1000; axart[14]="knowledge/nx_gamesave_t.sav" as i64 127 axours[6]=759; axart[6]="sites/nishifamily/world/creatures.png" as i64 128 129 // HYPOTHESES -- what we BELIEVE beats the targets. Emitted as HYPOTHESIS-NOT-CLAIM, never as a score. 130 axhyp[7]="bit-determinism makes lockstep/rollback netcode free by construction; the reference titles pay for it in engine work" as i64 131 axhyp[8]="a generative genome emits unbounded unique characters; a hand-authored roster is finite by construction" as i64 132 axhyp[9]="transformation is a genome delta re-emitted through the same body rules, not a second authored asset set" as i64 133 axhyp[10]="relationship sim composes the certified worldsim/companion parts rather than bespoke per-title scripting" as i64 134 axhyp[11]="not one reference title has freeform in-game NPC dialogue; an axis they do not contest at all" as i64 135 axhyp[12]="wardrobe state is a coherence-invariant state machine that cannot self-contradict across save/load" as i64 136 axhyp[13]="the adult invariant fails closed at the compiler and is mutation-proven; competitors hold it by policy, not by proof" as i64 137 axhyp[14]="a character is a SEED, not an asset pack: scene-share is a string where VaM-class sharing is gigabytes" as i64 138 139 // ================= THE REFERENCE TITLES ================= 140 let NT: i64 = 11 141 let ttnm: *i64 = sys_mmap(NT*8) as *i64 142 ttnm[0]="Breeders of the Nephelym" as i64 143 ttnm[1]="Monster Girl Island Prologue" as i64 144 ttnm[2]="Mad Island" as i64 145 ttnm[3]="Custom Maid 3D 2" as i64 146 ttnm[4]="Carnal Instinct" as i64 147 ttnm[5]="Operation Lovecraft: Fallen Doll" as i64 148 ttnm[6]="Being a DIK" as i64 149 ttnm[7]="VR Hot" as i64 150 ttnm[8]="Virt-a-Mate" as i64 151 ttnm[9]="Corruption of Champions" as i64 152 // Veloren is NOT an adult reference -- it is the in-corpus REAL-TIME 3D FIDELITY YARDSTICK this lane 153 // has used since the first ground-truth run, and the only reference render we can capture first-hand. 154 ttnm[10]="Veloren (3D fidelity yardstick)" as i64 155 156 // ================= THE CELLS ================= 157 // A cell only exists once somebody MEASURED both sides. Today: none. The empty matrix IS the finding, 158 // and it is the same finding nx_gamebench already publishes as titles_reference_run = 0. 159 let cti: *i64 = sys_mmap(VS_CELLCAP*8) as *i64 160 let cax: *i64 = sys_mmap(VS_CELLCAP*8) as *i64 161 let cmine: *i64 = sys_mmap(VS_CELLCAP*8) as *i64 162 let cthe: *i64 = sys_mmap(VS_CELLCAP*8) as *i64 163 let ctier: *i64 = sys_mmap(VS_CELLCAP*8) as *i64 164 var ncell: i64 = 0 165 // ---- FIRST TIER-3 EXT CELL, 2026-07-25 ---- 166 // Both sides captured headless and scored by the SAME hardened nx_game_critic (via nx_frame_score) at 167 // the SAME 400x240 scale: OURS = the deployed /private/m1_engine canvas, THEIRS = Veloren's own 168 // in-game render from veloren.net. One code path, no per-side tuning => MEASURED, not declared. 169 // OURS 719 RICH (pal 659 det4 42 grad 941) vs THEIRS 726 RICH (pal 1126 det4 79 grad 173) => BEHIND. 170 // Note the composite FLATTERS us: our 941 gradient is the disclosed dither, while palette (1.7x) and 171 // detail4 (1.9x) -- the dimensions that encode real scene richness -- are theirs by a wide margin. 172 // RE-EVIDENCED 2026-07-26: the original 719v726 cell was measured from a frame whose artifacts were 173 // never banked on the NAS -- unverifiable evidence is not evidence (the vsbench contract applied to 174 // ITSELF). Both sides re-scored ON the NAS by the registered nx_frame_score from on-disk artifacts: 175 // OURS knowledge/ours_m1.nxfh 713 RICH; THEIRS knowledge/veloren1.nxfh (veloren.net own render, 176 // captured at NATURAL 1168x659 -- a 1920x1080 letterboxed capture scored 555 with cov 372, a 177 // 210-point corruption caught by probing naturalWidth) 765 RICH (pal 3592 det4 104 cov 983). 178 // => BEHIND; their palette is 5.8x ours. 179 cti[0]=10; cax[0]=6; cmine[0]=1000; cthe[0]=765; ctier[0]=VS_TIER_EXT; ncell=1 180 // ---- SECOND TIER-3 EXT CELL, 2026-07-25 (the first ADULT reference measured head-to-head) ---- 181 // Both sides scored ON THE NAS by the REGISTERED nx_frame_score (seq890 eaten: the evidence path is 182 // now reproducible by any agent over /mcp), same 400x240 scale, same png2hex encoder, no per-side 183 // tuning. OURS = deployed /private/m1_engine canvas mid-run (knowledge/ours_m1.nxfh): 713 RICH 184 // (pal 620 det4 40 grad 873 cohere 925). THEIRS = Breeders of the Nephelym, the developer's own 185 // published in-game render, store screenshot 1 (knowledge/breeders1.nxfh): 789 SOTA (pal 1904 186 // det4 125 grad 129 cohere 898). => BEHIND, and the dimensions say why honestly: their palette is 187 // 3.1x ours and their coarse detail 3.1x ours, while our strongest number (grad 873) is the 188 // disclosed dither. The composite gap 76 understates the scene-richness gap. Fix = real scene 189 // geometry/palette (character-render-realtime + procgen-world), not more texture. 190 // RE-MEASURED 2026-07-26 after the worldpipe LIGHTING stage (F1158) landed in the M2D game frame: 191 // OURS = knowledge/nx_m2d_frame.nxfh, the SHIPPED M2D engine's own rendered frame (per-pixel lit 192 // staged-world overworld + dungeon + HUD): 822 (pal 2173 det4 163 grad 157 cohere 869 -- coherence 193 // nearly 2x the noise-cap and gradient modest, so this is geometry, not the dither trick). THEIRS 194 // unchanged: Breeders' own store render 789 (pal 1904 det4 125). => the FIRST EXCEED CELL, honestly 195 // caveated: our frame is a 2D top-down title, theirs a 3D title -- the axis compares FRAMES on one 196 // instrument, and both sides are each game's best-foot-forward frame. Prior pairing disclosed: 197 // the m1 dungeon canvas scored 713 BEHIND; the climb came from lighting + dense worldpipe sampling, 198 // both stage-causally gate-proven (worldpipe_gate T9: sunward 195/201 brighten, shade 181/183 darken). 199 cti[1]=0; cax[1]=6; cmine[1]=1000; cthe[1]=789; ctier[1]=VS_TIER_EXT; ncell=2 200 // ---- F1147 SWEEP 2026-07-26: four more refs scored ON the NAS, same instrument/scale/encoder. 201 // THEIRS = each title's own first store screenshot at natural size; OURS = the shipped M2D frame 202 // (822, knowledge/nx_m2d_frame.nxfh) for every cell. ALL FOUR BEHIND -- the distribution corrects 203 // the two-cell 500 down; a beat index that falls as evidence arrives is the instrument working. 204 // NOTE the critic SATURATES at 1000 (Mad Island pal 4569, VR HOT capped) -- the known Round-13 205 // ceiling; it cannot rank the top of the market, only distance us from it. 206 cti[2]=2; cax[2]=6; cmine[2]=1000; cthe[2]=1000; ctier[2]=VS_TIER_EXT; ncell=3 // Mad Island (knowledge/ref_madisland.nxfh) 207 cti[3]=4; cax[3]=6; cmine[3]=1000; cthe[3]=845; ctier[3]=VS_TIER_EXT; ncell=4 // Carnal Instinct (knowledge/ref_carnal.nxfh; their pal VS_MAGIC_1094 < ours VS_MAGIC_2173 but grad+composite ahead) 208 cti[4]=6; cax[4]=6; cmine[4]=1000; cthe[4]=913; ctier[4]=VS_TIER_EXT; ncell=5 // Being a DIK (knowledge/ref_dik.nxfh, pal VS_MAGIC_3907) 209 cti[5]=7; cax[5]=6; cmine[5]=1000; cthe[5]=1000; ctier[5]=VS_TIER_EXT; ncell=6 // VR HOT (knowledge/ref_vrhot.nxfh) 210 // ---- F1147 COMPLETION 2026-08-09: the last four visual refs scored ON the NAS, same registered 211 // instrument, same 400x240 scale, same png2hex encoder (recovered byte-identical from the July 212 // transcript -- one code path preserved). OURS unchanged: the shipped M2D frame 822. All four 213 // BEHIND; the full-population beat index over 10 EXT cells is now the honest number. 214 // MGI Prologue: Steam store screenshot 1 at native 1920x1080 (pal ~2.9k det4 142 cov 999). 215 // Operation Lovecraft: Steam store screenshot 1 at native 1920x1080 (pal ~1.5k det4 209 cov 999). 216 // Custom Maid 3D 2: KISS's own site system-page in-engine edit-screen capture, published 562x317, 217 // cropped exactly to the frame rect (pal ~5.1k det4 366 cov 999) -- SATURATES the known ceiling. 218 // Virt-a-Mate: MeshedVR's own campaign render (975x400 after removing the 25px banner strip; 219 // cov 635 is the scene's real dark-studio backdrop, captured at native size, not letterbox). 220 cti[6]=1; cax[6]=6; cmine[6]=1000; cthe[6]=905; ctier[6]=VS_TIER_EXT; ncell=7 // MGI Prologue (knowledge/mgi1.nxfh) 221 cti[7]=5; cax[7]=6; cmine[7]=1000; cthe[7]=990; ctier[7]=VS_TIER_EXT; ncell=8 // Operation Lovecraft (knowledge/oplc1.nxfh) 222 cti[8]=3; cax[8]=6; cmine[8]=1000; cthe[8]=1000; ctier[8]=VS_TIER_EXT; ncell=9 // Custom Maid 3D 2 (knowledge/cm3d21.nxfh, saturated) 223 cti[9]=8; cax[9]=6; cmine[9]=1000; cthe[9]=907; ctier[9]=VS_TIER_EXT; ncell=10 // Virt-a-Mate (knowledge/vam1.nxfh) 224 // RE-MEASURED 2026-08-09 (same session as the completion sweep): the ART-DIRECTION rung -- dungeon 225 // flagstones/bricks with cell-stable jitter + mortar seams + top-lit wall edges + torch light-pools, 226 // plus stage-7 features rendered into the overworld strip -- lifted OURS 822 -> 866 (pal 2363, 227 // det4 179, cohere 832 ~2x the noise cap; frame ALSO published to the site as 228 // sites/nishifamily/world/nx_m2d_frame.png on every battery run). All nine m2d-frame cells re-based 229 // to 866; Carnal 845 flips BEHIND -> EXCEED. Veloren keeps the 713 m1 pairing (yardstick discipline). 230 // CROSS-CLASS DISCIPLINE (operator 2026-08-09: "none of these are exceed" -- a 2D tile frame's 231 // statistical win over a downsampled 3D render is a variance artifact, not a perceptual win; the 232 // same Goodhart class the skull lane convicted the same day: field noise scored as anatomy). 233 // ccls=1 marks a cell whose OURS and THEIRS are DIFFERENT RENDER CLASSES: such a cell can lose 234 // (BEHIND stands -- losing to a 3D render is meaningful) but its stat win can NEVER mint EXCEED -- 235 // it reports MIXED and the beat index refuses to count it. Today ALL pairings are cross-class 236 // (our 2D tile frame vs their 3D/rendered-art), so exceed=0 is the honest headline until a 237 // same-class pairing or a human-confirmed perceptual win exists. 238 let ccls: *i64 = sys_mmap(VS_CELLCAP*8) as *i64 239 var cc9: i64 = 0 240 while cc9 < ncell { ccls[cc9] = 1; cc9 = cc9 + 1 } 241 // RE-PAIRED 2026-08-09 (operator: "youve already built something better in /beach and /craft why 242 // are you constantly redoing work"): OURS is now the estate's TRUE best-foot-forward -- the LIVE 243 // NISHI CRAFT frame (knowledge/craft1.nxfh, first-person voxel 3D, wasm, captured from the served 244 // page): composite 1000-saturated, det4 302 = INSIDE the commercial band (their 209-366), and the 245 // SAME render class family as the references. ccls stays 1 on every cell: the saturated composite 246 // cannot rank the top, so EXCEED still requires the AL2 judge or a human-confirmed perceptual win 247 // (the caricature conviction stands). The M2D frame remains the certified-parts proof artifact; 248 // Craft is the ceiling. ★SURFACE-LEVEL DEDUP LAW: check-before-build applies to SURFACES, not just 249 // organs -- the flagship 3D engine was live on the site and absent from the hub and this board. 250 // RE-BASED AGAIN 2026-08-09 (sweep cycle 1): the ITERATIVE ART LOOP (m2d `sweep` verb -- 6 knob 251 // variants scored AND contact-sheeted to the site, pick v5: dense torches + rough stone + hot 252 // floor) lifted the battery frame 866 -> 875. Under the CROSS-CLASS discipline this changes NO 253 // verdict: every stat margin is prose until a same-class pairing exists; exceed stays 0. 254 255 // ---- tally by tier ---- 256 var next: i64 = 0 257 var ndoc: i64 = 0 258 var ndecl: i64 = 0 259 var nexceed: i64 = 0 260 var ci: i64 = 0 261 while ci < ncell { 262 if ctier[ci]==VS_TIER_EXT { next=next+1 } 263 if ctier[ci]==VS_TIER_DOC { ndoc=ndoc+1 } 264 if ctier[ci]==VS_TIER_DECL { ndecl=ndecl+1 } 265 ci = ci + 1 266 } 267 // THE HEADLINE, over EXT cells ONLY. No EXT cells => 0 and UNGROUNDED. Nothing else can lift it. 268 ci = 0 269 while ci < ncell { 270 if ctier[ci]==VS_TIER_EXT { if cmine[ci] > cthe[ci] { if ccls[ci]==0 { nexceed=nexceed+1 } } } 271 ci = ci + 1 272 } 273 var beat: i64 = 0 274 if next > 0 { beat = (nexceed*1000)/next } 275 var bverd: *u8 = "UNGROUNDED" as *u8 276 if next > 0 { bverd = "MEASURED" as *u8 } 277 278 // ================= EMIT ================= 279 var j: i64 = 0 280 j = ocat(ob, j, "{\x22v\x22:1,\x22domain\x22:\x22vsbench\x22,\x22title\x22:\x22Head-to-head VS-ruler -- are we BETTER than the reference titles, or only feature-list equal?\x22" as *u8) 281 j = ocat(ob, j, ",\x22contract\x22:\x22a cell is (title,axis,ours,theirs,tier). the headline counts TIER-3 EXT cells ONLY -- measured off a captured artifact on disk. DECL cells can never raise it. zero EXT cells => 0 / UNGROUNDED.\x22" as *u8) 282 j = ocat(ob, j, ",\x22evidence_tiers\x22:{\x223\x22:\x22EXT measured from a captured artifact on disk\x22,\x222\x22:\x22DOC published spec or manual figure\x22,\x221\x22:\x22DECL our own declaration -- weakest\x22,\x220\x22:\x22NONE\x22}" as *u8) 283 284 j = ocat(ob, j, ",\x22axes\x22:[" as *u8) 285 var ai: i64 = 0 286 while ai < NA { 287 if ai>0 { j = ocat(ob, j, "," as *u8) } 288 j = ocat(ob, j, "{\x22axis\x22:\x22" as *u8); j = ocat(ob, j, axnm[ai] as *u8) 289 j = ocat(ob, j, "\x22,\x22class\x22:\x22" as *u8); j = ocat(ob, j, vs_clsstr(axcls[ai])) 290 j = ocat(ob, j, "\x22,\x22adult_titles_needing\x22:" as *u8); j = onum(ob, j, axdem[ai]) 291 j = ocat(ob, j, ",\x22ours_permil\x22:" as *u8); j = onum(ob, j, axours[ai]) 292 j = ocat(ob, j, ",\x22our_artifact\x22:\x22" as *u8) 293 if axart[ai]!=0 { j = ocat(ob, j, axart[ai] as *u8) } 294 j = ocat(ob, j, "\x22,\x22theirs_measured\x22:0,\x22verdict\x22:\x22UNGROUNDED-NO-CELL\x22}" as *u8) 295 ai = ai + 1 296 } 297 j = ocat(ob, j, "]" as *u8) 298 299 j = ocat(ob, j, ",\x22reference_titles\x22:[" as *u8) 300 // Per-title tally COMPUTED from the cell arrays. This line used to be the hardcoded string 301 // "cells_ext":0,"NOT-RUN" -- honest when zero cells existed, a stale lie the moment one landed. 302 // A published number must be derived from the same rows as the headline, never frozen prose. 303 var ti: i64 = 0 304 while ti < NT { 305 if ti>0 { j = ocat(ob, j, "," as *u8) } 306 var text_n: i64 = 0 307 var texc_n: i64 = 0 308 var tbeh_n: i64 = 0 309 var ck: i64 = 0 310 while ck < ncell { 311 if cti[ck]==ti { if ctier[ck]==VS_TIER_EXT { 312 text_n = text_n + 1 313 if cmine[ck] > cthe[ck] { if ccls[ck]==0 { texc_n = texc_n + 1 } } 314 if cmine[ck] < cthe[ck] { tbeh_n = tbeh_n + 1 } 315 } } 316 ck = ck + 1 317 } 318 j = ocat(ob, j, "{\x22title\x22:\x22" as *u8); j = ocat(ob, j, ttnm[ti] as *u8) 319 j = ocat(ob, j, "\x22,\x22cells_ext\x22:" as *u8); j = onum(ob, j, text_n) 320 j = ocat(ob, j, ",\x22headtohead\x22:\x22" as *u8) 321 if text_n==0 { j = ocat(ob, j, "NOT-RUN" as *u8) } 322 if text_n>0 { 323 if texc_n==text_n { j = ocat(ob, j, "EXCEED" as *u8) } 324 if texc_n<text_n { if tbeh_n==text_n { j = ocat(ob, j, "BEHIND" as *u8) } } 325 if texc_n<text_n { if tbeh_n<text_n { j = ocat(ob, j, "MIXED" as *u8) } } 326 } 327 j = ocat(ob, j, "\x22}" as *u8) 328 ti = ti + 1 329 } 330 j = ocat(ob, j, "]" as *u8) 331 332 // ---- EVIDENCE WORKLIST: ranked by how many reference titles the axis matters to. This is the 333 // ranked TODO that turns UNGROUNDED into MEASURED -- the actual Phase-A build order. 334 j = ocat(ob, j, ",\x22evidence_worklist\x22:[" as *u8) 335 let used: *i64 = sys_mmap(NA*8) as *i64 336 ai = 0 337 while ai < NA { used[ai]=0; ai=ai+1 } 338 var emitted: i64 = 0 339 var rounds: i64 = 0 340 while rounds < NA { 341 var best: i64 = 0-1 342 var bsc: i64 = 0-1 343 ai = 0 344 while ai < NA { 345 if used[ai]==0 { if axdem[ai] > bsc { bsc=axdem[ai]; best=ai } } 346 ai = ai + 1 347 } 348 if best >= 0 { 349 used[best]=1 350 if emitted>0 { j = ocat(ob, j, "," as *u8) } 351 j = ocat(ob, j, "{\x22rank\x22:" as *u8); j = onum(ob, j, emitted+1) 352 j = ocat(ob, j, ",\x22axis\x22:\x22" as *u8); j = ocat(ob, j, axnm[best] as *u8) 353 j = ocat(ob, j, "\x22,\x22adult_titles_needing\x22:" as *u8); j = onum(ob, j, axdem[best]) 354 j = ocat(ob, j, ",\x22ours_permil\x22:" as *u8); j = onum(ob, j, axours[best]) 355 j = ocat(ob, j, ",\x22need\x22:\x22capture a THEIRS artifact for this axis and score it on OUR instrument at OUR scale, then declare the cell at tier EXT\x22}" as *u8) 356 emitted = emitted + 1 357 } 358 rounds = rounds + 1 359 } 360 j = ocat(ob, j, "]" as *u8) 361 362 // ---- ADVANTAGE HYPOTHESES: what we believe wins. Labelled so nobody can quote it as a result. 363 j = ocat(ob, j, ",\x22advantage_hypotheses\x22:[" as *u8) 364 var hem: i64 = 0 365 ai = 0 366 while ai < NA { 367 if axhyp[ai]!=0 { 368 if hem>0 { j = ocat(ob, j, "," as *u8) } 369 j = ocat(ob, j, "{\x22axis\x22:\x22" as *u8); j = ocat(ob, j, axnm[ai] as *u8) 370 j = ocat(ob, j, "\x22,\x22hypothesis\x22:\x22" as *u8); j = ocat(ob, j, axhyp[ai] as *u8) 371 j = ocat(ob, j, "\x22,\x22status\x22:\x22HYPOTHESIS-NOT-CLAIM\x22}" as *u8) 372 hem = hem + 1 373 } 374 ai = ai + 1 375 } 376 j = ocat(ob, j, "]" as *u8) 377 378 j = ocat(ob, j, ",\x22axes_total\x22:" as *u8); j = onum(ob, j, NA) 379 j = ocat(ob, j, ",\x22reference_titles_total\x22:" as *u8); j = onum(ob, j, NT) 380 j = ocat(ob, j, ",\x22cells_total\x22:" as *u8); j = onum(ob, j, ncell) 381 j = ocat(ob, j, ",\x22cells_ext\x22:" as *u8); j = onum(ob, j, next) 382 j = ocat(ob, j, ",\x22cells_doc\x22:" as *u8); j = onum(ob, j, ndoc) 383 j = ocat(ob, j, ",\x22cells_decl\x22:" as *u8); j = onum(ob, j, ndecl) 384 j = ocat(ob, j, ",\x22cells_exceeded\x22:" as *u8); j = onum(ob, j, nexceed) 385 j = ocat(ob, j, ",\x22beat_index_permil\x22:" as *u8); j = onum(ob, j, beat) 386 j = ocat(ob, j, ",\x22beat_verdict\x22:\x22" as *u8); j = ocat(ob, j, bverd); j = ocat(ob, j, "\x22" as *u8) 387 388 j = ocat(ob, j, ",\x22honest\x22:\x22beat_index_permil is 0 and the verdict is UNGROUNDED because ZERO head-to-head cells carry EXT evidence. That is not a placeholder, it is the measurement: nobody has ever scored a reference title on our instruments. nx_gamebench publishes the same fact as titles_reference_run=0. Until a cell is EXT, every belief about beating these titles -- including all of the advantage_hypotheses below -- is UNPROVEN, and this organ refuses to convert any of it into a score.\x22" as *u8) 389 j = ocat(ob, j, ",\x22why_a_second_queue\x22:\x22nx_gamebench gap_queue ranks by titles_blocked = a PARITY objective (what unblocks the most titles). It cannot express ADVANTAGE: genetics-breeding ranks near the bottom there because only one reference title needs it, while being one of the few axes where a generative emitter beats a hand-authored roster by construction. vsbench ranks the same world by evidence-needed and by advantage class. Two objectives, two queues.\x22" as *u8) 390 j = ocat(ob, j, ",\x22reality_anchor\x22:\x22operator 2026-08-09: the current OURS frame ranks below-1980s-commercial class perceptually; a cross-class stat win is Goodhart, so EXCEED additionally requires a SAME-RENDER-CLASS pairing (ccls=0) or a human-confirmed perceptual win. Cross-class stat-ahead cells report MIXED and never count toward the beat index. INSTRUMENT CONVICTION (measured same day): a random-squares mosaic control scores 628 RICH on the frame critic while commercial renders read 789-1000 -- every visual-scene-quality number on this board is a STRUCTURE statistic, not a quality rank.\x22" as *u8) 391 j = ocat(ob, j, ",\x22method\x22:\x22EXCEED IS STRICT: mine>theirs=EXCEED, mine==theirs=PARITY, else BEHIND. A tie is never a win. beat_index_permil = 1000*exceeded_ext_cells/ext_cells; undefined (0/UNGROUNDED) when ext_cells=0. Cross-class cells (ccls=1) are excluded from exceeded_ext_cells by construction.\x22" as *u8) 392 j = ocat(ob, j, ",\x22gate\x22:\x22nx_vsbench_gate (anti-vacuity: with no EXT evidence the headline MUST be 0/UNGROUNDED; anti-fabrication: every ours_permil names an artifact stat-able on disk)\x22}" as *u8) 393 j = ocat(ob, j, "\n" as *u8) 394 395 sys_write(1, ob, j) 396 return 0 397}