← all evidence

Experiential Testing

Target (state of the art): All 19 census axes PRESENT with measured head-to-head gates vs the SOTA tool of each axis (Playwright/Lighthouse/axe-core/BackstopJS class), every capability wired as: sovereign organ + logical API + MCP tool + workstream row + agent/RACI owner, driving BOTH endpoints (Nishi browser native; third-party browsers via oracle drivers) on desktop AND mobile. The census page /experiential is EMITTED by the census run and can never drift from disk truth.

The ladder — how we get there

statusrungthe number it movesproof
DONEscreenshot capture + scroll recording (nishi_gui nxshot lane)census axis: GAP -> PARITY (disk-fact)recordings published: /evidence/browser-parity-2026-07-16b; wiring next: MCP tool nx_browser_shot
DONEvisual diff / regression (nx_visual_diff: grid parity + content extent + worst-cells)census axis: GAP -> PARITY; the Chrome-parity benchmark's rulergate 4/4 (identical=100%, half=50%, oracle-self=100% ceiling); wiring next: MCP read tool + CI sweep caller
DONEautomated page / asset verify (nx_page_verify)every published page gated (assets fetch AND decode)in production across /evidence + /experiential ships; wiring: already the ship-lane gate
DONEUI / CX quality judging (nx_uxcx_grade + nx_ux_study NN/g method)census axis PARITY; study grades bound to task outcomes, sticker-proofnx_ux_study_gate 4/4 with neg-controls; PASS earned on /experiential readability
DONElive-run intelligence / findings (nx_ux_study findings: severity + heuristic + frame evidence + recommendation)census axis: GAP -> PARITYevery finding frame-grounded; drove 5 root fixes 2026-07-16
DONEnx_browser_drive v1 — script-driven click/scroll/open/wait/shot on the Nishi browser (the census keystone)census: drive-browser + input-drive + auto-wait GAP -> PARITY (14 GAP -> 11)DRIVE-COLLECT GREEN; interaction recording /evidence/browser-drive-2026-07-16 (clicked -> navigated the live ladder)
NEXTdrive v2: type + form fields; CDP oracle driver for third-party browsersinput-drive axis toward full parity; cross-browser oracle axistask 6 continuation
QUEUEDnetwork interception + console/error capture organstheir two census axes (kept honestly GAP in v1 — separate organs by design)nx_net_intercept + nx_console_capture
NEXTCI / sweep orchestration (nx_experiential_sweep: page-list x surface-list -> census+study+diff per target, cron'd)census axis GAP -> PARITY; the "consistent repeatable" engine that re-runs everything and re-emits all pageswiring: workstream row + hostctl cron + MCP trigger
QUEUEDaccessibility audit (nx_a11y_audit: WCAG contrast/alt/landmark checks on our DOM)census axis GAP -> PARITY vs axe-coreoracle = axe-core corpus already fetched
QUEUEDperformance audit (nx_perf_audit: paint-time, bytes, request counts vs web-vitals class)census axis GAP -> PARITY vs Lighthousepaint-time instrumentation exists in the shot lane
QUEUEDagentic goal-directed play (nx_playtest_agent: goal -> drive loop -> findings; the DOTA-style playtesting)census axis GAP -> PARITY vs browser-usedepends on nx_browser_drive; evidence = play recordings
QUEUEDvideo / media playtest (play the sovereign /video client + third-party media, judge frames)census axis GAP -> PARITYrides the codec lane + drive
QUEUEDtrace / replay (record fetch+layout+paint+input timeline, replay deterministically)census axis GAP -> PARITY vs Playwright tracesrecording lane is the seed
QUEUEDtrue video encode of recordings (frames -> .nxv via sovereign codec on the /video client)evidence recordings become playable video, not frame-stepperscodec client already live at /video
QUEUEDmobile / device emulation (viewport+DPR+touch profiles in the Nishi browser; CDP mobile for oracles)census axis GAP -> PARITYthe browser already takes viewport args in the shot lane
QUEUEDhead-to-head EXCEED gates (per axis: our organ vs the tool, measured)the only path any axis can ever read AHEAD (census caps PRESENT at PARITY by design)pattern: nx_capability_census h2h slot already in the schema

Runs — the ratchet, dated

Live surfaces