{
  "changeId": "fix-integer-addition",
  "changeContract": {
    "goal": "Fix integer addition while preserving the existing zero case",
    "acceptance": [
      {
        "id": "integer-addition",
        "statement": "add(2, 3) returns 5 and add(0, 0) remains 0",
        "verification": {
          "kind": "static-check",
          "id": "add-acceptance",
          "runner": {
            "kind": "node",
            "script": "test/add.test.mjs"
          },
          "args": [],
          "classification": "expected-green"
        }
      }
    ],
    "constraints": [
      {
        "id": "no-dependencies",
        "statement": "Keep the existing function signature and add no dependencies"
      }
    ],
    "policy": {
      "writeRoots": ["src/add.mjs", "test/add.test.mjs"],
      "dependencies": [],
      "verificationModes": ["behavior"]
    }
  },
  "singleTask": {
    "taskId": "fix-add",
    "objective": "Preserve the existing zero assertion; add a failing positive-integer assertion with [ADD:positive-integers], then fix addition",
    "context": {
      "agents": "No AGENTS.md in this example consumer; use the actual repository instructions when adapting",
      "contract": "Gate A integer-addition acceptance; only src/add.mjs and test/add.test.mjs may change"
    },
    "roots": ["."],
    "read": ["package.json", "src/add.mjs", "test/add.test.mjs"],
    "impactClosure": {
      "changedSurfaces": ["none"],
      "searchEvidence": [
        "Example consumer: src/add.mjs exports add; test/add.test.mjs is its only caller and existing test"
      ],
      "relatedTests": [
        {
          "path": "test/add.test.mjs",
          "evidence": "Existing add(0, 0) assertion passes; preserve it while adding the positive-integer regression"
        }
      ],
      "affectedSuite": ["test/add.test.mjs"]
    },
    "agents": {
      "impact": "none"
    },
    "greenWrite": ["src/add.mjs"],
    "redWrite": ["test/add.test.mjs"],
    "expectedFailure": "[ADD:positive-integers]",
    "verification": {
      "kind": "static-check",
      "runner": {
        "kind": "node",
        "script": "test/add.test.mjs"
      },
      "args": []
    },
    "fullSuite": {
      "kind": "static-check",
      "runner": {
        "kind": "node",
        "script": "test/add.test.mjs"
      },
      "args": []
    }
  }
}
