# C10 — before labelled adapter harness recording

Revision: [f012fa210d](https://git.cafe/pingdotgg/t3code/commit/f012fa210dbf464a5ea68fe9071ee377682f8d66).

Environment: Linux x86_64, Node 26.12.1, Effect 4.0.5, Vitest 5.0.5. Actual adapter, mocked SDK endpoints and native event stream; no HTTP server, model call, browser, viewport, theme, DPR or font scale. Effect TestClock governs adapter dates; observation timestamps below are live UTC.

SDK `session.command` is a normal native Promise with a controlled rejection. Receipt observation delegates to the original Deferred operations. The M3 hook rejects at the moment receipt success is assigned, before receipt resumers. MaxOpsBeforeYield changes fairness on the actual MixedScheduler; no sleeps or polling. Model slug in SDK payloads is a mock identifier.

## 1. 2026-11-03T04:09:50.404Z — C10 — environment

```json
{
  "kind": "CONTROLLED ADAPTER HARNESS; actual adapter, mocked SDK and native stream; no model or HTTP server",
  "caller": "start",
  "boundary": false,
  "maxOpsBeforeYield": "default",
  "node": "v26.12.1"
}
```

## 2. 2026-11-03T04:09:50.406Z — C10 — mock session.command sent

```json
{
  "sessionID": "native-C10",
  "messageID": "msg_000000000001biwNxXJa8JdoZdpW9PNMS8B9CIYJ",
  "command": "slow",
  "arguments": "330",
  "model": "anthropic/claude-sonnet",
  "parts": []
}
```

## 3. 2026-11-03T04:09:50.407Z — C10 — emit matching user receipt

```json
{
  "messageID": "msg_000000000001biwNxXJa8JdoZdpW9PNMS8B9CIYJ"
}
```

## 4. 2026-11-03T04:09:50.407Z — C10 — span.end

```json
{
  "name": "OpenCode.submitPrompt",
  "exit": "success",
  "callerSettled": false,
  "submitSettled": false,
  "receiptDone": true
}
```

## 5. 2026-11-03T04:09:50.407Z — C10 — span.end

```json
{
  "name": "OpencodeAdapter.startTurn",
  "exit": "success",
  "callerSettled": false,
  "submitSettled": true,
  "receiptDone": true
}
```

## 6. 2026-11-03T04:09:50.407Z — C10 — caller.returned

```json
{
  "exit": "success"
}
```

## 7. 2026-11-03T04:09:50.407Z — C10 — reject command after caller settled

```json
{
  "callerSettled": true
}
```

## 8. 2026-11-03T04:09:50.408Z — C10 — span.end

```json
{
  "name": "opencode.session.command",
  "exit": "OpenCodeRuntimeError: \n    at catch (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/OpenCodeRuntime.ts:157:7)\n    at file:///home/ubuntu/wt/pr-27677-base/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:779:40\n    at opencode.session.command (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/OpenCodeRuntime.ts:158:18)\n    at OpenCode.submitPrompt (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:3276:22)\n    at OpenCode.submitPrompt (definition) (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:2939:37)\n    at OpencodeAdapter.startTurn (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-controls.test.ts:195:13)\n    at OpencodeAdapter.startTurn (definition) (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:3122:29) {\n  [cause]: TypeError: fetch failed\n      at /home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-controls.test.ts:296:23 {\n    [cause]: HeadersTimeoutError: Headers Timeout Error\n        at /home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-controls.test.ts:296:76\n  }\n}",
  "callerSettled": true,
  "submitSettled": true,
  "receiptDone": true
}
```

## 9. 2026-11-03T04:09:50.409Z — C10 — snapshot after request failure before idle

```json
{
  "turns": [
    {
      "id": "provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10",
      "providerThreadId": "provider-thread:provider:opencode:native-thread:native-C10",
      "nodeId": "node-opencode-C10",
      "runAttemptId": "attempt-opencode-C10",
      "nativeTurnRef": {
        "driver": "opencode",
        "nativeId": "msg_000000000001biwNxXJa8JdoZdpW9PNMS8B9CIYJ",
        "strength": "weak"
      },
      "ordinal": 1,
      "status": "failed",
      "startedAt": "1970-01-01T00:00:00.000Z",
      "completedAt": "1970-01-01T00:00:00.000Z",
      "turnTokenUsage": {
        "usageScope": "main_agent",
        "usageStatus": "unavailable",
        "hasSubagents": false
      }
    }
  ],
  "terminalCount": 0
}
```

## 10. 2026-11-03T04:09:50.409Z — C10 — explicit no-terminal milestone before cleanup

```json
{
  "turns": [
    {
      "id": "provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10",
      "providerThreadId": "provider-thread:provider:opencode:native-thread:native-C10",
      "nodeId": "node-opencode-C10",
      "runAttemptId": "attempt-opencode-C10",
      "nativeTurnRef": {
        "driver": "opencode",
        "nativeId": "msg_000000000001biwNxXJa8JdoZdpW9PNMS8B9CIYJ",
        "strength": "weak"
      },
      "ordinal": 1,
      "status": "failed",
      "startedAt": "1970-01-01T00:00:00.000Z",
      "completedAt": "1970-01-01T00:00:00.000Z",
      "turnTokenUsage": {
        "usageScope": "main_agent",
        "usageStatus": "unavailable",
        "hasSubagents": false
      }
    }
  ],
  "terminalEvents": []
}
```

## 11. 2026-11-03T04:09:50.410Z — C10 — interrupt call returned

```json
{
  "exit": "ProviderAdapterInterruptError: Failed to interrupt opencode provider turn provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10.\n    at /home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:3486:21\n    at file:///home/ubuntu/wt/pr-27677-base/node_modules/.pnpm/effect@4.0.5/node_modules/effect/dist/internal/effect.js:1483:96\n    at OpencodeAdapter.interruptTurn (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-controls.test.ts:401:48)\n    at OpencodeAdapter.interruptTurn (definition) (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:3431:33) {\n  [cause]: ProviderAdapterProtocolError: opencode provider protocol error: OpenCode turn provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10 is not active.\n      at protocolError (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:489:10)\n      at Object.runtimeSession.interruptTurn.__vite_ssr_import_9__.fn.effect.pipe.__vite_ssr_import_9__.mapError.__vite_ssr_import_33__.ProviderAdapterInterruptError.driver (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:3450:31)\n      at runtimeSession.interruptTurn.__vite_ssr_import_9__.fn.effect.pipe.__vite_ssr_import_9__.mapError.__vite_ssr_import_33__.ProviderAdapterInterruptError.driver.next (<anonymous>)\n}"
}
```

## 12. 2026-11-03T04:09:50.410Z — C10 — emit native idle after interrupt

```json
{}
```

## 13. 2026-11-03T04:09:50.410Z — C10 — turn.terminal

```json
{
  "type": "turn.terminal",
  "driver": "opencode",
  "providerThreadId": "provider-thread:provider:opencode:native-thread:native-C10",
  "providerTurnId": "provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10",
  "runOrdinal": 1,
  "failureItemOrdinal": 101,
  "status": "failed",
  "failure": {
    "class": "provider_error",
    "message": "Provider turn failed.",
    "code": null,
    "retryable": null
  },
  "threadDisposition": "reusable"
}
```

## 14. 2026-11-03T04:09:50.411Z — C10 — final snapshot

```json
{
  "turns": [
    {
      "id": "provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10",
      "providerThreadId": "provider-thread:provider:opencode:native-thread:native-C10",
      "nodeId": "node-opencode-C10",
      "runAttemptId": "attempt-opencode-C10",
      "nativeTurnRef": {
        "driver": "opencode",
        "nativeId": "msg_000000000001biwNxXJa8JdoZdpW9PNMS8B9CIYJ",
        "strength": "weak"
      },
      "ordinal": 1,
      "status": "failed",
      "startedAt": "1970-01-01T00:00:00.000Z",
      "completedAt": "1970-01-01T00:00:00.000Z",
      "turnTokenUsage": {
        "usageScope": "main_agent",
        "usageStatus": "unavailable",
        "hasSubagents": false
      }
    }
  ],
  "terminals": [
    {
      "type": "turn.terminal",
      "driver": "opencode",
      "providerThreadId": "provider-thread:provider:opencode:native-thread:native-C10",
      "providerTurnId": "provider-turn:provider:opencode:native-turn:native-C10%3Aattempt%3Aattempt-opencode-C10",
      "runOrdinal": 1,
      "failureItemOrdinal": 101,
      "status": "failed",
      "failure": {
        "class": "provider_error",
        "message": "Provider turn failed.",
        "code": null,
        "retryable": null
      },
      "threadDisposition": "reusable"
    }
  ]
}
```

## 15. 2026-11-03T04:09:50.411Z — C10 — mock session.abort

```json
{}
```
