@sema-agent/core
Version:
Stateless, task-oriented AI agent core
139 lines (138 loc) • 3.92 kB
JSON
{
"repo": "core",
"version": "7.49.2",
"from": "57363d52a115a659d902a81e8aad865ed98e2419",
"to": "50ffffb636bb70863f86ee9a74aee0c0a82891a0",
"added": [],
"removed": [],
"changed": [],
"narrowed": [],
"closedSetMembers": [
{
"set": "SHELL_READ_FINDINGS",
"at": [
"src/tools/fs/shell-read-judge.ts:34"
],
"newSet": false,
"added": [
"unanswered"
],
"removed": [],
"breaking": false,
"criteriaCovered": false
}
],
"closedSetsUnreadable": [],
"typeKeys": [],
"typeKeysUnreadableArms": [],
"typeKeysFlattenedCount": 223,
"signatures": [
{
"name": "ShellReadBoundary.writeTargetJudge",
"at": [
"src/tools/fs/shell-read-judge.ts:191"
],
"from": [
"(target: string, opts?: { readonly signal?: AbortSignal; readonly canonical?: true; }): Promise<\"protected\" | \"guarded\" | undefined>"
],
"to": [
"(target: string, opts: { readonly fs: ObservedFilesystem; readonly signal?: AbortSignal; readonly canonical?: true; }): Promise<\"protected\" | \"guarded\" | undefined>"
],
"changes": [
{
"aspect": "param",
"detail": "param 2 `opts` type changed, direction not read: { readonly [ -> fs: ObservedFilesystem; readonly ]signal?: AbortSignal; re…",
"breaking": true,
"uncertain": true
},
{
"aspect": "param",
"detail": "param 2 `opts` is now required",
"breaking": true
}
],
"uncertain": "param 2 `opts` type changed, direction not read: { readonly [ -> fs: ObservedFilesystem; readonly ]signal?: AbortSignal; re… — 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
}
],
"declarationMoves": [],
"mintMoves": [],
"criteriaObserves": [
{
"kind": "taskEventField",
"name": "tool_end.gate",
"assertions": [
"G3.a",
"G4.a"
]
},
{
"kind": "typeMember",
"name": "AskRequest.askClass",
"assertions": [
"G1.b"
]
},
{
"kind": "typeMember",
"name": "AskRequest.requiresRealApproval",
"assertions": [
"G1.a",
"G2.a",
"G3.a"
]
},
{
"kind": "typeMember",
"name": "RedactionFinding.kind",
"assertions": [
"G5.a",
"G5.b"
]
},
{
"kind": "typeMember",
"name": "RedactionFinding.span",
"assertions": [
"G5.a"
]
},
{
"kind": "typeMember",
"name": "ShellReadVerdict.face",
"assertions": [
"G1.a",
"G2.a",
"G3.b"
]
},
{
"kind": "typeMember",
"name": "ToolCatalogEntry.mountedBy",
"assertions": [
"G4.a"
]
},
{
"kind": "typeMember",
"name": "ToolSpec.pathTarget",
"assertions": [
"G4.b"
]
}
],
"consumersHint": {
"cli": [
"SHELL_READ_FINDINGS",
"ShellReadBoundary"
],
"server": [],
"sdk": [],
"note": "scanned cli@1aef2b83 server@5a38b2ce sdk@46baee2 — 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 (SHELL_READ_FINDINGS, ShellReadBoundary)"
},
"breakingCount": 1,
"breakingItems": [
"signature changed: ShellReadBoundary.writeTargetJudge — param 2 `opts` type changed, direction not read: { readonly [ -> fs: ObservedFilesystem; readonly ]signal?: AbortSignal; re…; param 2 `opts` is now required"
]
}