← all evidence

Nishi Browser

Target (state of the art): Visual output indistinguishable from Chrome on the TOP-20 REAL SITES (google/youtube/wikipedia/reddit/amazon/github/... — the standing suite in bench/nx_top20_parity.ps1, re-runnable): every fetchable site at layout height 90-111%, coarse parity >= 95%, tight >= 90%, paint < 2s; JS-wall sites tracked honestly as their own class until the JS axis lands. One page we authored ourselves proves nothing — the suite is real-web pages we don't control. Every rung below names the metric it moves and its proof; nothing counts without a gate or a measured re-run.

The ladder — how we get there

statusrungthe number it movesproof
DONEFractional font-size parse (13.5px read as 135px -> 3x-tall rows)/experiential height 4580px -> 1418px (206% of Chrome -> 64%)gate nx_css_fontsize_frac_gate 4/4
DONECSS background propagation (white void below dark pages)frame-7 luminance 236 -> 15; dark to page endgate nx_browser_bg_cascade_gate 4/4 + pixel probe
DONEInline measure==paint unification (3 drifts: layout vec widths, paint inherited font-size, decimal-truncating parsers)link/label gaps eliminated; readability study FAIL 25% -> PASS 100%gate nx_inline_vec_measure_gate 4/4; before/after run 16b
DONEpadding/margin/font SHORTHANDS (one last-wins scan across longhand+shorthand per side)height 61% -> 87% of Chrome; FIRST 100.0% coarse-parity screennx_css_boxmodel_gate 6/6; run /evidence/browser-height-2026-07-16
DONEline-height (unitless/px/font-shorthand /N, inherit-with-recompute, half-leading, measure==paint)/experiential height EXACTLY 2227px == Chrome (100.0%); day arc 206% -> 100.0%nx_lineheight_gate 6/6; also flushed + fixed a latent stale-index hazard (self-validating bucket index)
DONETOP-20 REAL-SITE SUITE (bench/nx_top20_parity.ps1, re-runnable) + spec background propagationthe standing benchmark: 20 real sites x (height ratio, coarse, tight) every run; already caught the canvas-propagation bug (google 0.0% coarse) same-dayrun /evidence/browser-top20-2026-07-16; instruments labeled + failure classes (FETCH-EMPTY/CHROME-BLOCKED/HANG)
DONETHE ORGAN EYE — nx_parity_judge (ink-mass + ink-spread + canvas-delta per pair -> BLANK/STRIP/CANVAS/SPARSE/NO-ORACLE/OK)the operator's bar: the suite sees these failures with NO human in the loop; kills the blank-scores-97% metric holegate GREEN 6/6 vs the human truth set (real captures); wired into the suite (class column every run); it corrected the human once (HN canvas)
DONEREADING-RECALL tier (neutral OCR reads both renders; sovereign recall/precision/F1 scorer) — the typography-arc metric generalizedthe "how bad" number the classes hid: suite mean ~384 of 1000 readable-text survival; stackoverflow CONTENT-OK -> 116 exposednx_ocr_recall_gate GREEN 5/5 (identity 1000, half 500, garbage 0, order-free, article-immune); wired into the suite (recall column every run); RACI examiner
NEXTSOVEREIGN OCR (retire the Windows.Media.Ocr oracle from the loop)the reading-recall capability must be ours: nx_ocr_classify/assemble (typography arc) reads OUR renders directly, no Windows dependencyoracle-only law; gate = sovereign-OCR recall within tolerance of the Windows-OCR reading on the same renders
NEXTreading-recall ratchet: wikipedia 766 -> 950, suite mean 384 -> 700the standing quality bar (recall moves ONLY when text truly renders where it is readable)re-run suite OCR tier after each engine fix; regression = any site's recall drops
NEXTorgan eye v2: attr-leak + box-overlap findings (needs a layout-tree dump from the shot lane)stackoverflow's painted `data-s-popover...` + yahoo/wiki image-text overlap become machine findingspixel-only cannot see these two classes
NEXTgoogle renders BLANK despite laying out 3378px (paint/visibility diagnosis)google from organ-confirmed BLANK-NISHI to real parity; likely class: text color/visibility/overflow rulesprobe = per-box painted-ink sweep on google's tree
NEXTzero-width column collapse (bing/netflix 1-char strips; yahoo ad column)three suite sites deformed by one layout bug class (flex auto-share or positioned containers at ~0 width)reproducer = bing's saved HTML through the layout probe
NEXTfetch reliability on the top-20 (5 sites FETCH-EMPTY: youtube/facebook/instagram/duckduckgo/craigslist)the fetch axis: sites that return nothing to nishi_fetch (TLS fingerprint / redirect / HTTP-2-only classes to diagnose)measure = FETCH-EMPTY count on the suite
QUEUED% margins + margin collapsingWikipedia height 115% -> band (its shorthand margins now honored, slightly over)measure = wiki height ratio
QUEUEDfractional-px layout (Q-space y)the last 6 coarse cells: integer line rounding (23 vs 23.25) accumulates ~4px block drift per screenmeasure = coarse parity 96.8% -> 100% steady
DONEPaint-time cascade index (per-box computed-decl bucket)Eaglercraft >170s (killed) -> 2s; unblocked suite page 3nx_cidx_equiv_gate GREEN (pure accelerator, 300 boxes x 4 resolvers, 0 divergence); run /evidence/browser-perf-2026-07-16
DONEBig-page fetch (512KB -> 4MB buffers)full Wikipedia /Computer 0 bytes -> 966KB, renders 27,465pxproven live; 203KB baseline unregressed
QUEUEDImage float + positioningWikipedia photo floats right beside text instead of overlapping itmeasure = wiki coarse parity + eyeball region
QUEUEDborder-radius paint (pills, cards)/experiential last cosmetic finding; verdict/pill regions match Chromemeasure = pill-region cell deltas
QUEUEDFont fidelity ratchet (glyph forms + AA vs system fonts)tight paint parity 57%/46% -> 90%+ (the dominant residual once flow+height are right)measure = tight grid parity per page
DONEnx_browser_drive v1 (input injection: click/scroll/open/wait/shot)interaction recordings became evidence (drove /experiential, clicked to the live ladder)run /evidence/browser-drive-2026-07-16; DRIVE-COLLECT GREEN
NEXTdrive v2: type + form fields; CDP oracle for third-party browsers; agentic goal-directed playthe DOTA-style playtesting the experiential workstream targetstask 6 continuation

Runs — the ratchet, dated

Live surfaces