PR 29819, exact head ae4c2312e997fbe245a0d809d298fd0c79ce4fb6 Baseline github/main: 61c3794c32 Linux, real dev server, Playwright 1.60.0 + /usr/bin/google-chrome. Project created through New project UI: image-title-verification. Real Codex gpt-6.1-sol image turn completed: image verification ready. Title model: OpenCode 2.0.28 verification/gpt-6.1-sol, real local OpenAI-compatible proxy. Baseline main: Existing PNG -> generated title Verify T3 Logo. Moved uploaded task-local attachment away, then Thread actions > Regenerate title. 04:26:36.148 WARN Thread title generation failed InvalidRequestError: Unable to read attachment: file:///home/user/main/.t3/userdata/attachments/549718ba-a29a-4511-ae56-af3d695c20cb-e1bff409-7e51-47d7-a351-7460e7c8fce7.png PR head, same project/thread/data: Same missing PNG. UI rename to Missing image verification, then Regenerate title. Persisted event 291 04:29:17.441 title Missing image verification Persisted event 294 04:29:25.641 title Verify T3 Logo Restored PNG. UI regeneration succeeded: Verify Attached T3 Logo. External real OpenCode server on 4098, forwarding observer on 4099: POST /api/session model verification/gpt-6.1-sol, title T3 Code generateThreadTitle POST /api/session//prompt body {"id":null,"text":"[omitted]","delivery":null,"resume":null} No files field. Regenerated title T3 Logo Verification. Real Codex gpt-6.1-sol follow-up on PR completed: pr provider path verified. Managed server again, PNG missing again. Recorded UI regeneration: Persisted event 336 04:35:55.197 title Missing image verification Persisted event 339 04:36:05.656 title Verify Attached T3 Logo Blacksmith focused existing tests: cd apps/server && vp test run src/textGeneration/OpenCode2TextGeneration.test.ts 1 test file passed, 4 tests passed. GitCafe CI observation: 31 successful, 0 failing, 0 pending at this head. No source edits or pushes. Not exercised: native mobile/desktop clients, remote filesystem isolation, Windows URI encoding, every auxiliary text operation. SVG is classified as a file by the web upload flow, so native-image SVG filtering was covered only by existing focused test rows. Free OpenCode model was unavailable due to usage limit; real proxy model used instead.