# Issue 15720 — sanitized server proof

Captured 2026-10-22 UTC. No screenshots required: supplied PASS1 matrix has zero visual fixtures. No browser/server launched for this evidence step. No implementation or test changes, checkout switch, forge writes, push, or merge. Existing untracked `repro-project/` left untouched. Only temporary evidence files and test caches were written. Database opened with SQLite `mode=ro`; live home database was not accessed.

## Provenance

Repository: [T3 Code](https://github.com/pingdotgg/t3code). Branch `fix/issue-15720`, workspace `/home/ubuntu/wt/issue-15720`. Base [11adcb0e25](https://github.com/pingdotgg/t3code/commit/11adcb0e25a04785f70d01c3f2a858889683007e), final [1e0934a32d](https://github.com/pingdotgg/t3code/commit/1e0934a32d0fcc7eaee86855a0816926fd74b4fb). HEAD independently checked before/after tests; tracked worktree clean. Runtime app-commit attribution comes from the lead’s supplied final-pass provenance; runtime logs do not themselves embed a Git SHA. Lead reports Chromium T3 preview, 1280×800; that client pass was not repeated here. Provider log independently records `claude-sonnet-5-5`, effort `high`, `bypassPermissions`. Installed SDK 0.3.276; `claude --version`: 2.1.303 (Claude Code), inspected after pass, not a historical binary hash.

## Base red / final green

Base red uses the final regression test with only `ClaudeAdapterV2.ts` replaced in memory by `git show 11adcb0e25:apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts`. A temporary Vite pre-transform plugin performs this replacement at the original absolute module ID, preserving relative-import resolution. Other modules and tests remain at final head. This is a base-adapter regression test, not a full base-checkout suite. No source file was overwritten. Test: `steering releases a running foreground command`. Expected base failure: `releases` is `[]`, expected `["interrupt"]`.

Temporary configuration (local reproduction requires the recorded workspace path):

```text
import config from "/home/ubuntu/wt/issue-15720/apps/server/vite.config.ts";
import fs from "node:fs";
export default {...config, plugins: [...(config.plugins ?? []), {name:"evidence-base-adapter", enforce:"pre", transform(code,id){ if(id === "/home/ubuntu/wt/issue-15720/apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts") return fs.readFileSync("/tmp/issue-15720-evidence/base-ClaudeAdapterV2.ts","utf8"); }}]};

```

Base module extraction command:

```text
git show 11adcb0e25:apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts > /tmp/issue-15720-evidence/base-ClaudeAdapterV2.ts
```

Working directory: `/home/ubuntu/wt/issue-15720/apps/server`. Command and captured output:

```text
vp test run --config /tmp/issue-15720-evidence/base.config.mts src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts -t 'steering releases a running foreground command'
note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead.

 RUN  v5.0.5 /home/ubuntu/wt/issue-15720/apps/server

stdout | src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts > ClaudeAdapterV2 background wake turns > steering releases a running foreground command
[23:11:00.580] ERROR (#1): Error [AssertionError]: steer left the running Bash command blocking the turn: expected [] to deeply equal [ 'interrupt' ]
    at /home/ubuntu/wt/issue-15720/apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:3650:16 {
  actual: [],
  expected: [ 'interrupt' ],
  showDiff: true,
  operator: 'deepStrictEqual',
  [cause]: undefined
}

 ❯ src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts (211 tests | 1 failed | 210 skipped) 114ms
   ❯ ClaudeAdapterV2 background wake turns (172)
     × steering releases a running foreground command 111ms

⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯

 FAIL  src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts > ClaudeAdapterV2 background wake turns > steering releases a running foreground command
AssertionError: steer left the running Bash command blocking the turn: expected [] to deeply equal [ 'interrupt' ]

- Expected
+ Received

- [
-   "interrupt",
- ]
+ []

 ❯ src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts:3650:16
    3648|         yield* steer;
    3649|         assert.equal(harness.offeredMessages[1]?.priority, "now");
    3650|         assert.deepEqual(
       |                ^
    3651|           releases,
    3652|           ["interrupt"],
 ❯ ~effect/Effect/successCont ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28
 ❯ ~effect/Effect/evaluate ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30
 ❯ FiberImpl.runLoop ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41
 ❯ FiberImpl.evaluate ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23
 ❯ FiberImpl.evaluate ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27
 ❯ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17
 ❯ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1122:16

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯


 Test Files  1 failed (1)
      Tests  1 failed | 210 skipped (211)
   Start at  23:10:49
   Duration  11.17s (transform 71%, import 27%, tests 1%, setup 1%)

EXIT_CODE=1

```

Working directory: `/home/ubuntu/wt/issue-15720`. Command and captured output:

```text
vp test run apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts -t 'steering releases a running foreground command'
note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead.

 RUN  v5.0.5 /home/ubuntu/wt/issue-15720


 Test Files  1 passed (1)
      Tests  1 passed | 210 skipped (211)
   Start at  23:11:16
   Duration  9.21s (transform 52%, import 37%, setup 9%, tests 1%)

EXIT_CODE=0

```

Working directory: `/home/ubuntu/wt/issue-15720`. Command and captured output:

```text
vp test run apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts apps/server/src/orchestration-v2/ClaudeAutomaticDelivery.integration.test.ts apps/server/src/orchestration-v2/SteeringCompletion.integration.test.ts
note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead.

 RUN  v5.0.5 /home/ubuntu/wt/issue-15720


 Test Files  3 passed (3)
      Tests  228 passed (228)
   Start at  23:10:19
   Duration  34.51s (tests 56%, import 25%, transform 16%, setup 3%)

EXIT_CODE=0

```

## Runtime transcript — selected records only

Source: Claude JSONL session `d50147c9-cbb5-4b40-b037-7815bcad8af9`; selected exact reproduction messages only. System prompts and unrelated conversation excluded. Times UTC. The lead reports base steer submission at 22:50:26.446 and no reply for >70 seconds; the base run ended through dev-watcher restart at 22:52:02, not natural completion. The previous-head 23:00 run is excluded from final proof. Base command had max-time 180 / Bash timeout 200000; final used the same gated endpoint with max-time 90 / timeout 100000. This timeout difference is disclosed rather than claiming byte-identical fixtures.

```text
2026-10-22T22:50:16.812Z {"type": "text", "text": "Run exactly `curl --max-time 180 http://127.0.0.1:15820/` in Bash in the foreground with timeout 200000. Do not background it. Wait for its response."}
```

```text
2026-10-22T22:50:21.152Z {"type": "tool_use", "id": "toolu_014EoyriuiVrhBKHrm5Dvecz", "name": "Bash", "input": {"command": "curl --max-time 180 http://127.0.0.1:15820/", "description": "Fetch local server root", "timeout": 200000}, "caller": {"type": "direct"}}
```

```text
2026-10-22T23:09:21.377Z {"type": "text", "text": "This is an intentional gated reproduction. Run exactly `curl --max-time 90 http://127.0.0.1:15820/` in Bash foreground timeout 100000. Do not background it. Wait for response."}
```

```text
2026-10-22T23:09:23.368Z {"type": "tool_use", "id": "toolu_01K5UQCDdkqT35pNR89MjarM", "name": "Bash", "input": {"command": "curl --max-time 90 http://127.0.0.1:15820/", "description": "Fetch local server root", "timeout": 100000}, "caller": {"type": "direct"}}
```

```text
2026-10-22T23:09:34.933Z {"type": "text", "text": "[Request interrupted by user for tool use]"}
```

```text
2026-10-22T23:09:34.965Z {"type": "text", "text": "Change of plan: stop waiting for that command and reply with exactly STEERED_NOW."}
```

```text
2026-10-22T23:09:36.425Z {"type": "text", "text": "STEERED_NOW"}
```

Provider native log, allowlisted fields only (same providerSessionId on every selected record):

```text
[2026-10-22T23:09:21.292Z] {"providerSessionId": "provider-session:provider-instance:claudeAgent:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:f2124fde-5929-4e7f-a437-e773dade02d5", "payload": {"type": "query.open", "options": {"model": "claude-sonnet-5-5", "effort": "high", "permissionMode": "bypassPermissions", "resume": "d50147c9-cbb5-4b40-b037-7815bcad8af9"}}}
```

```text
[2026-10-22T23:09:34.899Z] {"providerSessionId": "provider-session:provider-instance:claudeAgent:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:f2124fde-5929-4e7f-a437-e773dade02d5", "payload": {"type": "query.interrupt"}}
```

```text
[2026-10-22T23:09:34.953Z] {"providerSessionId": "provider-session:provider-instance:claudeAgent:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:f2124fde-5929-4e7f-a437-e773dade02d5", "payload": {"type": "result", "subtype": "error_during_execution", "terminal_reason": "aborted_tools", "session_id": "d50147c9-cbb5-4b40-b037-7815bcad8af9", "is_error": true, "result_index": 0, "uuid": "209bd7ca-8fbd-4fe6-987d-c8d00b583136"}}
```

```text
[2026-10-22T23:09:36.457Z] {"providerSessionId": "provider-session:provider-instance:claudeAgent:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:f2124fde-5929-4e7f-a437-e773dade02d5", "payload": {"type": "result", "subtype": "success", "terminal_reason": "completed", "session_id": "d50147c9-cbb5-4b40-b037-7815bcad8af9", "is_error": false, "result": "STEERED_NOW", "result_index": 1, "uuid": "c62ba7f7-f3dc-49e7-8448-57a63eb3f195"}}
```

Observed final-window query opens=1, closes=0. The single live query is interrupted and reused; the second SDK system/init is not a second query.open. The abort result is followed by success without closing/reopening the query. Provider steer trace ends 23:09:34.899Z successfully; tool abort is visible before native steer delivery at 23:09:34.965Z. Reply latency: 1.936 s from web command trace start at 23:09:34.4888, 1.888 s from appended message at 34.537, 1.460 s from CLI receipt at 34.965. Bash had run 11.531 s when interrupt logged; reply comes 13.057 s after command start, well before the configured 90-second limit.

## Tracked completion — read-only SQLite selection

Source `.t3/userdata/statev2.sqlite`, actual populated table `orchestration_events` (legacy `orchestration_v2_events` is empty). Query:

```text
SELECT sequence,event_type,occurred_at,payload_json FROM orchestration_events WHERE stream_id='0f6591ec-2bf7-4c91-a24d-72eab32a444f' AND occurred_at BETWEEN '2026-10-22T23:09:19' AND '2026-10-22T23:09:40' ORDER BY sequence;
```

```text
{"sequence": 124338, "event": "run.created", "at": "2026-10-22T23:09:20.114Z", "payload": {"id": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "activeAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "starting", "startedAt": null, "completedAt": null}}
```

```text
{"sequence": 124342, "event": "message.updated", "at": "2026-10-22T23:09:20.114Z", "payload": {"id": "4f5ef957-e88c-4d66-80e6-0ebc8c9ee279", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "role": "user", "text": "This is an intentional gated reproduction. Run exactly `curl --max-time 90 http://127.0.0.1:15820/` in Bash foreground timeout 100000. Do not background it. Wait for response."}}
```

```text
{"sequence": 124343, "event": "turn-item.updated", "at": "2026-10-22T23:09:20.114Z", "payload": {"id": "turn-item:message:4f5ef957-e88c-4d66-80e6-0ebc8c9ee279", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": null, "ordinal": 6000001, "status": "completed", "startedAt": "2026-10-22T23:09:20.114Z", "completedAt": "2026-10-22T23:09:20.114Z", "text": "This is an intentional gated reproduction. Run exactly `curl --max-time 90 http://127.0.0.1:15820/` in Bash foreground timeout 100000. Do not background it. Wait for response.", "type": "user_message", "inputIntent": "turn_start"}}
```

```text
{"sequence": 124347, "event": "run.updated", "at": "2026-10-22T23:09:20.213Z", "payload": {"id": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "activeAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "running", "startedAt": "2026-10-22T23:09:20.213Z", "completedAt": null}}
```

```text
{"sequence": 124348, "event": "run-attempt.updated", "at": "2026-10-22T23:09:20.213Z", "payload": {"id": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": null, "status": "running", "startedAt": "2026-10-22T23:09:20.213Z", "completedAt": null}}
```

```text
{"sequence": 124350, "event": "provider-turn.updated", "at": "2026-10-22T23:09:21.308Z", "payload": {"id": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "runAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "running", "startedAt": "2026-10-22T23:09:20.319Z", "completedAt": null}}
```

```text
{"sequence": 124351, "event": "provider-turn.updated", "at": "2026-10-22T23:09:22.841Z", "payload": {"id": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "runAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "running", "startedAt": "2026-10-22T23:09:20.319Z", "completedAt": null}}
```

```text
{"sequence": 124353, "event": "turn-item.updated", "at": "2026-10-22T23:09:23.388Z", "payload": {"id": "turn-item:provider:claudeAgent:native-item:toolu_01K5UQCDdkqT35pNR89MjarM", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "ordinal": 6000002, "status": "running", "startedAt": "2026-10-22T23:09:23.378Z", "completedAt": null, "type": "command_execution"}}
```

```text
{"sequence": 124354, "event": "provider-turn.updated", "at": "2026-10-22T23:09:23.410Z", "payload": {"id": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "runAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "running", "startedAt": "2026-10-22T23:09:20.319Z", "completedAt": null}}
```

```text
{"sequence": 124356, "event": "message.updated", "at": "2026-10-22T23:09:34.537Z", "payload": {"id": "f8ef630d-d9d3-4ca4-8798-d10a0f59784c", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "role": "user", "text": "Change of plan: stop waiting for that command and reply with exactly STEERED_NOW."}}
```

```text
{"sequence": 124357, "event": "turn-item.updated", "at": "2026-10-22T23:09:34.537Z", "payload": {"id": "turn-item:message:f8ef630d-d9d3-4ca4-8798-d10a0f59784c", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "ordinal": 6000003, "status": "completed", "startedAt": "2026-10-22T23:09:34.537Z", "completedAt": "2026-10-22T23:09:34.537Z", "text": "Change of plan: stop waiting for that command and reply with exactly STEERED_NOW.", "type": "user_message", "inputIntent": "steer"}}
```

```text
{"sequence": 124359, "event": "turn-item.updated", "at": "2026-10-22T23:09:34.949Z", "payload": {"id": "turn-item:provider:claudeAgent:native-item:toolu_01K5UQCDdkqT35pNR89MjarM", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "ordinal": 6000002, "status": "failed", "startedAt": "2026-10-22T23:09:23.378Z", "completedAt": "2026-10-22T23:09:34.934Z", "type": "command_execution", "toolNonExecutionKind": "user-rejected"}}
```

```text
{"sequence": 124360, "event": "provider-turn.updated", "at": "2026-10-22T23:09:36.426Z", "payload": {"id": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "runAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "running", "startedAt": "2026-10-22T23:09:20.319Z", "completedAt": null}}
```

```text
{"sequence": 124362, "event": "message.updated", "at": "2026-10-22T23:09:36.447Z", "payload": {"id": "message:provider:claudeAgent:native-item:c3b79408-3828-4d2f-9138-74fa46205ad2", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "role": "assistant", "text": "STEERED_NOW"}}
```

```text
{"sequence": 124363, "event": "turn-item.updated", "at": "2026-10-22T23:09:36.450Z", "payload": {"id": "turn-item:provider:claudeAgent:native-item:c3b79408-3828-4d2f-9138-74fa46205ad2", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "ordinal": 6000004, "status": "completed", "startedAt": "2026-10-22T23:09:36.430Z", "completedAt": "2026-10-22T23:09:36.430Z", "text": "STEERED_NOW", "type": "assistant_message"}}
```

```text
{"sequence": 124364, "event": "provider-turn.updated", "at": "2026-10-22T23:09:36.453Z", "payload": {"id": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "runAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "running", "startedAt": "2026-10-22T23:09:20.319Z", "completedAt": null}}
```

```text
{"sequence": 124365, "event": "provider-turn.updated", "at": "2026-10-22T23:09:36.463Z", "payload": {"id": "provider-turn:provider:claudeAgent:native-turn:turn%3Arun-attempt%3Arun%3Arun%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aordinal%253A6%3Aattempt%3A1", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "runAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "completed", "startedAt": "2026-10-22T23:09:20.319Z", "completedAt": "2026-10-22T23:09:36.457Z"}}
```

```text
{"sequence": 124367, "event": "run-attempt.updated", "at": "2026-10-22T23:09:36.471Z", "payload": {"id": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": null, "status": "completed", "startedAt": "2026-10-22T23:09:20.213Z", "completedAt": "2026-10-22T23:09:36.471Z"}}
```

```text
{"sequence": 124368, "event": "run.updated", "at": "2026-10-22T23:09:36.471Z", "payload": {"id": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "activeAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "waiting", "startedAt": "2026-10-22T23:09:20.213Z", "completedAt": null}}
```

```text
{"sequence": 124372, "event": "turn-item.updated", "at": "2026-10-22T23:09:36.487Z", "payload": {"id": "turn-item:provider:claudeAgent:native-item:checkpoint%3Acheckpoint%3Ascope%3Acheckpoint-scope%253Athread%253A0f6591ec-2bf7-4c91-a24d-72eab32a444f%253Aname%253Aroot%3Aname%3A6", "runId": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "providerTurnId": null, "ordinal": 6000005, "status": "completed", "startedAt": "2026-10-22T23:09:36.487Z", "completedAt": "2026-10-22T23:09:36.487Z", "type": "checkpoint"}}
```

```text
{"sequence": 124373, "event": "run.updated", "at": "2026-10-22T23:09:36.487Z", "payload": {"id": "run:thread:0f6591ec-2bf7-4c91-a24d-72eab32a444f:ordinal:6", "providerThreadId": "provider-thread:provider:claudeAgent:native-thread:pending%3Arun%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A1", "activeAttemptId": "run-attempt:run:run%3Athread%3A0f6591ec-2bf7-4c91-a24d-72eab32a444f%3Aordinal%3A6:attempt:1", "ordinal": 6, "status": "completed", "startedAt": "2026-10-22T23:09:20.213Z", "completedAt": "2026-10-22T23:09:36.487Z"}}
```

Repeated completed projection updates carry the same provider-turn ID; they are not separate completions. One run.created in this window; one ordinal-6 provider turn and one run-attempt complete; run attempt completes at 23:09:36.471Z, then the run moves from waiting to completed with checkpoint at 36.487Z. The steer and STEERED_NOW messages retain that same run ID. No extra run is created at steer. This proves one tracked runtime completion, not an exhaustive proof against all possible races.

## Coverage and honest limits

F1: base red/final green plus final real runtime, same query and tracked completion proven as above.

F2: `ClaudeAdapterV2.test.ts:3661` leaves pending AskUserQuestion untouched and offers priority now. It does NOT explicitly answer the pending question after steer. Separate existing tests answer questions (`:1270`, joins callback and asserts allow/updatedInput) and approvals (`:802`, joins decision and asserts allow), but do not combine either with steering. Pending approval during steer and both post-steer explicit resolutions remain unverified. No new tests added.

F3: `ClaudeAdapterV2.test.ts:3703` deterministically ends the turn during interrupt, rejects steer, and asserts no offer. `SteeringCompletion.integration.test.ts:36` covers completion winning during delivery/before dispatch/after delivery/without native steering/with interrupting steering/settled only. Deferred coordination and effect-worker drain are used. Assertions at :355–389 require two total started turns (original + fallback), the fallback message on its tracked run, one user item, and no additional start after another drain. This is meaningful existing generic orchestrator coverage (Codex-shaped mock), not a single real-Claude completion-race integration. The adapter/orchestrator composition under that exact race remains unexecuted.

F4: :3734 proves steer offer survives interrupt failure; final runtime proves successful-interrupt aborted_tools continuation. Interrupt-error plus actual SDK segment/result continuation remains unverified.

F5: full adapter suite includes existing steering/background-work behavior, but no new real foreground-subagent coexistence run was performed; do not infer that from the curl run.

F6: final focused suite includes all four ClaudeAutomaticDelivery cases, with mocked SDK: user steer, promoted queued message, child completion, scheduled message. No other-provider or multi-client/remote-mode runtime pass performed in this evidence step. No screenshots/recordings needed under supplied server-only exception.

## FRICTION

category|what|avoidance
---|---|---
provenance|Runtime logs do not encode app Git SHA|Keep lead’s exact-head attribution distinct from independently checked HEAD and runtime fields
base-red|Reviewers may be reading working tree|Inject base adapter through temporary Vite transform; never overwrite/switch checkout
pending-input|No-interrupt assertion is weaker than post-steer answerability|Mark combined approval/question resolution gap; cite separate answer-resolution coverage
race|Generic fallback coverage is not real-Claude race composition|Cite deterministic adapter and orchestrator tests separately
privacy|Raw CLI/provider logs contain unrelated/private data|Upload only allowlisted reproduction fields, never full logs/database
fixture|Base/final curl timeout values differ|Record both values and shared gated endpoint explicitly
