{
  "repo": "core",
  "version": "7.26.2",
  "from": "d9d6418fe808128c2b9bd9a51273602f5d6c28e1",
  "to": "v7.26.2",
  "added": [],
  "removed": [],
  "changed": [
    {
      "name": "SettlementKind",
      "from": {
        "kind": "type",
        "tier": "advanced"
      },
      "to": {
        "kind": "type",
        "tier": "stable"
      },
      "at": [
        "src/core/gate-outcome.ts:64",
        "src/index.ts:1411"
      ],
      "breaking": false
    }
  ],
  "narrowed": [
    {
      "id": "F3",
      "source": "behaviorFlips.summary",
      "text": "NARROWING + closed-set addition (#1016, P1, approval face — user-visible through the model): a deployment's own policy refusal is no longer handed to the model as the user's words. `AskOutcome.settledBy` gains `\"policy\"` (live) and the durable `hostDecision.decidedBy` gains `\"policy\"`; `SETTLEMENT_KINDS` gains `policy_refused` (party `none`); a refusal so settled reaches the model as ONE policy sentence (`Action requires interactive approval and permission prompts are not available in this context` + `Policy note:` when the host supplied one), minted in one place for the live and the durable-resume arms. A refusal with no `settledBy` is still read as a person's (default unchanged)."
    }
  ],
  "closedSetMembers": [
    {
      "set": "SETTLEMENT_KINDS",
      "at": [
        "src/core/gate-outcome.ts:49"
      ],
      "newSet": false,
      "added": [
        "policy_refused"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "closedSetsUnreadable": [],
  "typeKeys": [
    {
      "type": "RunInternals",
      "at": [
        "src/core/runner/contracts.ts:1340"
      ],
      "added": [
        "onWiringManifest"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    }
  ],
  "declarationMoves": [],
  "mintMoves": [],
  "criteriaObserves": [
    {
      "kind": "taskEventField",
      "name": "tool_end.gate",
      "assertions": [
        "G3.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "RunInternals.onWiringManifest",
      "assertions": [
        "G2.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ShellReadJudgment.verdict",
      "assertions": [
        "G1.a"
      ]
    }
  ],
  "consumersHint": {
    "cli": [
      "RunInternals",
      "SETTLEMENT_KINDS"
    ],
    "server": [
      "RunInternals",
      "SETTLEMENT_KINDS",
      "SettlementKind"
    ],
    "sdk": [
      "SETTLEMENT_KINDS"
    ],
    "note": "scanned cli@1da88f0f server@8fe5139f sdk@192ebd1 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
  },
  "breakingCount": 0,
  "breakingItems": [],
  "toResolvedAt": "cf8254dcbedc7be05f796fb4813b6b9a2967c842"
}
