# Capture coverage and result

Issue [#24113](https://git.cafe/pingdotgg/t3code/issues/24113). Product comparison: exact base [eb1510d249](https://git.cafe/pingdotgg/t3code/commit/eb1510d249) versus exact head [2e7b0091fd](https://git.cafe/pingdotgg/t3code/commit/2e7b0091fd3b44a4a01912c055c3294fc09fc53e). No PR, push or watch.

## Executed

- S01–S25: all 41 requested web row/theme combinations on each revision: 82 real-app stills, 41 zero-threshold diffs amplified ×8 and 41 threshold-16 maps (plus 41 unamplified raw diffs retained as extra evidence). Same synthetic data, UTC, browser DPR 2, root font 16px (font scale 1). Desktop exports are capped by T3 preview to 1280 pixels wide; phone exports are 780×1688. CSS viewport and exported PNG dimensions are recorded separately.
- S01–S10: five fixtures at 1440×900 and 390×844, light/dark. Desktop sidebar 256px; responsive-web phone sidebar closed.
- S11–S15: five fixtures at 1280×900, sidebar 640px, main pane 640px, measured header content 600px, light/dark.
- S16–S21: measured content widths exactly 895/896/897px. Actual viewports 1191/1192/1193×900, sidebar 256px, light.
- S22–S24: measured content widths exactly 1279/1280/1281px. Actual viewports 1351/1352/1353×900, sidebar collapsed, light.
- S25: full 1440×900 collapsed-sidebar hourly Cost, light/dark, header content 1368px.
- R01–R05 each has a real before and after recording, the same spoken overview and matching action captions. Narration is synthesized after capture; its end may hold the last real frame. No interaction frames are removed. R04 is partial as detailed below.

## Observed

The actual 640px-main-pane repro changes from cramped segmented controls and overlapped breadcrumbs to compact metric/period selectors and readable breadcrumbs. The header remains 52px high. Head stays compact at 895px and expands at 896/897px. The date span is absent at 1279px and appears at 1280/1281px. Limits has no span and its period controls are disabled. Standard 1440px expanded-sidebar headers retain segmented controls.

The 390px web header retains an existing provider-breadcrumb/metric-control intersection on both revisions. This occurs in S02/S04/S06/S08/S10. It is visible especially for Tokens/Limits; a centered click on the provider trigger can be obstructed. Therefore the matrix's universal no-overlap/reachability criterion does not pass. This is not introduced by the product diff. No product fix was made during evidence capture.

No document-level horizontal overflow was measured in the stills. Desktop head control rectangles do not intersect one another at the measured boundaries/repros. Date and metric/period selection branches match the compiled container-query behavior, not guessed viewport breakpoints.

## Exact missing or limited coverage

- S26: both light/dark Electron before/after stills are missing (4 requested images). Runtime installed, desktop and server bundles built, headless desktop attempted. First launch lacked T3CODE_PORT; corrected launch attempted to start a second backend against the existing isolated home and failed with ServerAlreadyRunningError. The lead backend was preserved. No web capture is presented as Electron evidence.
- R01: selections, every period, dismissal, segmented controls, configured C/T/L and Control+Shift+1/2/3/4 keys, ignored period shortcut while Limits selected, and reload are recorded. Persistence and disabled state are visible; no separate event-level assertion log was added.
- R02: all listed layout width stops and collapse/expand are recorded. Sidebar widths were set through the existing wrapper CSS variable, not an actual pointer drag on the rail. Animation duration was the existing 0ms client preference; this does not prove animated transitions at nonzero duration.
- R03: phone usage/Limits refresh and actual settled states, desktop hourly Cost, 12-hour to 24-hour preference and Limits without span are recorded. The shown past-24h window crosses midnight (Oct 22–23); no month-boundary fixture was captured. The fast refresh busy frame is not independently asserted.
- R04: menu opening, fit and dismissal at phone/narrow desktop are recorded. Missing: deliberately long single-environment label, All→single→none→All environment sequence, All→one→several→none→All provider sequence, no-selection body, and injected unavailable status icon. Narrow desktop menu activation is explicitly captioned programmatic, due to base overlap blocking centered pointer targeting. It is not evidence of pointer reachability.
- R05: Limits mobile sidebar open/close and return to the visible Usage header are recorded. This is responsive web, not native mobile.
- No full-resolution desktop PNG export was available through preview_snapshot: desktop evidence is downsampled by the tool. Matched diffs operate on the same exported dimensions without any additional alignment or masking.

## Scope and incidental differences

Only the authorized fixture script was added to the repository. No new product behavior, screenshots, videos, plans or reports were committed. The comparison captures were taken before the fixture-only commit. Sidebar thread elapsed labels advanced with wall clock; occasional sidebar hydration and pointer/focus backgrounds also differ. These are included in the zero-threshold diffs and written per-pair bands/text differences, rather than masked. A constant synthetic transcript was used throughout; the hourly window remained in the same UTC hour for the still comparison.

FRICTION CAPTURE | Desktop exports are capped to 1280px despite DPR 2 | Record CSS viewport and PNG dimensions separately; compare identical export sizes.
FRICTION DATA | Disabling providers does not stop all usage readers; OpenCode initially scanned its host default | Set OPENCODE_DATA_DIR explicitly, verify only synthetic models/totals before any upload.
FRICTION DATA | Cursor account history uses host environment, not instance homePath | Reproduction script prints XDG_CONFIG_HOME and AGENT_CLI_CREDENTIAL_STORE launch settings; this host had no Cursor login and captures show only its unavailable diagnostic.
FRICTION AUTOMATION | Unconditional Escape left Usage and mobile state opened the sidebar in excluded attempts | Guard dialog closure and explicitly navigate Usage for every static fixture; excluded attempts were overwritten before upload.
FRICTION POINTER | Existing phone and base narrow-header overlaps obstruct centered breadcrumb clicks | Retain visible failure evidence, label programmatic activation, do not claim pointer reachability.
FRICTION DESKTOP | Electron development manager starts a backend and rejected the already-owned sandbox | Keep the lead server available; list S26 as missing.

Final fixture branch head [b26c26e20e](https://git.cafe/pingdotgg/t3code/commit/b26c26e20e4f85574be5fca8b62c1059ed8351e9). Product capture head remains [2e7b0091fd](https://git.cafe/pingdotgg/t3code/commit/2e7b0091fd3b44a4a01912c055c3294fc09fc53e). Only scripts/seed-issue-24113-usage.mjs differs from product head. `vp fmt scripts/seed-issue-24113-usage.mjs`, `vp lint scripts/seed-issue-24113-usage.mjs`, `node --check` and sandbox seeding passed.

Additional fixture changes after reviewer snapshot [f6c9cde345](https://git.cafe/pingdotgg/t3code/commit/f6c9cde3459bf478b0ddcc56e80978bbeb8e3a7f): namespace NodeFSP/NodePath imports and uses; create empty scratch config/OpenCode directories; print required Cursor host-environment isolation launch settings with a short explanatory comment. No product behavior changes.

Final review-2 correction: the script explicitly creates the sandbox provider home and prints HOME=<sandbox>/usage-fixtures in addition to XDG_CONFIG_HOME and AGENT_CLI_CREDENTIAL_STORE=memory. It does not change this running server environment or retroactively change captured evidence. Usage scans can ignore enabled and Grok/Pi/Antigravity can fall back to host HOME. The lead reported review-2 verification that host Grok and Pi had zero usage files and Antigravity was absent; all observed evidence values matched the synthetic Claude fixture. Thus no existing-image leak was identified, but existing captures did not run with the final HOME startup isolation. This is a provenance limitation, not a claim of complete isolation during capture.

After reviewer snapshot [f6c9cde345](https://git.cafe/pingdotgg/t3code/commit/f6c9cde3459bf478b0ddcc56e80978bbeb8e3a7f), fixture changes are NodeFSP/NodePath namespace imports/usages, explicit scratch home/config/OpenCode directories, and the host-reader startup hint/comment. Product files are untouched. The HOME correction was a new commit, not an amend.
