{
  "repo": "core",
  "version": "7.12.0",
  "from": "171367410e9c9c2d86eb5f1e8e73a98f75f52946",
  "to": "v7.12.0",
  "added": [
    {
      "name": "CLASSIFIER_PARSE_FAILURE_DENY_MESSAGE",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:81",
        "src/index.ts:1288"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "WorkflowJournalOversizeError",
      "kind": "class",
      "tier": "advanced",
      "at": [
        "src/core/workflow-journal-store.ts:184",
        "src/index.ts:2682"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "assertJournalEntryFits",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/workflow-journal-store.ts:211",
        "src/index.ts:2683"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "classifierUnavailableDenyMessage",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:69",
        "src/index.ts:1287"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "workflowJournalStoreContract",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/store-contracts/workflow-journal-store-contract.ts:56",
        "src/index.ts:2582"
      ],
      "criteriaCovered": false,
      "breaking": false
    }
  ],
  "removed": [
    {
      "name": "AUTO_MODE_BREAKER_CAUSES",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:58",
        "src/index.ts:1287"
      ],
      "breaking": true
    },
    {
      "name": "AutoModeBreakerCause",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:59",
        "src/index.ts:1291"
      ],
      "breaking": true
    },
    {
      "name": "AutoModeBreakerLedger",
      "kind": "class",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:324",
        "src/index.ts:1289"
      ],
      "breaking": true
    },
    {
      "name": "AutoModeBreakerTrip",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:304",
        "src/index.ts:1292"
      ],
      "breaking": true
    },
    {
      "name": "isAutoModeBreakerCause",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/auto-mode.ts:62",
        "src/index.ts:1288"
      ],
      "breaking": true
    }
  ],
  "changed": [],
  "narrowed": [
    {
      "id": "F2",
      "source": "behaviorFlips.summary",
      "text": "#661 ③ (ruling 「不可用时 fail-closed 拒绝并明说」; CC `Ze.unavailable` ⇒ deny, sentence `x1t`): an `unavailable` classifier verdict (threw / rejected / past `timeoutMs`) DENIES the call at the gate's classifier station and the inherited-lane stations, with the CC sentence and the fact `classifierUnavailable:{cause}` on the deny (narrowing)"
    }
  ],
  "closedSetMembers": [
    {
      "set": "AUTO_MODE_ARM_REASONS",
      "at": [
        "src/core/wiring-manifest.ts:96"
      ],
      "newSet": false,
      "added": [],
      "removed": [
        "latch_open"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "set": "AUTO_MODE_UNAVAILABLE_CAUSES",
      "at": [
        "src/core/auto-mode.ts:41"
      ],
      "newSet": false,
      "added": [],
      "removed": [
        "breaker_open"
      ],
      "breaking": true,
      "criteriaCovered": false
    }
  ],
  "typeKeys": [
    {
      "type": "AutoModeArmingFace",
      "at": [
        "src/core/auto-mode-arming.ts:131"
      ],
      "added": [],
      "removed": [
        "failureThreshold"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "type": "AutoModeArmingRecipe",
      "at": [
        "src/core/auto-mode-arming.ts:71"
      ],
      "added": [],
      "removed": [
        "failureThreshold"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "type": "AutoModeDecider",
      "at": [
        "src/core/auto-mode.ts:167"
      ],
      "added": [],
      "removed": [
        "breakerOpen",
        "consecutiveFailures"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "type": "AutoModeDeciderOptions",
      "at": [
        "src/core/auto-mode.ts:143"
      ],
      "added": [],
      "removed": [
        "failureThreshold",
        "onBreakerOpen"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "type": "AutoModeRebuildOptions",
      "at": [
        "src/core/auto-mode-rebuild.ts:32"
      ],
      "added": [],
      "removed": [
        "onBreakerOpen"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "type": "PermissionDeniedPayload",
      "at": [
        "src/core/hooks.ts:581"
      ],
      "added": [
        "classifierUnavailable"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "RunInternals",
      "at": [
        "src/core/runner/contracts.ts:1226"
      ],
      "added": [],
      "removed": [
        "autoModeBreakerLedger"
      ],
      "breaking": true,
      "criteriaCovered": false
    }
  ],
  "declarationMoves": [],
  "mintMoves": [
    {
      "code": "steering.parked_input_blocked",
      "from": [
        "src/core/runner/runtask.ts"
      ],
      "to": [
        "src/core/runner/run-leg.ts"
      ]
    }
  ],
  "criteriaObserves": [
    {
      "kind": "taskEventField",
      "name": "tool_end.gate",
      "assertions": [
        "G2.a",
        "G3.a",
        "G6.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.denialLimitFallback",
      "assertions": [
        "G3.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AutoModeArmingRecipe.v",
      "assertions": [
        "G5.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionDeniedPayload.classifierUnavailable",
      "assertions": [
        "G2.a",
        "G6.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TraceEvent.kind",
      "assertions": [
        "G1.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "WiringManifest.autoMode",
      "assertions": [
        "G1.a",
        "G4.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "WorkflowJournalEntry.parked",
      "assertions": [
        "G7.a",
        "G8.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "WorkflowJournalStore.append",
      "assertions": [
        "G7.a",
        "G8.a"
      ]
    }
  ],
  "consumersHint": {
    "cli": [
      "AutoModeBreakerTrip",
      "RunInternals"
    ],
    "server": [
      "AUTO_MODE_ARM_REASONS",
      "AUTO_MODE_BREAKER_CAUSES",
      "AUTO_MODE_UNAVAILABLE_CAUSES",
      "AutoModeArmingFace",
      "AutoModeArmingRecipe",
      "AutoModeBreakerCause",
      "AutoModeBreakerLedger",
      "AutoModeBreakerTrip",
      "AutoModeDecider",
      "AutoModeDeciderOptions",
      "AutoModeRebuildOptions",
      "PermissionDeniedPayload",
      "RunInternals",
      "isAutoModeBreakerCause"
    ],
    "sdk": [],
    "note": "scanned cli@8a270aed server@25014878 sdk@978db55 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
  },
  "breakingCount": 13,
  "breakingItems": [
    "closed set lost members: AUTO_MODE_ARM_REASONS -latch_open",
    "closed set lost members: AUTO_MODE_UNAVAILABLE_CAUSES -breaker_open",
    "export removed: AUTO_MODE_BREAKER_CAUSES (variable)",
    "export removed: AutoModeBreakerCause (type)",
    "export removed: AutoModeBreakerLedger (class)",
    "export removed: AutoModeBreakerTrip (interface)",
    "export removed: isAutoModeBreakerCause (function)",
    "type lost keys: AutoModeArmingFace -failureThreshold",
    "type lost keys: AutoModeArmingRecipe -failureThreshold",
    "type lost keys: AutoModeDecider -breakerOpen,consecutiveFailures",
    "type lost keys: AutoModeDeciderOptions -failureThreshold,onBreakerOpen",
    "type lost keys: AutoModeRebuildOptions -onBreakerOpen",
    "type lost keys: RunInternals -autoModeBreakerLedger"
  ],
  "toResolvedAt": "0a6a448e1267f3adb0df27b1daa5fcdfccabb655"
}
