# Proof audit pass 1 — WEB ONLY

Status: capture specification, not executed visual proof. No browser/server/test execution, source edits, live data, or forge mutations. Source inspected at HEAD 37a7baecae979f556b2218ba496a2ff2f6d725d1; Before eb1510d2493cbf28600432d5193cc22a1af8f3d8. Diff is only UsagePage.tsx (7 insertions, 5 deletions). No desktop surface is included.

## Render-path inventory from the diff and surrounding header

| ID | Path / conditional | Before | After | Affected fixtures |
|---|---|---|---|---|
| R1 | Header layout + full controls | viewport xl flex at >=1280 CSS px; otherwise grid + compact | named header content-box @4xl flex at >=56rem (896px at 16px root) | H1–H4; resize recording |
| R2 | Compact metric and period selects | visible below viewport xl | visible below header @4xl; opposite full controls | H1,H3; compact interaction |
| R3 | Full metric/period toggle groups | viewport xl; min-w-0 controls can shrink | header @4xl; shrink-0 controls retain intrinsic width | H2,H4,D1–D4; full interaction |
| R4 | Non-Limits date label | viewport 2xl block at >=1536px | header @7xl block at >=80rem (1280px at 16px root) | D1–D4 |
| R5 | Limits date label | no span in DOM, regardless of width | same | H3,H4; full-width Limits recording checkpoint |
| R6 | Date text variant | hourly shown window with both timestamps: date/time range in chosen timezone/hour12; otherwise short day range | same formatting, changed visibility | H1/D2 hourly; other non-Limits rows daily |
| R7 | Metric | Cost / Tokens / Limits, identical options in two control trees | same, selected state retained across responsive switch | H1/H2/H3/H4; both recordings |
| R8 | Period | 1=Past 24h, 7,30,90 days; enabled for Cost/Tokens, disabled for Limits | same, selected period persists while disabled | all; recordings exercise all four |
| R9 | Sidebar width | no direct influence on old viewport queries | changes header container width at fixed viewport | every geometry pair; both resize sequences |
| R10 | Refresh | aria-label limits vs usage; busy disables; usage additionally disabled without diagnostics; limits refresh independent of diagnostics | both control trees unchanged, changed visibility/sizing | settled enabled H1–D4; supplemental states below |
| R11 | Breadcrumb/filter row | environment/provider filters, shrinking/truncation, usage status hidden on Limits | same contents; available space changes, controls no longer shrink | every fixture; use long synthetic labels |
| R12 | Container owner | WorkspacePageHeader without named container | same header owns @container/usage-header; its descendants query content box | all; record measured content-box width |

Tailwind values above are defaults consistent with no override found in web CSS; later capture MUST verify compiled queries/root rem and computed container width. Header padding is excluded from the query content width. Never assume viewport minus sidebar equals query width.

## Minimum named static fixtures

All rows are affected (A). Run each in Light and Dark: 8 × 2 = 16 Before/After pairs, 32 primary surface images, plus crops, stability partners and diffs. Height 1000 CSS px, DPR 1, zoom 100%, scrollTop 0. Narrow sidebar S=256px; wide S=480px, both expanded. If native brand minimum clamps either, use measured legal narrow/wide values and record them consistently. C is measured header content-box width. Set viewport W independently for each row until C target is achieved; record W once on After, then replay EXACT W and S on Before. Do not tune Before to make its controls match After.

| Fixture | Affected | Sidebar | C target | Metric / period seed | After expectation | Before expectation |
|---|---|---|---|---|---|---|
| H1 compact edge narrow | A R1,R2,R6–R12 | narrow | 895px | Cost / 1 | compact, hourly label hidden, period enabled | use actual W: compact if W<1280, otherwise full; date if W>=1536 |
| H2 full edge narrow | A R1,R3,R7–R12 | narrow | 897px | Tokens / 7 | full, date hidden, period enabled | same viewport rule |
| H3 compact edge wide | A R1,R2,R5,R7–R12 | wide | 895px | Limits / 30 | compact, date absent, period disabled | full if W>=1280; date always absent |
| H4 full edge wide | A R1,R3,R5,R7–R12 | wide | 897px | Limits / 30 | full, date absent, period disabled | full if W>=1280; date always absent |
| D1 date hidden narrow | A R3,R4,R6–R12 | narrow | 1279px | Cost / 30 | full, daily label hidden | date visible iff W>=1536 |
| D2 date visible narrow | A R3,R4,R6–R12 | narrow | 1281px | Cost / 1 | full, hourly label visible | date visible iff W>=1536 |
| D3 date hidden wide | A R3,R4,R6–R12 | wide | 1279px | Tokens / 90 | full, daily label hidden | date visible iff W>=1536 |
| D4 date visible wide | A R3,R4,R6–R12 | wide | 1281px | Tokens / 7 | full, daily label visible | date visible iff W>=1536 |

This samples each threshold on each sidebar width and both date formats. Metric and period do not create independent CSS thresholds, so interactions cover their remaining combinations. Both themes apply to every row, not one theme per threshold side.

## Minimum interaction set

Two paired Before/After narrated recordings per theme = eight recordings. Same initial seeds and exact input sequence on both revisions. Capture settled checkpoints with full surface + header crop and two diffs using capture.md. These checkpoints add evidence, not extra base geometry fixtures.

I1: Start H1. Open compact metric popup (capture options), select Tokens, then Limits; try period pointer and configured period keybinding, verify disabled and windowDays unchanged. Return Cost; use period popup to visit 7,30,90,1; verify selection and hourly/day text where visible. At fixed W, resize sidebar through @4xl in both directions by narrowing sidebar to reach C>=897 and widening to C<=895; if H1 starts at legal narrow limit, start resize at wide endpoint of a separately recorded fixed-W range instead. Record actual S endpoints; ensure the @4xl crossing is feasible before recording. End on Tokens and check metric/period retained, exactly one controls tree visible. Include refresh usage and limits once with deterministic synthetic response, wait for settled end state.

I2: Start D4 (wide sidebar). Full toggles: Tokens → Limits (date absent even C>1280, period disabled) → Cost; visit every period including Past 24h. Use actual configured usage keybindings for metric and enabled period once. At fixed W drag sidebar across C=1280 in both directions, then across C=896 in both directions if legal sidebar maximum permits; otherwise use a second fixed W for that segment within the same recording, narrating the viewport reset. Verify no clipped/overlapping controls, no horizontal overflow, label returns after Limits, sidebar and selection persist. Capture date threshold endpoints with the SAME metric/period (Cost/1) so the resize comparison isolates geometry.

Also pass through old viewport W=1279/1281 and W=1535/1537 with a fixed legal sidebar width during I2; record header checkpoints. This distinguishes old viewport transitions from new header transitions. Log C for each; do not assert a new container transition at those viewport values.

## Unchanged branches and bounds of proof

The six changed hunks do not alter body branches: no environments / none selected; Limits; skeleton; diagnostics unavailable; overview. They also do not alter environment filter states (pending/partial/error/duplicate/mismatch), provider filter selection, prices/model dialogs, Cursor access prompt, ChatGPT sharing, hourly/day chart rendering, or provider-specific cards. Shared header means geometry applies to these too. Use the same core synthetic seed for the minimum proof; no provider Cartesian expansion.

Supplemental seed recipes in seeds.md allow compact/full diagnostics-disabled, busy, empty selection and long/error filters if the minimum captures expose clipping or instability. These are explicitly not included in the claimed minimum static set; no claim that loading/error/permission body states were visually proven. Any unstable/surprising state expands the capture set based on observed risk.
