# Explicit steer during provider turn gap: proof index

Server-only fix for [#23271](https://git.cafe/pingdotgg/t3code/issues/23271). Proof audit pass 1: PASS. Render matrix `[]`: 0/0 rows; no visible difference, screenshots, or recordings required.

Environment: Linux fs-03, real web dev server, authenticated Chrome headless WebSocket, Claude Code 2.1.303, claude-opus-5-5. Existing runtime capture used `orchestration.dispatchCommand`, with no provider mock or database mutation. This evidence step launched no browser, server, or agent and changed no repository files.

Revisions: base [8d3b061121](https://git.cafe/pingdotgg/t3code/commit/8d3b061121fe65669d5d43d011b48cd3027a4108); red tests [27d794358e](https://git.cafe/pingdotgg/t3code/commit/27d794358e881d6b3e1236721269ca8946d72725); head [2d0622b17b](https://git.cafe/pingdotgg/t3code/commit/2d0622b17b4c9881d5a0ae3f83b6d5b64d90f205), verified against worktree HEAD.

## Runtime sequence (2026-10-22, UTC)

- Before, 10:39:38.870: send auto start (900001), then explicit steer (900002), consecutively at the same recorded timestamp. Auto succeeds at 10:39:39.012 (sequence 159214). Steer fails at 10:39:39.475: “No running provider turn found for active run” (thread identifier omitted).
- After, 10:46:04.324: send auto start (910001), then explicit steer (910002), consecutively. Auto succeeds at 10:46:04.689 (sequence 159277); steer succeeds at 10:46:06.143 (sequence 159287). Capture records durable queue entry and Claude reply `EXPLICIT_GAP_AFTER_23271`.
- Persisted run 11: requested 10:46:04.428, completed 10:46:08.175. Run 12: requested 10:46:04.722, started 10:46:13.453, completed 10:46:16.452. Both statuses: completed.

Source captures: [before JSON](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/de9fe9261b16a421/runtime-before.json), [after JSON](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b01cc8e030068b91/runtime-after.json). These were already uploaded; this step did not re-upload raw captures.

## Tests

Lead-reported red run at red-tests revision: CommandPolicy 6 failed / 4 passed, expected `queue_after_active`, got `steer_active`. Lead-reported focused head runs: CommandPolicy 10/10 passed; runtimeLayer plus SteeringCompletion 96 passed. These earlier individual results are supplied reports, not independently recovered logs.

Final combined log independently inspected after completion: 3 test files passed, 106 tests passed. Started 10:50:18 UTC; duration 63.24s. Summary present and captured runner processes exited. Command: `vp test run apps/server/src/orchestration-v2/CommandPolicy.test.ts apps/server/src/orchestration-v2/runtimeLayer.test.ts apps/server/src/orchestration-v2/SteeringCompletion.integration.test.ts`. Sanitized companion: `sanitized-tests.log`.

## Limits

Real runtime proof covers Linux and Claude only. Focused tests cover provider-neutral server policy/runtime behavior. No native Windows runtime verification; no separate desktop, mobile, other-provider, relay, or tunnel runtime verification. This is an audit of supplied runtime artifacts, not a fresh runtime reproduction. No customer data, copied thread titles, credentials, or recordings are included in the new uploads.

FRICTION timing|final test log was initially incomplete|waited for completion summary and confirmed runner exit before citing results.
