What a trip stops
A tripped switch refuses these with503 and the error code KILL_SWITCH_ACTIVE:
- new execution requests (
POST /execute) - new transactions (
/transactions) - policy change approvals (
POST /policies/pending-changes/{id}/approve) - sandbox approvals (
POST /sandbox/approvals)
Routes
A key without the capability is refused with
403 CAPABILITY_NOT_ALLOWED. A request with no key gets 401.
The endpoint pages in the API reference show the full request and response for each route.
Two-person reset
In production, reset takes two different operators. Each uses their own named key:- The first operator calls
POST /kill-switch/resetwith a reason. The answer is202andoutcome: "pending". - A second operator, with their own key, calls the same route with a reason. The answer is
200andoutcome: "reset", and new requests are accepted again.
409 SAME_OPERATOR_CANNOT_CONFIRM_RESET). A new trip cancels
a pending reset.
Checking the switch
GET /kill-switch/status returns the current state with the nonce you send echoed back, so an old response cannot
pass as a current one. The response is not signed yet, so a verifier cannot yet confirm it came from the server.
"active": false means the switch is not tripped.
What it does not stop
- Actions already released. A call admitted before the trip can still complete. The switch does not recall it.
- Tools reached directly. A tool or system that an agent reaches without going through Parmana is not stopped.
- One agent alone. The switch stops every caller at once. It cannot halt a single agent.
- Unsigned status. The status response and the audit events are not signed yet. A signed proof of the switch state is not available until a signing key tied to the build exists.
Checking it from outside
A probe sends a request to/execute while the switch is in some state and reports what came back. Parmana records
whether the refusal matched the switch state, and every probe result is kept. The probe runs every 15 minutes from
a scheduled GitHub Actions workflow, outside Parmana.
Open items
- Signing of status and audit events, which waits on a build-bound signing key.
- A third-party check on a non-production deployment.
- An exercise of two-person reset with two real operator keys.
docs/runbooks/KILL-SWITCH-OPERATIONS.md.