# R5 branch-switch-turn-end-zero

Evidence for [#33263](https://git.cafe/pingdotgg/t3code/pull/33263). Before: A clears twice and B remains null after its completed turn. After: A clears once and the eligible B turn publishes B upstream/ahead 2/behind 1/default-ahead 2, with no fetch.

Both turns are bound to feature/B, completed, and checkpointed; the stream is passive throughout.

AI-assisted; verified with the tests and tools listed above.

| Before | After |
|---|---|
| [4c361199f4](https://git.cafe/pingdotgg/t3code/commit/4c361199f47f6ea32a2c14835df392640d0f7c63) | [456327574c](https://git.cafe/pingdotgg/t3code/commit/456327574c52ad1c7624083bb97eaf382edd1732) |
| [Full timestamped log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/caf0d6885552cef4/R5-before.log) | [Full timestamped log](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/62b0622e99b29392/R5-after.log) |

Before environment: Linux 6.8.0-117-generic x64; Node v26.12.1; `T3CODE_DEV_SEED=0 node apps/server/src/bin.ts serve --host 127.0.0.1 --port 38023 --base-dir /tmp/lead-33263-r1/evidence-capture/2026-11-10T07-13-12.552Z-before-R5/t3 --no-browser --log-level warn --dev-url http://127.0.0.1:38023`; settings: `automaticGitFetchInterval=0 seconds`. Fresh explicit base dir; Replay provisioned by `--dev-url`; forwarding git wrapper first on PATH. No dev runner or live-data seeding.

After environment: Linux 6.8.0-117-generic x64; Node v26.12.1; `T3CODE_DEV_SEED=0 node apps/server/src/bin.ts serve --host 127.0.0.1 --port 35385 --base-dir /tmp/lead-33263-r1/evidence-capture/2026-11-10T07-13-12.671Z-after-R5/t3 --no-browser --log-level warn --dev-url http://127.0.0.1:35385`; settings: `automaticGitFetchInterval=0 seconds`. Fresh explicit base dir; Replay provisioned by `--dev-url`; forwarding git wrapper first on PATH. No dev runner or live-data seeding.

The recordings below preserve action/event order independently in each column. Rows align by event ordinal, not wall-clock synchronization. Full payloads, command traces, and server completion spans are in the linked logs. Bounded windows establish only the recorded absence of an update, not a full 30-second delay.

| Before recording | After recording |
|---|---|
| `2026-11-10T07:13:12.906Z +353ms` SYNTHETIC_SEED {"facts":{"A":{"status":"## feature/A...origin/feature/A [ahead 1]","divergence":"1\t0"},"B":{"status":"## feature/B...origin/feature/B [ahead 2, behind 1]","divergence":"2\t1"}}} | `2026-11-10T07:13:13.042Z +370ms` SYNTHETIC_SEED {"facts":{"A":{"status":"## feature/A...origin/feature/A [ahead 1]","divergence":"1\t0"},"B":{"status":"## feature/B...origin/feature/B [ahead 2, behind 1]","divergence":"2\t1"}}} |
| `2026-11-10T07:13:12.915Z +362ms` SERVER_SPAWNED {"pid":284129} | `2026-11-10T07:13:13.047Z +375ms` SERVER_SPAWNED {"pid":284158} |
| `2026-11-10T07:13:18.996Z +6443ms` RPC_SEND server.updateSettings automaticGitFetchInterval=0ms | `2026-11-10T07:13:19.224Z +6552ms` RPC_SEND server.updateSettings automaticGitFetchInterval=0ms |
| `2026-11-10T07:13:19.123Z +6571ms` RPC_RESULT server.updateSettings {"automaticGitFetchInterval":{"_id":"Duration","_tag":"Millis","millis":0}} | `2026-11-10T07:13:19.333Z +6661ms` RPC_RESULT server.updateSettings {"automaticGitFetchInterval":{"_id":"Duration","_tag":"Millis","millis":0}} |
| `2026-11-10T07:13:19.124Z +6571ms` RPC_SEND vcs.refreshStatus localOnly=False | `2026-11-10T07:13:19.334Z +6662ms` RPC_SEND vcs.refreshStatus localOnly=False |
| `2026-11-10T07:13:21.085Z +8532ms` RPC_RESULT vcs.refreshStatus branch=feature/A remote={"hasUpstream":true,"aheadCount":1,"behindCount":0,"aheadOfDefaultCount":1} pr=null | `2026-11-10T07:13:21.268Z +8596ms` RPC_RESULT vcs.refreshStatus branch=feature/A remote={"hasUpstream":true,"aheadCount":1,"behindCount":0,"aheadOfDefaultCount":1} pr=null |
| `2026-11-10T07:13:21.086Z +8533ms` SUBSCRIBE passive-1 includeRemote=False | `2026-11-10T07:13:21.269Z +8597ms` SUBSCRIBE passive-1 includeRemote=False |
| `2026-11-10T07:13:21.137Z +8584ms` VCS_EVENT passive-1 snapshot {"isRepo":true,"refName":"feature/A","isDefaultRef":false,"hasPrimaryRemote":true,"hasWorkingTreeChanges":false,"branchChanges":{"baseRef":"origin/main","insertions":1,"deletions":0}} worktree={"insertions":0,"deletions":0,"files":[]} remote={"hasUpstream":true,"aheadCount":1,"behindCount":0,"aheadOfDefaultCount":1} pr=null | `2026-11-10T07:13:21.309Z +8637ms` VCS_EVENT passive-1 snapshot {"isRepo":true,"refName":"feature/A","isDefaultRef":false,"hasPrimaryRemote":true,"hasWorkingTreeChanges":false,"branchChanges":{"baseRef":"origin/main","insertions":1,"deletions":0}} worktree={"insertions":0,"deletions":0,"files":[]} remote={"hasUpstream":true,"aheadCount":1,"behindCount":0,"aheadOfDefaultCount":1} pr=null |
| `2026-11-10T07:13:21.137Z +8585ms` EXTERNAL_SWITCH {"branch":"feature/B"} | `2026-11-10T07:13:21.310Z +8638ms` EXTERNAL_SWITCH {"branch":"feature/B"} |
| `2026-11-10T07:13:21.156Z +8603ms` GIT_STATUS {"value":"## feature/B...origin/feature/B [ahead 2, behind 1]"} | `2026-11-10T07:13:21.322Z +8650ms` GIT_STATUS {"value":"## feature/B...origin/feature/B [ahead 2, behind 1]"} |
| `2026-11-10T07:13:21.157Z +8604ms` RPC_SEND vcs.refreshStatus localOnly=True | `2026-11-10T07:13:21.323Z +8651ms` RPC_SEND vcs.refreshStatus localOnly=True |
| `2026-11-10T07:13:21.583Z +9030ms` VCS_EVENT passive-1 remoteUpdated remote=null | `2026-11-10T07:13:21.738Z +9066ms` VCS_EVENT passive-1 remoteUpdated remote=null |
| `2026-11-10T07:13:21.585Z +9032ms` RPC_RESULT vcs.refreshStatus branch=feature/B remote={"hasUpstream":false,"aheadCount":0,"behindCount":0,"aheadOfDefaultCount":0} pr=null | `2026-11-10T07:13:21.739Z +9067ms` RPC_RESULT vcs.refreshStatus branch=feature/B remote={"hasUpstream":false,"aheadCount":0,"behindCount":0,"aheadOfDefaultCount":0} pr=null |
| `2026-11-10T07:13:21.591Z +9038ms` RPC_SEND projects.mutate project.create branch= | `2026-11-10T07:13:21.749Z +9077ms` RPC_SEND projects.mutate project.create branch= |
| `2026-11-10T07:13:21.596Z +9043ms` VCS_EVENT passive-1 localUpdated {"isRepo":true,"refName":"feature/B","isDefaultRef":false,"hasPrimaryRemote":true,"hasWorkingTreeChanges":false,"branchChanges":{"baseRef":"origin/main","insertions":2,"deletions":0}} worktree={"insertions":0,"deletions":0,"files":[]} | `2026-11-10T07:13:21.754Z +9082ms` VCS_EVENT passive-1 localUpdated {"isRepo":true,"refName":"feature/B","isDefaultRef":false,"hasPrimaryRemote":true,"hasWorkingTreeChanges":false,"branchChanges":{"baseRef":"origin/main","insertions":2,"deletions":0}} worktree={"insertions":0,"deletions":0,"files":[]} |
| `2026-11-10T07:13:21.596Z +9043ms` VCS_EVENT passive-1 remoteUpdated remote=null | `2026-11-10T07:13:21.788Z +9116ms` RPC_RESULT projects.mutate {"id":"644b7871-67f7-406b-aa1c-38d56c616d9b","title":"Synthetic R5","workspaceRoot":"/tmp/lead-33263-r1/evidence-capture/2026-11-10T07-13-12.671Z-after-R5/workspace/demo","repositoryIdentity":null,"faviconPath":null,"projectIcon":null,"defaultModelSelection":null,"defaultThreadEnvMode":null,"autoPull":false,"scripts":[],"pinnedAt":null,"archivedAt":null,"createdAt":"2026-11-10T07:13:21.762Z","updatedAt":"2026-11-10T07:13:21.762Z","deletedAt":null} |
| `2026-11-10T07:13:21.643Z +9090ms` RPC_RESULT projects.mutate {"id":"b5310fa5-5cfe-4027-8b50-29bbe136ac52","title":"Synthetic R5","workspaceRoot":"/tmp/lead-33263-r1/evidence-capture/2026-11-10T07-13-12.552Z-before-R5/workspace/demo","repositoryIdentity":null,"faviconPath":null,"projectIcon":null,"defaultModelSelection":null,"defaultThreadEnvMode":null,"autoPull":false,"scripts":[],"pinnedAt":null,"archivedAt":null,"createdAt":"2026-11-10T07:13:21.603Z","updatedAt":"2026-11-10T07:13:21.603Z","deletedAt":null} | `2026-11-10T07:13:21.788Z +9116ms` RPC_SEND orchestration.dispatchCommand thread.create branch=feature/B |
| `2026-11-10T07:13:21.644Z +9091ms` RPC_SEND orchestration.dispatchCommand thread.create branch=feature/B | `2026-11-10T07:13:21.849Z +9177ms` RPC_RESULT orchestration.dispatchCommand {"sequence":2} |
| `2026-11-10T07:13:21.707Z +9154ms` RPC_RESULT orchestration.dispatchCommand {"sequence":2} | `2026-11-10T07:13:21.850Z +9178ms` REPLAY_THREAD_BOUND {"threadId":"5c717f71-a869-4ce6-9aaa-e3463d0753a2","branch":"feature/B","provider":"Replay (dev)","scenario":"Plan and reads"} |
| `2026-11-10T07:13:21.708Z +9155ms` REPLAY_THREAD_BOUND {"threadId":"f5279350-fde5-4ed5-8d4d-8acdde9036c8","branch":"feature/B","provider":"Replay (dev)","scenario":"Plan and reads"} | `2026-11-10T07:13:21.889Z +9217ms` TURN_EVENT snapshot  sequence= status= |
| `2026-11-10T07:13:21.742Z +9189ms` TURN_EVENT snapshot  sequence= status= | `2026-11-10T07:13:21.890Z +9218ms` RPC_SEND orchestration.dispatchCommand message.dispatch branch= |
| `2026-11-10T07:13:21.743Z +9190ms` RPC_SEND orchestration.dispatchCommand message.dispatch branch= | `2026-11-10T07:13:21.980Z +9308ms` RPC_RESULT orchestration.dispatchCommand {"sequence":10} |
| `2026-11-10T07:13:21.808Z +9255ms` RPC_RESULT orchestration.dispatchCommand {"sequence":10} | `2026-11-10T07:13:21.997Z +9325ms` TURN_EVENT event thread.metadata-updated sequence=3 status= |
| `2026-11-10T07:13:21.816Z +9263ms` TURN_EVENT event thread.metadata-updated sequence=3 status= | `2026-11-10T07:13:21.997Z +9325ms` TURN_EVENT event provider-thread.updated sequence=4 status=not_loaded |
| `2026-11-10T07:13:21.816Z +9263ms` TURN_EVENT event provider-thread.updated sequence=4 status=not_loaded | `2026-11-10T07:13:21.997Z +9325ms` TURN_EVENT event run.created sequence=5 status=starting |
| `2026-11-10T07:13:21.816Z +9263ms` TURN_EVENT event run.created sequence=5 status=starting | `2026-11-10T07:13:21.997Z +9325ms` TURN_EVENT event run-attempt.created sequence=6 status=pending |
| `2026-11-10T07:13:21.816Z +9263ms` TURN_EVENT event run-attempt.created sequence=6 status=pending | `2026-11-10T07:13:21.997Z +9325ms` TURN_EVENT event node.updated sequence=7 status=pending |
| `2026-11-10T07:13:21.817Z +9264ms` TURN_EVENT event node.updated sequence=7 status=pending | `2026-11-10T07:13:21.998Z +9326ms` TURN_EVENT event checkpoint-scope.created sequence=8 status= |
| `2026-11-10T07:13:21.817Z +9264ms` TURN_EVENT event checkpoint-scope.created sequence=8 status= | `2026-11-10T07:13:21.998Z +9326ms` TURN_EVENT event message.updated sequence=9 status= |
| `2026-11-10T07:13:21.817Z +9264ms` TURN_EVENT event message.updated sequence=9 status= | `2026-11-10T07:13:21.998Z +9326ms` TURN_EVENT event turn-item.updated sequence=10 status=completed |
| `2026-11-10T07:13:21.817Z +9264ms` TURN_EVENT event turn-item.updated sequence=10 status=completed | `2026-11-10T07:13:22.216Z +9544ms` TURN_EVENT event provider-session.attached sequence=11 status=ready |
| `2026-11-10T07:13:22.023Z +9470ms` TURN_EVENT event provider-session.attached sequence=11 status=ready | `2026-11-10T07:13:22.284Z +9612ms` TURN_EVENT event provider-session.updated sequence=12 status=ready |
| `2026-11-10T07:13:22.095Z +9542ms` TURN_EVENT event provider-session.updated sequence=12 status=ready | `2026-11-10T07:13:22.285Z +9613ms` TURN_EVENT event provider-thread.updated sequence=13 status=active |
| `2026-11-10T07:13:22.095Z +9542ms` TURN_EVENT event provider-thread.updated sequence=13 status=active | `2026-11-10T07:13:22.285Z +9613ms` TURN_EVENT event run.updated sequence=14 status=running |
| `2026-11-10T07:13:22.096Z +9543ms` TURN_EVENT event run.updated sequence=14 status=running | `2026-11-10T07:13:22.285Z +9613ms` TURN_EVENT event run-attempt.updated sequence=15 status=running |
| `2026-11-10T07:13:22.096Z +9543ms` TURN_EVENT event run-attempt.updated sequence=15 status=running | `2026-11-10T07:13:22.285Z +9613ms` TURN_EVENT event node.updated sequence=16 status=running |
| `2026-11-10T07:13:22.096Z +9543ms` TURN_EVENT event node.updated sequence=16 status=running | `2026-11-10T07:13:22.875Z +10203ms` TURN_EVENT event provider-turn.updated sequence=17 status=running |
| `2026-11-10T07:13:22.609Z +10056ms` TURN_EVENT event provider-turn.updated sequence=17 status=running | `2026-11-10T07:13:22.886Z +10214ms` TURN_EVENT event provider-thread.updated sequence=18 status=active |
| `2026-11-10T07:13:22.612Z +10059ms` TURN_EVENT event provider-thread.updated sequence=18 status=active | `2026-11-10T07:13:23.212Z +10540ms` TURN_EVENT event node.updated sequence=19 status=completed |
| `2026-11-10T07:13:22.987Z +10434ms` TURN_EVENT event node.updated sequence=19 status=completed | `2026-11-10T07:13:23.225Z +10553ms` TURN_EVENT event message.updated sequence=20 status= |
| `2026-11-10T07:13:23.012Z +10459ms` TURN_EVENT event message.updated sequence=20 status= | `2026-11-10T07:13:23.230Z +10558ms` TURN_EVENT event turn-item.updated sequence=21 status=completed |
| `2026-11-10T07:13:23.016Z +10463ms` TURN_EVENT event turn-item.updated sequence=21 status=completed | `2026-11-10T07:13:23.233Z +10561ms` TURN_EVENT event node.updated sequence=22 status=running |
| `2026-11-10T07:13:23.019Z +10466ms` TURN_EVENT event node.updated sequence=22 status=running | `2026-11-10T07:13:23.237Z +10565ms` TURN_EVENT event plan.updated sequence=23 status=active |
| `2026-11-10T07:13:23.021Z +10468ms` TURN_EVENT event plan.updated sequence=23 status=active | `2026-11-10T07:13:23.239Z +10567ms` TURN_EVENT event turn-item.updated sequence=24 status=running |
| `2026-11-10T07:13:23.022Z +10469ms` TURN_EVENT event turn-item.updated sequence=24 status=running | `2026-11-10T07:13:23.466Z +10794ms` TURN_EVENT event node.updated sequence=25 status=running |
| `2026-11-10T07:13:23.226Z +10673ms` TURN_EVENT event node.updated sequence=25 status=running | `2026-11-10T07:13:23.467Z +10795ms` TURN_EVENT event turn-item.updated sequence=26 status=pending |
| `2026-11-10T07:13:23.232Z +10679ms` TURN_EVENT event turn-item.updated sequence=26 status=pending | `2026-11-10T07:13:23.720Z +11048ms` TURN_EVENT event node.updated sequence=27 status=completed |
| `2026-11-10T07:13:23.467Z +10914ms` TURN_EVENT event node.updated sequence=27 status=completed | `2026-11-10T07:13:23.749Z +11077ms` TURN_EVENT event turn-item.updated sequence=28 status=completed |
| `2026-11-10T07:13:23.469Z +10916ms` TURN_EVENT event turn-item.updated sequence=28 status=completed | `2026-11-10T07:13:23.972Z +11300ms` TURN_EVENT event node.updated sequence=29 status=running |
| `2026-11-10T07:13:23.737Z +11184ms` TURN_EVENT event node.updated sequence=29 status=running | `2026-11-10T07:13:23.978Z +11306ms` TURN_EVENT event turn-item.updated sequence=30 status=pending |
| `2026-11-10T07:13:23.741Z +11188ms` TURN_EVENT event turn-item.updated sequence=30 status=pending | `2026-11-10T07:13:24.217Z +11545ms` TURN_EVENT event node.updated sequence=31 status=completed |
| `2026-11-10T07:13:24.011Z +11458ms` TURN_EVENT event node.updated sequence=31 status=completed | `2026-11-10T07:13:24.218Z +11546ms` TURN_EVENT event turn-item.updated sequence=32 status=completed |
| `2026-11-10T07:13:24.021Z +11468ms` TURN_EVENT event turn-item.updated sequence=32 status=completed | `2026-11-10T07:13:24.488Z +11816ms` TURN_EVENT event node.updated sequence=33 status=completed |
| `2026-11-10T07:13:24.225Z +11672ms` TURN_EVENT event node.updated sequence=33 status=completed | `2026-11-10T07:13:24.495Z +11823ms` TURN_EVENT event plan.updated sequence=34 status=completed |
| `2026-11-10T07:13:24.228Z +11675ms` TURN_EVENT event plan.updated sequence=34 status=completed | `2026-11-10T07:13:24.509Z +11837ms` TURN_EVENT event turn-item.updated sequence=35 status=completed |
| `2026-11-10T07:13:24.231Z +11678ms` TURN_EVENT event turn-item.updated sequence=35 status=completed | `2026-11-10T07:13:24.536Z +11864ms` TURN_EVENT event node.updated sequence=36 status=completed |
| `2026-11-10T07:13:24.299Z +11746ms` TURN_EVENT event node.updated sequence=36 status=completed | `2026-11-10T07:13:24.542Z +11870ms` TURN_EVENT event message.updated sequence=37 status= |
| `2026-11-10T07:13:24.303Z +11750ms` TURN_EVENT event message.updated sequence=37 status= | `2026-11-10T07:13:24.568Z +11896ms` TURN_EVENT event turn-item.updated sequence=38 status=completed |
| `2026-11-10T07:13:24.306Z +11753ms` TURN_EVENT event turn-item.updated sequence=38 status=completed | `2026-11-10T07:13:24.588Z +11916ms` TURN_EVENT event provider-turn.updated sequence=39 status=completed |
| `2026-11-10T07:13:24.316Z +11763ms` TURN_EVENT event provider-turn.updated sequence=39 status=completed | `2026-11-10T07:13:24.607Z +11935ms` TURN_EVENT event provider-thread.updated sequence=40 status=active |
| `2026-11-10T07:13:24.321Z +11768ms` TURN_EVENT event provider-thread.updated sequence=40 status=active | `2026-11-10T07:13:24.720Z +12048ms` TURN_EVENT event run-attempt.updated sequence=41 status=completed |
| `2026-11-10T07:13:24.374Z +11821ms` TURN_EVENT event run-attempt.updated sequence=41 status=completed | `2026-11-10T07:13:24.725Z +12053ms` TURN_EVENT event run.updated sequence=42 status=waiting |
| `2026-11-10T07:13:24.375Z +11822ms` TURN_EVENT event run.updated sequence=42 status=waiting | `2026-11-10T07:13:24.726Z +12054ms` TURN_EVENT event node.updated sequence=43 status=waiting |
| `2026-11-10T07:13:24.375Z +11822ms` TURN_EVENT event node.updated sequence=43 status=waiting | `2026-11-10T07:13:24.727Z +12055ms` TURN_EVENT event provider-thread.updated sequence=44 status=idle |
| `2026-11-10T07:13:24.375Z +11822ms` TURN_EVENT event provider-thread.updated sequence=44 status=idle | `2026-11-10T07:13:25.712Z +13040ms` TURN_EVENT event checkpoint.captured sequence=45 status=ready checkpoint:scope:checkpoint-scope%3Athread%3A5c717f71-a869-4ce6-9aaa-e3463d0753a2%3Aname%3Aroot:name:0 |
| `2026-11-10T07:13:25.435Z +12882ms` TURN_EVENT event checkpoint.captured sequence=45 status=ready checkpoint:scope:checkpoint-scope%3Athread%3Af5279350-fde5-4ed5-8d4d-8acdde9036c8%3Aname%3Aroot:name:0 | `2026-11-10T07:13:25.713Z +13041ms` TURN_EVENT event checkpoint.captured sequence=46 status=ready checkpoint:scope:checkpoint-scope%3Athread%3A5c717f71-a869-4ce6-9aaa-e3463d0753a2%3Aname%3Aroot:name:1 |
| `2026-11-10T07:13:25.436Z +12883ms` TURN_EVENT event checkpoint.captured sequence=46 status=ready checkpoint:scope:checkpoint-scope%3Athread%3Af5279350-fde5-4ed5-8d4d-8acdde9036c8%3Aname%3Aroot:name:1 | `2026-11-10T07:13:25.713Z +13041ms` TURN_EVENT event turn-item.updated sequence=47 status=completed |
| `2026-11-10T07:13:25.436Z +12883ms` TURN_EVENT event turn-item.updated sequence=47 status=completed | `2026-11-10T07:13:25.714Z +13042ms` TURN_EVENT event run.updated sequence=48 status=completed |
| `2026-11-10T07:13:25.436Z +12883ms` TURN_EVENT event run.updated sequence=48 status=completed | `2026-11-10T07:13:25.716Z +13044ms` TURN_EVENT event node.updated sequence=49 status=completed |
| `2026-11-10T07:13:25.436Z +12883ms` TURN_EVENT event node.updated sequence=49 status=completed | `2026-11-10T07:13:25.716Z +13044ms` TURN_TERMINAL_OBSERVED {"terminal":{"id":"turn","kind":"event","type":"run.updated","sequence":48,"threadId":"5c717f71-a869-4ce6-9aaa-e3463d0753a2","status":"completed"}} |
| `2026-11-10T07:13:25.436Z +12883ms` TURN_TERMINAL_OBSERVED {"terminal":{"id":"turn","kind":"event","type":"run.updated","sequence":48,"threadId":"f5279350-fde5-4ed5-8d4d-8acdde9036c8","status":"completed"}} | `2026-11-10T07:13:25.717Z +13045ms` TURN_CHECKPOINT_OBSERVED {"checkpoint":{"id":"turn","kind":"event","type":"checkpoint.captured","sequence":45,"threadId":"5c717f71-a869-4ce6-9aaa-e3463d0753a2","status":"ready","checkpointId":"checkpoint:scope:checkpoint-scope%3Athread%3A5c717f71-a869-4ce6-9aaa-e3463d0753a2%3Aname%3Aroot:name:0"}} |
| `2026-11-10T07:13:25.436Z +12883ms` TURN_CHECKPOINT_OBSERVED {"checkpoint":{"id":"turn","kind":"event","type":"checkpoint.captured","sequence":45,"threadId":"f5279350-fde5-4ed5-8d4d-8acdde9036c8","status":"ready","checkpointId":"checkpoint:scope:checkpoint-scope%3Athread%3Af5279350-fde5-4ed5-8d4d-8acdde9036c8%3Aname%3Aroot:name:0"}} | `2026-11-10T07:13:27.261Z +14589ms` VCS_EVENT passive-1 remoteUpdated remote={"hasUpstream":true,"aheadCount":2,"behindCount":1,"aheadOfDefaultCount":2} pr=null |
| `2026-11-10T07:13:31.940Z +19387ms` OBSERVATION_WINDOW_CLOSED {"timeoutMs":6500} | `2026-11-10T07:13:27.765Z +15093ms` OBSERVATION_WINDOW_CLOSED {"timeoutMs":500} |
| `2026-11-10T07:13:32.442Z +19889ms` OBSERVATION_WINDOW_CLOSED {"timeoutMs":500} | `2026-11-10T07:13:27.768Z +15096ms` SUBSCRIBE final-passive-2 includeRemote=False |
| `2026-11-10T07:13:32.443Z +19890ms` SUBSCRIBE final-passive-2 includeRemote=False | `2026-11-10T07:13:27.820Z +15148ms` VCS_EVENT final-passive-2 snapshot {"isRepo":true,"refName":"feature/B","isDefaultRef":false,"hasPrimaryRemote":true,"hasWorkingTreeChanges":false,"branchChanges":{"baseRef":"origin/main","insertions":2,"deletions":0}} worktree={"insertions":0,"deletions":0,"files":[]} remote={"hasUpstream":true,"aheadCount":2,"behindCount":1,"aheadOfDefaultCount":2} pr=null |
| `2026-11-10T07:13:32.482Z +19929ms` VCS_EVENT final-passive-2 snapshot {"isRepo":true,"refName":"feature/B","isDefaultRef":false,"hasPrimaryRemote":true,"hasWorkingTreeChanges":false,"branchChanges":{"baseRef":"origin/main","insertions":2,"deletions":0}} worktree={"insertions":0,"deletions":0,"files":[]} remote=null | `2026-11-10T07:13:27.824Z +15152ms` UNSUBSCRIBE final-passive-2 |
| `2026-11-10T07:13:32.483Z +19930ms` UNSUBSCRIBE final-passive-2 | `2026-11-10T07:13:27.828Z +15156ms` UNSUBSCRIBED final-passive-2 |
| `2026-11-10T07:13:32.485Z +19932ms` UNSUBSCRIBED final-passive-2 | `2026-11-10T07:13:27.830Z +15158ms` UNSUBSCRIBE passive-1 |
| `2026-11-10T07:13:32.485Z +19932ms` UNSUBSCRIBE passive-1 | `2026-11-10T07:13:27.834Z +15162ms` UNSUBSCRIBED passive-1 |
| `2026-11-10T07:13:32.485Z +19932ms` UNSUBSCRIBED passive-1 | `2026-11-10T07:13:27.834Z +15162ms` ROW_COMPLETE {"row":"R5"} |
| `2026-11-10T07:13:32.485Z +19932ms` ROW_COMPLETE {"row":"R5"} | `2026-11-10T07:13:28.086Z +15414ms` SERVER_STOPPED {"pid":284158,"exitCode":130,"signal":null} |
| `2026-11-10T07:13:32.676Z +20123ms` SERVER_STOPPED {"pid":284129,"exitCode":130,"signal":null} |  |

Final before: remote=null

Final after: remote={"hasUpstream":true,"aheadCount":2,"behindCount":1,"aheadOfDefaultCount":2} pr=null
