PR: https://git.cafe/pingdotgg/t3code/pulls/30898 main: 9e85538535c8553901351112ab02dd1dd62db5ee head: f93906dd0574b1e95f20d2dc0408bff4c6fa9149 Linux, Node v24.22.1, real dev web/server, Codex gpt-6.1-sol via local proxy. Created cli-verification project at /home/user/t3code through `t3 project add` against running main. Started real provider thread using `t3 thread start ... --provider codex --model gpt-6.1-sol --wait --json`. Reply: main-provider-ok; status: completed. MAIN (server 16733, web 8693, /home/user/main/.t3) $ node apps/server/src/bin.ts thread list --project /home/user/t3code --json --log-level debug --base-dir /home/user/main/.t3 >stdout 2>stderr exit 0 stdout begins: [17:03:29.752] DEBUG (#29): Migrations complete { stdout continues: latest_migration_name: 'DelegatedRecoveryIndexes', latest_migration_id: '79' stdout then: DEBUG: Database schema is current stdout finally: [{"threadId":"mcp:754a053f-9464-4f1b-833b-823bfbcf7a6f",...}] JSON.parse(stdout): FAIL (Expected ',' or ']' after array element, position 3) thread show --json --log-level debug: same leading diagnostics on stdout. thread send THREAD 'reply exactly: cli-followup-ok. do not use tools or edit files.' --wait --json --log-level debug: exit 0; completed real provider turn; stdout has leading diagnostics, then reply cli-followup-ok; JSON.parse fails. Stopped main by captured process group PID, copied only task-created state into PR's isolated .t3. PR (server 13773, web 5733, /home/user/t3code/.t3) Same list/show/send commands with same thread and --log-level debug: exit 0; JSON.parse(stdout): PASS on all three. stderr: DEBUG Migrations complete; DEBUG Database schema is current. thread send response: {"threadId":"mcp:754a053f-9464-4f1b-833b-823bfbcf7a6f","runId":"run:thread:mcp%3A754a053f-9464-4f1b-833b-823bfbcf7a6f:ordinal:3","status":"completed","reply":"cli-followup-ok","error":null} Default-level thread list --json: parses successfully; status completed; model gpt-6.1-sol. Plain thread show: stdout retains title, thread status, provider/model, and conversation text. Real browser check: Playwright from repo dependencies + /usr/bin/google-chrome. Opened actual thread, typed into composer and pressed Enter: 'reply exactly: browser-provider-ok. do not use tools or edit files.' Saw browser-provider-ok in conversation; CLI then confirmed completed status. Video trimmed to remove initial app-loading frames. No mocks, demo provider, or fabricated project/thread/database data. Fresh-home PR startup (one dev server at a time): vp run dev --home-dir /home/user/pr30898-startup --no-seed >stdout 2>stderr stdout: pairingUrl: [one-time token redacted] stderr: Migrations ran successfully; Listening on http://127.0.0.1:13773; Authentication required. No pairing token in stderr. Blacksmith checks: vp test run apps/server/src/binCli.test.ts apps/server/src/serverLogger.test.ts: 10 tests passed. vp run check:changed 9e85538535c8553901351112ab02dd1dd62db5ee: passed format/lint/knip/graphql/3 affected typechecks/19 tests. Worker's shallow comparison history required repair before check:changed could run. Existing future-migration warning regression passed; it uses the PR's own fixture and is supplemental, not the real-app proof above. Limitations: No naturally newer database exists on this VM (main and PR both have migration 79; installed runtime has 67). The real-app before/after uses authentic migration DEBUG logs with --log-level debug, not a default-level future-migration WARN. Default-level future-migration warning not independently reproduced through the real server; no fabricated migration row was inserted. No native desktop failure-dump labeling, macOS launchd/stale-launcher, Windows service, iOS/Android, tunnel/remote-device, or other providers exercised. No source changes, commits, or pushes.