# Repeated Claude session import proof

Synthetic data only. No provider turn runs. The web app uses fresh scenario state for each commit.

The fixture has 76 Claude JSONL transcripts. Each begins with a 900 KiB ignored progress record before the first cwd record; all timestamps and mtimes are within 30 days. The newest 74 use `Recent-work`; the oldest two use `Older-hidden-work`. The final transcript is titled `Oldest known conversation`. This exceeds the unchanged 64 MiB metadata scan budget without changing application code or limits.

From an installed checkout of current main, put these three files together at the checkout root: `seed.py`, `repeated-session-import.e2e.ts`, and `run-proof.sh`. Run `bash run-proof.sh <empty-fixture-directory>`. The helper changes only the scenario harness: enable the Claude import source, point it at synthetic data explicitly (e2e filters inherited environment variables), and select the web target. The application under comparison is the unmodified base or head commit.

The scenario selects every offered project and imports three times, reopening `/welcome` between imports. It captures each pass, reopens the project review, and searches all threads for `Oldest`. Its expectation covers the missing `Oldest known conversation` result. Synthetic parent paths are hidden by a capture-only stylesheet on both sides.

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