{
  "version": "original-lab/1",
  "recordedAt": "2026-11-11T01:59:51.336Z",
  "environment": {
    "node": "v22.22.3",
    "platform": "darwin",
    "architecture": "arm64",
    "osRelease": "27.0.0",
    "osVersion": "27.0.1"
  },
  "scope": "Two rounds of gated synthetic tasks writing only to fresh temporary directories. Gates control ordering; no remote requests. Cooperative cancellation is checked immediately before writing, not a transactional rollback.",
  "independentReaderTested": false,
  "scriptSha256": "571f4777b8e9bf25e2f7277e73e5659886e2004e5f37c50312ad0eac585e5bab",
  "runs": [
    {
      "round": 1,
      "results": [
        {
          "id": "aggregate-only",
          "summary": "catch 时 0 个文件；收尾后 2 个；任务状态 rejected/fulfilled/fulfilled",
          "data": {
            "started": 3,
            "caught": "first task failed",
            "filesAtCatch": [],
            "filesAfterSettle": [
              "a.txt",
              "b.txt"
            ],
            "statuses": [
              "rejected",
              "fulfilled",
              "fulfilled"
            ]
          }
        },
        {
          "id": "cooperative",
          "summary": "catch 时 0 个文件；收尾后 0 个；任务状态 rejected/rejected/rejected",
          "data": {
            "started": 3,
            "caught": "first task failed",
            "filesAtCatch": [],
            "filesAfterSettle": [],
            "statuses": [
              "rejected",
              "rejected",
              "rejected"
            ]
          }
        },
        {
          "id": "already-written",
          "summary": "abort 后仍有 1 个已写入文件",
          "data": {
            "aborted": true,
            "files": [
              "already.txt"
            ]
          }
        }
      ]
    },
    {
      "round": 2,
      "results": [
        {
          "id": "aggregate-only",
          "summary": "catch 时 0 个文件；收尾后 2 个；任务状态 rejected/fulfilled/fulfilled",
          "data": {
            "started": 3,
            "caught": "first task failed",
            "filesAtCatch": [],
            "filesAfterSettle": [
              "a.txt",
              "b.txt"
            ],
            "statuses": [
              "rejected",
              "fulfilled",
              "fulfilled"
            ]
          }
        },
        {
          "id": "cooperative",
          "summary": "catch 时 0 个文件；收尾后 0 个；任务状态 rejected/rejected/rejected",
          "data": {
            "started": 3,
            "caught": "first task failed",
            "filesAtCatch": [],
            "filesAfterSettle": [],
            "statuses": [
              "rejected",
              "rejected",
              "rejected"
            ]
          }
        },
        {
          "id": "already-written",
          "summary": "abort 后仍有 1 个已写入文件",
          "data": {
            "aborted": true,
            "files": [
              "already.txt"
            ]
          }
        }
      ]
    }
  ]
}
