# M2 — 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:07:47.801Z — M2 — environment

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

## 2. 2026-11-03T04:07:47.814Z — M2 — mock root promptAsync accepted

```json
{}
```

## 3. 2026-11-03T04:07:47.814Z — M2 — span.end

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

## 4. 2026-11-03T04:07:47.815Z — M2 — span.end

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

## 5. 2026-11-03T04:07:47.815Z — M2 — active root established

```json
{
  "providerTurnId": "provider-turn:provider:opencode:native-turn:native-M2%3Aattempt%3Aattempt-opencode-M2"
}
```

## 6. 2026-11-03T04:07:47.821Z — M2 — mock session.command sent

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

## 7. 2026-11-03T04:07:47.822Z — M2 — emit matching user receipt

```json
{
  "messageID": "msg_000000000002qtnqOuBk7GeOvOhD8oq38c8SZhsR"
}
```

## 8. 2026-11-03T04:07:47.826Z — M2 — span.end

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

## 9. 2026-11-03T04:07:47.826Z — M2 — span.end

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

## 10. 2026-11-03T04:07:47.827Z — M2 — caller.returned

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

## 11. 2026-11-03T04:07:47.827Z — M2 — reject command after caller settled

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

## 12. 2026-11-03T04:07:47.836Z — M2 — 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:3389:22)\n    at OpenCode.submitPrompt (definition) (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:2939:37)\n    at OpencodeAdapter.steerTurn (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-capture.test.ts:365:94)\n    at OpencodeAdapter.steerTurn (definition) (/home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/adapter.ts:3332:29) {\n  [cause]: TypeError: fetch failed\n      at /home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-capture.test.ts:296:23 {\n    [cause]: HeadersTimeoutError: Headers Timeout Error\n        at /home/ubuntu/wt/pr-27677-base/packages/provider-opencode/src/server/evidence-capture.test.ts:296:76\n  }\n}",
  "callerSettled": true,
  "submitSettled": true,
  "receiptDone": true
}
```

## 13. 2026-11-03T04:07:47.839Z — M2 — snapshot after request failure before idle

```json
{
  "turns": [
    {
      "id": "provider-turn:provider:opencode:native-turn:native-M2%3Aattempt%3Aattempt-opencode-M2",
      "providerThreadId": "provider-thread:provider:opencode:native-thread:native-M2",
      "nodeId": "node-opencode-M2",
      "runAttemptId": "attempt-opencode-M2",
      "nativeTurnRef": {
        "driver": "opencode",
        "nativeId": "msg_000000000002qtnqOuBk7GeOvOhD8oq38c8SZhsR",
        "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
}
```

## 14. 2026-11-03T04:07:47.840Z — M2 — emit native idle

```json
{}
```

## 15. 2026-11-03T04:07:47.840Z — M2 — turn.terminal

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

## 16. 2026-11-03T04:07:47.841Z — M2 — final snapshot

```json
{
  "turns": [
    {
      "id": "provider-turn:provider:opencode:native-turn:native-M2%3Aattempt%3Aattempt-opencode-M2",
      "providerThreadId": "provider-thread:provider:opencode:native-thread:native-M2",
      "nodeId": "node-opencode-M2",
      "runAttemptId": "attempt-opencode-M2",
      "nativeTurnRef": {
        "driver": "opencode",
        "nativeId": "msg_000000000002qtnqOuBk7GeOvOhD8oq38c8SZhsR",
        "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-M2",
      "providerTurnId": "provider-turn:provider:opencode:native-turn:native-M2%3Aattempt%3Aattempt-opencode-M2",
      "runOrdinal": 1,
      "failureItemOrdinal": 101,
      "status": "failed",
      "failure": {
        "class": "provider_error",
        "message": "Provider turn failed.",
        "code": null,
        "retryable": null
      },
      "threadDisposition": "reusable"
    }
  ]
}
```

## 17. 2026-11-03T04:07:47.843Z — M2 — mock session.abort

```json
{}
```
