# Proof audit pass 1: PR #23601 (head fc736575)

Sources: PR body (`/tmp/ev-23601/body-orig.md`), [probe-transcript.md](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ea9148cf648375fc/probe-transcript.md), checkout `/home/ubuntu/wt/pr-23601`.

## Evidence matrix

| # | Scenario | Status | Evidence | SHA | Kind |
|---|---|---|---|---|---|
| 1 | Idle main, new empty chat typing (before/after) | PARTIAL | Transcript rows `before idle` and `after idle`, plus the body table: sendSync went from 69 ms sampled to 0, and long tasks went from 228/216 to none (max 176). | before = `07d38b8d17`, which is **stale**: it is 951 commits behind the current merge-base `ed3f965e07`, and those commits touch `platform.ts` (+66), `window.ts`, `DesktopIpcHandlers.ts`, `preload.ts` and `contracts/ipc.ts`. after = "fix/issue-12689" **with no SHA** | Real Linux desktop build |
| 2 | Busy main (1 s block every 3 s), typing (before/after) | PARTIAL | Transcript `before busy` / `after busy`: sendSync went from 888 ms sampled (longest 428 ms) to 0, and long tasks went from 885…350 to none (max 81). | Same SHA problems as row 1 | Real Linux desktop build |
| 3 | Secondary env added then removed, seen within one poll | MISSING (real build) | Only the unit test `desktopLocal.test.ts:7` ("refreshes topology over the async bridge read…": secondary appears, empty refresh clears it). The body lists "WSL secondary appearing/disappearing mid-session" as unverified. There is no before baseline. | n/a | Unit test only |
| 4 | Failed refresh keeps the snapshot | PARTIAL | Unit test `desktopLocal.test.ts:7` and `:111`. There was no fault injection on the real build. | n/a | Unit test only |
| 5 | App start with existing user state (before/after) | PARTIAL | After: two screenshots (new chat with seeded threads, Settings › Connections) and the line "2 invokeSync (startup)". Before: the transcript says all runs used seeded state, but there is no before screenshot or startup assertion. | after has no SHA | Real build, after only |

## Cross-checks

- **SHAs.** before is `07d38b8d17` (an ancestor of main, but not the current main `ed3f965e07`). after names only the branch. Neither matches head `fc736575` or the current main. The non-test code is identical across `0427a89a55`..`fc736575`: only `preload.test.ts` changed, plus the merge of main. So the fix code probably equals what ran, but the transcript doesn't prove it, and the merged-in main changes to `platform.ts`/IPC were never run.
- **Body table vs transcript.** The table's sendSync, longest-sendSync and long-task numbers match the transcript exactly. There are two prose inconsistencies:
  - The Problem section says the renderer "froze inside `sendSync` for up to 885 ms". 885 ms is the longest *long task*; the longest sendSync was 428 ms.
  - "Keystroke p99 … stays ~1.06 s both before and after" conflicts with the transcript, where before = 1167 ms and after = 1064 ms.
- **Body vs current main.** The body says "Reproduced … at `origin/main`", but it was measured at the stale `07d38b8d17`.
- **Driver script.** The CDP probe driver and the main-process busy-loop injector are **not published**, and there is no sha256. Only the summary transcript is linked, and it has no raw trace or profile artifacts or hashes.

VERDICT: INSUFFICIENT 1,2,3,5
