@sema-agent/core
Version:
Stateless, task-oriented AI agent core
66 lines (65 loc) • 2.28 kB
JSON
{
"repo": "core",
"version": "7.17.2",
"from": "1cb20e749ccc4e1e379f991f622424ea20aa4718",
"to": "v7.17.2",
"added": [],
"removed": [],
"changed": [],
"narrowed": [
{
"id": "F1",
"source": "behaviorFlips.summary",
"text": "Narrowing of the write gate's asks — the directories the prompt advertises as writable feed the write gate's exemption through the request (#749; cli B-102; server S-261): a run whose prompt advertises a memory write home (and a scratchpad) stamps those CANONICAL roots on every policy adjudication as `ToolCallRequest.advertisedWritableRoots`, and `createFsWriteGatePolicy` allows a covered write whose canonical target lies inside one of them — no ask, no second exemption list on the deployment."
},
{
"id": "F2",
"source": "behaviorFlips.summary",
"text": "Narrowing corrected — a refused shell command is exempt from the read-boundary mandate only when every part of it is a shape the scan fully understands (#751; test [7111] codex track): a here-document or here-string is a reader's stdin, not a file, so `cat <<'EOF' > out.txt` and `wc -l <<< \"x\"` no longer raise a mandated ask under the default doctrine; everything the scan does not understand mandates."
}
],
"closedSetMembers": [],
"typeKeys": [
{
"type": "ToolCallRequest",
"at": [
"src/core/tool-policy.ts:33"
],
"added": [
"advertisedWritableRoots"
],
"removed": [],
"breaking": false,
"criteriaCovered": true
}
],
"declarationMoves": [],
"mintMoves": [],
"criteriaObserves": [
{
"kind": "typeMember",
"name": "AskRequest.ruleOffersAbsence",
"assertions": [
"G2.a"
]
},
{
"kind": "typeMember",
"name": "ToolCallRequest.advertisedWritableRoots",
"assertions": [
"G1.a"
]
}
],
"consumersHint": {
"cli": [],
"server": [
"ToolCallRequest"
],
"sdk": [],
"note": "scanned cli@25ce6655 server@b132e73b sdk@f6ae86f — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
},
"breakingCount": 0,
"breakingItems": [],
"toResolvedAt": "d6ef7ed0985d53ad982b51998a5bd05ae807e719"
}