{
  "repo": "core",
  "version": "7.53.0",
  "from": "3bc7848a9cde7d860bfcbcc53eefb79bbaa68c16",
  "to": "3c775d132a25dda585e76b0daa7d5796e0501df6",
  "added": [
    {
      "name": "ANTHROPIC_DEFAULT_BASE_URL",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/brain/anthropic.ts:413",
        "src/index.ts:3373"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "CROSS_PRINCIPAL_MESSAGE_NOTICE",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/agents/cross-session-envelope.ts:76",
        "src/index.ts:3258"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "CompactionPassStart",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/core/auto-compaction.ts:343",
        "src/index.ts:964"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "CrossPrincipalBody",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:88",
        "src/index.ts:3252"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ORG_DELIVERY_REFUSAL_CODES",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:101",
        "src/index.ts:3240"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "OnArtifactRefused",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/index.ts:2664",
        "src/prompt-assembly/artifact-store.ts:27"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "OrgAuthenticatedSender",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:82",
        "src/index.ts:3251"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "OrgDeliveryGate",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:118",
        "src/index.ts:3250"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "OrgDeliveryOutcome",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:108",
        "src/index.ts:3253"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "OrgDeliveryRefusalCode",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:102",
        "src/index.ts:3254"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PRINCIPAL_INBOX_CONSUMER_INVALID_CODE",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:26",
        "src/index.ts:3248"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PRINCIPAL_INBOX_HANDLE",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/agents/cross-session-ref.ts:90",
        "src/index.ts:3257"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PRINCIPAL_INBOX_TRIAGE_POLICIES",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:171",
        "src/index.ts:3244"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PRINCIPAL_INBOX_UNMINTED_CAUSE",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/agents/peer-session-drain.ts:54",
        "src/index.ts:3260"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PROMPT_BINDING_LIST_MAX",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:2588",
        "src/prompt-assembly/overlay.ts:181"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PROMPT_BINDING_MAX_CHARS",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:2588",
        "src/prompt-assembly/overlay.ts:179"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PrincipalInboxConsumer",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:30",
        "src/index.ts:3249"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "PrincipalInboxTriagePolicy",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:172",
        "src/index.ts:3255"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "StoredArtifactRefusal",
      "kind": "interface",
      "tier": "advanced",
      "at": [
        "src/index.ts:2669",
        "src/prompt-assembly/artifact-store.ts:21"
      ],
      "criteriaCovered": true,
      "breaking": false
    },
    {
      "name": "ToolAxesRead",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/mcp-server-spec.ts:211",
        "src/core/types.ts:32",
        "src/index.ts:3607"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "ToolAxesSurface",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/mcp-server-spec.ts:179",
        "src/core/types.ts:32",
        "src/index.ts:3607"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "admitRouteRequest",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/brain/route-adjudicator.ts:842",
        "src/index.ts:3415"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "brainLaneOf",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/brain/routing.ts:69",
        "src/index.ts:3380"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "isGateMintedRecord",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:158",
        "src/index.ts:3243"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "isMintableProbeReason",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/untrusted-text.ts:1161",
        "src/index.ts:584"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "isOrgDeliveryRefusalCode",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:103",
        "src/index.ts:3241"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "mintCrossPrincipalRecord",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:138",
        "src/index.ts:3242"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "principalInboundLayers",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/cross-session-judge.ts:134",
        "src/index.ts:3259"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "principalInboxConsumerOf",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:43",
        "src/index.ts:3247"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "principalInboxSideEffectKey",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:196",
        "src/index.ts:3246"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "principalInboxTriagePolicy",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/agents/org-delivery-gate.ts:174",
        "src/index.ts:3245"
      ],
      "criteriaCovered": false,
      "breaking": false
    },
    {
      "name": "readToolAxes",
      "kind": "function",
      "tier": "advanced",
      "at": [
        "src/core/mcp-server-spec.ts:463",
        "src/core/types.ts:33",
        "src/index.ts:3606"
      ],
      "criteriaCovered": false,
      "breaking": false
    }
  ],
  "removed": [
    {
      "name": "McpToolAxesRead",
      "kind": "type",
      "tier": "advanced",
      "at": [
        "src/core/mcp-server-spec.ts:177",
        "src/core/types.ts:32",
        "src/index.ts:3574"
      ],
      "breaking": true
    },
    {
      "name": "NO_PERSISTENT_MEMORY_NOTICE",
      "kind": "variable",
      "tier": "advanced",
      "at": [
        "src/index.ts:2566",
        "src/prompts/default.ts:92"
      ],
      "breaking": true
    }
  ],
  "changed": [],
  "narrowed": [
    {
      "id": "F1",
      "source": "behaviorFlips.summary",
      "text": "#1842 (behavior narrowing, open to veto): a route mounted under a model's word whose value is not a brain fails that request with an error terminal naming the route; a model with no string route word is served by the fallback."
    },
    {
      "id": "F2",
      "source": "behaviorFlips.summary",
      "text": "#1835 (behavior narrowing, open to veto): an A2A peer whose `toolAxes` the engine cannot read refuses the whole prepare, as an MCP server's does."
    },
    {
      "id": "F3",
      "source": "behaviorFlips.summary",
      "text": "#1835 / #1842d / #1989 / #2019 / #2046 (behavior narrowing, open to veto): an MCP or A2A declaration that is not plain data to its depth is refused whole, naming the member."
    },
    {
      "id": "F8",
      "source": "behaviorFlips.summary",
      "text": "#2017 (behavior narrowing): an MCP / A2A declaration nested more than 1 000 levels below the declaration is refused in the bound's sentence on every platform; the reader's member path is bounded."
    },
    {
      "id": "F12",
      "source": "behaviorFlips.summary",
      "text": "#740 (behavior narrowing ×5, open to veto): `<` / `>` refused in a path / name / host ALLOW; a globbed or unknown Artifact action refused in a caller policy; an action-less Artifact call refused by any action deny / ask; an unreadable rule partition puts every Artifact call to a person; an org row of another grammar stands at its strictest reading."
    },
    {
      "id": "F16",
      "source": "behaviorFlips.summary",
      "text": "#1974 (security P1, behavior narrowing, open to veto): every rewrite of a call is read the tool's way before it is judged, and the loop runs exactly the gate's output."
    },
    {
      "id": "F20",
      "source": "behaviorFlips.summary",
      "text": "#1971 (behavior narrowing, open to veto): every station that asks what the tool valve leaves mounted reads the one valve predicate, and \"how many of a server's tools are mounted\" is one count read off the roster."
    }
  ],
  "closedSetMembers": [
    {
      "set": "CHECKPOINT_CONFIG_REFUSAL_CODES",
      "at": [
        "src/core/checkpoint-store.ts:2485"
      ],
      "newSet": false,
      "added": [
        "config.attachment_invalid",
        "config.auto_consolidation",
        "config.brain_call_guardrail_invalid",
        "config.deps_retired_key",
        "config.invalid_argument",
        "config.invalid_checkpoint_store",
        "config.limit_invalid",
        "config.limit_unknown_key",
        "config.locked_key",
        "config.locked_registry",
        "config.mcp_content_class",
        "config.memory_capture_policy",
        "config.memory_delegation_evidence",
        "config.memory_persistence_invalid",
        "config.memory_provenance",
        "config.microcompact_invalid",
        "config.peer_presence_invalid",
        "config.prompt_selector_invalid",
        "config.read_face_invalid",
        "config.retention_capability",
        "config.retention_policy",
        "config.skill_base_dir_invalid",
        "config.skill_listing_budget_invalid",
        "config.tool_materialize_invalid",
        "config.tool_materialize_unreachable",
        "config.tool_model_gate_invalid",
        "config.unknown_role",
        "config.usage_window_invalid",
        "config.write_face_invalid",
        "resume_at.conflicts_resume",
        "resume_at.mode_without_target"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CROSS_SESSION_HOLD_CAUSES",
      "at": [
        "src/agents/cross-session-judge.ts:160"
      ],
      "newSet": false,
      "added": [
        "cross-principal-default"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CheckpointError.detail.field",
      "at": [
        "src/core/checkpoint-store.ts:2676"
      ],
      "newSet": false,
      "added": [
        "deps"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CheckpointErrorReason",
      "at": [
        "src/core/checkpoint-store.ts:2427"
      ],
      "newSet": false,
      "added": [
        "not_a_model_ref",
        "unknown_model_ref"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "CrossSessionHoldCause",
      "at": [
        "src/agents/cross-session-judge.ts:148"
      ],
      "newSet": false,
      "added": [
        "cross-principal-default"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "ENGINE_NOTICE_CODES",
      "at": [
        "src/core/governance-codes.ts:362"
      ],
      "newSet": false,
      "added": [
        "config.session_rules_earlier_grammar"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "set": "EarlierGrammarReader",
      "at": [
        "src/core/session-policy-store.ts:466"
      ],
      "newSet": true,
      "added": [
        "named_no_tool",
        "no_rule"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "ORG_DELIVERY_REFUSAL_CODES",
      "at": [
        "src/agents/org-delivery-gate.ts:101"
      ],
      "newSet": true,
      "added": [
        "org_delivery.inbox_full",
        "org_delivery.not_member",
        "org_delivery.rate_limited",
        "org_delivery.recipient_tombstoned"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "ORG_ROW_POLICY_MEMBERS",
      "at": [
        "src/core/permission-rule-org.ts:623"
      ],
      "newSet": true,
      "added": [
        "behavior",
        "rule"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "OrgDeliveryRefusalCode",
      "at": [
        "src/agents/org-delivery-gate.ts:102",
        "src/index.ts:3254"
      ],
      "newSet": true,
      "added": [
        "org_delivery.inbox_full",
        "org_delivery.not_member",
        "org_delivery.rate_limited",
        "org_delivery.recipient_tombstoned"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "OrgRowReach",
      "at": [
        "src/core/permission-rule-org.ts:551"
      ],
      "newSet": true,
      "added": [
        "every"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "PRINCIPAL_INBOX_TRIAGE_POLICIES",
      "at": [
        "src/agents/org-delivery-gate.ts:171"
      ],
      "newSet": true,
      "added": [
        "decline",
        "draft_for_approval",
        "triage_readonly"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "PeerInboundHoldCause",
      "at": [
        "src/agents/peer-held-queue.ts:26"
      ],
      "newSet": false,
      "added": [
        "cross-principal-default"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "PrincipalInboxTriagePolicy",
      "at": [
        "src/agents/org-delivery-gate.ts:172",
        "src/index.ts:3255"
      ],
      "newSet": true,
      "added": [
        "decline",
        "draft_for_approval",
        "triage_readonly"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "RunnerDeps.principalInboxConsumer",
      "at": [
        "src/core/runner-deps.ts:959"
      ],
      "newSet": true,
      "added": [
        "terminals"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "TaskEvent.type",
      "at": [
        "src/core/task-event.ts:290",
        "src/core/task-event.ts:312",
        "src/core/task-event.ts:315",
        "src/core/task-event.ts:317",
        "src/core/task-event.ts:358",
        "src/core/task-event.ts:390",
        "src/core/task-event.ts:622",
        "src/core/task-event.ts:636",
        "src/core/task-event.ts:701",
        "src/core/task-event.ts:795",
        "src/core/task-event.ts:826",
        "src/core/task-event.ts:860",
        "src/core/task-event.ts:872",
        "src/core/task-event.ts:900",
        "src/core/task-event.ts:922",
        "src/core/task-event.ts:966",
        "src/core/task-event.ts:974",
        "src/core/task-event.ts:1013",
        "src/core/task-event.ts:1060",
        "src/core/task-event.ts:1165",
        "src/core/task-event.ts:1186",
        "src/core/task-event.ts:1197",
        "src/core/task-event.ts:1209",
        "src/core/task-event.ts:1217"
      ],
      "newSet": false,
      "added": [
        "compaction_started"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "set": "ToolAxesSurface",
      "at": [
        "src/core/mcp-server-spec.ts:179"
      ],
      "newSet": true,
      "added": [
        "a2a",
        "mcp"
      ],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "closedSetsUnreadable": [],
  "typeKeys": [
    {
      "type": "CrossSessionInboundInput",
      "at": [
        "src/agents/cross-session-judge.ts:209"
      ],
      "added": [
        "sender.fromScope"
      ],
      "addedDetail": [
        {
          "key": "sender.fromScope",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "GoalResult",
      "at": [
        "src/orchestration/goal.ts:113"
      ],
      "added": [
        "suspendGate"
      ],
      "addedDetail": [
        {
          "key": "suspendGate",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "MaybeCompactOptions",
      "at": [
        "src/core/auto-compaction.ts:351"
      ],
      "added": [
        "onStarted"
      ],
      "addedDetail": [
        {
          "key": "onStarted",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "McpRefreshResult",
      "at": [
        "src/core/mcp.ts:310"
      ],
      "added": [
        "instructions"
      ],
      "addedDetail": [
        {
          "key": "instructions",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "PromptOverlay",
      "at": [
        "src/prompt-assembly/overlay.ts:47"
      ],
      "added": [],
      "addedDetail": [],
      "addedRequired": [],
      "removed": [
        "scope",
        "scope.binding"
      ],
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "type": "PromptVariantWhen",
      "at": [
        "src/prompt-assembly/catalog/schema.ts:111"
      ],
      "added": [
        "binding"
      ],
      "addedDetail": [
        {
          "key": "binding",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "ReadInboxToolOptions",
      "at": [
        "src/agents/read-inbox-tool.ts:28"
      ],
      "added": [
        "coversPrincipalInbox"
      ],
      "addedDetail": [
        {
          "key": "coversPrincipalInbox",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "type": "RunnerDeps",
      "at": [
        "src/core/runner-deps.ts:105"
      ],
      "added": [
        "principalInboxConsumer",
        "principalInboxConsumer.assistant"
      ],
      "addedDetail": [
        {
          "key": "principalInboxConsumer",
          "optional": true
        },
        {
          "key": "principalInboxConsumer.assistant",
          "optional": false
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "TaskEvent",
      "at": [
        "src/core/task-event.ts:289"
      ],
      "added": [
        "compacted.pass",
        "compaction_outcome.pass",
        "compaction_started.pass",
        "compaction_started.startedAt",
        "compaction_started.trigger",
        "compaction_started.type"
      ],
      "addedDetail": [
        {
          "key": "compacted.pass",
          "optional": true
        },
        {
          "key": "compaction_outcome.pass",
          "optional": true
        },
        {
          "key": "compaction_started.pass",
          "optional": false
        },
        {
          "key": "compaction_started.startedAt",
          "optional": false
        },
        {
          "key": "compaction_started.trigger",
          "optional": false
        },
        {
          "key": "compaction_started.type",
          "optional": false
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": true
    },
    {
      "type": "ToolGateInput",
      "at": [
        "src/core/hooks.ts:886"
      ],
      "via": "runToolGate.ToolGateInput",
      "added": [
        "event.readArguments"
      ],
      "addedDetail": [
        {
          "key": "event.readArguments",
          "optional": true
        }
      ],
      "addedRequired": [],
      "removed": [],
      "breaking": false,
      "criteriaCovered": false
    }
  ],
  "typeKeysUnreadableArms": [
    {
      "type": "TaskEvent",
      "at": "src/core/task-event.ts:289",
      "reasons": [
        "a union carrying 2 arm(s) whose keys this reader does not follow (a qualified reference (`TaskEventIdentity`); a qualified reference (`BrainStatus`)) — a key missing from this type at `to` is still reported REMOVED, carrying `uncertain` so the writer checks whether it moved there"
      ]
    }
  ],
  "typeKeysFlattenedCount": 234,
  "signatures": [
    {
      "name": "CenterPromptSource.constructor",
      "at": [
        "src/prompt-assembly/artifact-store.ts:243"
      ],
      "from": [
        "(opts: { store: PromptArtifactStore; stateStore?: PromptSourceStateStore; })"
      ],
      "to": [
        "(opts: { store: PromptArtifactStore; stateStore?: PromptSourceStateStore; onError?: RunnerDeps[\"onError\"]; })"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "param 1 `opts` type widened: …PromptSourceStateStore; [ -> onError?: RunnerDeps[\"onError\"]; ]}",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "CenterPromptSource.get",
      "at": [
        "src/prompt-assembly/artifact-store.ts:253"
      ],
      "from": [
        "(artifactDigest: string): Promise<PromptArtifact | undefined>"
      ],
      "to": [
        "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PromptArtifact | undefined>"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `onRefused?: OnArtifactRefused`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "CheckpointError.constructor",
      "at": [
        "src/core/checkpoint-store.ts:2491"
      ],
      "from": [
        "(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\" | \"boundGrantDigest\" | \"answer\" | \"hostDecision\" | \"approver\" | \"taskConfig\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode; retryAfterMs?: number; reason?: CheckpointErrorReason; requires?: readonly string[]; differs?: readonly SteerReplayFacet[]; })"
      ],
      "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\" | \"boundGrantDigest\" | \"answer\" | \"hostDecision\" | \"approver\" | \"taskConfig\" | \"deps\" | \"inheritedGate\"; code?: CheckpointConfigRefusalCode; retryAfterMs?: number; reason?: CheckpointErrorReason; requires?: readonly string[]; differs?: readonly SteerReplayFacet[]; })"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "param 3 `detail` type widened: …over\" | \"taskConfig\" | \"[ -> deps\" | \"]inheritedGate\"; code?: C…",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "FilePromptArtifactStore.get",
      "at": [
        "src/prompt-assembly/artifact-store.ts:107"
      ],
      "from": [
        "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
      ],
      "to": [
        "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `onRefused?: OnArtifactRefused`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "MemoryPromptArtifactStore.get",
      "at": [
        "src/prompt-assembly/artifact-store.ts:81"
      ],
      "from": [
        "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
      ],
      "to": [
        "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `onRefused?: OnArtifactRefused`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "PromptArtifactSource.get",
      "at": [
        "src/prompt-assembly/artifact-store.ts:195"
      ],
      "from": [
        "(artifactDigest: string): Promise<PromptArtifact | undefined>"
      ],
      "to": [
        "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PromptArtifact | undefined>"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `onRefused?: OnArtifactRefused`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "PromptArtifactStore.get",
      "at": [
        "src/prompt-assembly/artifact-store.ts:50"
      ],
      "from": [
        "(artifactDigest: string): Promise<PublishedPromptArtifact | undefined>"
      ],
      "to": [
        "(artifactDigest: string, onRefused?: OnArtifactRefused): Promise<PublishedPromptArtifact | undefined>"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `onRefused?: OnArtifactRefused`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "materializeMcpTools",
      "at": [
        "src/core/mcp.ts:1971"
      ],
      "from": [
        "(specs: McpServerSpec[], principal?: string, onElicit?: OnElicit, imageResizer?: McpImageResizer, reminderDisclosure?: { reminderMark?: string; counts?: ReminderDisclosureCounts; }, mcpRevocations?: McpRevocationLedger & { onProbeFailure?: (error: unknown) => void; }, poolOpts?: { pool: McpConnectionPool; ownsPool?: boolean; }, promptSections?: PromptSectionDisposer): Promise<MaterializedMcp>"
      ],
      "to": [
        "(specs: McpServerSpec[], principal?: string, onElicit?: OnElicit, imageResizer?: McpImageResizer, reminderDisclosure?: { reminderMark?: string; counts?: ReminderDisclosureCounts; }, mcpRevocations?: McpRevocationLedger & { onProbeFailure?: (error: unknown) => void; }, poolOpts?: { pool: McpConnectionPool; ownsPool?: boolean; }, promptSections?: PromptSectionDisposer, dialable?: (spec: McpServerSpec) => boolean): Promise<MaterializedMcp>"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `dialable?: (spec: McpServerSpec) => boolean`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "maybeCompact",
      "at": [
        "src/core/auto-compaction.ts:775"
      ],
      "from": [
        "(opts: MaybeCompactOptions): Promise<{ compacted: boolean; blocked?: boolean; disabled?: boolean; noop?: true; tokensBefore?: number; freedTokens?: number; triggerTokens?: number; postTriggerTokens?: number; firstKeptEntryId?: string; reused?: boolean; attachedFiles?: Array<{ path: string; chars: number; truncated: boolean; }>; naturalTrigger?: boolean; postOverThreshold?: boolean; durationMs?: number; phaseDurations?: CompactionPhaseDurations; suppressedByFloor?: { estTokens: number; floor: number; }; unevaluableWindow?: { estTokens: number; windowField: \"autoCompactTokens\" | \"contextTokens\" | \"contextWindow\"; windowValue?: number; modelId?: string; }; contextUsage?: { usedTokens: number; windowTokens: number; compactAtTokens: number; }; modelFallback?: true; fallbackReason?: \"window\"; clampedRatio?: number; clampReason?: \"budget\" | \"tolerance\"; }>"
      ],
      "to": [
        "(opts: MaybeCompactOptions): Promise<{ compacted: boolean; blocked?: boolean; disabled?: boolean; noop?: true; pass?: string; tokensBefore?: number; freedTokens?: number; triggerTokens?: number; postTriggerTokens?: number; firstKeptEntryId?: string; reused?: boolean; attachedFiles?: Array<{ path: string; chars: number; truncated: boolean; }>; naturalTrigger?: boolean; postOverThreshold?: boolean; durationMs?: number; phaseDurations?: CompactionPhaseDurations; suppressedByFloor?: { estTokens: number; floor: number; }; unevaluableWindow?: { estTokens: number; windowField: \"autoCompactTokens\" | \"contextTokens\" | \"contextWindow\"; windowValue?: number; modelId?: string; }; contextUsage?: { usedTokens: number; windowTokens: number; compactAtTokens: number; }; modelFallback?: true; fallbackReason?: \"window\"; clampedRatio?: number; clampReason?: \"budget\" | \"tolerance\"; }>"
      ],
      "changes": [
        {
          "aspect": "returns",
          "detail": "return type gained members pass?",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "orgRuleVerdictFor",
      "at": [
        "src/core/permission-rule-org.ts:873"
      ],
      "from": [
        "(rules: readonly OrgPermissionRule[], call: { tool: string; command: string; }): OrgRuleVerdict | undefined"
      ],
      "to": [
        "(rules: readonly OrgPermissionRule[], call: OrgRuleCall): OrgRuleVerdict | undefined"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall]",
          "breaking": true,
          "uncertain": true
        }
      ],
      "uncertain": "param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall] — the direction of a type change is not read syntactically, so it is reported breaking: check whether existing call sites still type-check before writing the BREAKING line",
      "breaking": true,
      "criteriaCovered": false
    },
    {
      "name": "peerHeldQueueFor",
      "at": [
        "src/agents/peer-held-queue.ts:392"
      ],
      "from": [
        "(scope: string, sessionId: string, opts?: { cap?: number; clock?: PeerClock; }): PeerHeldQueue"
      ],
      "to": [
        "(scope: string, sessionId: string, opts?: { cap?: number; clock?: PeerClock; box?: string; }): PeerHeldQueue"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "param 3 `opts` type widened: …ber; clock?: PeerClock; [ -> box?: string; ]}",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "peerHeldQueueIfAny",
      "at": [
        "src/agents/peer-held-queue.ts:404"
      ],
      "from": [
        "(scope: string, sessionId: string): PeerHeldQueue | undefined"
      ],
      "to": [
        "(scope: string, sessionId: string, box?: string): PeerHeldQueue | undefined"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `box?: string`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "peerHeldQueueKey",
      "at": [
        "src/agents/peer-held-queue.ts:385"
      ],
      "from": [
        "(scope: string, sessionId: string): string"
      ],
      "to": [
        "(scope: string, sessionId: string, box?: string): string"
      ],
      "changes": [
        {
          "aspect": "param",
          "detail": "+optional param `box?: string`",
          "breaking": false
        }
      ],
      "breaking": false,
      "criteriaCovered": false
    },
    {
      "name": "readMcpToolAxes",
      "at": [
        "src/core/mcp-server-spec.ts:491"
      ],
      "from": [
        "(declared: unknown): McpToolAxesRead"
      ],
      "to": [
        "(declared: unknown): ToolAxesRead"
      ],
      "changes": [
        {
          "aspect": "returns",
          "detail": "return type [Mcp -> ]ToolAxesRead",
          "breaking": true
        }
      ],
      "breaking": true,
      "criteriaCovered": false
    }
  ],
  "declarationMoves": [
    {
      "name": "admitRouteRequest",
      "kind": "function",
      "onSurface": true,
      "from": [
        "src/brain/route-adjudicator.ts"
      ],
      "to": [
        "src/brain/route-adjudicator.ts",
        "src/index.ts"
      ]
    },
    {
      "name": "refuseResumeDoors",
      "kind": null,
      "onSurface": false,
      "from": [
        "src/core/mode-policy.ts"
      ],
      "to": [
        "src/core/runner/prepare-config-doors.ts"
      ]
    }
  ],
  "mintMoves": [
    {
      "code": "config.session_rules_earlier_grammar",
      "from": [
        "src/core/runner/prepare-policy-chain.ts"
      ],
      "to": [
        "src/core/session-policy-store.ts"
      ]
    }
  ],
  "criteriaObserves": [
    {
      "kind": "engineNoticeCode",
      "name": "config.session_rules_earlier_grammar",
      "assertions": [
        "G25.a"
      ]
    },
    {
      "kind": "engineNoticeCode",
      "name": "mcp.server_redialed",
      "assertions": [
        "G17.a"
      ]
    },
    {
      "kind": "engineNoticeCode",
      "name": "memory.session_polluted",
      "assertions": [
        "G22.a"
      ]
    },
    {
      "kind": "engineNoticeCode",
      "name": "permission.allowed_tool_not_granted",
      "assertions": [
        "G5.b"
      ]
    },
    {
      "kind": "engineNoticeCode",
      "name": "permission.rule_row_dropped",
      "assertions": [
        "G5.b"
      ]
    },
    {
      "kind": "engineNoticeCode",
      "name": "route.credential_origin_mismatch",
      "assertions": [
        "G23.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "compacted.pass",
      "assertions": [
        "G21.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "compaction_outcome.outcome",
      "assertions": [
        "G21.b"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "compaction_outcome.pass",
      "assertions": [
        "G21.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "compaction_started.pass",
      "assertions": [
        "G21.a",
        "G21.b"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "compaction_started.startedAt",
      "assertions": [
        "G21.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "compaction_started.trigger",
      "assertions": [
        "G21.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "context_usage.compactAtTokens",
      "assertions": [
        "G7.b"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "context_usage.windowTokens",
      "assertions": [
        "G7.b"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "tool_end.isError",
      "assertions": [
        "G13.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "tool_end.notExecuted",
      "assertions": [
        "G13.a"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "tool_end.output",
      "assertions": [
        "G9.a",
        "G22.b",
        "G22.c"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "tool_end.structured",
      "assertions": [
        "G22.b"
      ]
    },
    {
      "kind": "taskEventField",
      "name": "wiring_manifest.manifest",
      "assertions": [
        "G17.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "A2aServerSpec.headers",
      "assertions": [
        "G3.f"
      ]
    },
    {
      "kind": "typeMember",
      "name": "A2aServerSpec.toolAxes",
      "assertions": [
        "G2.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ArtifactVerifyResult.code",
      "assertions": [
        "G14.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.askClass",
      "assertions": [
        "G8.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.probeReason",
      "assertions": [
        "G5.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.requiresRealApproval",
      "assertions": [
        "G11.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.ruleOffers",
      "assertions": [
        "G8.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AskRequest.ruleOffersAbsence",
      "assertions": [
        "G8.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AssistantMessage.errorMessage",
      "assertions": [
        "G1.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "AssistantMessage.stopReason",
      "assertions": [
        "G1.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Checkpoint.status",
      "assertions": [
        "G20.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "CheckpointError.code",
      "assertions": [
        "G20.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "CheckpointError.detail.code",
      "assertions": [
        "G3.a",
        "G3.e",
        "G20.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "CheckpointError.detail.field",
      "assertions": [
        "G20.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Context.systemPrompt",
      "assertions": [
        "G7.a",
        "G14.a",
        "G19.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "EngineNotice.detail",
      "assertions": [
        "G5.b",
        "G5.d",
        "G22.a",
        "G25.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "FileDurableRulePartitionProvider.orgStatePersistence",
      "assertions": [
        "G12.c",
        "G12.e"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GateOutcome.disposition",
      "assertions": [
        "G8.a",
        "G10.a",
        "G10.b",
        "G10.c",
        "G10.d",
        "G10.e",
        "G11.a",
        "G11.b",
        "G12.a",
        "G13.a",
        "G15.e"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GoalResult.status",
      "assertions": [
        "G6.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "GoalResult.suspendGate",
      "assertions": [
        "G6.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "MaterializedA2a.warnings",
      "assertions": [
        "G2.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "MaterializedMcp.warnings",
      "assertions": [
        "G18.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpReconnectResult.toolCount",
      "assertions": [
        "G17.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpReconnectResult.tools",
      "assertions": [
        "G17.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpRefreshResult.instructions",
      "assertions": [
        "G19.a",
        "G19.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpRefreshResult.status",
      "assertions": [
        "G19.b",
        "G19.c",
        "G19.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpServerSpec.allowTools",
      "assertions": [
        "G3.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpServerSpec.name",
      "assertions": [
        "G3.f"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpServerSpec.toolAxes",
      "assertions": [
        "G3.b",
        "G3.d",
        "G4.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpServerSpec.transport",
      "assertions": [
        "G3.a",
        "G3.e"
      ]
    },
    {
      "kind": "typeMember",
      "name": "McpServerStatus.status",
      "assertions": [
        "G18.a",
        "G18.b",
        "G18.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ModStation.failure",
      "assertions": [
        "G15.a",
        "G15.b",
        "G15.d",
        "G15.e",
        "G15.g",
        "G15.i"
      ]
    },
    {
      "kind": "typeMember",
      "name": "Model.baseUrl",
      "assertions": [
        "G5.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgPermissionRule.behavior",
      "assertions": [
        "G10.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgPermissionRule.rule",
      "assertions": [
        "G10.e",
        "G12.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgRuleResolution.disclosures",
      "assertions": [
        "G10.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgRuleResolution.rules",
      "assertions": [
        "G12.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgRuleResolution.status",
      "assertions": [
        "G10.a",
        "G10.c",
        "G12.b",
        "G12.d",
        "G12.e"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgRuleSnapshot.revision",
      "assertions": [
        "G12.c",
        "G12.d"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgRuleVerdict.behavior",
      "assertions": [
        "G11.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "OrgRuleVerdict.unreadable",
      "assertions": [
        "G10.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PermissionRuleIssue.code",
      "assertions": [
        "G8.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PromptArtifactPayload.schemaVersion",
      "assertions": [
        "G14.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "PromptVariantWhen.binding",
      "assertions": [
        "G14.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "RouteRefusalDetail.boundOrigin",
      "assertions": [
        "G23.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "RouteRefusalDetail.requestOrigin",
      "assertions": [
        "G23.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "RunnerDeps.mods",
      "assertions": [
        "G15.b",
        "G15.c",
        "G15.f",
        "G15.h"
      ]
    },
    {
      "kind": "typeMember",
      "name": "RunnerDeps.onError",
      "assertions": [
        "G15.a",
        "G15.d",
        "G25.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "RunnerDeps.principalInboxConsumer",
      "assertions": [
        "G16.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "StoredArtifactRefusal.code",
      "assertions": [
        "G14.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "SubagentToolOptions.extraToolNames",
      "assertions": [
        "G22.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "SubagentToolOptions.onExtraToolsError",
      "assertions": [
        "G22.c"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskResult.terminal.code",
      "assertions": [
        "G2.a",
        "G3.a",
        "G3.b",
        "G3.d",
        "G4.a",
        "G16.a",
        "G20.b",
        "G24.a",
        "G26.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskResult.terminal.detail",
      "assertions": [
        "G16.a",
        "G20.b",
        "G24.a",
        "G26.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskResult.terminal.message",
      "assertions": [
        "G1.a",
        "G2.a",
        "G3.a",
        "G3.c",
        "G3.f",
        "G4.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.memoryPersistenceCapable",
      "assertions": [
        "G7.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.toolPolicy",
      "assertions": [
        "G20.b"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskSpec.userAttachments",
      "assertions": [
        "G24.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "TaskStream.halt",
      "assertions": [
        "G9.a"
      ]
    },
    {
      "kind": "typeMember",
      "name": "ToolSpec.name",
      "assertions": [
        "G26.a"
      ]
    }
  ],
  "consumersHint": {
    "cli": [
      "CHECKPOINT_CONFIG_REFUSAL_CODES",
      "CheckpointError",
      "CheckpointErrorReason",
      "ENGINE_NOTICE_CODES",
      "MaybeCompactOptions",
      "McpRefreshResult",
      "NO_PERSISTENT_MEMORY_NOTICE",
      "RunnerDeps",
      "TaskEvent",
      "ToolGateInput",
      "brainLaneOf",
      "readMcpToolAxes"
    ],
    "server": [
      "CHECKPOINT_CONFIG_REFUSAL_CODES",
      "CenterPromptSource",
      "CheckpointError",
      "CheckpointErrorReason",
      "ENGINE_NOTICE_CODES",
      "FilePromptArtifactStore",
      "GoalResult",
      "McpToolAxesRead",
      "MemoryPromptArtifactStore",
      "NO_PERSISTENT_MEMORY_NOTICE",
      "RunnerDeps",
      "TaskEvent",
      "ToolGateInput",
      "materializeMcpTools",
      "maybeCompact",
      "readMcpToolAxes"
    ],
    "sdk": [
      "CheckpointError",
      "CheckpointErrorReason",
      "ENGINE_NOTICE_CODES",
      "RunnerDeps",
      "TaskEvent"
    ],
    "note": "scanned cli@9fe4ef4e server@c600e1f0 sdk@f0d5817 — 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: 15 name(s) matched ONLY in bookkeeping files and were set aside (CROSS_SESSION_HOLD_CAUSES, CrossSessionHoldCause, CrossSessionInboundInput, MaybeCompactOptions, McpRefreshResult, PeerInboundHoldCause, PromptArtifactSource, PromptArtifactStore, PromptOverlay, PromptVariantWhen, ReadInboxToolOptions, orgRuleVerdictFor, peerHeldQueueFor, peerHeldQueueIfAny, peerHeldQueueKey)"
  },
  "breakingCount": 5,
  "breakingItems": [
    "export removed: McpToolAxesRead (type)",
    "export removed: NO_PERSISTENT_MEMORY_NOTICE (variable)",
    "signature changed: orgRuleVerdictFor — param 2 `call` type changed, direction not read: [{ tool: string; command: string; } -> OrgRuleCall]",
    "signature changed: readMcpToolAxes — return type [Mcp -> ]ToolAxesRead",
    "type lost keys: PromptOverlay -scope,scope.binding"
  ]
}
