{
  "repo": "core",
  "version": "7.37.0",
  "from": "9cf65a30c780cb7a6497bc3efa04f3257fac788a",
  "to": "862965ccedf0b4b84695b6a2ed99666a60b0d57f",
  "added": [
    {
      "name": "MODE_RELEASE_REASONS",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/ask-origin.ts:675",
        "src/index.ts:1451"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ModeReleaseReason",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/ask-origin.ts:676",
        "src/index.ts:1451"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "isModeReleaseReason",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/ask-origin.ts:680",
        "src/index.ts:1451"
      ],
      "criteriaCovered": false,
      "breaking": false
    }
  ],
  "removed": [],
  "changed": [],
  "narrowed": [],
  "closedSetMembers": [
    {
      "set": "MODE_RELEASE_REASONS",
      "at": [
        "src/core/ask-origin.ts:675"
      ],
      "newSet": true,
      "added": [
        "rule_unreadable"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "ModeReleaseReason",
      "at": [
        "src/core/ask-origin.ts:676",
        "src/index.ts:1451"
      ],
      "newSet": true,
      "added": [
        "rule_unreadable"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "closedSetsUnreadable": [],
  "typeKeys": [
    {
      "type": "AskCarry",
      "at": [
        "src/core/hooks.ts:2171"
      ],
      "added": [
        "askClass",
        "classes"
      ],
      "addedDetail": [
        {
          "key": "askClass",
          "optional": true
        },
        {
          "key": "classes",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "AskRequest",
      "at": [
        "src/core/tool-policy.ts:2782"
      ],
      "added": [
        "askClass",
        "classes"
      ],
      "addedDetail": [
        {
          "key": "askClass",
          "optional": true
        },
        {
          "key": "classes",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "PendingAction",
      "at": [
        "src/core/checkpoint-store.ts:962"
      ],
      "added": [
        "tool_approval.askClass",
        "tool_approval.classes"
      ],
      "addedDetail": [
        {
          "key": "tool_approval.askClass",
          "optional": true
        },
        {
          "key": "tool_approval.classes",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "PermissionResult",
      "at": [
        "src/core/tool-policy.ts:451"
      ],
      "added": [
        "ask.askClass",
        "ask.classes"
      ],
      "addedDetail": [
        {
          "key": "ask.askClass",
          "optional": true
        },
        {
          "key": "ask.classes",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "PreToolUseResult",
      "at": [
        "src/core/hooks.ts:1163"
      ],
      "added": [
        "ask.askClass",
        "ask.classes"
      ],
      "addedDetail": [
        {
          "key": "ask.askClass",
          "optional": true
        },
        {
          "key": "ask.classes",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "typeKeysUnreadableArms": [],
  "typeKeysFlattenedCount": 219,
  "declarationMoves": [],
  "mintMoves": [],
  "criteriaObserves": [
    {
      "kind": "taskEventField",
      "name": "tool_end.gate",
      "assertions": [
        "G1.b",
        "G2.c",
        "G4.a",
        "G4.b",
        "G4.c",
        "G4.e",
        "G4.d",
        "G6.a",
        "G6.b",
        "G6.c",
        "G6.d",
        "G6.e",
        "G7.a",
        "G7.d",
        "G8.a",
        "G8.b",
        "G8.c",
        "G9.a",
        "G9.b",
        "G9.c",
        "G9.d",
        "G9.e",
        "G9.f",
        "G9.g",
        "G9.h",
        "G9.i",
        "G9.j",
        "G9.k"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.args",
      "assertions": [
        "G6.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.askClass",
      "assertions": [
        "G2.a",
        "G2.b",
        "G5.a",
        "G5.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.classes",
      "assertions": [
        "G2.a",
        "G2.b",
        "G2.c",
        "G4.a",
        "G4.b",
        "G4.c",
        "G4.e",
        "G5.b",
        "G7.a",
        "G7.b",
        "G7.c",
        "G7.d",
        "G7.e",
        "G9.f"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.denialLimitFallback",
      "assertions": [
        "G9.i"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.origin",
      "assertions": [
        "G2.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.probeCause",
      "assertions": [
        "G9.i"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.riskAxes",
      "assertions": [
        "G7.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GateOutcome.disposition.released.reason",
      "assertions": [
        "G1.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ModeRelease.reason",
      "assertions": [
        "G1.a",
        "G1.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PendingAction.askClass",
      "assertions": [
        "G3.a",
        "G3.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PendingAction.classes",
      "assertions": [
        "G3.a",
        "G3.b",
        "G3.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionResult.action",
      "assertions": [
        "G8.a",
        "G8.b",
        "G9.a",
        "G9.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionResult.askClass",
      "assertions": [
        "G5.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionResult.decisionReason",
      "assertions": [
        "G6.e"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionResult.denialLimitFallback",
      "assertions": [
        "G9.c",
        "G9.h"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionResult.requiresRealApproval",
      "assertions": [
        "G6.a",
        "G6.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ToolPolicy.check",
      "assertions": [
        "G9.j",
        "G9.k"
      ]
    }
  ],
  "consumersHint": {
    "cli": [
      "AskCarry",
      "AskRequest",
      "PendingAction",
      "PermissionResult",
      "PreToolUseResult"
    ],
    "server": [
      "AskRequest",
      "PendingAction",
      "PermissionResult",
      "PreToolUseResult"
    ],
    "sdk": [
      "AskRequest",
      "PendingAction",
      "PermissionResult",
      "PreToolUseResult"
    ],
    "note": "scanned cli@6b6025f7 server@65b2df99 sdk@a90a03a — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it. Ledger files (**/docs/core-consumption/**, **/docs/wire-consumption/**, **/*LEDGER*.json) are not evidence of use — server: 1 name(s) matched ONLY in bookkeeping files and were set aside (AskCarry)"
  },
  "breakingCount": 0,
  "breakingItems": []
}
