PR 29574 runtime verification, Linux, 2026-11-03 main: cefb544af3 (github/main fetched this turn) PR: 88f5927444de8d989676cc5d591021470a00c7a9 Codex CLI: 0.164.0; real model: gpt-6.1-sol via local proxy Each checkout: timeout 600 vp i Servers launched separately with setsid/nohup and bounded timeout. main: serverPort=16733 webPort=8693; stopped before PR launch. PR: serverPort=13773 webPort=5733 App flow: paired Chrome -> Settings/Providers -> set isolated CODEX_HOME -> add local project /tmp/verify29574/project -> select GPT-6.1-Sol -> submit. Main real response: WAL_BASELINE_OK Main shadow setting created links, including: goals_1.sqlite -> /tmp/verify29574/shared/goals_1.sqlite state_5.sqlite -> /tmp/verify29574/shared/state_5.sqlite thread_history_1.sqlite -> /tmp/verify29574/shared/thread_history_1.sqlite Main accepted this layout; no Windows WAL split reproduced on Linux. PR pointing at that same legacy shadow: Driver failed to create instance: Codex SQLite recovery is required for shadow-home entry goals_1.sqlite ... No SQLite files were changed. Same refusal with explicit CODEX_SQLITE_HOME override. Legacy SQLite link targets stayed unchanged. Goals/state database and sidecar hashes stayed unchanged across refusal. Logs sidecars are excluded from that claim: an existing app-server logged to them. PR fresh shadow: /tmp/verify29574/pr-shadow Observed actual Codex subprocess environment (only these keys read): CODEX_HOME=/tmp/verify29574/pr-shadow CODEX_SQLITE_HOME=/tmp/verify29574/shared Fresh shadow contains zero *.sqlite / *.sqlite-wal / *.sqlite-shm entries. Real response: WAL_BASELINE_OK Continued same thread, shell git status --short: clean, WAL_CONTINUE_OK Recorded another real response: WAL_RECORDED_OK Settings/Providers -> CODEX_SQLITE_HOME=/tmp/verify29574/override New thread real response: WAL_OVERRIDE_OK Override directory contains real state_5, goals_1, memories_1, logs_2, and queue_1 SQLite databases; queue WAL/SHM also colocated there. Blacksmith: vp test run apps/server/src/provider/Drivers/CodexHomeLayout.test.ts apps/server/src/provider/CodexManagedRuntime.test.ts apps/server/src/provider/Drivers/CodexDriver.test.ts 3 files passed; 40 tests passed; 2 Windows-only cases skipped. Cafe reports 29/29 successful CI contexts at exact head. No source changes, commits, or pushes. Not exercised: Windows split-WAL failure and native Windows recovery; managed ChatGPT OAuth identity retention (proxy uses existing CLI setup); macOS, Electron shell, iOS/Android, relay/tunnel.