# Clear without compaction: manual web proof

Use two isolated checkouts, one at each supplied commit. Install each with `vp i`.
Set `PROOF_MODEL` privately to an available Claude model with a context window above 700,000 tokens. The runtime identifier is intentionally excluded from this evidence.

For each side:
1. Run `setup.py <new-t3-home>`, then start `T3CODE_DEV_SEED=0 vp run dev --home-dir <new-t3-home> --no-seed`.
2. Create an empty git project with a README and add it with `node apps/server/src/bin.ts project add <project> --title "Clear context demo" --base-dir <new-t3-home>`.
3. Run `python3 seed.py <checkout> <new-t3-home> <project> <new-output-directory>`. It sends twelve identical synthetic background chunks through the real server and real Claude provider. Both captured threads reported 660,789 tokens and a one-hour prompt-cache TTL.
4. From that checkout, run `node compatibility-proxy.cjs <web-port> <proxy-port> <command-audit-file>`. This forwards the actual app and RPC traffic, omits the server's `freshContext` capability, and replaces its machine label. It does not change thread data, commands, or compaction decisions.
5. Open and pair the browser through the proxy; navigate to the seeded thread. Use a 1280 × 800 viewport and light theme. Close the thread details panel.
6. Evaluate `prepare-browser.js` and wait for the minute clock to update. It advances the client clock by 71 minutes to simulate returning after the cache TTL. Confirm that the Compact 661k chip is pressed. Runtime model labels are redacted in captures; the synthetic custom model display name is "Context proof".
7. Start recording. Type `/clear`, then Escape to dismiss command suggestions. Restore the real clock with `window.restoreProofClock()` immediately before pressing Enter, while the Compact chip is still pressed. This keeps elapsed-time and connection labels accurate during the send. Do not change the compaction toggle.
8. Observe the conversation and outgoing command audit. Base sends `/compact` and queues `/clear`; head sends `/clear` directly. Record the same interaction on each side.

The browser clock is accelerated; no hour-long wall-clock idle wait was performed. Server/provider behavior uses real processes. The old-server capability advertisement is simulated by a transparent proxy, rather than an installed historical server release.

AI-assisted; verified with the tests and tools listed above.
