PR #30873 real dev verification, Linux Boat VM, 2026-11-04 main: 9e85538535c8553901351112ab02dd1dd62db5ee PR: 7d535a8e91586350b699d600ed4cbb774dcca9ff setup - Separate ../main worktree at github/main; vp i. - PR checkout at exact head; vp i. - One background vp run dev at a time. Main stopped by captured PID 24154 before PR started (PID 32848). - No seeded, fixture, replay or mocked data. Playwright from apps/web dependencies, /usr/bin/google-chrome. - Created project /home/user/main through Add project > Local folder. - Created a thread and sent 3 real Codex gpt-6.1-sol turns through web UI. - Stopped main, copied its isolated .t3 state to PR's isolated .t3, then started PR. before, live main database, read-only EXPLAIN QUERY PLAN of production ordinal statements full: SEARCH ... USING INDEX orchestration_v2_projection_turn_items_thread_run_idx (thread_id=?) USE TEMP B-TREE FOR GROUP BY bounded to user message IDs: SEARCH ... USING INDEX orchestration_v2_projection_turn_items_thread_run_idx (thread_id=?) LIST SUBQUERY / SCAN json_each / CREATE BLOOM FILTER USE TEMP B-TREE FOR GROUP BY message ordinal index: absent upgrade, live PR database, read-only EXPLAIN QUERY PLAN of production ordinal statements message ordinal index: present (migration 80) full: SEARCH ... USING INDEX orchestration_v2_projection_turn_items_message_ordinal_idx (thread_id=?) bounded: SEARCH ... USING INDEX orchestration_v2_projection_turn_items_message_ordinal_idx (thread_id=? AND =?) LIST SUBQUERY / SCAN json_each no temporary B-tree on either read full ordinal results: 6/6 identical to main bounded user ordinal results: 3/3 identical to main persisted messages: 6/6 identical to main real provider path, sanitized protocol summary main: thread/start model=gpt-6.1-sol main: turn/start model=gpt-6.1-sol -> turn/completed status=completed (3 turns) PR: thread/resume model=gpt-6.1-sol PR: turn/start model=gpt-6.1-sol -> turn/completed status=completed UI reply: ordinal-alpha ordinal-alpha ordinal-beta ordinal-gamma ordinal-delta This correctly repeats the three earlier replies' markers in order and appends ordinal-delta. Server sqlite trace confirms ordinal SELECT ran during command processing on main and PR. neighboring behavior - All prior messages remained ordered and visible after upgrade and browser reload. - Fourth real provider continuation used the earlier conversation and survived another reload. - Thread menu > Regenerate title changed title to Thread Reply Order Verification; conversation stayed intact. checks, blacksmith-check task-owned worker focused ProjectionStore + migration + upgrade tests: 4 files, 69 passed vp run check:changed github/main: format, lint, knip, graphql, affected typechecks passed; 5 test files, 71 passed Initial check:changed attempt needed PR ancestry fetched into the shallow worker; retried after fetching it and passed. PR CI observed: 28 successful, 0 failing, 0 pending. limits Small app-created conversation proves index selection and preserved behavior, not a production-scale latency improvement. No native desktop/mobile clients, other providers, remote/relay/tunnel modes, large production upgrade cost, or write-overhead measurements.