CATEGORY|HAPPENED|PREVENTION
PROVENANCE|Retained base Vite transforms allowed an exact baseline without source edits|Compare all five embedded source maps and response hashes to git show before accepting any capture
CURSOR|Original index said 29; accepted first-pass trace uses 34|Corrected external first-pass index included; derive cursors from inputs and snapshots
STARTUP|A screenshot could precede populated React content even when later text was correct|Reject splash frames and wait for subscribed mounted content before capture
FOREGROUND|Default Playwright focus emulation kept both tabs visible|Dedicated noDefaults connections and trusted hidden/visible trace; rejected visible-only attempts
HTTP|Global fetch override did not prevent bounded HTTP hydration|Network interception of BOTH endpoints plus fresh never-opened shell and absent first cursor
FIXTURE|Incremental shell seeding changed 1440px sidebar data between revisions|Seed everything before both sides; rejected every pair with any changed left-sidebar pixel
IPC|Partial command JSON killed the head controller; partial result JSON caused parse errors|Atomic command rename, result parse retry; reused the mounted page for final captures
NARROW|Sidebar navigation timed out while collapsed|Open real sidebar for selection, close before capture
NATIVE|Device tool says Agent device access is turned off for this environment; android-emulator/emulator/adb not installed|Native row remains unverified; no imaginary native/accessibility proof
BUDGET|Disposal/isolation and buffered races were incomplete when capture window closed|Publish partial with exact missing gates, preserve reproduction paths, stop only captured PIDs
