# Protocol compatibility evidence index

Scope: evidence delivery for issue23109 in `/home/ubuntu/wt/issue-23109`. Proof-audit pass 1 returned **SUFFICIENT** (reported by parent). Visual fixture matrix: **empty** under the explicit user server-only exception; captured rows **0/0**. No render path changed; no new visual recordings required or captured.

## Exact proof baselines

- Unchanged historical web client: [680152e27b](https://git.cafe/pingdotgg/t3code/commit/680152e27b2a961686389ca69a1557cbb2c55f08).
- Before server / fix base (current main at reproduction): [2333f16884](https://git.cafe/pingdotgg/t3code/commit/2333f168845f853f9ef358d1c4e6cf75189f4e8b).
- After server used for runtime proof: [ba8da1f771](https://git.cafe/pingdotgg/t3code/commit/ba8da1f771f4000163f2a026d809b51621bd4265).
- Delivery HEAD after clean main merge: [de75c79a56](https://git.cafe/pingdotgg/t3code/commit/de75c79a56bc5cc6b2e8da37e6c7be7ff5e612ee). Verified `origin/main...HEAD`: six files, 132 insertions / 8 deletions, limited to contracts and server settings tests; no UI code changed. Runtime capture predates this merge.

## Behavioral proof

[Before runtime transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/579ad3a619e4d817/runtime-before.txt): actual old client against the baseline server received `compactIdleThreads="onReturn"`; its schema expected `boolean | undefined`, then repeatedly closed WebSockets with code 1000. Environment/auth HTTP requests succeeded and `/ws` upgraded with 101; the server subscription recorded interruption.

[After runtime transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0790c71d395b9562/runtime-after.txt): same old client against fixed server received `compactIdleThreads=false` plus `idleCompactionMode="onReturn"`; unchanged historical decoder succeeded. The actual workspace and composer opened, showing project and branch, and the workspace remained connected.

[Original red test log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/dc34a7cac8f61125/red.log): four failures reproduce the incompatible boolean/mode shapes (2 passed, 20 skipped). These tests originally targeted the storage schema; retained assertions subsequently moved to the wire codec. This is not an unchanged run of the final retained tests against main: main lacks the new codec export. Do not present an import failure as behavioral red proof.

Parent reports independent post-merge reruns: **36 contracts, 52 server, 27 client-runtime tests passed**. This delivery step did not rerun tests.

## Supplemental captures and environment

Existing captures only: localhost browser origin `http://localhost:7761`, proxy to server port `15527`; isolated `.t3` state per after transcript. Screenshots evidence a 1280×800 light presentation. DPR is unknown; browser/OS/font details are not established by the supplied evidence.

**Before — old client remains connecting:**

![Before: old client remains connecting against baseline server](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c423fa27708e70ba/browser-screenshot-localhost-mviodq1l-2fa804e2.png)

**After — old client reaches workspace:**

![After: old client opens workspace against fixed server](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/bc5bf2da9e46098c/browser-screenshot-localhost-mviop3f7-a4956427.png)

What else changed in the after screenshot: a provider update toast and git card are visible. These are incidental runtime state; no UI code changed. Transcripts and screenshots are supplemental runtime records, not pixel-comparison or interaction-coverage proof; the protocol proof is the red schema failures plus actual old-client/fixed-server runtime behavior.

## Limits and delivery

Native Electron, mobile, SSH, relay, and tunnel paths remain unverified; historical server binaries were not exercised. Desktop sharing the web UI does not establish native Electron verification. No browser/server actions, source edits, or forge writes were performed during this delivery; only this temporary index and its authorized public upload.

FRICTION

none | Existing evidence was sufficient for this delivery; no new capture required | Preserve exact baseline and test-evolution disclosures with the evidence

Captured rows: **0/0**.
