Approval tools
Approve, reject, or revert queued changes — operator-only, exposed only over MCP.
Approval tools decide the fate of review-tier proposals. They are operator-only: they exist
only in the MCP bridge, where a human drives, and are never available to the in-app copilot — which
cannot approve its own proposals.
| Tool | Purpose |
|---|---|
asa_approve_action | Apply a queued proposal. The apply worker re-checks the policy, re-validates, and hard-caps budget changes at 3× before mutating Apple. |
asa_reject_action | Drop a proposal. Recorded in history with who and when. |
asa_revert_action | Revert an applied change, using the prior* state snapshotted at apply time. |
Working the queue
List
asa_list_pending_actions returns each proposal with its risk tier and policyReasons.
Decide
Approve, reject, or (for an applied change) revert. With an org token, the action's account is
checked against any allowed_project_ids limit on the token.
Over MCP these carry operator semantics — the human is confirming each decision. In the app, the same decisions happen on the Approvals page.
Stopping everything
To halt all auto-apply at once, the org kill switch (asaAutoApply) is checked at both propose and
apply time. With it off, every write queues here regardless of tier. See the safe-apply
policy.