{
  "baseSha": "1a1f9ac18ed7cfa246207884aea93e3ce06851ce",
  "headSha": "d24268c7dd292789e9d1d81e705aec791cf30118",
  "environment": "Real local web app; Chromium; 1280x800; light theme; isolated fresh database for each side; synthetic git project; Replay (dev).",
  "steps": "Warm up a showcase thread, send through t3_thread_send, interrupt through t3_thread_interrupt after zero milliseconds, then immediately send a follow-up with --wait. Repeat on three fresh threads per side.",
  "base": [
    {
      "attempt": 1,
      "followupExitCode": 1,
      "result": {
        "threadId": "mcp:d4052f90-5288-4221-8f25-f015a7aeec4b",
        "runId": "run:thread:mcp%3Ad4052f90-5288-4221-8f25-f015a7aeec4b:ordinal:3",
        "status": "failed",
        "reply": null,
        "error": "The provider could not start this turn: the previous turn is still running. Retry the turn; if it keeps failing, check the provider setup and server logs."
      }
    },
    {
      "attempt": 2,
      "followupExitCode": 1,
      "result": {
        "threadId": "mcp:b6748a24-eca6-407e-8d89-218faf01e11a",
        "runId": "run:thread:mcp%3Ab6748a24-eca6-407e-8d89-218faf01e11a:ordinal:3",
        "status": "failed",
        "reply": null,
        "error": "The provider could not start this turn: the previous turn is still running. Retry the turn; if it keeps failing, check the provider setup and server logs."
      }
    },
    {
      "attempt": 3,
      "followupExitCode": 1,
      "result": {
        "threadId": "mcp:947ca22f-57e9-42a2-9552-e3a651379121",
        "runId": "run:thread:mcp%3A947ca22f-57e9-42a2-9552-e3a651379121:ordinal:3",
        "status": "failed",
        "reply": null,
        "error": "The provider could not start this turn: the previous turn is still running. Retry the turn; if it keeps failing, check the provider setup and server logs."
      }
    }
  ],
  "head": [
    {
      "attempt": 1,
      "followupExitCode": 0,
      "result": {
        "threadId": "mcp:d02a3e45-e8ee-4523-bb1c-4c25c7116e46",
        "runId": "run:thread:mcp%3Ad02a3e45-e8ee-4523-bb1c-4c25c7116e46:ordinal:3",
        "status": "completed",
        "reply": "## Done\n\nI added `clamp` next to `sum` and the tests pass.\n\n- Reads the manifest first\n- Asks before it writes\n- Streams a terminal result\n\n```ts\nclamp(12, 0, 10); // 10\nclamp(-3, 0, 10); // 0\n```\n\n| Step | Tool | Result |\n| --- | --- | --- |\n| Read | `read` | 1 file |\n| Edit | `edit` | +4 lines |\n| Test | `execute` | 12 passed |\n\nThis turn is a replay. It costs nothing, so send it again as often as you need.",
        "error": null
      }
    },
    {
      "attempt": 2,
      "followupExitCode": 0,
      "result": {
        "threadId": "mcp:50c1045c-35ee-4c30-b5ea-9414b22a9e14",
        "runId": "run:thread:mcp%3A50c1045c-35ee-4c30-b5ea-9414b22a9e14:ordinal:3",
        "status": "completed",
        "reply": "## Done\n\nI added `clamp` next to `sum` and the tests pass.\n\n- Reads the manifest first\n- Asks before it writes\n- Streams a terminal result\n\n```ts\nclamp(12, 0, 10); // 10\nclamp(-3, 0, 10); // 0\n```\n\n| Step | Tool | Result |\n| --- | --- | --- |\n| Read | `read` | 1 file |\n| Edit | `edit` | +4 lines |\n| Test | `execute` | 12 passed |\n\nThis turn is a replay. It costs nothing, so send it again as often as you need.",
        "error": null
      }
    },
    {
      "attempt": 3,
      "followupExitCode": 0,
      "result": {
        "threadId": "mcp:1e8e4799-00de-44b9-9c75-5b10fa5d3428",
        "runId": "run:thread:mcp%3A1e8e4799-00de-44b9-9c75-5b10fa5d3428:ordinal:3",
        "status": "completed",
        "reply": "## Done\n\nI added `clamp` next to `sum` and the tests pass.\n\n- Reads the manifest first\n- Asks before it writes\n- Streams a terminal result\n\n```ts\nclamp(12, 0, 10); // 10\nclamp(-3, 0, 10); // 0\n```\n\n| Step | Tool | Result |\n| --- | --- | --- |\n| Read | `read` | 1 file |\n| Edit | `edit` | +4 lines |\n| Test | `execute` | 12 passed |\n\nThis turn is a replay. It costs nothing, so send it again as often as you need.",
        "error": null
      }
    }
  ],
  "observed": "Base: Run interrupted before provider start is followed by reasoning and tool work; each follow-up fails with previous turn is still running. Head: stopped turns do not continue their tool sequence; each follow-up completes.",
  "attribution": "AI-assisted; verified with the tests and tools listed above."
}
