# Candidate runtime proof: PASS

Candidate [ee96b4b5a2](https://github.com/pingdotgg/t3code/commit/ee96b4b5a272a800a814eb5ce0744afe4620a22a), integrated with main [bb7783e295](https://github.com/pingdotgg/t3code/commit/bb7783e295506ad423f527ed28a019836e331e8c). Original baseline [fef851bee0](https://github.com/pingdotgg/t3code/commit/fef851bee09102641061aeb78a3092c2ba2c72ab).

Worktree /home/ubuntu/wt/issue-24136; isolated home /home/ubuntu/wt/issue-24136/.t3. No live ~/.t3 data accessed. Authenticated loopback WebSocket, orchestrationProtocol=2, real Codex gpt-6.1-sol. No browser/render paths; capture matrix EMPTY.

All times UTC on 2026-10-24:
- 11:11:17.642 seed ordinal 1 completed with SEED_COMPLETED.
- 11:11:26.515 thread.visit committed, baseline lastVisitedAt=2026-10-24T11:11:26.515Z.
- 11:11:26.665 interval created, everyMs=60000, nextRunAt=11:12:26.665.
- 11:11:26.696 thread.settle committed; settledOverride=settled, settledAt non-null.
- 11:12:30.564 actual scheduler firing; message scheduled-task-message:schedule-issue-24136-after:1792840350564:scheduled.
- 11:12:30.919 ordinal 2 started.
- 11:12:31.008 interval disabled after runCount=1, nextRunAt=null.
- 11:12:37.152–37.221 provider t3_thread_read proves ordinal 2 running with completedAt=null, earlier ordinal 1 completed.
- 2026-10-24T11:12:38.787Z–2026-10-24T11:12:38.838Z own provider t3_thread_organize input {threadId: thread-issue-24136-after, action: mark_unread} returned {marksUnreadWhenTurnEnds: true}.
- 2026-10-24T11:12:39.044125+00:00 persisted observation: ordinal 2 still running; lastVisitedAt unchanged at 2026-10-24T11:11:26.515Z. Every observed active-run state retained that timestamp. Post-tool provider t3_thread_read also proves active run.
- 2026-10-24T11:13:01.568Z real provider run completed; run.updated sequence 161.
- 2026-10-24T11:13:01.880Z thread.marked-unread sequence 163, commandId server:mark-unread-after-run:run:thread:thread-issue-24136-after:ordinal:2.
- Final persisted lastVisitedAt=2026-10-24T11:13:01.567Z, exactly completedAt minus 1 ms. Assertions in build-report.py passed.
- 11:13:06 full tool outputs retrieved through orchestration.getTurnItem, plus final projection.

No external mark-unread command was sent in candidate capture. Deferred command identity ties the event to run ordinal 2. Two runs total, no newer run or visit confounds the result. Event ordering establishes completion before deferred mark. state-timeline.jsonl records read-only DB observations; after-tool-transcript.txt contains actual RPC retrieval of persisted provider tools.

## FRICTION

Initial detached shell did not retain server. Dev runner's Node watcher restarted when concurrent reviewers generated Vite temporary files under packages. Before seed/capture, stopped owned watcher and server, captured its runtime environment privately, then launched the same src/bin.ts directly without watch (PID 492500), same configuration/home/port. Initial client attempts before startup failed (missing startup token / ECONNREFUSED), before any seed dispatch. No protocol/schema change was needed after server readiness. First observer queried legacy orchestration_v2_events; corrected to orchestration_events before interval fired; original read-only observer later stopped via its execution session. Runtime polling is evidence instrumentation, not a regression test.

## Cleanup

Disabled only schedule-issue-24136-after after one firing. Sent SIGTERM to captured direct-server PID 492500 after collection. Port 15872 has no listener. Owned server/runner/watch PIDs 482149, 484967, 485287, 490255, 491387, 492500 no longer exist. Observer sessions stopped or completed. After runtime shutdown, a separate detached throwaway checkout at original RED commit was installed with vp i for RED recovery; it was removed after the focused run. Reviewed checkout stayed clean and HEAD unchanged. No code edits, commits, pushes, PR comments, or forge mutations. Only thread PR registration and authorized public evidence uploads. Private cookie/environment/server logs excluded from uploads.

## Focused candidate checks

UTC 2026-10-24 11:14:39, duration 24.99s, exit 0: four files passed, 124 tests passed. Command from apps/server: `vp test run src/orchestration-v2/ThreadManagementService.test.ts src/orchestration-v2/runtimeLayer.test.ts src/relay/AgentAwarenessRelay.test.ts src/mcp/toolkits/core.test.ts`. Count is 124 on integrated head, versus the earlier expected 123. No broader checks run. Original RED freshly reproduced on its exact test-first commit; see red-provenance.md and original-red.txt.
