@sema-agent/core
Version:
Stateless, task-oriented AI agent core
986 lines (985 loc) • 22 kB
JSON
{
"repo": "core",
"version": "7.43.0",
"from": "596c3a64df139e695e8354751c520d3d944010c9",
"to": "f91ca4b8b3dd618fb90e1e4dd339b10255dd9051",
"added": [
{
"name": "APPROVAL_REACH",
"kind": "variable",
"tier": "advanced",
"at": [
"src/core/wiring-manifest.ts:68",
"src/index.ts:1177"
],
"criteriaCovered": false,
"breaking": false
},
{
"name": "ApprovalReach",
"kind": "type",
"tier": "advanced",
"at": [
"src/core/wiring-manifest.ts:69",
"src/index.ts:1178"
],
"criteriaCovered": false,
"breaking": false
},
{
"name": "BoundSkillGrants",
"kind": "interface",
"tier": "advanced",
"at": [
"src/core/skill-grant-binding.ts:12",
"src/index.ts:1476"
],
"criteriaCovered": false,
"breaking": false
},
{
"name": "abortedSeatDeny",
"kind": "function",
"tier": "advanced",
"at": [
"src/core/tool-policy.ts:235",
"src/index.ts:1406"
],
"criteriaCovered": false,
"breaking": false
},
{
"name": "isApprovalReach",
"kind": "function",
"tier": "advanced",
"at": [
"src/core/wiring-manifest.ts:72",
"src/index.ts:1179"
],
"criteriaCovered": false,
"breaking": false
}
],
"removed": [],
"changed": [],
"narrowed": [],
"closedSetMembers": [
{
"set": "ALLOW_ENTRY_INERT_REASONS",
"at": [
"src/core/allow-entry.ts:39"
],
"newSet": false,
"added": [
"near_miss",
"tool_name"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "APPROVAL_REACH",
"at": [
"src/core/wiring-manifest.ts:68"
],
"newSet": true,
"added": [
"none"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "ASK_CLASSES",
"at": [
"src/core/ask-origin.ts:596"
],
"newSet": false,
"added": [
"classifier_no_ruling"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "ApprovalReach",
"at": [
"src/core/wiring-manifest.ts:69",
"src/index.ts:1178"
],
"newSet": true,
"added": [
"none"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "AskSeamForm",
"at": [
"src/core/wiring-manifest.ts:60"
],
"newSet": false,
"added": [
"declared_none"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "CHECKPOINT_CONFIG_REFUSAL_CODES",
"at": [
"src/core/checkpoint-store.ts:2426"
],
"newSet": false,
"added": [
"config.approval_reach_invalid",
"config.skill_deny_unreadable",
"config.user_invoked_skill_unknown"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "CHILD_CLAMP_SEATS",
"at": [
"src/core/child-clamp-seats.ts:32"
],
"newSet": false,
"added": [
"approvalReach"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "HeadlessApproverSeat",
"at": [
"src/core/ask-origin.ts:858"
],
"newSet": false,
"added": [
"declared_none"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "PersistedRuleMatch",
"at": [
"src/core/permission-rule-model.ts:252"
],
"newSet": false,
"added": [
"name",
"name_prefix"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "RULE_TOOL_NAME_VERDICTS",
"at": [
"src/core/tool-name-aliases.ts:75"
],
"newSet": false,
"added": [
"unmintable_segment"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "RuleToolNameVerdict.kind",
"at": [
"src/core/tool-name-aliases.ts:97",
"src/core/tool-name-aliases.ts:98",
"src/core/tool-name-aliases.ts:99",
"src/core/tool-name-aliases.ts:100"
],
"newSet": false,
"added": [
"unmintable_segment"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "RunWorkflowToolDeps.parentApprovalReach",
"at": [
"src/orchestration/run-workflow-tool.ts:584"
],
"newSet": true,
"added": [
"none"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"set": "ToolExecuteContext.approvalReach",
"at": [
"src/core/tool-spec.ts:952"
],
"newSet": true,
"added": [
"none"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
}
],
"closedSetsUnreadable": [],
"typeKeys": [
{
"type": "AskCarry",
"at": [
"src/core/hooks.ts:2204"
],
"added": [
"classifierNoRuling"
],
"addedDetail": [
{
"key": "classifierNoRuling",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "AskRequest",
"at": [
"src/core/tool-policy.ts:2828"
],
"added": [
"boundGrantDigest",
"boundGrants",
"classifierNoRuling"
],
"addedDetail": [
{
"key": "boundGrantDigest",
"optional": true
},
{
"key": "boundGrants",
"optional": true
},
{
"key": "classifierNoRuling",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": true
},
{
"type": "CheckpointSummary",
"at": [
"src/core/checkpoint-store.ts:2096"
],
"added": [
"boundGrantDigest",
"boundGrants",
"classifierNoRuling"
],
"addedDetail": [
{
"key": "boundGrantDigest",
"optional": true
},
{
"key": "boundGrants",
"optional": true
},
{
"key": "classifierNoRuling",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": true
},
{
"type": "PendingAction",
"at": [
"src/core/checkpoint-store.ts:951"
],
"added": [
"tool_approval.boundGrants",
"tool_approval.classifierNoRuling"
],
"addedDetail": [
{
"key": "tool_approval.boundGrants",
"optional": true
},
{
"key": "tool_approval.classifierNoRuling",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "PermissionResult",
"at": [
"src/core/tool-policy.ts:474"
],
"added": [
"ask.classifierNoRuling"
],
"addedDetail": [
{
"key": "ask.classifierNoRuling",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "PreToolUseResult",
"at": [
"src/core/hooks.ts:1180"
],
"added": [
"ask.classifierNoRuling"
],
"addedDetail": [
{
"key": "ask.classifierNoRuling",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "RuleToolNameVerdict",
"at": [
"src/core/tool-name-aliases.ts:96"
],
"added": [
"unmintable_segment.currentName",
"unmintable_segment.guidance",
"unmintable_segment.kind"
],
"addedDetail": [
{
"key": "unmintable_segment.currentName",
"optional": true
},
{
"key": "unmintable_segment.guidance",
"optional": false
},
{
"key": "unmintable_segment.kind",
"optional": false
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "RunWorkflowToolDeps",
"at": [
"src/orchestration/run-workflow-tool.ts:430"
],
"added": [
"parentApprovalReach"
],
"addedDetail": [
{
"key": "parentApprovalReach",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "SkillGrantHit",
"at": [
"src/core/skill-grant.ts:200"
],
"added": [
"readsAsNothing"
],
"addedDetail": [
{
"key": "readsAsNothing",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "TaskSpec",
"at": [
"src/core/task-spec.ts:52"
],
"added": [
"approvalReach"
],
"addedDetail": [
{
"key": "approvalReach",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": true
},
{
"type": "ToolExecuteContext",
"at": [
"src/core/tool-spec.ts:613"
],
"added": [
"approvalReach"
],
"addedDetail": [
{
"key": "approvalReach",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
},
{
"type": "ToolGateInput",
"at": [
"src/core/hooks.ts:1470"
],
"via": "runToolGate.ToolGateInput",
"added": [
"askSeatForm"
],
"addedDetail": [
{
"key": "askSeatForm",
"optional": true
}
],
"addedRequired": [],
"removed": [],
"breaking": false,
"criteriaCovered": false
}
],
"typeKeysUnreadableArms": [],
"typeKeysFlattenedCount": 225,
"signatures": [
{
"name": "compileAllowEntry",
"at": [
"src/core/allow-entry.ts:150"
],
"from": [
"(raw: string, behavior: \"allow\" | \"deny\"): AllowEntryInertReason | CompiledAllowEntry"
],
"to": [
"(raw: string, behavior: \"allow\" | \"deny\", roster?: ReadonlySet<string>): AllowEntryInertReason | CompiledAllowEntry"
],
"changes": [
{
"aspect": "param",
"detail": "+optional param `roster?: ReadonlySet<string>`",
"breaking": false
}
],
"breaking": false,
"criteriaCovered": false
},
{
"name": "compileAllowList",
"at": [
"src/core/allow-entry.ts:162"
],
"from": [
"(entries: readonly string[], behavior: \"allow\" | \"deny\"): { rows: Array<{ entry: string; compiled: CompiledAllowEntry; }>; inert: Array<{ entry: string; reason: AllowEntryInertReason; }>; }"
],
"to": [
"(entries: readonly string[], behavior: \"allow\" | \"deny\", roster?: ReadonlySet<string>): { rows: Array<{ entry: string; compiled: CompiledAllowEntry; }>; inert: AllowEntryInert[]; }"
],
"changes": [
{
"aspect": "param",
"detail": "+optional param `roster?: ReadonlySet<string>`",
"breaking": false
},
{
"aspect": "returns",
"detail": "return type …AllowEntry; }>; inert: A[rray<{ entry: string; reason: AllowEntryInertReason; }> -> llowEntryInert[]]; }",
"breaking": true
}
],
"breaking": true,
"criteriaCovered": false
},
{
"name": "resolveAskSeamForm",
"at": [
"src/core/wiring-manifest.ts:985"
],
"from": [
"(spec: Pick<TaskSpec, \"onAsk\">, deps: Pick<RunnerDeps, \"onAsk\">): { form: AskSeamForm; provenance?: SeamProvenance; }"
],
"to": [
"(spec: Pick<TaskSpec, \"onAsk\" | \"approvalReach\">, deps: Pick<RunnerDeps, \"onAsk\">): { form: AskSeamForm; provenance?: SeamProvenance; }"
],
"changes": [
{
"aspect": "param",
"detail": "param 1 `spec` type changed, direction not read: Pick<TaskSpec, \"onAsk\"[ -> | \"approvalReach\"]>",
"breaking": true,
"uncertain": true
}
],
"uncertain": "param 1 `spec` type changed, direction not read: Pick<TaskSpec, \"onAsk\"[ -> | \"approvalReach\"]> — 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": "ruleToolGrammarOf",
"at": [
"src/core/permission-rule-model.ts:207"
],
"from": [
"(toolName: string): \"command\" | \"path\" | undefined"
],
"to": [
"(toolName: string): \"command\" | \"name\" | \"path\" | undefined"
],
"changes": [
{
"aspect": "returns",
"detail": "return type \"command\" | \"[ -> name\" | \"]path\" | undefined",
"breaking": true
}
],
"breaking": true,
"criteriaCovered": false
}
],
"declarationMoves": [
{
"name": "abortedSeatDeny",
"kind": "function",
"onSurface": true,
"from": [
"src/core/tool-policy.ts"
],
"to": [
"src/core/tool-policy.ts",
"src/index.ts"
]
}
],
"mintMoves": [],
"criteriaObserves": [
{
"kind": "engineNoticeCode",
"name": "classifier.denial_limit",
"assertions": [
"G7.b",
"G8.b",
"G10.c"
]
},
{
"kind": "engineNoticeCode",
"name": "classifier.unavailable",
"assertions": [
"G7.a"
]
},
{
"kind": "engineNoticeCode",
"name": "delegation.ask_unresolvable",
"assertions": [
"G10.b"
]
},
{
"kind": "engineNoticeCode",
"name": "permission.allowed_tool_not_granted",
"assertions": [
"G12.a",
"G12.b"
]
},
{
"kind": "taskEventField",
"name": "tool_end.gate",
"assertions": [
"G1.c",
"G4.c",
"G7.b",
"G7.d",
"G15.a"
]
},
{
"kind": "taskEventField",
"name": "tool_end.isError",
"assertions": [
"G15.a"
]
},
{
"kind": "taskEventField",
"name": "tool_end.output",
"assertions": [
"G15.a"
]
},
{
"kind": "taskEventField",
"name": "wiring_manifest.manifest",
"assertions": [
"G4.a"
]
},
{
"kind": "typeMember",
"name": "AskRequest.askClass",
"assertions": [
"G1.b"
]
},
{
"kind": "typeMember",
"name": "AskRequest.boundGrantDigest",
"assertions": [
"G13.b"
]
},
{
"kind": "typeMember",
"name": "AskRequest.boundGrants",
"assertions": [
"G13.b",
"G13.c"
]
},
{
"kind": "typeMember",
"name": "AskRequest.classes",
"assertions": [
"G7.a",
"G7.c",
"G9.a",
"G9.b"
]
},
{
"kind": "typeMember",
"name": "AskRequest.classifierNoRuling",
"assertions": [
"G7.a",
"G7.c",
"G9.d"
]
},
{
"kind": "typeMember",
"name": "AskRequest.denialLimitFallback",
"assertions": [
"G8.a"
]
},
{
"kind": "typeMember",
"name": "AskRequest.message",
"assertions": [
"G1.a",
"G1.b",
"G3.b"
]
},
{
"kind": "typeMember",
"name": "AskRequest.ruleOffers",
"assertions": [
"G3.a"
]
},
{
"kind": "typeMember",
"name": "AskRequest.ruleOffersAbsence",
"assertions": [
"G3.a"
]
},
{
"kind": "typeMember",
"name": "Checkpoint.pendingAction.boundGrantDigest",
"assertions": [
"G13.a",
"G14.a"
]
},
{
"kind": "typeMember",
"name": "Checkpoint.pendingAction.boundGrants",
"assertions": [
"G13.a",
"G13.c"
]
},
{
"kind": "typeMember",
"name": "CheckpointError.code",
"assertions": [
"G16.a"
]
},
{
"kind": "typeMember",
"name": "CheckpointError.detail.field",
"assertions": [
"G14.a",
"G16.a"
]
},
{
"kind": "typeMember",
"name": "CheckpointSummary.boundGrantDigest",
"assertions": [
"G13.a",
"G14.b"
]
},
{
"kind": "typeMember",
"name": "CheckpointSummary.boundGrants",
"assertions": [
"G13.a",
"G14.b"
]
},
{
"kind": "typeMember",
"name": "CheckpointSummary.classifierNoRuling",
"assertions": [
"G9.c"
]
},
{
"kind": "typeMember",
"name": "PermissionRuleIssue.code",
"assertions": [
"G2.a"
]
},
{
"kind": "typeMember",
"name": "PermissionRuleIssue.message",
"assertions": [
"G2.a"
]
},
{
"kind": "typeMember",
"name": "PersistedRule.match",
"assertions": [
"G1.a"
]
},
{
"kind": "typeMember",
"name": "RuleReject.code",
"assertions": [
"G2.b"
]
},
{
"kind": "typeMember",
"name": "RuleReject.message",
"assertions": [
"G2.b"
]
},
{
"kind": "typeMember",
"name": "SessionRuleNameRefusal.currentName",
"assertions": [
"G11.a"
]
},
{
"kind": "typeMember",
"name": "SessionRuleNameRefusal.verdict",
"assertions": [
"G11.a"
]
},
{
"kind": "typeMember",
"name": "TaskResult.terminal",
"assertions": [
"G4.b",
"G4.c",
"G6.a",
"G6.c",
"G7.b",
"G8.a",
"G8.b",
"G8.c",
"G11.b"
]
},
{
"kind": "typeMember",
"name": "TaskResult.terminal.code",
"assertions": [
"G15.b",
"G17.a"
]
},
{
"kind": "typeMember",
"name": "TaskResult.terminal.message",
"assertions": [
"G15.b",
"G17.a"
]
},
{
"kind": "typeMember",
"name": "TaskSpec.approvalReach",
"assertions": [
"G5.a",
"G5.b",
"G5.c",
"G6.b"
]
},
{
"kind": "typeMember",
"name": "TaskSpec.interactionPosture",
"assertions": [
"G10.a"
]
},
{
"kind": "typeMember",
"name": "WiringManifest.ask.effective",
"assertions": [
"G4.a",
"G4.b"
]
},
{
"kind": "typeMember",
"name": "WiringManifest.ask.form",
"assertions": [
"G4.a",
"G4.d"
]
},
{
"kind": "typeMember",
"name": "WiringManifest.ask.provenance",
"assertions": [
"G4.d"
]
}
],
"consumersHint": {
"cli": [
"ASK_CLASSES",
"AskCarry",
"AskRequest",
"CHECKPOINT_CONFIG_REFUSAL_CODES",
"CHILD_CLAMP_SEATS",
"CheckpointSummary",
"PendingAction",
"PermissionResult",
"PreToolUseResult",
"RunWorkflowToolDeps",
"TaskSpec",
"ToolExecuteContext",
"ToolGateInput",
"ruleToolGrammarOf"
],
"server": [
"ASK_CLASSES",
"AskCarry",
"AskRequest",
"CHECKPOINT_CONFIG_REFUSAL_CODES",
"CheckpointSummary",
"PendingAction",
"PermissionResult",
"PersistedRuleMatch",
"PreToolUseResult",
"RULE_TOOL_NAME_VERDICTS",
"RunWorkflowToolDeps",
"TaskSpec",
"ToolExecuteContext",
"ToolGateInput",
"resolveAskSeamForm",
"ruleToolGrammarOf"
],
"sdk": [
"ASK_CLASSES",
"AskRequest",
"CheckpointSummary",
"PendingAction",
"PermissionResult",
"PersistedRuleMatch",
"PreToolUseResult",
"TaskSpec"
],
"note": "scanned cli@bf15b2f9 server@72e966f3 sdk@e3a5370 — 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: 3 name(s) matched ONLY in bookkeeping files and were set aside (AskSeamForm, RuleToolNameVerdict, SkillGrantHit)"
},
"breakingCount": 3,
"breakingItems": [
"signature changed: compileAllowList — return type …AllowEntry; }>; inert: A[rray<{ entry: string; reason: AllowEntryInertReason; }> -> llowEntryInert[]]; }",
"signature changed: resolveAskSeamForm — param 1 `spec` type changed, direction not read: Pick<TaskSpec, \"onAsk\"[ -> | \"approvalReach\"]>",
"signature changed: ruleToolGrammarOf — return type \"command\" | \"[ -> name\" | \"]path\" | undefined"
]
}