# Proof audit PASS2 — issue 24221

## Findings

**VERDICT: INSUFFICIENT — V1, V2, V3, I1, C1.** Accepted web evidence supports the central fix, but the required matrix is incomplete. This is a proof verdict, not a new implementation defect or merge-readiness approval.

1. **Native V1/V2/V3/I1 and actual Electron V1 are absent.** Native session consumers changed; responsive web cannot substitute. EAS authentication/availability was healthy, but no current-source native build was attempted. No desktop smoke recording exists.
2. **C1 remains incomplete.** The new timeout test checks permissionAtom and authorize, not full createEnvironmentRpcCommand execution on cached timeout. Existing destination and serial-revocation tests cover useful controls but do not establish the full requested timeout/negative-state execute partition. Passing test counts do not close this row.
3. **V2 has no initial/no-cache timeout or missing-scope UI fixture.** Accepted rejection evidence is a browser-local HTTP401 through the real decoder, followed by a real timeout with previousSuccess None and real regrant. It is correctly labelled synthetic, and is not proof of actual server credential revocation.
4. **Capture conditions are incomplete.** Clock was not frozen; original V1 endpoints lack historical per-frame CSS viewport telemetry. Follow-up telemetry supports the stated tool behavior but cannot retrospectively prove every frame. V3 390-light exact repeat stability fails: independently measured **127 pixels**, bounding box x44–71/y38–65 in the sidebar icon. Three other V3 pairs are exact.
5. **V3 recovery recording is visually inconclusive at its tail.** The selected 7.670867-second recording shows the row becoming dim/inert; its final decoded frame still has dim controls. Logs record B regrant and permissionsInert:false, but the selected recording does not clearly hold a settled recovered control. Preserve this as log-supported recovery, not complete visual recovery proof. A future capture needs a settled ending. Rebuilding the fault fixture would require modifying audited source; this read-only audit did not do that.

## Row status

| Row | Accepted proof | Status / remaining evidence |
|---|---|---|
| V1 | Four web base/head timeout endpoints; real six-second typed HTTP timeout with prior authenticated Success; base Send disabled, head enabled; draft retained; recovery milestone. Recordings opened and sampled across healthy, timeout, and ending states. | **PARTIAL:** native light/dark and Electron absent; clock and historical per-frame viewport telemetry absent. Empty synthetic thread cannot demonstrate preservation of existing history. |
| V2 | Four stable clean denied endpoints; grant → browser-local401 → real timeout remains denied → real regrant. Menu-bearing recording is transition evidence only; clean stills are endpoints. | **PARTIAL:** initial/no-cache and missing-scope UI absent; native absent; full automated partition absent. |
| V3 | Two independently paired isolated environments; unchanged IDs; A remains successful, B typed timeout retains cached success/non-inert aggregate control; B-only401 clears its cache and makes combined control inert. | **PARTIAL:** native absent; narrow-light repeat not exact; selected recording lacks clear settled recovery ending. No base aggregate comparison supplied. |
| I1 | Thread action uses imperative scope read; recording shows rename committed to heading/sidebar, then restoration to New thread in its final frame. A harmless persisted mutation occurred during timeout. | **PARTIAL:** web execution supported; native action absent. Not a substitute for C1. |
| C1 | Focused tests pass; cached-timeout permissionAtom + authorize test, rejection control, destination and serial-lane controls exist. | **INCOMPLETE:** full command execute on cached timeout and full required state partition absent. |

## Identity, diff, and provenance

Issue [#24221](https://git.cafe/pingdotgg/t3code/issues/24221), branch `fix/issue-24221`. Independently verified clean audited worktrees: head [83d50c1a8a](https://git.cafe/pingdotgg/t3code/commit/83d50c1a8a58207e3440b7e393c11cff865bbe52), base [d53873b6a4](https://git.cafe/pingdotgg/t3code/commit/d53873b6a4799e87afd63c8d288ef0089f5a3748). Captured runtime [09c6299d0d](https://git.cafe/pingdotgg/t3code/commit/09c6299d0d) differs from head only in test typing, so captured application code corresponds to head. Complete base/head diff is seven files, 213 additions/20 deletions: shared timeout-only grant selection and rejection-cache clearing; shared command permission selection/authorization fallback; web/native readers; focused tests/mock repair. No style, server, wire-contract, or provider-adapter diff.

PASS1's five-file/older-head description is historical. Its native mock failure is repaired at current head and did not recur. Its C1 gap remains applicable. Client gates apply across providers; this evidence does not establish relay/tunnel reconnect behavior, which is distinct from a typed session timeout.

I opened **all 34 selected public media links** in a new owned T3 preview tab: 24 PNGs (endpoints plus raw/amplified diffs) and ten recordings. All returned HTTP200 and their SHA256 matched the local delivered files. I visually inspected the selected images/diffs and independently extracted recording frames at narrated milestones and final frames. Rejected/inconclusive archive attempts were not credited. The preview tab was closed after audit.

Original accepted evidence: [delivered index](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/edc6a551febb0526/index.md), [PASS1 matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/45997e5e6c163d42/proof-matrix-pass-1.md), [recording narration](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8d7a102437c3ce3e/recording-narration.md).

## Image and recording assessment

Independently recomputed exact RGB threshold (any channel difference >0): wide light **811**, wide dark **824**, phone light **8710**, phone dark **8787** changed pixels. Wide changes are confined to Send; phone changes are Send plus documented sidebar hover/focus. Raw and 8× amplified diffs agree. No ghosting, reconnect overlay, or open-menu obstruction in selected endpoint stills. All eight selected V1 base/head repeats and four clean V2 repeats are byte/pixel stable. V3 has the one 127-pixel exception above.

Wide PNGs are 1280×800 normalized rasters, not native 1440×900 rasters. Wide videos are 2880×1800 and phone media 780×1688; these are consistent with the reported CSS1440×900/390×844 at DPR2. Follow-up direct telemetry records the CSS dimensions. Do not label raster width as CSS viewport proof. Fonts/theme/content appear consistent; no unrelated layout change is visible.

The silent recordings have an external approximate timeline. Several steps occur immediately before recording end: I1 restoration is present in the final frame, and V2 ends with enabled Send after regrant. V1 phone-head proof is restricted to the final approximately54–63-second verified sequence; its earlier unavailable response is not timeout evidence. V3's visual ending limitation is listed above. Registry subscription samples can precede React paint; settled endpoint observations and explicit permissionsInert fields carry more weight than immediate disabled-property samples.

## Verification and boundaries

Independently ran `vp test run` on shared session, shared commandPermissions, native session, web useThreadActionMenu, and web useThreadActions.permissions test files: **5 files / 63 tests passed**, 10.96s. This is a different focused selection from the lead-reported57; neither count proves untested partition cases. No tests authored or source changed. Typechecks and code-review MERGE verdicts are lead-supplied, not rerun here, and do not replace missing visual/command proof.

Both worktrees remained git-clean. Both restored AuthSessions.ts files independently hash to `99f5659e1a3105464aa5aa0162bb0bd034313a91e6f7b8c29d2c39471f54fa61`, matching restoration records. No source injection, extra server, PR, push, public comment, or merge performed. Only outside-repository audit artifacts and upload were written.

## FRICTION

- Read-only auditor cannot recreate fault injection by patching source; missing or inconclusive captures remain gaps.
- Shell download of public artifacts returned HTTP403; the authorized T3 preview opened every selected link and fetched matching bytes successfully.
- Snapshot normalization and missing historical telemetry prevent stronger per-frame viewport claims.
- Rapid recording endings make approximate narration insufficient by itself; inspect final decoded frames and retain typed milestones.
- Native availability is not native execution proof. Full native/Electron and C1 work remains with the lead; disclose these gaps in an unmerged PR without a readiness claim.

Model/harness: gpt-6.1-sol / Codex in T3 Code.
