Repository navigation
v5.37.0 — catastrophe floor: the line the calibrated controller cannot move
·
26 commits
to main
since this release
Versions the arc that shipped to main on 2026-09-08/09 (#233–#238) and has been serving in production at 5.36.0 ever since.
Why this release exists
On 2026-09-08 an adherence probe found that a synthetic "drop the production database cluster" scored 95 and was allowed — no policy matched it — while the calibrated threshold θ had ratcheted to 101.8, above the score ceiling, so the raise arm could never fire again. A threshold that learns from an approving operator will eventually learn to approve everything.
Added
catastrophe_floor— the 19th policy type. Fires on a destructive action type at or abovemin_risk(default 85) when the act is irreversible, independently of θ, and is ungrantable: an allow grant cannot clear it.- Action cancellation —
POST /api/actions/:actionId/cancel. Atomic on running/pending unclaimed actions, 409 once claimed or terminal, and the outcome stays pending: a cancelled action gets no fabricated result. miss_review—POST /api/calibration/misses. An operator labels one specific allowed action dangerous or benign; dangerous tightens θ and owns its agent, benign moves θ by nothing. The tightening counterpartwarn_review(loosening-only by invariant) never had.- Warn cooldown on
rate_limitpolicies — one warn per window per policy per agent. The runaway line had fired 34,760 warns in 30 days. - Muse governance integration — skill,
/guides/muse, llms.txt, docs. Cooperative, not mechanical, and the guide says so: Muse has no pre-tool-call hook, so the agent consults the guard and honors the verdict. - Catastrophe-floor regression probe — a scheduled live check that the floor still holds all five irreversible classes. It has held them every day since 09-09.
self_testguard field — attribution-only, never gates a decision, excluded from approval-flood counting so a daily drill cannot raise a daily false alarm.
Fixed
/api/calibration/proposals500'd deterministically: one malformed context row aborted the whole query through an in-SQL::jsoncast. Now gated withpg_input_is_valid.- The catastrophe floor's form fields were never rendered — the type was in the dropdown, the validation and the compile logic, with no form, so authoring one always failed with "Validation failed" and no cause. Fixed, plus a test asserting every policy type in the options list has a rendered builder section.
- Agent-scope picker rebuilt: searchable, namespace-grouped, collapsible, with per-group counts and bulk select.
npm run version:setnow stamps the platform guide'ssdk-node/sdk-pythonarea versions. Every prior bump leftguide:drift:checkred on those two fields.
Release notes
Platform only. No Node/Python SDK source changed, so the SDKs are intentionally not republished and npm/PyPI stay at their last SDK release. Plugin bundle unchanged at 3.3.0.
Full log entries: docs/maintainer-log.md