UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

68 lines (67 loc) • 2.74 kB
{ "repo": "core", "version": "7.17.5", "from": "dd51253ac702ab232224dac50de33eb0dd09e40f", "to": "3dfd4ff66bfd1c6ea217fa251d2f28df79052f87", "added": [], "removed": [], "changed": [], "narrowed": [ { "id": "F1", "source": "behaviorFlips.summary", "text": "Narrowing — argv re-entry (#766; test [7178] ①; B-107): a program that turns its STDIN into another program's argv (`xargs`, `parallel`) is judged like a shell re-entry — refused whole, so the boundary asks (mandated) instead of vouching; when the wrapped program is a declared no-path verb the pipeline runs unasked." }, { "id": "F2", "source": "behaviorFlips.summary", "text": "Narrowing — a base move the walk cannot verify (#767; test [7178] ②; B-107): after `cd X` the relative operands of a later segment are judged against BOTH bases (moved and unmoved) unless every connector between that `cd` and the segment is `&&` (the shell itself verifies the move); `;`, `||`, `|`, `&` and unknown connectors leave the move unverified (fail-closed)." }, { "id": "F3", "source": "behaviorFlips.summary", "text": "Narrowing + contract (#768 β/γ; clay C-R37; test [7178] ③): the full Bash face runs the canonical recheck the `bash_readonly` face already had — after the gate allowed and before spawn, every path the lexical verdict accepted (`checkedPaths` + glob patterns) is canonicalized against the READ roots; one that escapes is REFUSED (an error result, `details.type: \"readonly_out_of_root\"`, never an ask — the gate has passed and there is no channel to ask on). The seat's contract is stated as `@contract shell.read_boundary.friction_floor`: the shell read boundary judges what a command TEXT may name (a friction floor); the security boundary is the executionEnv sandbox." } ], "closedSetMembers": [ { "set": "ShellSegmentConnector", "at": [ "src/tools/fs/bash-readonly-classifier.ts:344" ], "newSet": true, "added": [ "&&", ";", "start", "|", "||" ], "removed": [], "breaking": false, "criteriaCovered": false } ], "typeKeys": [], "declarationMoves": [], "mintMoves": [], "criteriaObserves": [ { "kind": "typeMember", "name": "AskRequest.ruleOffersAbsence", "assertions": [ "G1.a", "G2.a", "G3.a" ] } ], "consumersHint": { "cli": [], "server": [], "sdk": [], "note": "scanned cli@0a45f646 server@82cf402c sdk@6910789 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it" }, "breakingCount": 0, "breakingItems": [] }