UNPKG

@sema-agent/core

Version:

Stateless, task-oriented AI agent core

153 lines (152 loc) • 4.73 kB
{ "repo": "core", "version": "7.27.0", "from": "e90527d7630a7098366f7843b8aae7346ea0a07c", "to": "v7.27.0", "added": [ { "name": "ApprovalSeatOutcome", "kind": "type", "tier": "advanced", "at": [ "src/core/tool-policy.ts:1318", "src/index.ts:1345" ], "criteriaCovered": true, "breaking": false } ], "removed": [], "changed": [], "narrowed": [ { "id": "F1", "source": "behaviorFlips.summary", "text": "NARROWING (#1019, P2, approval face — durable): the auto-mode classifier's denial-limit fallback, when PARKED durably and then settled by nobody (a policy refusal, or no approver), stops the leg with `classifier.denial_limit` exactly as the synchronous station does — the deny stands as the call's result, the stop ends the leg; a person's refusal on the same park does NOT stop (one table, `SETTLEMENT_NOBODY_JUDGED`, both stations)." }, { "id": "F3", "source": "behaviorFlips.summary", "text": "NARROWING (#1002 ①, C-R80, prompt face): the engine-minted approval-posture directive is EXCLUSIVE, bypass first — a run declaring both `autoModeRequested` and `approverPosture:\"bypass\"` receives the bypass segment alone (CC 2.1.259 `case\"auto_mode\"` arm order); single-seat runs are byte-unchanged. Cross-leg coexistence of two segments (a later leg adding the bypass seat after an auto-only leg already stated auto) is unchanged and recorded as KL-1002c." }, { "id": "F4", "source": "behaviorFlips.summary", "text": "NARROWING (#1013, P2, file stores): every JSONL read-back judges the record's SHAPE — a line that parses but is not an object (`123`, `\"str\"`, `null`, `[1]`) is disclosed once through the store's corrupt-read seat with a `CORRUPT_BODY_FORMS` word and skipped, never handed to a consumer; the eight roster faces of `storeReadBackShapeContract` are bound; every tolerant file store has one disclosure seat (one shared guard, sync throw and async rejection both contained); an artifact-ledger idempotency-replay record with a bad shape is refused at the ledger door; the permission-rule adoption marker is judged per arm." } ], "closedSetMembers": [], "closedSetsUnreadable": [], "typeKeys": [ { "type": "FileBackgroundAgentStoreOptions", "at": [ "src/stores/file/background-agent-store.ts:43" ], "added": [ "onCorruptRead" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "FileCheckpointStoreOptions", "at": [ "src/stores/file/checkpoint-store.ts:86" ], "added": [ "onCorruptRead" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "FileWorkflowRunStoreOptions", "at": [ "src/stores/file/workflow-run-store.ts:47" ], "added": [ "onCorruptRead" ], "removed": [], "breaking": false, "criteriaCovered": false }, { "type": "Prepared", "at": [ "src/core/runner/contracts.ts:231" ], "via": "Runner.SuspendReap.env", "added": [ "stopForDenialLimit" ], "removed": [], "breaking": false, "criteriaCovered": false } ], "typeKeysUnreadableArms": [], "typeKeysFlattenedCount": 212, "declarationMoves": [ { "name": "StopForDenialLimit", "kind": null, "onSurface": false, "from": [ "src/core/runner/denial-limit-arms.ts" ], "to": [ "src/core/runner/contracts.ts" ] } ], "mintMoves": [], "criteriaObserves": [ { "kind": "taskEventField", "name": "tool_end.gate", "assertions": [ "G1.a" ] }, { "kind": "typeMember", "name": "ApprovalSeatOutcome.settledBy", "assertions": [ "G2.a" ] }, { "kind": "typeMember", "name": "FileMailboxStoreOptions.onCorruptRead", "assertions": [ "G4.a" ] }, { "kind": "typeMember", "name": "TaskSpec.approverPosture", "assertions": [ "G3.a" ] } ], "consumersHint": { "cli": [ "Prepared" ], "server": [ "FileBackgroundAgentStoreOptions", "FileCheckpointStoreOptions", "FileWorkflowRunStoreOptions" ], "sdk": [], "note": "scanned cli@17a6b331 server@73a73469 sdk@bfb4fd0 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it" }, "breakingCount": 0, "breakingItems": [], "toResolvedAt": "bc100bca1f15c0658cc4d0f615bb31aca7027c0b" }