# T2 evidence correction — 2026-10-24

Only T2 recaptured. G1–G5 files and links are unchanged. Exact head generated main.cjs SHA256 01a4a0794805fc1078fee1d392b3b6ebd353dab6c8d7e56a9f36e113a175474c. No rebuild, source edit, commit, push, public comment or merge.

Real Electron44.9.3 on Xvfb :107, whole desktop1920×1080, isolated .t3-desktop home, existing New profile partition. Temporarily mode500, Trust clicked in real native warning, real native save-error observed, mode700 restored, error dismissed, blocked authority-invalid page, retry warns again, Cancel blocks. Native save-error text says approval was not saved. The frozen pending preview under a modal is not a successful load.

FRICTION: first recapture reproduced the warning ghost. X11 full-desktop cover/expose made Chromium blank while the native modal paused it; those stills and save-failure-clean.mp4 are rejected. Closed that error, moved the real1100×780 app from410,150 to700,150 and resized1101→1100 to repaint it before the accepted recording. Native warning at0,0 no longer overlaps app; no rectangular remnants in accepted take. No image editing, compositing, masking or synthetic UI. redraw.py documents the rejected expose attempt only. capture-steps.sh reconstructs the accepted interactions for reproduction; it was not executed as one script. Manual intervals differ.

Accepted raw recording T2-save-failure-clean.mp4 is24.916667s,12fps. Approximate chapters:0–0.5s blocked;0.5–6.7s native warning;6.7–15.6s save-error;16s blocked;17–22s retry warning;24s final blocked. Full-duration one-second contact sheet and dense6–8s transition frames were opened and inspected, plus full-resolution movie error frame. All final stills were opened. Three save-error root captures at500ms gaps have identical RGB pixels: AE0 for A/B and B/final. All three PNG bytes also match. Sidebar is fully painted, dialog text and OK readable.

Cleanup: retained owned Xvfb/HTTPS/Electron process groups in pids.json; launcher stopped them. Recorder retained its PID and exited through q; exploratory recorder ended when owned Xvfb stopped. Ports15491/18443/19265 closed. Shared7450/15490 remain. Partition mode700 confirmed. Git tracked diff empty, preexisting untracked .t3-desktop retained. No private key uploaded.

T1/T2 additional source-only guards, malformed/unreadable-load fallback, concurrency and Windows/macOS remain explicitly UNVERIFIED. No tests rerun or new implementation claim. Historical inventory contains rejected old save-error.png and after-save-failure.mp4; they are superseded for T2, never clean acceptance proof.

Accepted files and drivers (all under /tmp/issue-17965/t2-correction):

- [T2-save-error.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/2a6d575a10171367/T2-save-error.png) — 273109 bytes, SHA256 `53bd8f5918ad5a3c4a17a0a59d38f2e043b976e890c2332add7b26deb95ce6ed`
- [T2-save-error-a.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6ec49dc0b14b7cde/T2-save-error-a.png) — 273109 bytes, SHA256 `53bd8f5918ad5a3c4a17a0a59d38f2e043b976e890c2332add7b26deb95ce6ed`
- [T2-save-error-b.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/13841060134af5e9/T2-save-error-b.png) — 273109 bytes, SHA256 `53bd8f5918ad5a3c4a17a0a59d38f2e043b976e890c2332add7b26deb95ce6ed`
- [T2-save-failure-clean.mp4](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e77367f7c1ab7c8a/T2-save-failure-clean.mp4) — 932466 bytes, SHA256 `2d4791797cc8d94814fcc7e813e8f8a0476e7a1975f6012da7404de9c60db095`
- [launch.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0c865b7fb9521482/launch.py) — 1202 bytes, SHA256 `e6df63d58ff13215d823e0a0056a77cb8793da29a086320233d299a1d63dd06c`
- [record.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/63b41ef6312b91ab/record.py) — 559 bytes, SHA256 `0633f9ebee0332a8b9a2e688102f0c2a3d626c3efa8ecf7ea0e20cd25bada0c2`
- [capture-steps.sh](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/482b0e11a7b64ea1/capture-steps.sh) — 1448 bytes, SHA256 `1051330bbc78453fc44d50fe40397c6789f20526c9470561ebaa86b4dc3f2711`
- [redraw.py](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/560ae1bce1c3ab84/redraw.py) — 887 bytes, SHA256 `df507d28d0cfd9640a001721de86838bb8608e34b610875b161b66dc34b7820f`
- [T2-inspection.jpg](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/cd0a3ab961988a11/T2-inspection.jpg) — 94291 bytes, SHA256 `8901aa4bed375754d649e3efb1ae53d7c6d8ca9c53b892d850127101ed24726b`
- [T2-retry-warning.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/01c86aec332918c1/T2-retry-warning.png) — 288533 bytes, SHA256 `63744522d026174afc4e3b8396d29d80aeaaf80659776100a288bfdf932549e0`
- [T2-retry-blocked.png](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/acf7138291fb2af7/T2-retry-blocked.png) — 278560 bytes, SHA256 `68e39c14bff47b0aed086f9983e17dbd985af734ea39ea58b912db96e7f50bad`
