PR 29667 real Linux dev verification main: 61c3794c32b0eeebfac09add43e403618c65d2d7 PR: bf4935fe67e1d762f6c215ab002c2dc8038a967b Browser: repo Playwright 1.60.0, /usr/bin/google-chrome, 1440x1000 Provider: genuine @agentclientprotocol/codex-acp 2.5.0; local ACP provider; gpt-6.1-sol through the local proxy. Scenario: user-created project rooted at /home/user/t3code; short shell turn, 60 distinct shell calls producing 122 adapter items, short shell followup. No mocks, replay, fixtures or seeded database. One dev server at a time. Raw allocation was observed using temporary console logging at resolveItemOrdinal. No allocation logic was changed. All diagnostic edits were removed. Exact clean head was then exercised with another 60-call overflow and short followup, and reloaded. Raw adapter observations: { "main": { "revision": "61c3794c32b0eeebfac09add43e403618c65d2d7", "turns": [ { "turn": 1, "items": 4, "min": 101, "max": 104 }, { "turn": 2, "items": 122, "min": 201, "max": 322 }, { "turn": 3, "items": 4, "min": 301, "max": 304 } ], "collisions": [ { "ordinal": 301, "turns": [ 2, 3 ] }, { "ordinal": 302, "turns": [ 2, 3 ] }, { "ordinal": 303, "turns": [ 2, 3 ] }, { "ordinal": 304, "turns": [ 2, 3 ] } ] }, "pr": { "revision": "bf4935fe67e1d762f6c215ab002c2dc8038a967b", "turns": [ { "turn": 1, "items": 4, "min": 101, "max": 104 }, { "turn": 2, "items": 122, "min": 201, "max": 322 }, { "turn": 3, "items": 4, "min": 323, "max": 326 } ], "collisions": [] } } Read-only SQLite observations of real persisted runs and positions: { "main": { "runs": [ { "run": 1, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } }, { "run": 2, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } }, { "run": 3, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } } ], "items": [ { "run": 1, "items": 7, "distinct_positions": 7, "first_position": 1000001, "last_position": 1000007 }, { "run": 2, "items": 124, "distinct_positions": 124, "first_position": 2000001, "last_position": 2000124 }, { "run": 3, "items": 6, "distinct_positions": 6, "first_position": 3000001, "last_position": 3000006 } ], "duplicates": [] }, "pr": { "runs": [ { "run": 1, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } }, { "run": 2, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } }, { "run": 3, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } }, { "run": 4, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } } ], "items": [ { "run": 1, "items": 7, "distinct_positions": 7, "first_position": 1000001, "last_position": 1000007 }, { "run": 2, "items": 124, "distinct_positions": 124, "first_position": 2000001, "last_position": 2000124 }, { "run": 3, "items": 6, "distinct_positions": 6, "first_position": 3000001, "last_position": 3000006 }, { "run": 4, "items": 6, "distinct_positions": 6, "first_position": 4000001, "last_position": 4000006 } ], "duplicates": [] }, "exactHeadRepeat": { "runs": [ { "run": 1, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } }, { "run": 2, "status": "completed", "model": { "instanceId": "acpRegistry_codex_acp_verification", "model": "gpt-6.1-sol" } } ], "items": [ { "run": 1, "items": 125, "distinct_positions": 125, "first_position": 1000001, "last_position": 1000125 }, { "run": 2, "items": 6, "distinct_positions": 6, "first_position": 2000001, "last_position": 2000006 } ], "duplicates": [] } } Result: main repeats raw ordinals 301-304 between turns 2 and 3. PR continues at 323-326 with no raw collisions. Both main and PR persist unique client positions. Important limit: no user-visible ordering failure reproduced on current main. EventSink normalizes incoming items through TurnItemPositionStore, which ignores adapter ordinals and assigns durable per-thread positions in million-item run bands. This verifies the raw adapter fix, not the PR description claim of visible timeline misordering. Nearby behavior: short first turn retains 101-104 band; tool execution and final replies complete; conversation survives browser reload; ACP session resumes after server restart; completed items retain unique positions. Not exercised: live Cursor provider (no authenticated account), other ACP agents, Electron desktop, native mobile, relay/tunnel modes, server restart while overflowing turn is active. No source changes committed or pushed. Commands and checks: $ git worktree add ../main github/main $ (cd ../main && vp i) $ T3CODE_DEV_SEED=0 setsid nohup vp run dev > /tmp/main-dev.log 2>&1 & [dev-runner] serverPort=16733 webPort=8693 baseDir=/home/user/main/.t3 $ git switch --detach bf4935fe67e1d762f6c215ab002c2dc8038a967b $ vp i $ T3CODE_HOME=/home/user/main/.t3 T3CODE_DEV_SEED=0 setsid nohup vp run dev > /tmp/dev.log 2>&1 & [dev-runner] serverPort=13773 webPort=5733 baseDir=/home/user/main/.t3 $ blacksmith-check run --id [vp test run packages/provider-core/src/server/turnItemOrdinals.test.ts packages/provider-acp/src/server/adapter.test.ts packages/provider-cursor/src/server/adapter.test.ts] 25 passed across the two matching files; the nonexistent ACP filter matched nothing. $ blacksmith-check run --id [vp test run apps/server/src/orchestration-v2/Adapters/AcpAdapterV2.test.ts] 88 passed 113 passed: allocator 4, Cursor adapter 21, ACP adapter 88 $ blacksmith-check run --id [git fetch --deepen=8 --no-tags https://github.com/pingdotgg/t3code.git pull/29667/head; vp run check:changed github/main] pass: format, lint, knip, unused patches, 40 package typechecks, 26 tests The shallow worker initially lacked a comparison ref. Fetching main and deepening the PR head by 8 commits resolved it.