UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

166 lines (165 loc) • 4.47 kB
{ "repo": "core", "version": "7.33.8", "from": "2dbd7b86789e1e5385ca2ebf13db6de617b33669", "to": "v7.33.8", "added": [], "removed": [], "changed": [], "narrowed": [ { "id": "F1", "source": "behaviorFlips.summary", "text": "#1181 (security, narrowing): a `runSpec` / `runOracle` gate's command is spawned with the engine's environment through the credential scrub; `OracleGateSpec.inheritEnv` (\"scrub\" default / \"all\" / allow list, names only) puts names back per gate; a malformed `inheritEnv` or a command the OS refuses outright is an `error` gate; the withheld names reach the shared once-per-process `config.secret_env_scrubbed` notice through `runOracle`'s and `RunSpecOptions`' new optional `onNotice`." }, { "id": "F2", "source": "behaviorFlips.summary", "text": "#1181 (security, narrowing): the engine's helpers looked up on PATH — the tree kill's `ps` / `taskkill` / Git Bash group kill, shell discovery (`which bash` / `where bash.exe`) and the lock-holder probe (`ps -p`) — spawn with the scrubbed environment and announce nothing." }, { "id": "F3", "source": "behaviorFlips.summary", "text": "#1183 (security, narrowing; 7.33.6 regression): every `GIT_CONFIG_PARAMETERS` entry is judged from depth 0 — a credential-carrying command line in the fourth or a later entry withholds the variable, as the first three did (`SecretEnvFinding.kind` = `family-rule`)." } ], "closedSetMembers": [ { "set": "InheritEnvPolicy", "at": [ "src/core/secret-env.ts:941" ], "newSet": true, "added": [ "all", "scrub" ], "removed": [], "breaking": false, "criteriaCovered": false } ], "closedSetsUnreadable": [], "typeKeys": [ { "type": "OracleGateSpec", "at": [ "src/core/spec-contract.ts:54" ], "added": [ "inheritEnv" ], "addedDetail": [ { "key": "inheritEnv", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true }, { "type": "RunSpecOptions", "at": [ "src/orchestration/run-spec.ts:56" ], "added": [ "onNotice" ], "addedDetail": [ { "key": "onNotice", "optional": true } ], "addedRequired": [], "removed": [], "breaking": false, "criteriaCovered": true } ], "typeKeysUnreadableArms": [], "typeKeysFlattenedCount": 217, "declarationMoves": [], "mintMoves": [], "criteriaObserves": [ { "kind": "engineNoticeCode", "name": "config.secret_env_scrubbed", "assertions": [ "G1.c" ] }, { "kind": "typeMember", "name": "ExecutionError.code", "assertions": [ "G2.a" ] }, { "kind": "typeMember", "name": "McpServerSpec.transport", "assertions": [ "G2.b", "G2.c" ] }, { "kind": "typeMember", "name": "OracleGateResult.reason", "assertions": [ "G1.b" ] }, { "kind": "typeMember", "name": "OracleGateResult.verdict", "assertions": [ "G1.a", "G1.b" ] }, { "kind": "typeMember", "name": "OracleGateSpec.inheritEnv", "assertions": [ "G1.a", "G2.c" ] }, { "kind": "typeMember", "name": "RunSpecOptions.onNotice", "assertions": [ "G1.c" ] }, { "kind": "typeMember", "name": "SecretEnvFinding.key", "assertions": [ "G3.a" ] }, { "kind": "typeMember", "name": "SecretEnvFinding.kind", "assertions": [ "G3.a", "G3.b" ] } ], "consumersHint": { "cli": [], "server": [], "sdk": [], "note": "scanned cli@4e593722 server@108404d4 sdk@8c379ef — 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 (OracleGateSpec, RunSpecOptions)" }, "breakingCount": 0, "breakingItems": [], "toResolvedAt": "128ed39a3b20bb0a28352a156cb229538261551e" }