# Viewed file folding proof

Both runs used the real web client and server from their respective commits, fresh isolated databases, Chromium at 1280 × 800 CSS pixels, and the light theme. Recordings use the browser's 2× capture resolution. No production source was modified.

The seed script uses the repository's scenario state helper to create a synthetic project and a completed replay thread. The preload fixture replaces only requests to api.github.com with a synthetic two-file, one-commit pull request. Viewed mutations update the fixture's marks and subsequent reads return them. All local HTTP, WebSocket, app state, RPC, rendering and fold interactions run normally. There are no live forge writes.

Base: ed52af3a478652c55aeaaf5a64bbf6584dd6a0b4.
Head: 9c174f7f355af036631a089e30946acf37827814.

## Setup on each checkout

1. Install dependencies with `vp i`.
2. Run the repository's `scripts/scenarios/start-app.ts web <isolated-home> 127.0.0.1 <port>` with `T3CODE_DEV_SEED=0`, `GH_TOKEN=synthetic-forge-fixture`, and `NODE_OPTIONS=--import=<forge-fixture.mjs>`.
3. Place `manual-proof-seed.ts` beside the repository's `scripts/scenarios/t3.ts` and run it with the isolated home as its argument. Set `T3_SCENARIO_APP_DIR` to that checkout.
4. Open the generated pairing URL, wait for the thread list, select Settings → Diffs → Default diff file state → Expanded.
5. Open the seeded thread. Use Ctrl+K → Link pull request to thread, enter the synthetic fixture URL `https://github.com/review-demo/sample/pull/1`, then click its PR button to open the right panel and select Code.

## Recorded reproduction on both commits

1. Mark the first file, `src/footer.ts`, Viewed. It folds immediately.
2. Close the right panel using Toggle right panel, then reopen it using the same control and select Code.
3. Capture reopened-code: base retains the Viewed tick but expands the file; head retains the tick and keeps the file folded.
4. Change Diff scope from All commits to Improve review greetings, the single commit containing both files.
5. Capture single-commit: base expands the viewed file; head keeps it folded.
6. Change back to All commits. The same difference remains.
7. On head, explicitly expand the viewed file using its chevron. The file opens while retaining the Viewed tick; the supplementary screenshot records this.

Every uploaded still was taken after two screenshots 500 ms apart had zero differing pixels. The recordings and all stills were visually inspected before upload.

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