{
  "repo": "core",
  "version": "7.39.0",
  "from": "15e648df80bf6608cba34a9cd30db2fd8d12f27c",
  "to": "3331eac4d74548b93be523aca78e4c4ffb73389f",
  "added": [
    {
      "name": "OUTPUT_STYLE_NAME_MAX",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/output-style.ts:20",
        "src/index.ts:2587"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PROMPT_BLOCK_CAUSES",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/terminal-cause.ts:166",
        "src/index.ts:365"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PromptBlockCause",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/terminal-cause.ts:167",
        "src/index.ts:365"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "SETTLEMENT_PARTIES",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/gate-outcome.ts:115",
        "src/index.ts:1470"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "SettlementParty",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/gate-outcome.ts:116",
        "src/index.ts:1470"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "TerminalBlockedDetail",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/core/terminal-cause.ts:174",
        "src/index.ts:365"
      ],
      "criteriaCovered": true,
      "breaking": false
    },
    {
      "name": "isEngineRefusal",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/core/decision-receipt.ts:19",
        "src/core/tool-policy.ts:21",
        "src/index.ts:1399"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "isPromptBlockCause",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/terminal-cause.ts:170",
        "src/index.ts:365"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "isSettlementParty",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/gate-outcome.ts:121",
        "src/index.ts:1470"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "receiveHookResult",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/tool-policy.ts:1206",
        "src/index.ts:1398"
      ],
      "criteriaCovered": false,
      "breaking": false
    }
  ],
  "removed": [],
  "changed": [],
  "narrowed": [],
  "closedSetMembers": [
    {
      "set": "ASK_CLASSES",
      "at": [
        "src/core/ask-origin.ts:579"
      ],
      "newSet": false,
      "added": [
        "shell_floor"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "AttachmentSource",
      "at": [
        "src/core/runner/turn-attachments.ts:101"
      ],
      "newSet": false,
      "added": [
        "output_style"
      ],
      "removed": [
        "plan_mode"
      ],
      "persistedBy": "none",
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "set": "CHECKPOINT_CONFIG_REFUSAL_CODES",
      "at": [
        "src/core/checkpoint-store.ts:2420"
      ],
      "newSet": true,
      "added": [
        "config.output_style_invalid",
        "config.permission_mode_invalid",
        "config.shell_gate_value_retired",
        "config.spec_retired_key"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CheckpointConfigRefusalCode",
      "at": [
        "src/core/checkpoint-store.ts:2421"
      ],
      "newSet": true,
      "added": [
        "config.output_style_invalid",
        "config.permission_mode_invalid",
        "config.shell_gate_value_retired",
        "config.spec_retired_key"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CheckpointError.code",
      "at": [
        "src/core/checkpoint-store.ts:2427"
      ],
      "newSet": false,
      "added": [
        "checkpoint.config_refused"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CheckpointError.detail.field",
      "at": [
        "src/core/checkpoint-store.ts:2607"
      ],
      "newSet": false,
      "added": [
        "inheritedGate",
        "taskConfig"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "ENGINE_NOTICE_CODES",
      "at": [
        "src/core/governance-codes.ts:348"
      ],
      "newSet": false,
      "added": [],
      "removed": [
        "resume.legacy_mode_seed_migrated"
      ],
      "persistedBy": "none",
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "set": "FrameReceipt.source",
      "at": [
        "src/core/runner/contracts.ts:218"
      ],
      "newSet": false,
      "added": [
        "output_style"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "PROMPT_BLOCK_CAUSES",
      "at": [
        "src/core/terminal-cause.ts:166"
      ],
      "newSet": true,
      "added": [
        "block",
        "cancelled",
        "crashed",
        "timeout"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "PostureFamily",
      "at": [
        "src/core/auto-mode-directive.ts:123"
      ],
      "newSet": true,
      "added": [
        "auto",
        "plan"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "PromptBlockCause",
      "at": [
        "src/core/terminal-cause.ts:167",
        "src/index.ts:365"
      ],
      "newSet": true,
      "added": [
        "block",
        "cancelled",
        "crashed",
        "timeout"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "SETTLEMENT_KINDS",
      "at": [
        "src/core/gate-outcome.ts:52"
      ],
      "newSet": false,
      "added": [
        "policy_allowed"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "SETTLEMENT_PARTIES",
      "at": [
        "src/core/gate-outcome.ts:115"
      ],
      "newSet": true,
      "added": [
        "engine",
        "host",
        "none",
        "person",
        "policy"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "Settlement.kind",
      "at": [
        "src/core/gate-outcome.ts:96",
        "src/core/gate-outcome.ts:97",
        "src/core/gate-outcome.ts:98",
        "src/core/gate-outcome.ts:99",
        "src/core/gate-outcome.ts:100",
        "src/core/gate-outcome.ts:102"
      ],
      "newSet": false,
      "added": [
        "policy_allowed"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "SettlementParty",
      "at": [
        "src/core/gate-outcome.ts:116",
        "src/index.ts:1470"
      ],
      "newSet": true,
      "added": [
        "engine",
        "host",
        "none",
        "person",
        "policy"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "TaskEvent.source",
      "at": [
        "src/core/task-event.ts:740"
      ],
      "newSet": false,
      "added": [
        "output_style"
      ],
      "removed": [
        "plan_mode"
      ],
      "persistedBy": "none",
      "breaking": true,
      "criteriaCovered": false
    }
  ],
  "closedSetsUnreadable": [],
  "typeKeys": [
    {
      "type": "BlockedRef",
      "at": [
        "src/core/runner/synthetic-tools.ts:35"
      ],
      "via": "Runner.SuspendReap.env.blockedRef",
      "added": [
        "detail"
      ],
      "addedDetail": [
        {
          "key": "detail",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "Prepared",
      "at": [
        "src/core/runner/contracts.ts:244"
      ],
      "via": "Runner.SuspendReap.env",
      "added": [
        "outputStyleFrame"
      ],
      "addedDetail": [
        {
          "key": "outputStyleFrame",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "Settlement",
      "at": [
        "src/core/gate-outcome.ts:95"
      ],
      "added": [
        "policy_allowed.kind",
        "policy_allowed.when",
        "policy_allowed.who",
        "policy_allowed.who.approver",
        "policy_allowed.who.party",
        "policy_refused.who.approver"
      ],
      "addedDetail": [
        {
          "key": "policy_allowed.kind",
          "optional": false
        },
        {
          "key": "policy_allowed.when",
          "optional": false
        },
        {
          "key": "policy_allowed.who",
          "optional": false
        },
        {
          "key": "policy_allowed.who.approver",
          "optional": true
        },
        {
          "key": "policy_allowed.who.party",
          "optional": false
        },
        {
          "key": "policy_refused.who.approver",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "ShellReadJudgeInput",
      "at": [
        "src/tools/fs/shell-read-check.ts:587"
      ],
      "added": [
        "readDenyHomes"
      ],
      "addedDetail": [
        {
          "key": "readDenyHomes",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "TaskSpec",
      "at": [
        "src/core/task-spec.ts:52"
      ],
      "added": [
        "outputStyle",
        "outputStyle.name",
        "outputStyle.turnReminder"
      ],
      "addedDetail": [
        {
          "key": "outputStyle",
          "optional": true
        },
        {
          "key": "outputStyle.name",
          "optional": false
        },
        {
          "key": "outputStyle.turnReminder",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [
        "attachments.planModeReminder"
      ],
      "breaking": true,
      "criteriaCovered": true
    },
    {
      "type": "TerminalCause",
      "at": [
        "src/core/terminal-cause.ts:34"
      ],
      "added": [
        "blocked.detail"
      ],
      "addedDetail": [
        {
          "key": "blocked.detail",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "typeKeysUnreadableArms": [],
  "typeKeysFlattenedCount": 220,
  "signatures": [
    {
      "name": "CheckpointError.constructor",
      "at": [
        "src/core/checkpoint-store.ts:2426"
      ],
      "from": [
        "(code: \"checkpoint.already_exists\" | \"checkpoint.already_resolved\" | \"checkpoint.cwd_conflicts_restore\" | \"checkpoint.execution_outcome_conflict\" | \"checkpoint.gate_mismatch\" | \"checkpoint.invalid_outcome\" | \"checkpoint.not_found\" | \"checkpoint.reopen_failed\" | \"checkpoint.reopen_revote\" | \"checkpoint.reopened_concurrently\" | \"checkpoint.resume_aborted\" | \"checkpoint.unsupported_version\" | \"checkpoint.walltime_axis_retired\" | \"resume.constraint_rejected\" | \"resume.constraint_unprojectable\" | \"resume.parent_constraint_mismatch\" | \"resume.parent_constraint_missing\" | \"resume.placement_mismatch\" | \"resume.preflight_rejected\" | \"resume.principal_mismatch\" | \"resume.usage_window_exhausted\" | \"steering.blocked_by_hook\" | \"steering.duplicate_input_id\" | \"steering.invalid_content\" | \"steering.queue_full\" | \"wake.gate_pending\" | \"wake.nothing_to_deliver\", message: string, detail?: { field?: \"boundCallId\" | \"boundInputHash\" | \"answer\" | \"hostDecision\" | \"approver\"; retryAfterMs?: number; reason?: CheckpointErrorReason; })"
      ],
      "to": [
        "(code: \"checkpoint.already_exists\" | \"checkpoint.already_resolved\" | \"checkpoint.config_refused\" | \"checkpoint.cwd_conflicts_restore\" | \"checkpoint.execution_outcome_conflict\" | \"checkpoint.gate_mismatch\" | \"checkpoint.invalid_outcome\" | \"checkpoint.not_found\" | \"checkpoint.reopen_failed\" | \"checkpoint.reopen_revote\" | \"checkpoint.reopened_concurrently\" | \"checkpoint.resume_aborted\" | \"checkpoint.unsupported_version\" | \"checkpoint.walltime_axis_retired\" | \"resume.constraint_rejected\" | \"resume.constraint_unprojectable\" | \"resume.parent_constraint_mismatch\" | \"resume.parent_constraint_missing\" | \"resume.placement_mismatch\" | \"resume.preflight_rejected\" | \"resume.principal_mismatch\" | \"resume.usage_window_exhausted\" | \"steering.blocked_by_hook\" | \"steering.duplicate_input_id\" | \"steering.invalid_content\" | \"steering.queue_full\" | \"wake.gate_pending\" | \"wake.nothing_to_deliver\", message: string, detail?: { field?: \"boundCallId\" | \"boundInputHash\" | \"answer\" | \"hostDecision\" | \"approver\" | \"taskConfig\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode; retryAfterMs?: number; reason?: CheckpointErrorReason; })"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "param 3 `detail` type widened: …stDecision\" | \"approver\"[ ->  | \"taskConfig\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode]; retryAfterMs?: number;…",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "deriveAskEffective",
      "at": [
        "src/core/wiring-manifest.ts:655"
      ],
      "from": [
        "(form: AskSeamForm, parkEffective: \"unresolved\" | boolean): AskEffective"
      ],
      "to": [
        "(form: AskSeamForm, parkEffective: \"unresolved\" | boolean, mode?: PermissionMode): AskEffective"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `mode?: PermissionMode`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "declarationMoves": [
    {
      "name": "isEngineRefusal",
      "kind": "variable",
      "onSurface": true,
      "from": [
        "src/core/decision-receipt.ts",
        "src/core/tool-policy.ts"
      ],
      "to": [
        "src/core/decision-receipt.ts",
        "src/core/tool-policy.ts",
        "src/index.ts"
      ]
    }
  ],
  "mintMoves": [],
  "criteriaObserves": [
    {
      "kind": "engineNoticeCode",
      "name": "task.user_followup_undrained",
      "assertions": [
        "G6.b",
        "G14.b",
        "G14.c",
        "G14.f"
      ]
    },
    {
      "kind": "engineNoticeCode",
      "name": "task.user_steer_undrained",
      "assertions": [
        "G6.b",
        "G14.a",
        "G14.c",
        "G14.d",
        "G14.e",
        "G14.f"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "done.result",
      "assertions": [
        "G11.a",
        "G11.b",
        "G11.c"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "human_input.delivery",
      "assertions": [
        "G6.a",
        "G6.b",
        "G6.c"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "human_input.inputId",
      "assertions": [
        "G6.a",
        "G6.c"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "human_input.parentToolCallId",
      "assertions": [
        "G6.d"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "human_input.sessionSeq",
      "assertions": [
        "G6.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "human_input.sourceTaskId",
      "assertions": [
        "G6.d"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "steering_injected.source",
      "assertions": [
        "G5.a",
        "G5.c"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "tool_end.gate",
      "assertions": [
        "G1.c",
        "G2.a",
        "G7.a",
        "G7.b",
        "G7.c",
        "G8.a",
        "G10.a",
        "G10.b",
        "G10.c",
        "G10.d",
        "G10.g",
        "G10.h"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "wiring_manifest.manifest",
      "assertions": [
        "G8.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.classes",
      "assertions": [
        "G1.a",
        "G1.b",
        "G1.c",
        "G1.d",
        "G2.b",
        "G8.a",
        "G8.b",
        "G10.f"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.mandate",
      "assertions": [
        "G1.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.origin",
      "assertions": [
        "G1.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.toolCallId",
      "assertions": [
        "G1.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Checkpoint.status",
      "assertions": [
        "G9.b",
        "G9.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "CheckpointError.code",
      "assertions": [
        "G9.a",
        "G9.c",
        "G10.d",
        "G10.g",
        "G10.h"
      ]
    },
    {
      "kind": "typeMember",
      "name": "CheckpointError.detail",
      "assertions": [
        "G9.a",
        "G9.c",
        "G10.d",
        "G10.g",
        "G10.h"
      ]
    },
    {
      "kind": "typeMember",
      "name": "CheckpointRow.executionOutcome",
      "assertions": [
        "G10.h"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GateDisposition.deniedBy",
      "assertions": [
        "G10.h"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GateOutcome.disposition",
      "assertions": [
        "G1.d",
        "G2.a",
        "G8.a",
        "G8.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GateOutcome.settlement",
      "assertions": [
        "G2.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "MemoryEngine.harvest",
      "assertions": [
        "G13.a",
        "G13.b",
        "G13.c",
        "G13.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "MemoryEngine.inject",
      "assertions": [
        "G13.a",
        "G13.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionDeniedPayload.gate",
      "assertions": [
        "G10.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionResult.message",
      "assertions": [
        "G7.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ResolvedOutcome.gateOutcome",
      "assertions": [
        "G10.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Settlement.kind",
      "assertions": [
        "G10.a",
        "G10.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Settlement.who",
      "assertions": [
        "G10.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Settlement.who.approver",
      "assertions": [
        "G10.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Settlement.who.party",
      "assertions": [
        "G10.e"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ShellReadJudgeInput.readDenyHomes",
      "assertions": [
        "G12.a",
        "G12.b",
        "G12.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ShellReadJudgment.verdict.disposition",
      "assertions": [
        "G12.a",
        "G12.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ShellReadJudgment.verdict.finding",
      "assertions": [
        "G12.a",
        "G12.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskResult.terminal",
      "assertions": [
        "G4.c",
        "G5.b",
        "G9.b",
        "G9.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.interactiveTools",
      "assertions": [
        "G4.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.objective",
      "assertions": [
        "G3.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.outputStyle",
      "assertions": [
        "G5.a",
        "G5.c",
        "G9.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.permissionMode",
      "assertions": [
        "G3.a",
        "G4.a",
        "G4.b",
        "G4.d",
        "G8.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskStream.setPermissionMode",
      "assertions": [
        "G3.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TerminalBlockedDetail.cause",
      "assertions": [
        "G11.a",
        "G11.b",
        "G11.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TerminalBlockedDetail.hookReason",
      "assertions": [
        "G11.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TerminalBlockedDetail.kind",
      "assertions": [
        "G11.a",
        "G11.c"
      ]
    }
  ],
  "consumersHint": {
    "cli": [
      "CheckpointError",
      "ENGINE_NOTICE_CODES",
      "Prepared",
      "SETTLEMENT_KINDS",
      "Settlement",
      "TaskEvent",
      "TaskSpec",
      "TerminalCause"
    ],
    "server": [
      "ASK_CLASSES",
      "CheckpointError",
      "ENGINE_NOTICE_CODES",
      "Prepared",
      "SETTLEMENT_PARTIES",
      "Settlement",
      "TaskEvent",
      "TaskSpec",
      "TerminalCause",
      "deriveAskEffective",
      "isEngineRefusal"
    ],
    "sdk": [
      "ASK_CLASSES",
      "AttachmentSource",
      "CheckpointError",
      "ENGINE_NOTICE_CODES",
      "SETTLEMENT_KINDS",
      "Settlement",
      "TaskEvent",
      "TaskSpec",
      "TerminalCause"
    ],
    "note": "scanned cli@64a76326 server@f4ce4085 sdk@2756723 — 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: 2 name(s) matched ONLY in bookkeeping files and were set aside (SETTLEMENT_KINDS, ShellReadJudgeInput)"
  },
  "breakingCount": 4,
  "breakingItems": [
    "closed set lost members: AttachmentSource -plan_mode",
    "closed set lost members: ENGINE_NOTICE_CODES -resume.legacy_mode_seed_migrated",
    "closed set lost members: TaskEvent.source -plan_mode",
    "type lost keys: TaskSpec -attachments.planModeReminder"
  ]
}
