UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

1,700 lines (1,699 loc) • 42.8 kB
{ "repo": "core", "version": "7.50.0", "from": "fbce2704eecb13e80618cbb09416cc1e26ae297c", "to": "548b94a2af65198d6e01c090944cfee23b4e144f", "added": [ { "name": "BoundFileObject", "kind": "interface", "tier": "internal", "at": [ "src/engine/harness/types.ts:403", "src/index.ts:517", "src/internal/harness-types.ts:35" ], "criteriaCovered": false, "breaking": false }, { "name": "CONSOLIDATION_WRITE_REFUSED_CODE", "kind": "variable", "tier": "advanced", "at": [ "src/core/memory-engine/consolidation-driver.ts:250", "src/core/memory-engine/consolidation.ts:823", "src/core/memory-engine/index.ts:293", "src/index.ts:2207" ], "criteriaCovered": false, "breaking": false }, { "name": "ConsolidationWriteGate", "kind": "type", "tier": "advanced", "at": [ "src/core/memory-engine/consolidation.ts:833", "src/core/memory-engine/index.ts:230", "src/index.ts:2137" ], "criteriaCovered": false, "breaking": false }, { "name": "ConsolidationWriteJudge", "kind": "type", "tier": "advanced", "at": [ "src/core/memory-engine/consolidation-driver.ts:248", "src/core/memory-engine/index.ts:300", "src/index.ts:2215" ], "criteriaCovered": false, "breaking": false }, { "name": "ConsolidationWriteTarget", "kind": "interface", "tier": "advanced", "at": [ "src/core/memory-engine/consolidation-driver.ts:242", "src/core/memory-engine/index.ts:301", "src/index.ts:2216" ], "criteriaCovered": false, "breaking": false }, { "name": "HumanInputAttachment", "kind": "interface", "tier": "advanced", "at": [ "src/core/task-event.ts:1178", "src/core/types.ts:42", "src/index.ts:1232" ], "criteriaCovered": false, "breaking": false }, { "name": "USER_ATTACHMENTS_MAX", "kind": "variable", "tier": "advanced", "at": [ "src/core/user-attachment.ts:39", "src/index.ts:1227" ], "criteriaCovered": false, "breaking": false }, { "name": "USER_ATTACHMENT_KINDS", "kind": "variable", "tier": "advanced", "at": [ "src/core/user-attachment.ts:44", "src/index.ts:1224" ], "criteriaCovered": false, "breaking": false }, { "name": "USER_ATTACHMENT_LABEL_MAX", "kind": "variable", "tier": "advanced", "at": [ "src/core/user-attachment.ts:41", "src/index.ts:1228" ], "criteriaCovered": false, "breaking": false }, { "name": "USER_ATTACHMENT_OUTCOMES", "kind": "variable", "tier": "advanced", "at": [ "src/core/user-attachment.ts:48", "src/index.ts:1226" ], "criteriaCovered": false, "breaking": false }, { "name": "USER_ATTACHMENT_SEAT", "kind": "variable", "tier": "advanced", "at": [ "src/core/user-attachment.ts:63", "src/index.ts:1223" ], "criteriaCovered": false, "breaking": false }, { "name": "USER_ATTACHMENT_SUPPLIES", "kind": "variable", "tier": "advanced", "at": [ "src/core/user-attachment.ts:46", "src/index.ts:1225" ], "criteriaCovered": false, "breaking": false }, { "name": "UserAttachment", "kind": "type", "tier": "advanced", "at": [ "src/core/task-spec.ts:60", "src/core/types.ts:23", "src/index.ts:3416" ], "criteriaCovered": false, "breaking": false }, { "name": "UserAttachmentDeclaration", "kind": "interface", "tier": "advanced", "at": [ "src/core/user-attachment.ts:184", "src/index.ts:1230" ], "criteriaCovered": false, "breaking": false }, { "name": "UserAttachmentKind", "kind": "type", "tier": "advanced", "at": [ "src/engine/llm/types.ts:481", "src/index.ts:3389", "src/internal/llm.ts:10" ], "criteriaCovered": false, "breaking": false }, { "name": "UserAttachmentObservation", "kind": "interface", "tier": "advanced", "at": [ "src/engine/llm/types.ts:488", "src/index.ts:3390", "src/internal/llm.ts:11" ], "criteriaCovered": false, "breaking": false }, { "name": "UserAttachmentOutcome", "kind": "type", "tier": "advanced", "at": [ "src/engine/llm/types.ts:485", "src/index.ts:3391", "src/internal/llm.ts:12" ], "criteriaCovered": false, "breaking": false }, { "name": "UserAttachmentSupply", "kind": "type", "tier": "advanced", "at": [ "src/engine/llm/types.ts:483", "src/index.ts:3392", "src/internal/llm.ts:13" ], "criteriaCovered": false, "breaking": false }, { "name": "UserMessageAttachment", "kind": "interface", "tier": "advanced", "at": [ "src/engine/llm/types.ts:500", "src/index.ts:3388", "src/internal/llm.ts:14" ], "criteriaCovered": false, "breaking": false } ], "removed": [], "changed": [], "narrowed": [ { "id": "F8", "source": "behaviorFlips.summary", "text": "(#1311 car A2, #1290) the user-attachment seat: `TaskSpec.userAttachments` reaches the model as one marked user message per attachment right after the human message, under the run's synthetic-Read judgment; the Read / notebook / PDF trailers and the MCP disclosure block open after a blank line (narrowing; a hook's feedback block appended to a tool result is not on this rule)." } ], "closedSetMembers": [ { "set": "AskGuard", "at": [ "src/core/tool-policy.ts:439" ], "newSet": true, "added": [ "artifact_shared_read", "dangerous_delete", "transcript_write", "unverifiable_delete", "unverifiable_shell_text" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "CHECKPOINT_CONFIG_REFUSAL_CODES", "at": [ "src/core/checkpoint-store.ts:2477" ], "newSet": false, "added": [ "config.user_attachment_invalid" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "MODE_RELEASE_REASONS", "at": [ "src/core/ask-origin.ts:786" ], "newSet": false, "added": [], "removed": [ "rule_unreadable" ], "persistedBy": "none", "breaking": true, "criteriaCovered": false }, { "set": "PermissionResult.ruleUnreadable", "at": [ "src/core/tool-policy.ts:605" ], "newSet": false, "added": [ "persisted_rows" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ReadKind", "at": [ "src/tools/fs/fs-read.ts:93" ], "newSet": false, "added": [ "directory" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "SYNTHETIC_READ_UNANSWERABLE_CAUSES", "at": [ "src/core/synthetic-read-verdict.ts:88" ], "newSet": false, "added": [ "rewritten", "store_unreadable" ], "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:615", "src/core/task-event.ts:629", "src/core/task-event.ts:694", "src/core/task-event.ts:780", "src/core/task-event.ts:813", "src/core/task-event.ts:825", "src/core/task-event.ts:853", "src/core/task-event.ts:875", "src/core/task-event.ts:919", "src/core/task-event.ts:927", "src/core/task-event.ts:966", "src/core/task-event.ts:1013", "src/core/task-event.ts:1118", "src/core/task-event.ts:1139", "src/core/task-event.ts:1150", "src/core/task-event.ts:1162", "src/core/task-event.ts:1170" ], "newSet": false, "added": [ "task_started" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "USER_ATTACHMENT_KINDS", "at": [ "src/core/user-attachment.ts:44" ], "newSet": true, "added": [ "client_image", "client_text", "directory", "image", "notebook", "pdf", "text" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "USER_ATTACHMENT_SUPPLIES", "at": [ "src/core/user-attachment.ts:46" ], "newSet": true, "added": [ "content_image", "content_text", "path" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "UserAttachmentKind", "at": [ "src/engine/llm/types.ts:481" ], "newSet": true, "added": [ "client_image", "client_text", "directory", "image", "notebook", "pdf", "text" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "UserAttachmentOutcome", "at": [ "src/engine/llm/types.ts:485" ], "newSet": true, "added": [ "attached", "not_attached", "partial", "unchanged" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "UserAttachmentSupply", "at": [ "src/engine/llm/types.ts:483" ], "newSet": true, "added": [ "content_image", "content_text", "path" ], "removed": [], "breaking": false, "criteriaCovered": false } ], "closedSetsUnreadable": [], "typeKeys": [ { "type": "AskClassFacts", "at": [ "src/core/ask-origin.ts:801" ], "added": [ "ruleStoreUnreadable" ], "addedDetail": [ { "key": "ruleStoreUnreadable", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "AskOriginFacts", "at": [ "src/core/ask-origin.ts:103" ], "via": "AskClassFacts.AskOriginFacts", "added": [ "ruleStoreUnreadable" ], "addedDetail": [ { "key": "ruleStoreUnreadable", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ConsolidationDriverEngine", "at": [ "src/core/memory-engine/consolidation-driver.ts:231" ], "added": [ "consolidationWriteHome" ], "addedDetail": [ { "key": "consolidationWriteHome", "optional": false } ], "addedRequired": [ "consolidationWriteHome" ], "removed": [], "breaking": true, "criteriaCovered": false }, { "type": "ConsolidationPlanFile", "at": [ "src/core/memory-engine/consolidation.ts:565" ], "via": "ConsolidationPlanFoldEvidence.ConsolidationPlanFile", "added": [ "applier" ], "addedDetail": [ { "key": "applier", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "DriveConsolidationOptions", "at": [ "src/core/memory-engine/distiller.ts:1337" ], "via": "driveConsolidationToFixpoint.DriveConsolidationOptions", "added": [ "writeGate" ], "addedDetail": [ { "key": "writeGate", "optional": false } ], "addedRequired": [ "writeGate" ], "removed": [], "breaking": true, "criteriaCovered": false }, { "type": "EngineAttestation", "at": [ "src/core/tool-policy.ts:260" ], "added": [ "pathDenial" ], "addedDetail": [ { "key": "pathDenial", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ExecutionEnv", "at": [ "src/engine/harness/types.ts:625" ], "added": [ "openBound" ], "addedDetail": [ { "key": "openBound", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "FileMemoryEngineBackend", "at": [ "src/core/memory-engine/file-backend.ts:1082" ], "added": [ "admitsLandings" ], "addedDetail": [ { "key": "admitsLandings", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "FileSystem", "at": [ "src/engine/harness/types.ts:474" ], "via": "ExecutionEnv.FileSystem", "added": [ "openBound" ], "addedDetail": [ { "key": "openBound", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "LspToolOptions", "at": [ "src/core/lsp.ts:441" ], "added": [ "readFace" ], "addedDetail": [ { "key": "readFace", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "MemoryBackend", "at": [ "src/core/memory-engine/types.ts:277" ], "added": [ "admitsLandings" ], "addedDetail": [ { "key": "admitsLandings", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "MemoryEngine", "at": [ "src/core/memory-engine/engine.ts:1352" ], "added": [ "consolidationWriteHome" ], "addedDetail": [ { "key": "consolidationWriteHome", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "NodeExecutionEnv", "at": [ "src/engine/execution-env/node-execution-env.ts:605" ], "added": [ "listOpenDirectory", "openBound" ], "addedDetail": [ { "key": "listOpenDirectory", "optional": true }, { "key": "openBound", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ObservedFilesystem", "at": [ "src/tools/fs/shell-read-environment.ts:43" ], "via": "ShellReadBoundary.writeTargetJudge", "added": [ "openBound" ], "addedDetail": [ { "key": "openBound", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "PermissionResult", "at": [ "src/core/tool-policy.ts:474" ], "added": [ "ask.guards" ], "addedDetail": [ { "key": "ask.guards", "optional": true } ], "addedRequired": [], "removed": [ "ask.guard" ], "breaking": true, "criteriaCovered": false }, { "type": "PersistedRuleHit", "at": [ "src/core/hooks.ts:1452" ], "added": [ "denial" ], "addedDetail": [ { "key": "denial", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "PersistedRuleVerdict", "at": [ "src/core/permission-rule-model.ts:2469" ], "added": [ "denial" ], "addedDetail": [ { "key": "denial", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "PreToolUseResult", "at": [ "src/core/hooks.ts:1198" ], "added": [ "ask.guards" ], "addedDetail": [ { "key": "ask.guards", "optional": true } ], "addedRequired": [], "removed": [ "ask.guard" ], "breaking": true, "criteriaCovered": false }, { "type": "ReadDenyMatcher", "at": [ "src/tools/fs/read-deny.ts:337" ], "added": [ "forCall" ], "addedDetail": [ { "key": "forCall", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "RemoteExecutionEnv", "at": [ "src/core/remote-env.ts:313" ], "added": [ "openBound" ], "addedDetail": [ { "key": "openBound", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "RunMemoryConsolidationOptions", "at": [ "src/core/memory-engine/consolidation-driver.ts:252" ], "added": [ "writeJudge" ], "addedDetail": [ { "key": "writeJudge", "optional": false } ], "addedRequired": [ "writeJudge" ], "removed": [], "breaking": true, "criteriaCovered": true }, { "type": "ShellReadBoundary", "at": [ "src/tools/fs/shell-read-judge.ts:165" ], "added": [ "unreadPartitions" ], "addedDetail": [ { "key": "unreadPartitions", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ShellReadVerdict", "at": [ "src/tools/fs/shell-read-check.ts:80" ], "added": [ "environmentSilent", "rowsUnread" ], "addedDetail": [ { "key": "environmentSilent", "optional": true }, { "key": "rowsUnread", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "TaskEvent", "at": [ "src/core/task-event.ts:289" ], "added": [ "human_input.attachments", "task_started.agentType", "task_started.model", "task_started.name", "task_started.parentSessionId", "task_started.parentTaskId", "task_started.rootSessionId", "task_started.seq", "task_started.sessionId", "task_started.spawnName", "task_started.startedAt", "task_started.taskId", "task_started.taskType", "task_started.type", "task_started.workflowAgentLabel", "task_started.workflowRunId" ], "addedDetail": [ { "key": "human_input.attachments", "optional": true }, { "key": "task_started.agentType", "optional": true }, { "key": "task_started.model", "optional": false }, { "key": "task_started.name", "optional": true }, { "key": "task_started.parentSessionId", "optional": true }, { "key": "task_started.parentTaskId", "optional": true }, { "key": "task_started.rootSessionId", "optional": true }, { "key": "task_started.seq", "optional": true }, { "key": "task_started.sessionId", "optional": false }, { "key": "task_started.spawnName", "optional": true }, { "key": "task_started.startedAt", "optional": false }, { "key": "task_started.taskId", "optional": false }, { "key": "task_started.taskType", "optional": true }, { "key": "task_started.type", "optional": false }, { "key": "task_started.workflowAgentLabel", "optional": true }, { "key": "task_started.workflowRunId", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "TaskSpec", "at": [ "src/core/task-spec.ts:73" ], "added": [ "userAttachments" ], "addedDetail": [ { "key": "userAttachments", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "UserMessage", "at": [ "src/engine/llm/types.ts:384" ], "added": [ "attachment" ], "addedDetail": [ { "key": "attachment", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "UserPromptSubmitContext", "at": [ "src/core/hooks.ts:1211" ], "added": [ "userAttachments" ], "addedDetail": [ { "key": "userAttachments", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "WriteDenyMatcher", "at": [ "src/tools/fs/read-deny.ts:304" ], "added": [ "forCall" ], "addedDetail": [ { "key": "forCall", "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": 223, "signatures": [ { "name": "ConsolidationDriveEngine.commitConsolidationPlan", "at": [ "src/core/memory-engine/distiller.ts:1228" ], "from": [ "(cycleToken: string, proposal: ConsolidationProposal, opts: { requestId: string; }): Promise<ConsolidationDriveReceipt>" ], "to": [ "(cycleToken: string, proposal: ConsolidationProposal, opts: { requestId: string; writeGate: ConsolidationWriteGate; }): Promise<ConsolidationDriveReceipt>" ], "changes": [ { "aspect": "param", "detail": "param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]}", "breaking": true, "uncertain": true } ], "uncertain": "param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]} — 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": "ConsolidationDriveEngine.reconcileConsolidation", "at": [ "src/core/memory-engine/distiller.ts:1229" ], "from": [ "(scope: string): Promise<{ replayed?: { planId: string; state: string; } | null; } | undefined | void>" ], "to": [ "(scope: string, opts: { readonly writeGate: ConsolidationWriteGate; }): Promise<{ replayed?: { planId: string; state: string; } | null; } | undefined | void>" ], "changes": [ { "aspect": "param", "detail": "+required param `opts: { readonly writeGate: ConsolidationWriteGate; }`", "breaking": true } ], "breaking": true, "criteriaCovered": false }, { "name": "FileMemoryEngineBackend.applyPatches", "at": [ "src/core/memory-engine/file-backend.ts:3600" ], "from": [ "(patches: readonly NotePatch[], opts?: { readonly anchoredRoot?: string; }): Promise<PatchReport>" ], "to": [ "(patches: readonly NotePatch[], opts?: Parameters<MemoryBackend[\"applyPatches\"]>[1]): Promise<PatchReport>" ], "changes": [ { "aspect": "param", "detail": "param 2 `opts` type changed, direction not read: [{ readonly anchoredRoot?: string; } -> Parameters<MemoryBackend[\"applyPatches\"]>[1]]", "breaking": true, "uncertain": true } ], "uncertain": "param 2 `opts` type changed, direction not read: [{ readonly anchoredRoot?: string; } -> Parameters<MemoryBackend[\"applyPatches\"]>[1]] — 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": "LspSession.request", "at": [ "src/core/lsp.ts:264" ], "from": [ "(op: LspOperation, params: LspRequestParams, signal?: AbortSignal): Promise<LspResult>" ], "to": [ "(op: LspOperation, params: LspRequestParams, signal?: AbortSignal, gate?: LspReadGate): Promise<LspResult>" ], "changes": [ { "aspect": "param", "detail": "+optional param `gate?: LspReadGate`", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "MemoryBackend.applyPatches", "at": [ "src/core/memory-engine/types.ts:386" ], "from": [ "(patches: readonly NotePatch[], opts?: { readonly anchoredRoot?: string; }): Promise<PatchReport>" ], "to": [ "(patches: readonly NotePatch[], opts?: { readonly anchoredRoot?: string; readonly admit?: (landings: readonly { readonly id: string; readonly scope: string; readonly slug: string; }[]) => Promise<void>; readonly confirm?: () => void; }): Promise<PatchReport>" ], "changes": [ { "aspect": "param", "detail": "param 2 `opts` type widened: … anchoredRoot?: string; [ -> readonly admit?: (landings: readonly { readonly id: string; readonly …]}", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "MemoryEngine.commitConsolidationPlan", "at": [ "src/core/memory-engine/engine.ts:6153" ], "from": [ "(cycleToken: string, proposal: ConsolidationProposal, opts: { requestId: string; }): Promise<ConsolidationCommitReceipt>" ], "to": [ "(cycleToken: string, proposal: ConsolidationProposal, opts: { requestId: string; writeGate: ConsolidationWriteGate; }): Promise<ConsolidationCommitReceipt>" ], "changes": [ { "aspect": "param", "detail": "param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]}", "breaking": true, "uncertain": true } ], "uncertain": "param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]} — 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": "MemoryEngine.reconcileConsolidation", "at": [ "src/core/memory-engine/engine.ts:7031" ], "from": [ "(scope: string): Promise<ConsolidationReconcileReport>" ], "to": [ "(scope: string, opts: { readonly writeGate: ConsolidationWriteGate; }): Promise<ConsolidationReconcileReport>" ], "changes": [ { "aspect": "param", "detail": "+required param `opts: { readonly writeGate: ConsolidationWriteGate; }`", "breaking": true } ], "breaking": true, "criteriaCovered": false }, { "name": "MemoryEngine.resolveConsolidationPlan", "at": [ "src/core/memory-engine/engine.ts:7173" ], "from": [ "(planId: string, action: \"discard\" | \"retry\", opts: { requestId: string; }): Promise<ConsolidationResolveReceipt>" ], "to": [ "(planId: string, action: \"discard\" | \"retry\", opts: { requestId: string; writeGate: ConsolidationWriteGate; }): Promise<ConsolidationResolveReceipt>" ], "changes": [ { "aspect": "param", "detail": "param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]}", "breaking": true, "uncertain": true } ], "uncertain": "param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]} — 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": "TransportLspSession.notifyFileChanged", "at": [ "src/core/lsp-session.ts:421" ], "from": [ "(filePath: string, signal?: AbortSignal): Promise<void>" ], "to": [ "(filePath: string, signal?: AbortSignal, gate?: LspReadGate): Promise<void>" ], "changes": [ { "aspect": "param", "detail": "+optional param `gate?: LspReadGate`", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "TransportLspSession.request", "at": [ "src/core/lsp-session.ts:125" ], "from": [ "(op: LspOperation, params: LspRequestParams, signal?: AbortSignal): Promise<LspResult>" ], "to": [ "(op: LspOperation, params: LspRequestParams, signal?: AbortSignal, gate?: LspReadGate): Promise<LspResult>" ], "changes": [ { "aspect": "param", "detail": "+optional param `gate?: LspReadGate`", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "TransportLspSession.warmOpen", "at": [ "src/core/lsp-session.ts:405" ], "from": [ "(filePaths: string[], signal?: AbortSignal): Promise<{ opened: number; failed: number; }>" ], "to": [ "(filePaths: string[], _signal?: AbortSignal): Promise<{ opened: number; failed: number; deferred: number; }>" ], "changes": [ { "aspect": "returns", "detail": "return type gained members deferred", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "resolveMemoryConsolidationDriver", "at": [ "src/core/runner/memory-consolidation-driver.ts:59" ], "from": [ "(deps: MemoryConsolidationDriverDeps): RunMemoryConsolidationOptions" ], "to": [ "(deps: MemoryConsolidationDriverDeps): Omit<RunMemoryConsolidationOptions, \"writeJudge\">" ], "changes": [ { "aspect": "returns", "detail": "return type [RunMemoryConsolidationOptions -> Omit<RunMemoryConsolidationOptions, \"writeJudge\">]", "breaking": true } ], "breaking": true, "criteriaCovered": false } ], "declarationMoves": [ { "name": "quoteDataLabel", "kind": null, "onSurface": false, "from": [ "src/tools/fs/dir-entries.ts" ], "to": [ "src/engine/llm/types.ts", "src/internal/llm.ts" ] }, { "name": "rootAdmittingArtifactStore", "kind": null, "onSurface": false, "from": [ "src/core/runner/read-root-grant.ts" ], "to": [ "src/tools/fs/safety.ts" ] }, { "name": "ruleRowsDroppedNotice", "kind": null, "onSurface": false, "from": [ "src/core/runner/persisted-path-rows.ts" ], "to": [ "src/core/runner/person-path-rows.ts" ] }, { "name": "ruleStoreUnreadableNotice", "kind": null, "onSurface": false, "from": [ "src/core/runner/persisted-path-rows.ts" ], "to": [ "src/core/runner/person-path-rows.ts" ] } ], "mintMoves": [ { "code": "permission.rule_row_dropped", "from": [ "src/core/runner/persisted-path-rows.ts" ], "to": [ "src/core/runner/person-path-rows.ts" ] }, { "code": "permission.rule_store_unavailable", "from": [ "src/core/runner/persisted-path-rows.ts" ], "to": [ "src/core/runner/person-path-rows.ts" ] } ], "criteriaObserves": [ { "kind": "engineNoticeCode", "name": "memory.consolidation_incomplete", "assertions": [ "G9.b" ] }, { "kind": "engineNoticeCode", "name": "memory.consolidation_refused", "assertions": [ "G9.c" ] }, { "kind": "engineNoticeCode", "name": "permission.rule_store_unavailable", "assertions": [ "G5.a", "G7.c" ] }, { "kind": "taskEventField", "name": "human_input.attachments", "assertions": [ "G10.a", "G10.b" ] }, { "kind": "taskEventField", "name": "task_progress.status", "assertions": [ "G11.c" ] }, { "kind": "taskEventField", "name": "task_started.seq", "assertions": [ "G11.a" ] }, { "kind": "taskEventField", "name": "task_started.taskId", "assertions": [ "G11.a" ] }, { "kind": "taskEventField", "name": "tool_end.errorCode", "assertions": [ "G2.a" ] }, { "kind": "taskEventField", "name": "tool_end.gate", "assertions": [ "G1.a", "G1.b", "G1.c", "G2.b", "G3.a", "G3.b", "G4.a", "G5.a", "G5.b", "G7.a", "G7.b", "G7.c", "G8.b" ] }, { "kind": "taskEventField", "name": "tool_end.output", "assertions": [ "G1.d", "G3.c", "G4.b", "G10.d", "G12.a", "G12.b" ] }, { "kind": "taskEventField", "name": "tool_end.structured", "assertions": [ "G2.a", "G2.b" ] }, { "kind": "taskEventField", "name": "tool_end.totalChars", "assertions": [ "G12.b" ] }, { "kind": "taskEventField", "name": "tool_end.truncated", "assertions": [ "G12.a" ] }, { "kind": "typeMember", "name": "ConsolidationRefusedError.code", "assertions": [ "G9.a" ] }, { "kind": "typeMember", "name": "GateOutcome.disposition", "assertions": [ "G1.a" ] }, { "kind": "typeMember", "name": "GateOutcome.origin", "assertions": [ "G7.a" ] }, { "kind": "typeMember", "name": "ModeRelease.reason", "assertions": [ "G8.a", "G8.b" ] }, { "kind": "typeMember", "name": "PermissionResult.guards", "assertions": [ "G6.a", "G6.b", "G13.a", "G13.b" ] }, { "kind": "typeMember", "name": "PermissionResult.requiresRealApproval", "assertions": [ "G13.a" ] }, { "kind": "typeMember", "name": "RunMemoryConsolidationOptions.writeJudge", "assertions": [ "G9.a" ] }, { "kind": "typeMember", "name": "RunnerDeps.mediaByteCapBytes", "assertions": [ "G14.a" ] }, { "kind": "typeMember", "name": "RunnerDeps.onDelegationLifecycle", "assertions": [ "G11.b" ] }, { "kind": "typeMember", "name": "RunnerDeps.sessionStore", "assertions": [ "G14.b" ] }, { "kind": "typeMember", "name": "TaskSpec.userAttachments", "assertions": [ "G10.a", "G10.c" ] }, { "kind": "typeMember", "name": "WiringManifest.lsp", "assertions": [ "G3.d" ] } ], "consumersHint": { "cli": [ "AskClassFacts", "AskOriginFacts", "CHECKPOINT_CONFIG_REFUSAL_CODES", "ExecutionEnv", "FileMemoryEngineBackend", "FileSystem", "MODE_RELEASE_REASONS", "MemoryBackend", "MemoryEngine", "NodeExecutionEnv", "PermissionResult", "PersistedRuleHit", "PreToolUseResult", "ReadDenyMatcher", "ReadKind", "RemoteExecutionEnv", "RunMemoryConsolidationOptions", "SYNTHETIC_READ_UNANSWERABLE_CAUSES", "ShellReadBoundary", "ShellReadVerdict", "TaskEvent", "TaskSpec", "UserMessage", "UserPromptSubmitContext" ], "server": [ "AskClassFacts", "CHECKPOINT_CONFIG_REFUSAL_CODES", "ConsolidationDriverEngine", "ExecutionEnv", "FileMemoryEngineBackend", "FileSystem", "LspSession", "MODE_RELEASE_REASONS", "MemoryBackend", "MemoryEngine", "NodeExecutionEnv", "PermissionResult", "PreToolUseResult", "RemoteExecutionEnv", "RunMemoryConsolidationOptions", "ShellReadBoundary", "TaskEvent", "TaskSpec", "TransportLspSession", "UserMessage", "UserPromptSubmitContext", "resolveMemoryConsolidationDriver" ], "sdk": [ "FileSystem", "MODE_RELEASE_REASONS", "MemoryEngine", "NodeExecutionEnv", "PermissionResult", "PreToolUseResult", "TaskEvent", "TaskSpec" ], "note": "scanned cli@dea53b8d server@b4924bea sdk@a32bca5 — 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: 8 name(s) matched ONLY in bookkeeping files and were set aside (ConsolidationDriveEngine, EngineAttestation, LspToolOptions, PersistedRuleHit, PersistedRuleVerdict, ReadDenyMatcher, ShellReadVerdict, WriteDenyMatcher)" }, "breakingCount": 13, "breakingItems": [ "closed set lost members: MODE_RELEASE_REASONS -rule_unreadable", "signature changed: ConsolidationDriveEngine.commitConsolidationPlan — param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]}", "signature changed: ConsolidationDriveEngine.reconcileConsolidation — +required param `opts: { readonly writeGate: ConsolidationWriteGate; }`", "signature changed: FileMemoryEngineBackend.applyPatches — param 2 `opts` type changed, direction not read: [{ readonly anchoredRoot?: string; } -> Parameters<MemoryBackend[\"applyPatches\"]>[1]]", "signature changed: MemoryEngine.commitConsolidationPlan — param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]}", "signature changed: MemoryEngine.reconcileConsolidation — +required param `opts: { readonly writeGate: ConsolidationWriteGate; }`", "signature changed: MemoryEngine.resolveConsolidationPlan — param 3 `opts` type changed, direction not read: { requestId: string; [ -> writeGate: ConsolidationWriteGate; ]}", "signature changed: resolveMemoryConsolidationDriver — return type [RunMemoryConsolidationOptions -> Omit<RunMemoryConsolidationOptions, \"writeJudge\">]", "type gained required keys: ConsolidationDriverEngine +consolidationWriteHome", "type gained required keys: DriveConsolidationOptions +writeGate", "type gained required keys: RunMemoryConsolidationOptions +writeJudge", "type lost keys: PermissionResult -ask.guard", "type lost keys: PreToolUseResult -ask.guard" ] }