# Reproduction handoff
Own checkout /home/ubuntu/wt/issue-24896-evidence-base is preserved, detached aafc777fe6acf80de1eb55ca1408d4df4e4e52de. Start: cd /home/ubuntu/wt/issue-24896-evidence-base && vp run dev --no-seed. Last owned exec session90811 stopped with Ctrl-C at21:52:36UTC; last webPID3135092 port5821 (::1), backendPID3135106 port13861 (127.0.0.1). ss confirmed both listeners absent. Do not stop any newly started auditor server.

Fixture state remains in checkout .t3/userdata. It originated from a read-only SQLite snapshot of the lead's isolated dev state, never a live DB opened read-write. seed.py accepts the copied statev2.sqlite path and depends on the real parent ba91f82a-5093-4e99-ba18-a1fc1e4defd5 already being present. Run seed only with server stopped. No DB or credentials are published.

settings-two-claude.json was applied for W1,W2Yellow,W3,W4; settings-sole-claude.json for W2Plain, with server restart for each configuration. Sole settings explicitly disable claudeAgent_visual_yellow and enable claudeAgent. The browser showed no badge in all W2Plain cells, but no separate runtime environment-provider registry snapshot was captured. Settings provenance alone does not prove no project override; treat sole-account eligibility runtime provenance as incomplete pending independent audit. Restored two-Claude settings for handoff.

capture-driver.js is functions.exec orchestration code, using tools.mcp__t3_code__preview_* and load/store helpers. Initialize store('tab', owned preview tab ID), store('phase','base' or 'head-aafc777fe6'), store('scenes',['W1','W2Yellow','W3Yellow','W3Plain','W4Missing']), store('artifacts',[]), then evaluate inside async wrapper. Run W2Plain separately after sole settings/restart. Driver uses localhost5821 environment191ee865-3fdb-4c33-a67b-e389302d0c46. A new browser profile may require normal dev pairing. Never publish pairing URL/token. Driver collects 500ms twins, fonts loaded, reduced motion, DOM metadata, W1 disclosure recordings. process.py generates unchanged originals, SHA256, fullframe zero-threshold amplified8 and max-channel threshold>16 masks. No ignored pixels.

Baseline captures actually use 01fe8d91887af5e0669a0378b77a97c9114c43c6. Final captures use exact aafc777fe6acf80de1eb55ca1408d4df4e4e52de. Baseline is NOT e3592efe7f. Three affected UI renderer blobs are identical between 01fe and e359: mobile thread-subagent-group.tsx 5fa19568b06d44504ecc484f2942eda09c29a00d; web TimelineV2EventRow.tsx 650c930cd110dc4d7b964474576b7b2afcb25469; web V2LifecycleRow.tsx 193ac1bf297a38cc5e34b03ac6dcb4fc03e92ecd.

CSS1440x900 still PNG1280x800 =8/9 pixel scale. CSS390x900 still PNG780x1800 =2x. Desktop recordings2880x1800=2x. DOM viewport metadata is authoritative for CSS layout; PNG labels refer to CSS width, not raster width.

FRICTION: preview semantic snapshot text can be stale; driver checks actual document.body.innerText. Earlier loading b1db and toast-bearing baseline sets rejected and excluded. W1 composer state differs before/after substantially at390, minor outline/shadow desktop; fullframe diffs include these unrelated pixels and are NOT clean isolated patch proof. W3 members are completed/failed but static child footer says Starting because fixture lacks provider session; no fully settled app-screen claim. No time remained to normalize those states. Current schema requires driver, so absent-driver Bot scene was not fabricated.
