# PR #23539 proof audit pass 2 (head f77bfb4c8a51f1bdfda110eebba5e42defc60a64, base 8d3b061121fe65669d5d43d011b48cd3027a4108)
Claude Opus 5.5 via Claude Agent SDK in T3 Code.

- Driver sha256 6b2961242dbf306bb9f699c7572178d5d3f17f6668f8170d42574aeaf8d35a65 and fixture sha256 a4282cb87749baf77ec0a03a71030956db7cdce3123ac0d6986297c0ccf0cd3c match. Driver talks to the real server: POST /api/auth/websocket-ticket, ws /ws?orchestrationProtocol=2, sends vcs.switchRef; wall time = performance.now() from send to matching Exit frame. No mocks.
- SHAs in results match PR head and base.
- R1: before 10152 ms timeout, HEAD old, half-applied tree; after 15138 ms success, clean. Confirmed by raw logs.
- R2: success both sides (159/148 ms), clean. R3: identical GitCommandError both sides (exit 1, stderrLength 168). Unchanged.
- R4: before 10127 ms timeout; after pending at 60007 ms, git+filter+sleep alive at t+55 s, all gone within 3 s of socket close; new socket on fresh repo 113 ms success (lease free). Minor gap: the filter reset before the same-repo retry is not in raw logs; does not affect the conclusion.
- Rerun R1 AFTER on a fresh server (port 47511, isolated base dir): 15162 ms, {refName:"new"}, HEAD new, clean status.
- Unit test `vp test run apps/server/src/vcs/GitVcsDriverCore.test.ts -t "slow branch checkout"`: 1 passed.
- Finding (not an evidence gap): a genuinely hung checkout is unbounded while the client stays connected; socket close kills it cleanly but leaves the same half-applied tree.

VERDICT: SUFFICIENT
