UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

1,523 lines (1,522 loc) • 36.7 kB
{ "repo": "core", "version": "7.46.0", "from": "2e80ea7afa8f82440b35c0841a1d81613d2f4fcc", "to": "4d78f3834f2c0b04e5f350c60df286c46b9de33a", "added": [ { "name": "BoundPathRule", "kind": "interface", "tier": "advanced", "at": [ "src/core/path-rule-binding.ts:34", "src/index.ts:1110" ], "criteriaCovered": false, "breaking": false }, { "name": "CallTargetReading", "kind": "interface", "tier": "advanced", "at": [ "src/core/effective-path-target.ts:205", "src/index.ts:1109" ], "criteriaCovered": false, "breaking": false }, { "name": "CallTargetView", "kind": "type", "tier": "advanced", "at": [ "src/core/effective-path-target.ts:195", "src/index.ts:1109" ], "criteriaCovered": false, "breaking": false }, { "name": "ENGINE_BUILTIN_TOOL_NAMES", "kind": "variable", "tier": "advanced", "at": [ "src/core/tool-catalog-entries.ts:280", "src/index.ts:1492" ], "criteriaCovered": false, "breaking": false }, { "name": "PathRuleSpec", "kind": "interface", "tier": "advanced", "at": [ "src/core/path-rule-binding.ts:24", "src/index.ts:1110" ], "criteriaCovered": false, "breaking": false }, { "name": "isEngineBuiltinToolName", "kind": "function", "tier": "advanced", "at": [ "src/core/tool-catalog-entries.ts:299", "src/index.ts:1492" ], "criteriaCovered": false, "breaking": false }, { "name": "renderListEntry", "kind": "function", "tier": "advanced", "at": [ "src/core/allow-entry.ts:614", "src/index.ts:1480" ], "criteriaCovered": false, "breaking": false }, { "name": "toolPolicyPathRules", "kind": "function", "tier": "advanced", "at": [ "src/core/tool-policy.ts:809", "src/index.ts:1421" ], "criteriaCovered": false, "breaking": false } ], "removed": [ { "name": "toolPolicyPathDenyRules", "kind": "function", "tier": "advanced", "at": [ "src/core/tool-policy.ts:792", "src/index.ts:1420" ], "breaking": true } ], "changed": [], "narrowed": [ { "id": "F2", "source": "behaviorFlips.summary", "text": "#1102 car A — curl's own `{}` / `[]` glob is expanded before the URL or upload file is judged (narrowing); `-g` / `--globoff` reads it literally" }, { "id": "F28", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1417): a shell whose argv names no script runs its standard input, and what arrives there is its script — a literal here-document / here-string / printed text is planned as a `-c` text is; a text built when the command runs (an expanding here-document, any program on the pipe other than a literal `echo` / `printf`, a `<` file) is the removal guard's `runtime_script` (`dangerous_delete`)." }, { "id": "F30", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1425): a read-only name keeps its value — an assignment the read-only attribute (or another attribute, or a name reference) may run before binds nothing the text says; the read through it is a read-boundary question again." }, { "id": "F31", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1430): a sub-agent's `denyTools` / `allowTools` govern the engine's hand tools its own run mounts (Read / Edit / Write / NotebookEdit / Bash / Grep / Glob / RepoMap / EnterWorktree / ExitWorktree / TaskOutput / TaskStop), as they govern the delegation pool — one reading, the withheld hand names joining the child's exclusion list." }, { "id": "F32", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1432; +1 optional option key): a delegation tool that declares its `extraTools` factory's roster (`SubagentToolOptions.extraToolNames`) publishes a listable pool again — a stale list spelling is refused before the run — and a factory product outside the roster refuses that spawn." } ], "closedSetMembers": [ { "set": "ARG_ROLE_KINDS", "at": [ "src/tools/fs/program-read-model.ts:45" ], "newSet": true, "added": [ "assignment", "binds-name", "command", "datum", "entry-probe", "mount-source", "object-path", "path", "program-file", "program-text", "shell-text" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ArgRoleKind", "at": [ "src/tools/fs/program-read-model.ts:46" ], "newSet": true, "added": [ "assignment", "binds-name", "command", "datum", "entry-probe", "mount-source", "object-path", "path", "program-file", "program-text", "shell-text" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "Arity", "at": [ "src/tools/fs/program-read-model.ts:108" ], "newSet": true, "added": [ "attached", "suffix" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ChainInstallationGap", "at": [ "src/core/runner/child-tree.ts:109" ], "newSet": true, "added": [ "absent", "invalid", "misaligned" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "CheckpointErrorReason", "at": [ "src/core/checkpoint-store.ts:2425" ], "newSet": false, "added": [ "hands_coordinates_damaged", "installation_record_absent", "installation_record_invalid", "installation_record_misaligned" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ChildPlacement", "at": [ "src/core/runner/contracts.ts:2092" ], "newSet": true, "added": [ "caller_tree", "elsewhere", "honored" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "CodeBody", "at": [ "src/tools/fs/program-read-model.ts:292" ], "newSet": true, "added": [ "assignment-values", "first-operand", "option-values" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "DATUM_FORMS", "at": [ "src/tools/fs/program-read-model.ts:27" ], "newSet": true, "added": [ "count", "delimiter", "label", "message", "name-pattern", "pattern" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "DatumForm", "at": [ "src/tools/fs/program-read-model.ts:28" ], "newSet": true, "added": [ "count", "delimiter", "label", "message", "name-pattern", "pattern" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "DeclaredAttribute", "at": [ "src/tools/fs/program-read-model.ts:194" ], "newSet": true, "added": [ "frozen", "integer", "reference", "transformed", "unsettled" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "Dialect", "at": [ "src/tools/fs/program-read-model.ts:197" ], "newSet": true, "added": [ "any", "bsd", "gnu" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ENGINE_NOTICE_CODES", "at": [ "src/core/governance-codes.ts:350" ], "newSet": false, "added": [ "permission.rule_row_dropped" ], "removed": [], "breaking": false, "criteriaCovered": true }, { "set": "ExtraToolNamesReason", "at": [ "src/agents/extra-tool-names.ts:22" ], "newSet": true, "added": [ "shape", "undeclared_name", "undeclared_origin" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "OPTION_MODES", "at": [ "src/tools/fs/program-read-model.ts:38" ], "newSet": true, "added": [ "banner", "follows", "forced", "interactive", "names-program", "quiet", "repeats" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "OptionMode", "at": [ "src/tools/fs/program-read-model.ts:39" ], "newSet": true, "added": [ "banner", "follows", "forced", "interactive", "names-program", "quiet", "repeats" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "OptionValueKind", "at": [ "src/tools/fs/bash-readonly-classifier.ts:959" ], "newSet": false, "added": [], "removed": [ "count", "delimiter", "form", "header", "indirect", "label", "name-pattern", "path", "pattern", "script", "url" ], "persistedBy": "none", "breaking": true, "criteriaCovered": false }, { "set": "PATH_EFFECTS", "at": [ "src/tools/fs/program-read-model.ts:58" ], "newSet": true, "added": [ "create", "edit-in-place", "names", "read", "write" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "PATH_VALUE_FORMS", "at": [ "src/tools/fs/program-read-model.ts:33" ], "newSet": true, "added": [ "form", "header", "indirect", "url" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "PathEffect", "at": [ "src/tools/fs/program-read-model.ts:59" ], "newSet": true, "added": [ "create", "edit-in-place", "names", "read", "write" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "PathValueForm", "at": [ "src/tools/fs/program-read-model.ts:34" ], "newSet": true, "added": [ "form", "header", "indirect", "url" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ProgramDelivery", "at": [ "src/tools/fs/program-read-model.ts:1318" ], "newSet": true, "added": [ "stdin", "text" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ProgramTextReading", "at": [ "src/tools/fs/program-read-model.ts:1540" ], "newSet": true, "added": [ "from-file", "none", "unparsed" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "READ_CANDIDATE_PROVENANCES", "at": [ "src/tools/fs/shell-read-plan.ts:96" ], "newSet": false, "added": [ "mount_source", "object_path" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "RECOMMENDED_SENSITIVE_PATTERNS", "at": [ "src/core/sensitive-path-policy.ts:110" ], "newSet": false, "added": [ ".sema/config-lkg-*.json" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "ReadCandidate.speculative", "at": [ "src/tools/fs/shell-read-plan.ts:156" ], "newSet": true, "added": [ "containment", "whole" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "set": "SHELL_WRITE_COMMANDS", "at": [ "src/tools/fs/shell-read-write-targets.ts:18" ], "newSet": false, "added": [], "removed": [ "cp", "mkdir", "mv", "rm", "rmdir", "sed", "tee", "touch" ], "persistedBy": "checkpoint-state", "breaking": true, "criteriaCovered": false }, { "set": "Witness", "at": [ "src/tools/fs/program-read-model.ts:295" ], "newSet": true, "added": [ "binary" ], "removed": [], "breaking": false, "criteriaCovered": false } ], "closedSetsUnreadable": [], "typeKeys": [ { "type": "CheckpointState", "at": [ "src/core/checkpoint-store.ts:1190" ], "added": [ "handsHome", "handsRoot", "inheritedGate.pathRuleAnchors", "inheritedGate.pathRuleAnchors.home", "inheritedGate.pathRuleAnchors.root", "inheritedGate.pathRuleInstallations", "inheritedGate.pathRuleInstallations[].home", "inheritedGate.pathRuleInstallations[].root" ], "addedDetail": [ { "key": "handsHome", "optional": true }, { "key": "handsRoot", "optional": true }, { "key": "inheritedGate.pathRuleAnchors", "optional": true }, { "key": "inheritedGate.pathRuleAnchors.home", "optional": true }, { "key": "inheritedGate.pathRuleAnchors.root", "optional": false }, { "key": "inheritedGate.pathRuleInstallations", "optional": true }, { "key": "inheritedGate.pathRuleInstallations[].home", "optional": true }, { "key": "inheritedGate.pathRuleInstallations[].root", "optional": false } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "EffectivePermissionRules", "at": [ "src/core/permission-rule-provider.ts:89" ], "added": [ "droppedRows", "droppedRows[].rule", "droppedRows[].scopeRoot" ], "addedDetail": [ { "key": "droppedRows", "optional": true }, { "key": "droppedRows[].rule", "optional": false }, { "key": "droppedRows[].scopeRoot", "optional": false } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "InheritedGate", "at": [ "src/core/runner/contracts.ts:1211" ], "via": "RunInternals.inheritedGate", "added": [ "pathRuleAnchors", "pathRuleAnchors.home", "pathRuleAnchors.root", "pathRuleInstallations", "pathRuleInstallations[].home", "pathRuleInstallations[].root" ], "addedDetail": [ { "key": "pathRuleAnchors", "optional": true }, { "key": "pathRuleAnchors.home", "optional": true }, { "key": "pathRuleAnchors.root", "optional": false }, { "key": "pathRuleInstallations", "optional": true }, { "key": "pathRuleInstallations[].home", "optional": true }, { "key": "pathRuleInstallations[].root", "optional": false } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "NamedToolPolicy", "at": [ "src/core/tool-policy.ts:1317" ], "added": [ "pathRules" ], "addedDetail": [ { "key": "pathRules", "optional": true } ], "addedRequired": [], "removed": [ "pathDenyRules" ], "breaking": true, "criteriaCovered": false }, { "type": "Prepared", "at": [ "src/core/runner/contracts.ts:246" ], "via": "Runner.SuspendReap.env", "added": [ "stampCallTarget" ], "addedDetail": [ { "key": "stampCallTarget", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ReadCandidate", "at": [ "src/tools/fs/shell-read-plan.ts:125" ], "added": [ "speculative" ], "addedDetail": [ { "key": "speculative", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ResolvedWorkspace", "at": [ "src/core/runner/contracts.ts:2094" ], "added": [ "placement" ], "addedDetail": [ { "key": "placement", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "RunInternals", "at": [ "src/core/runner/contracts.ts:1436" ], "added": [ "callerRoot", "worktreeOffered" ], "addedDetail": [ { "key": "callerRoot", "optional": true }, { "key": "worktreeOffered", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "RunnerDeps", "at": [ "src/core/runner-deps.ts:105" ], "added": [ "agentConfigDir" ], "addedDetail": [ { "key": "agentConfigDir", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "ShellReadSegment", "at": [ "src/tools/fs/shell-read-plan.ts:175" ], "added": [ "stdin" ], "addedDetail": [ { "key": "stdin", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "SubagentToolOptions", "at": [ "src/agents/subagent.ts:2742" ], "added": [ "extraToolNames", "extraToolNames[].aliases", "extraToolNames[].contentOrigin", "extraToolNames[].name" ], "addedDetail": [ { "key": "extraToolNames", "optional": true }, { "key": "extraToolNames[].aliases", "optional": true }, { "key": "extraToolNames[].contentOrigin", "optional": true }, { "key": "extraToolNames[].name", "optional": false } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "ToolCallRequest", "at": [ "src/core/tool-policy.ts:52" ], "added": [ "pathRuleAnchors", "targetReading" ], "addedDetail": [ { "key": "pathRuleAnchors", "optional": true }, { "key": "targetReading", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "ToolGateInput", "at": [ "src/core/hooks.ts:1471" ], "via": "runToolGate.ToolGateInput", "added": [ "stampCallTarget" ], "addedDetail": [ { "key": "stampCallTarget", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "ToolPolicy", "at": [ "src/core/tool-policy.ts:735" ], "added": [ "pathRules" ], "addedDetail": [ { "key": "pathRules", "optional": true } ], "addedRequired": [], "removed": [ "pathDenyRules" ], "breaking": true, "criteriaCovered": false }, { "type": "WriteProtectionCompileOptions", "at": [ "src/core/write-protect.ts:657" ], "added": [ "agentConfigDir" ], "addedDetail": [ { "key": "agentConfigDir", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": false } ], "typeKeysUnreadableArms": [], "typeKeysFlattenedCount": 227, "signatures": [ { "name": "adjudicatePersistedPathRules", "at": [ "src/core/permission-rule-model.ts:2422" ], "from": [ "(rules: readonly PersistedRule[], call: { tool: string; cwd: string | undefined; sessionId?: string; face?: DenyFace | undefined; }, targets: { readonly tighten?: PathTargetReading; readonly allow?: PathTargetReading; }, bases: PathRuleBases): PersistedRuleVerdict | undefined" ], "to": [ "(rules: readonly PersistedRule[], call: { tool: string; cwd: string | undefined; sessionId?: string; face?: DenyFace | undefined; scopeIdentity?: ScopeRootIdentity; }, views: { readonly tighten?: TargetViews; readonly allow?: TargetViews; }, anchorsOf: (rule: PersistedRule) => PathRuleBases, leads: ReadonlyMap<string, string | undefined>): PersistedRuleVerdict | undefined" ], "changes": [ { "aspect": "param", "detail": "param 2 `call` type widened: …: DenyFace | undefined; [ -> scopeIdentity?: ScopeRootIdentity; ]}", "breaking": false }, { "aspect": "param", "detail": "param 3 `views` type changed, direction not read: { readonly tighten?: [PathTargetReading; readonly allow?: PathTargetReading -> TargetViews; readonly allow?: TargetViews]; }", "breaking": true, "uncertain": true }, { "aspect": "param", "detail": "param 4 `anchorsOf` type changed, direction not read: [ -> (rule: PersistedRule) => ]PathRuleBases", "breaking": true, "uncertain": true }, { "aspect": "param", "detail": "+required param `leads: ReadonlyMap<string, string | undefined>`", "breaking": true } ], "uncertain": "param 3 `views` type changed, direction not read: { readonly tighten?: [PathTargetReading; readonly allow?: PathTargetReading -> TargetViews; readonly allow?: TargetViews]; } · param 4 `anchorsOf` type changed, direction not read: [ -> (rule: PersistedRule) => ]PathRuleBases — 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": "adjudicatePersistedRules", "at": [ "src/core/permission-rule-model.ts:2375" ], "from": [ "(rules: readonly PersistedRule[], call: { tool: string; command: string; cwd: string | undefined; sessionId?: string; execCwd?: string; }): PersistedRuleVerdict | undefined" ], "to": [ "(rules: readonly PersistedRule[], call: { tool: string; command: string; cwd: string | undefined; sessionId?: string; execCwd?: string; scopeIdentity?: ScopeRootIdentity; }): PersistedRuleVerdict | undefined" ], "changes": [ { "aspect": "param", "detail": "param 2 `call` type widened: …ring; execCwd?: string; [ -> scopeIdentity?: ScopeRootIdentity; ]}", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "createSensitivePathPolicy", "at": [ "src/core/sensitive-path-policy.ts:399" ], "from": [ "(opts: { env: ExecutionEnv; patterns: readonly string[]; rootPath?: string; dataRoot?: string; tools?: string[]; }): ToolPolicy" ], "to": [ "(opts: { env: ExecutionEnv; patterns: readonly string[]; rootPath?: string; dataRoot?: string; agentConfigDir?: string; tools?: string[]; }): ToolPolicy" ], "changes": [ { "aspect": "param", "detail": "param 1 `opts` type widened: …ing; dataRoot?: string; [ -> agentConfigDir?: string; ]tools?: string[]; }", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "directoryRuleAdmits", "at": [ "src/core/permission-rule-model.ts:1903" ], "from": [ "(rule: Pick<PersistedRule, \"match\" | \"command\">, path: PathIdentity, bases: PathRuleBases): boolean" ], "to": [ "(rule: Pick<PersistedRule, \"match\" | \"command\">, path: PathIdentity, bases: PathRuleBases, treeFamily?: PathFamily | undefined): boolean" ], "changes": [ { "aspect": "param", "detail": "+optional param `treeFamily?: PathFamily | undefined`", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "pathRuleReachOf", "at": [ "src/core/permission-rule-model.ts:1517" ], "from": [ "(rule: Pick<PersistedRule, \"match\" | \"command\" | \"behavior\">, target: PathIdentity, bases: PathRuleBases): ProgramRunReachOutcome" ], "to": [ "(rule: Pick<PersistedRule, \"match\" | \"command\" | \"behavior\">, target: PathIdentity, bases: PathRuleBases, treeFamily?: PathFamily | undefined): ProgramRunReachOutcome" ], "changes": [ { "aspect": "param", "detail": "+optional param `treeFamily?: PathFamily | undefined`", "breaking": false } ], "breaking": false, "criteriaCovered": false }, { "name": "scopeCoversCwd", "at": [ "src/core/permission-rule-model.ts:2136" ], "from": [ "(scope: RuleScope, cwd: string | undefined, sessionId?: string): boolean" ], "to": [ "(scope: RuleScope, cwd: string | undefined, sessionId?: string, identity?: ScopeRootIdentity): boolean" ], "changes": [ { "aspect": "param", "detail": "+optional param `identity?: ScopeRootIdentity`", "breaking": false } ], "breaking": false, "criteriaCovered": false } ], "declarationMoves": [ { "name": "ArgWord", "kind": null, "onSurface": false, "from": [ "src/tools/fs/shell-read-write-targets.ts" ], "to": [ "src/tools/fs/program-read-model.ts", "src/tools/fs/shell-read-write-targets.ts" ] }, { "name": "WriteSeat", "kind": null, "onSurface": false, "from": [ "src/tools/fs/shell-read-write-targets.ts" ], "to": [ "src/tools/fs/program-read-model.ts", "src/tools/fs/shell-read-write-targets.ts" ] }, { "name": "dropDefinitionHeads", "kind": null, "onSurface": false, "from": [ "src/tools/fs/shell-read-word.ts" ], "to": [ "src/tools/fs/shell-read-bindings.ts" ] }, { "name": "renderListEntry", "kind": "function", "onSurface": true, "from": [ "src/core/allow-entry.ts" ], "to": [ "src/core/allow-entry.ts", "src/index.ts" ] }, { "name": "slotValueCandidates", "kind": null, "onSurface": false, "from": [ "src/tools/fs/bash-readonly-classifier.ts" ], "to": [ "src/tools/fs/program-read-model.ts" ] }, { "name": "suppliesFirstOperandSlot", "kind": null, "onSurface": false, "from": [ "src/tools/fs/bash-readonly-classifier.ts" ], "to": [ "src/tools/fs/program-read-model.ts" ] } ], "mintMoves": [], "criteriaObserves": [ { "kind": "engineNoticeCode", "name": "permission.rule_row_dropped", "assertions": [ "G21.a" ] }, { "kind": "taskEventField", "name": "tool_end.errorCode", "assertions": [ "G38.a", "G38.b", "G38.c" ] }, { "kind": "taskEventField", "name": "tool_end.gate", "assertions": [ "G38.e", "G38.f", "G39.a", "G39.b", "G39.c", "G39.d", "G39.e" ] }, { "kind": "taskEventField", "name": "tool_end.isError", "assertions": [ "G20.a" ] }, { "kind": "typeMember", "name": "AgentDefinition.allowTools", "assertions": [ "G42.a" ] }, { "kind": "typeMember", "name": "AgentDefinition.denyTools", "assertions": [ "G40.a", "G42.a" ] }, { "kind": "typeMember", "name": "AskRequest.askClass", "assertions": [ "G7.a", "G8.a", "G9.a", "G12.a", "G15.a", "G16.a", "G27.a", "G37.a", "G37.b", "G37.e", "G37.f", "G37.g" ] }, { "kind": "typeMember", "name": "AskRequest.classes", "assertions": [ "G27.a", "G27.b", "G37.c", "G37.d", "G39.a", "G39.b", "G39.c", "G39.d", "G39.e" ] }, { "kind": "typeMember", "name": "AskRequest.message", "assertions": [ "G7.a", "G37.a", "G37.b" ] }, { "kind": "typeMember", "name": "CheckpointError.detail", "assertions": [ "G19.a" ] }, { "kind": "typeMember", "name": "CheckpointState.handsCwd", "assertions": [ "G11.a" ] }, { "kind": "typeMember", "name": "CheckpointState.handsRoot", "assertions": [ "G10.a", "G10.b", "G11.a" ] }, { "kind": "typeMember", "name": "CompoundReadonlyVerdict.reason", "assertions": [ "G25.a", "G25.b", "G25.c" ] }, { "kind": "typeMember", "name": "GateOutcome.disposition", "assertions": [ "G7.b", "G8.a", "G8.b", "G9.b", "G12.b", "G13.a", "G14.a", "G15.a" ] }, { "kind": "typeMember", "name": "ResolvedWorkspace.placement", "assertions": [ "G18.a" ] }, { "kind": "typeMember", "name": "RunnerDeps.agentConfigDir", "assertions": [ "G38.a", "G38.b", "G38.c", "G38.d", "G38.e", "G38.f" ] }, { "kind": "typeMember", "name": "ShellReadJudgment.verdict", "assertions": [ "G1.a", "G1.b", "G2.a", "G2.b", "G2.c", "G3.a", "G4.a", "G4.b", "G5.a", "G5.b", "G6.a", "G22.a", "G22.b", "G22.c", "G23.a", "G23.b", "G23.c", "G24.a", "G24.b", "G28.a", "G28.b", "G29.a", "G29.b", "G30.a", "G30.b", "G31.a", "G31.b", "G31.c", "G32.a", "G32.b", "G33.a", "G33.b", "G34.a", "G34.b", "G35.a", "G36.a", "G36.b" ] }, { "kind": "typeMember", "name": "ShellSegment.peeled", "assertions": [ "G26.a", "G26.b" ] }, { "kind": "typeMember", "name": "SubagentToolOptions.extraToolNames", "assertions": [ "G40.a", "G41.a", "G41.b", "G41.c" ] }, { "kind": "typeMember", "name": "SubagentToolOptions.onExtraToolsError", "assertions": [ "G41.a" ] }, { "kind": "typeMember", "name": "TaskSpec.excludeTools", "assertions": [ "G42.b" ] }, { "kind": "typeMember", "name": "TaskSpec.handsReadOnly", "assertions": [ "G42.b" ] }, { "kind": "typeMember", "name": "ToolCallRequest.root", "assertions": [ "G17.a" ] }, { "kind": "typeMember", "name": "ToolCallRequest.targetReading", "assertions": [ "G7.b" ] }, { "kind": "typeMember", "name": "ToolSpec.agentToolPool", "assertions": [ "G40.b" ] } ], "consumersHint": { "cli": [ "Arity", "CheckpointErrorReason", "CheckpointState", "ENGINE_NOTICE_CODES", "EffectivePermissionRules", "InheritedGate", "NamedToolPolicy", "OptionValueKind", "Prepared", "READ_CANDIDATE_PROVENANCES", "RECOMMENDED_SENSITIVE_PATTERNS", "ReadCandidate", "RunInternals", "RunnerDeps", "SHELL_WRITE_COMMANDS", "SubagentToolOptions", "ToolCallRequest", "ToolGateInput", "ToolPolicy", "WriteProtectionCompileOptions", "adjudicatePersistedPathRules", "createSensitivePathPolicy" ], "server": [ "CheckpointErrorReason", "CheckpointState", "Dialect", "ENGINE_NOTICE_CODES", "InheritedGate", "Prepared", "RECOMMENDED_SENSITIVE_PATTERNS", "ReadCandidate", "RunInternals", "RunnerDeps", "SubagentToolOptions", "ToolCallRequest", "ToolGateInput", "ToolPolicy", "WriteProtectionCompileOptions", "createSensitivePathPolicy", "scopeCoversCwd", "toolPolicyPathDenyRules" ], "sdk": [ "CheckpointErrorReason", "ENGINE_NOTICE_CODES", "RunnerDeps", "ToolPolicy" ], "note": "scanned cli@bdbfee8f server@da3c2cdc sdk@8d8178f — 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 (EffectivePermissionRules, NamedToolPolicy, ResolvedWorkspace, ShellReadSegment, adjudicatePersistedPathRules, adjudicatePersistedRules, directoryRuleAdmits, pathRuleReachOf)" }, "breakingCount": 6, "breakingItems": [ "closed set lost members: OptionValueKind -count,delimiter,form,header,indirect,label,name-pattern,path,pattern,script,url", "closed set lost members: SHELL_WRITE_COMMANDS -cp,mkdir,mv,rm,rmdir,sed,tee,touch", "export removed: toolPolicyPathDenyRules (function)", "signature changed: adjudicatePersistedPathRules — param 3 `views` type changed, direction not read: { readonly tighten?: [PathTargetReading; readonly allow?: PathTargetReading -> TargetViews; readonly allow?: TargetViews]; }; param 4 `anchorsOf` type changed, direction not read: [ -> (rule: PersistedRule) => ]PathRuleBases; +required param `leads: ReadonlyMap<string, string | undefined>`", "type lost keys: NamedToolPolicy -pathDenyRules", "type lost keys: ToolPolicy -pathDenyRules" ] }