UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

253 lines (252 loc) • 6.93 kB
{ "repo": "core", "version": "7.48.0", "from": "b29642cbf7daa459e48226114b2ac2132e855036", "to": "7161f2a278ed51f0154de745fd7f6a4f8d349039", "added": [], "removed": [], "changed": [], "narrowed": [ { "id": "F1", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING, open to veto (#1461): a word that a name's established value spells is read as that value at the program position and as an operand — a `Bash` allow no longer runs `P=rm; $P -rf <root>` without a card." }, { "id": "F2", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING, open to veto (#1461, completed): each field of a split unquoted value is a word of its own — named by its text, its `NAME=value` shape kept — for every reader, the removal guard included." }, { "id": "F7", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1459): every launcher field asks the one value table — `su -c` / `runuser -c` / `watch` / `bash -c` hand every established value of a name, as `sudo -s` already did." }, { "id": "F8", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1460): the combination bound counts distinct names and nothing is sampled past it — the words past the bound are handed on as written with their values as deny floors." }, { "id": "F9", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1446): a launcher option cluster is read as getopt reads it, its command-line letter included." }, { "id": "F10", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1452): `watch` declares its options (procps and BusyBox) and the words from its first operand on are the shell text; the exported `SHELL_WRAPPER_TABLE` `watch` row gains its option sets." }, { "id": "F11", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1463): a shell run as another user starts with that user's home — a login shell stands in it, `HOME` there is the target's." }, { "id": "F12", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING, open to veto (#1424): standard input flows into a group and into an inner shell; a process-substitution script and a stream-fed shell are scripts built when the command runs — also for a harmless text." }, { "id": "F13", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1466): the judge sees every name bash opens — a part of a pattern word carries the word's widened pattern, a malformed bracket unit is a member as bash reads it, a field forms its pattern once it has fully expanded." }, { "id": "F14", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1471): session rules with a bucket that is not a list of strings are refused — a bare `\"rm\"` was stored as `[\"r\",\"m\"]`." }, { "id": "F15", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1400): a protocol name with an empty tool segment (`mcp__srv__`) is judged `unmintable_segment`, not `current` — a rule that guarded nothing in silence is refused or announced." }, { "id": "F17", "source": "behaviorFlips.summary", "text": "BEHAVIOR NARROWING (#1442): a `readDenyPatterns` row that opens with `/` is rooted — it names that one absolute location (placed where its literal head leads through a link), not that tail at any depth." } ], "closedSetMembers": [], "closedSetsUnreadable": [], "typeKeys": [], "typeKeysUnreadableArms": [], "typeKeysFlattenedCount": 228, "signatures": [], "declarationMoves": [], "mintMoves": [], "criteriaObserves": [ { "kind": "taskEventField", "name": "tool_end.gate", "assertions": [ "G1.a", "G2.a", "G2.c", "G4.a", "G4.b", "G5.a", "G5.c", "G6.a", "G7.a", "G8.a", "G8.b" ] }, { "kind": "taskEventField", "name": "tool_end.isError", "assertions": [ "G12.a", "G12.b" ] }, { "kind": "taskEventField", "name": "tool_end.output", "assertions": [ "G12.a", "G12.b" ] }, { "kind": "typeMember", "name": "AskRequest.askClass", "assertions": [ "G1.a", "G1.b", "G1.c", "G1.d", "G2.a", "G3.a", "G3.b", "G3.c", "G3.d", "G4.a", "G4.c", "G5.a", "G5.b", "G5.c", "G5.d", "G6.a", "G6.b", "G6.c", "G7.a", "G7.b", "G8.c" ] }, { "kind": "typeMember", "name": "AskRequest.classes", "assertions": [ "G2.b" ] }, { "kind": "typeMember", "name": "AskRequest.message", "assertions": [ "G1.c", "G3.b", "G6.b", "G7.b" ] }, { "kind": "typeMember", "name": "GateOutcome.disposition", "assertions": [ "G1.b", "G2.b", "G2.c", "G3.a", "G3.c", "G3.d", "G4.b", "G4.c", "G5.b", "G5.d", "G6.c", "G8.a", "G8.b", "G8.c" ] }, { "kind": "typeMember", "name": "SessionPolicyError.code", "assertions": [ "G9.b", "G10.a" ] }, { "kind": "typeMember", "name": "SessionPolicyError.detail.verdict", "assertions": [ "G10.a" ] }, { "kind": "typeMember", "name": "SessionPolicyStore.getRules", "assertions": [ "G9.a" ] }, { "kind": "typeMember", "name": "SessionPolicyStore.putRules", "assertions": [ "G9.a", "G9.b" ] }, { "kind": "typeMember", "name": "TaskResult.terminal.code", "assertions": [ "G10.b" ] }, { "kind": "typeMember", "name": "TaskResult.terminal.message", "assertions": [ "G10.b" ] }, { "kind": "typeMember", "name": "WorkflowRun.error", "assertions": [ "G11.a", "G11.b" ] }, { "kind": "typeMember", "name": "WorkflowRun.result", "assertions": [ "G11.b" ] }, { "kind": "typeMember", "name": "WorkflowRun.status", "assertions": [ "G11.a" ] } ], "consumersHint": { "cli": [], "server": [], "sdk": [], "note": "scanned cli@bad8fa4b server@a49a0616 sdk@ae10bec — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it" }, "breakingCount": 0, "breakingItems": [] }