@sema-agent/core
Version:
Stateless, task-oriented AI agent core
166 lines (165 loc) • 4.47 kB
JSON
{
"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"
}