# Thread title placeholder reproduction

Run each commit as a separate installed checkout with fresh dev state and no live database seeding.
Use seed.py with the same working Pi text-generation selection on each side.
Start each app with `T3CODE_DEV_SEED=0 vp run dev` and pair its browser.
Create an empty git repository with an initial commit, then add it through:
`node apps/server/src/bin.ts project add <repository> --title 'Title placeholder proof' --base-dir .t3`.

In each browser (1280 x 800 CSS viewport, light theme):
1. Click New thread and select Title placeholder proof.
2. Select Replay (dev) / Multi turn for the agent turn. Title generation still uses Pi.
3. Choose Workspace / New worktree, based on main.
4. Close the thread details panel and sidebar, keeping environment identifiers out of captures.
5. Type the exact first message `$implement Issue #140`.
6. Start recording, then click Submit message.
7. Wait for title generation to settle and the replay turn to finish.
8. Blur the composer and take two screenshots at least 500 ms apart; require zero changed pixels.

Observed base: seed title changes to `title`.
Observed head: title stays `$implement Issue #140`; the server trace records three rejected placeholder replies.
The first unsuccessful head setup used a provider selection returning HTTP 400; that run is excluded from the paired evidence.
No application code was modified. No tests were used as proof. Settings are discarded with each isolated home.

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