PR #23636 real-server evidence (pingdotgg/t3code), captured 2026-10-22 UTC, machine TZ = UTC
BEFORE build: main 8d3b061121fe65669d5d43d011b48cd3027a4108 (/tmp/ev-23636/base), server port 4361, base dir /tmp/ev-23636/home-before
AFTER  build: PR head 7c9fae306644524453aa794bb4f911c266c94840 (/home/ubuntu/wt/pr-23636), server port 4362, base dir /tmp/ev-23636/home-after
Provider claudeAgent / claude-sonnet-5-5. Synthetic empty git projects /tmp/ev-23636/proj-{before,after}. Servers started 13:38 UTC, stopped 14:21 UTC.
Session state source: orchestration_v2_projection_provider_sessions (read-only sqlite on the synthetic base dirs) + `claude` child processes of each server PID (sessions.txt);
idle checks: ProviderSessionManager.releaseIfStillIdle trace spans (idle-spans-*.txt); deferral: server stdout INFO line. Neither build logs a stdout line for a plain idle release; the span + status flip to `stopped` are the record.

Row  Build   Thread                                      Turn end (UTC)  Idle check (UTC)        Outcome
R1   before  mcp:7b283ce9-b7b1-4f6f-ba3d-31ad53a98cd3   13:40:58        14:11:00.449 released   session stopped 14:11:00.455; cron 14:18 never fired; no cron.log; runCount stays 1
R1   after   mcp:01eddd91-3ee5-4a94-9477-6a7b0a1bdde9   13:40:58        14:10:58.272 DEFERRED   stdout "[14:10:58.273] idle-release-deferred pinnedForMs:0"; session stayed ready; cron fired: run ordinal 2 requested 14:18:01.034, completed 14:18:09.696; cron.log = "FIRED-R1-after 2026-10-22T14:18:07Z"; deferred span ended (Interrupted) 14:18:01.079 when the fired turn took the session
R3   before  mcp:c61d425a-8dbe-49d8-a0ba-55de5e8dc890   delete 13:41:21 14:11:20.523 released   session stopped 14:11:20.528; no fire
R3   after   mcp:c6540af9-2c4e-4b4b-a348-0ad477038a1c   delete 13:41:21 14:11:21.212 released   session stopped 14:11:21.219 (no deferral line for this session); no fire
R4   after   mcp:9dd4f6f6-1ddd-4f8f-996d-fe750860bf30   interrupt 13:43:36 (CronCreate completed ~13:43:3x) 14:13:37.507 released   session stopped 14:13:37.517; no fire. NOTE: its claude subprocess was already gone by 13:46:35 (interrupt ends the CLI process)
R4r  before  mcp:d54cb1f6-e68e-4283-b7e7-21d3a6a238b9   interrupt 13:44:58 (CronCreate completed first) 14:14:59.225 released   session stopped 14:14:59.229; no fire; claude subprocess likewise gone right after interrupt
R4x  before  mcp:d9442839-a041-41ca-afeb-ce69894f5416   13:44 (NOT interrupted: turn completed before interrupt; interrupt returned no_active_run) 14:14:10.168 released  acts as a 2nd R1-before sample: session stopped 14:14:10.176, its 14:18 cron never fired
R6   before  mcp:9ff12fad-07ef-4f40-840d-af7c850c6b1c   13:40:5x        14:10:50.184 released   session stopped 14:10:50.201
R6   after   mcp:4888274e-35a5-436f-af56-293abd2c8b9d   13:40:5x        14:10:48.970 released   session stopped 14:10:48.990
R2 (recurring) not run (capacity). R5 (failed turn) and R7 (4 h pin cap) not captured.
Final cron.log: proj-after: one line "FIRED-R1-after 2026-10-22T14:18:07Z"; proj-before: file never created.
