# Round 2 capture handoff — partial, fresh audit required

Replacement [#24583](https://github.com/pingdotgg/t3code/pull/24583); original [#19570](https://git.cafe/pingdotgg/t3code/pulls/19570).
Head [e810a33](https://github.com/pingdotgg/t3code/commit/e810a33cf8114e5c4e76eeffe8ea299ef8466b71); base [3cc31ed](https://github.com/pingdotgg/t3code/commit/3cc31ed27c8956b36cee35a50509fb7c6869592b).
Source unchanged; working tree clean. Capture window closed at deadline. All captured task PIDs absent; port 21373 closed. Auditor processes untouched.

## Counts and prior proof

78 accepted matched base/head pairs, 156 masks, 312 stills (includes 500 ms settlement copies), four new recordings. 21 rejected comparisons excluded.
These are candidate accepted gates pending fresh independent audit; this is not an all-rows-verified or merge-ready claim.
[Prior audit](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/38116deeb7ed1b2a/audit.md) validates first-pass masks and independent R2 zero-pixel reproduction.
Correction: first-pass original cursor is **34**, not 29. Earlier valid 24 pairs / 48 masks / 96 stills / four recordings remain valid and were not recaptured for credit.
[First-pass index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5e3a5201af91b72d/index.md) has that superseded cursor claim; corrected appendix is included in reproduction.

## Coverage and remaining gaps

All four means 1440/390 × light/dark. Gate names and exact traces are in accepted-gates.json.

| Row | Added evidence | Still missing / excluded |
|---|---|---|
| R1 | Valid real replay; S→S2 advancement; marker recovery, real reconnect and reload, all four | Fresh audit of traces and exact sequence assertions |
| R2 | Real trusted hidden→visible foreground, same session/scope; distinct new session; applyItems throw with committed cache retained and session recovery, all four | Fresh audit; apply fault is malformed event before committed-cache mutation |
| R3 | Genuine cold no-detail with both detail HTTP paths blocked; cursorless first Die and recovery, all four. Empty terminal/ordinary all four | Empty-recovered 1440 dark unstable; empty syncing/recovered 1440 light fixture mismatch. Draft/no-shell/deleted/live controls incomplete |
| R4 | Legacy capability false, no completion marker, snapshot recovery at 390 light/dark | Both 1440 rejected fixture mismatch; bounded history/Load earlier/no duplicates; full warm/cold protocol controls |
| R5 | Old-session snapshot gated → new session still cursorless → snapshot applies, 1440 light | Other three combinations; buffered resume/session, terminal snapshot race, disposal/cancellation and accepted paired isolation |
| C1 | Actual typed expected error, ~250ms cursorless retry, recovery; actual authorization error with no automatic retry, 390 light/dark | Both 1440 rejected fixture mismatch; deleted controls and remaining normal marker/live controls |
| M1 | No native evidence from this run | Native/accessibility/tap controls unverified; separate agent owns supported EAS attempt |

Equivalent controls were collapsed only where they share the same ready-cache rendering path: trusted foreground uses the nonempty proof-b conversation. Ordinary empty uses the same empty presentation after sync clears. Protocol paths remain separately traced; this does not waive missing controls above.

## Method and exclusions

Real headed cached Chromium 1223, Xvfb and ffmpeg; no preview recorder. Frozen clock/data, DPR1, fonts ready, reduced motion and equal transition/caret suppression. Paired screenshots repeat after 500 ms.
All five changed loaded module sources asserted against exact base/head git sources; base served externally retained Vite transforms, head actual Vite modules. No source edits.
Masks cover every RGB delta (amplified magenta) and max-channel delta >16 (yellow), no crop/registration/exclusions.
Accepted visual changes are composer sync/error banner and status/shadow transitions, plus genuine no-detail loading versus ordinary empty. Desktop sidebar fixture drift was rejected, never masked away.
Movies include rejected setup experiments; only accepted-gates defines credited proof. All four movies fully decoded; inspected via contact sheets, not continuous human playback.

## Public artifacts

- [reproduction.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d5baa0c7b84becd6/reproduction.tar.gz)
- [captures-and-diffs.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/286db0ed07bdb901/captures-and-diffs.tar.gz)
- [inspection.tar.gz](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/deac17918732ce77/inspection.tar.gz)
- [base-lifecycle.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a013e77bc9a76a69/base-lifecycle.mp4)
- [base-round2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/103f04c33a644c06/base-round2.mp4)
- [head-lifecycle.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a8d3aa185b500d79/head-lifecycle.mp4)
- [head-round2.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b26dd4136d8a3498/head-round2.mp4)
- [pairs-appendix.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dae497aa8ddc53ba/pairs-appendix.md)
- [diff-metrics.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6d7cadfb0b00fec1/diff-metrics.json)
- [accepted-gates.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b7b887b7faddeed2/accepted-gates.json)
- [rejected-gates.json](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/264f7603fec670a5/rejected-gates.json)
- [README-reproduction.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/702f72a2f3381385/README-reproduction.md)
- [FRICTION.txt](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/53a3b879350a149d/FRICTION.txt)

## Reproduction and retention

Local root: `/tmp/ev-19570/delivery-round2`; scripts/traces in its `public` directory. Reproduction archive retains external driver and base transforms.
Fresh isolated home: `/tmp/ev-19570/round2-home`. Browser roots: `/tmp/ev-19570/round2`, `/tmp/ev-19570/round2-base`, `/tmp/ev-19570/lifecycle-head`, `/tmp/ev-19570/lifecycle-base`.
All retained until audit completes. Private credentials/browser state are excluded from uploads. Never used `~/.t3/userdata`.
Follow README-reproduction for fresh UUID/ports, private pairing and exact command/gate trace workflow. Captures-and-diffs contains accepted stills/masks; inspection contains contact sheets.
No PR comments/body changes, pushes, commits or watchers.
