PR #28335 real dev verification on Linux Baseline: github/main 7195b69954. Original PR: c4506516750f778574a4741e1766077449138ef8. Follow-up: fd77e4bdad6cd0279a6f2a3e6edb5334ee646938. Created /home/user/settlement-verification as a real git repository and added it through the web UI. Created two threads and completed real Codex gpt-6.1-sol turns reading README.md. Settled one thread through its action menu; left the other active. With servers stopped, changed only their isolated projection settledOverride fields to true and false to reproduce legacy storage. No fake threads, provider output, or mocks. BASELINE FAILURE (main, same stored thread data) ' [cause]: SchemaError: Expected "settled" | "active" | null | undefined\n' + ' at ["settledOverride"]\n' + Fresh authenticated browser: GET /api/orchestration/shell?omitIdleSubagents=1&omitOlderSettled=1 -> HTTP 500 (observed twice). Fresh client could not load. Completed-thread startup recovery itself succeeded; a process exit was not reproduced. FOLLOW-UP REGRESSION (Blacksmith, original PR plus added assertion) AssertionError: expected [] to include 'thread:boolean-override-false' Test Files 1 failed (1) Tests 1 failed | 44 skipped (45) FIXED RUNTIME (PR with follow-up, restarted with the legacy booleans again) V2 orchestration recovery completed. Fresh authenticated browser shell -> HTTP 200. Boolean true thread listed in Settled; opened existing conversation with original real provider response. Clicked Un-settle; sent another real Codex gpt-6.1-sol request to read README.md. Observed shell tool execution and response: normalized legacy turn verified. Settled the thread again through its action menu. Boolean false thread remained active; real follow-up returned: normalized false override verified. Read-only database check after client/provider writes: original true field is string "settled"; original false field is null. FOCUSED CHECKS (Blacksmith) Test Files 3 passed (3) Tests 86 passed (86) Duration 10.05s (transform 44%, tests 39%, import 11%, setup 6%) check:changed summary pass format 0.2s pass lint 0.5s pass knip 1/2 5.5s pass knip 2/2 11.3s pass graphql (apps/server) 0.5s pass typecheck (35 packages) 22.1s pass test (4 files) 13.8s CI also runs: full test suites, build, release smoke unused patch check skipped: no dependency files changed pass not cached: files changed during the run LIMITS: native desktop/mobile and other providers not run. Minimum one-day automatic-settlement timer not waited out; candidate selection covered by failing-before/passing-after service regression. Large older-settled UI pagination not created; query/schema tests passed.