PR 30773 real dev verification, Linux Boat VM, 2026-11-04 Client: repository Playwright 1.60.0 with /usr/bin/google-chrome Provider: real Codex gpt-6.1-sol through local proxy No mocks, seeded demo data, or fixtures. Project, thread, script settings, and turns created through web UI. Baseline github/main: 9e85538535c8553901351112ab02dd1dd62db5ee $ git worktree add ../main github/main $ vp i $ setsid nohup vp run dev ... [dev-runner] serverPort=16733 webPort=8693 baseDir=/home/user/main/.t3 Setup command: printf ready > setup-marker.txt Run automatically on worktree creation: enabled Wait for it to finish before the agent starts: enabled Initial new worktree: Codex read setup-marker.txt -> ready $ git -C /home/user/recovery-proof worktree remove --force Continue the same thread through web composer: Codex: setup-marker.txt does not exist, so there are no contents to report. Shell: marker-missing Baseline server stopped by captured process group PID before starting PR server. Original PR head: 6016788feb6f27c9dee4c55f129e5c53933514c1 $ vp i $ setsid nohup vp run dev --home-dir /home/user/main/.t3 ... [dev-runner] serverPort=13773 webPort=5733 baseDir=/home/user/main/.t3 Same project/thread/data. Removed managed worktree again. Continued through web composer: Codex: setup-marker.txt exists. its exact contents are: ready Ordinary continuation: ready; setup run-counter file stayed absent (setup did not rerun). Sync failing setup (printf setup-failure >&2; false): visible Couldn't set up restored workspace, exit 1. Provider did not start. After changing setup back to success and deleting worktree while failed setup shell survived: Original PR: setup still exited 1 and marker stayed missing (old shell retained deleted cwd). Fix: b127714baac48bd5ad3019fd9553b2dd81199334 Close setup terminal before completion listeners and fresh terminal open. Repeated sync failure, edited setup back to success, externally removed worktree without restarting server. Before recovery, readlink reported: /proc/46198/cwd /home/user/main/.t3/worktrees/recovery-proof/t3-69a30d42 (deleted) /proc/46682/cwd /home/user/main/.t3/worktrees/recovery-proof/t3-69a30d42 (deleted) Then continued through web composer: Setup terminal: __T3_SETUP_DONE___:0 Codex: setup-marker.txt exists. its contents are: ready Actual restored file: ready Async setup (sleep 30; printf async-ready > async-marker.txt), wait disabled: Codex completed first: async-marker.txt does not exist right now (test -f exited with 1). After setup completed, actual marker: async-ready Restored original synchronous script and repeated recovery: Codex read ready. Final fix: 756428252c0ee69d20827cbc414936ad39c64d28 Stop during synchronous delayed setup originally left setup running and wrote its delayed marker. Final source: setup started marker present; clicked Stop generation in web client. After 18 seconds, delayed cancelled-setup-marker.txt absent, provider never started. Repeated twice. Restored normal setup and removed checkout again: real Codex read ready. Cancellation interrupts the command writer, removes readiness listeners, and closes setup terminal. Blacksmith: vp run check:changed 8b44f42b14c8e273156474a924ccf29680dd7857 PASS format, lint, both knip passes, generated GraphQL, 3 affected typechecks, 172 tests in 5 files. Not exercised: native desktop/mobile clients, Windows/macOS, other providers, relay/tunnel, fenced-link recovery or cancellation under contention.