Validation strategy
CauseScope treats browser-visible evidence as the acceptance boundary.
- Babel tests cover source coordinates, state and reducer wrapping, short-circuit semantics, conditional branches, props, storage origins, and snapshots.
- Runtime tests cover repeated component instances, static-text fallback, state transitions, provenance, redaction, export, and bounded recording.
- The documented trace v1 JSON example is compiled against the public TypeScript contract and compared byte-for-structure in the release gate.
- Adapter tests connect real runtime registration to React Query and Zustand-like sources.
- Vite tests cover development-only application, SSR exclusion, source-map coordinates, ignored directories, and editor endpoint boundaries.
- Playwright selects elements across multiple routes, components, and files; changes state; validates exact source locations; switches selection directly; and exports traces. A keyboard-only path opens Inspect, selects a focused page element, identifies all five active tabs with visible focus, and verifies focus return after Escape. React 19 coverage crosses a Portal root, Suspense retry, Error Boundary recovery, CSS Module and Tailwind output, and a real Vite Fast Refresh while preserving hook state. Separate React 18/Vite 6 and React 19/SWC scenarios verify both React generations and both official React transform paths end to end. A bounded Firefox 153.0 lane independently verifies ordinary-text source selection, a real state transition, and a structurally valid redacted JSON export without duplicating the full Chromium suite.
- Packaging tests install the produced tarball into isolated Vite 5.4, 6.4, 7.3, and 8.1 consumers, type-check the public API, import every public entrypoint, run a real TSX transform, and verify the original
App.tsxsource map through each Vite generation. This isolated matrix verifies the Vite 5 compatibility floor without retaining those older vulnerable development-tool dependencies in the workspace lockfile. - Production verification scans the example output for instrumentation, runtime, overlay, and endpoint markers.
The release gate is pnpm check; the independent Firefox lane is pnpm test:e2e:firefox.