Skip to main content

Policy Approvals & Risk Confirmation

M31A enforces strict human-in-the-loop governance for mutating or sensitive operations.

The 4 Policy Decisions​

Every tool execution request evaluated by src/policy/ yields one of four outcomes:

DecisionMeaningRuntime Behavior
AllowAction complies with policyExecution proceeds immediately
DenyAction violates security ruleExecution halted with typed error; agent must replan
AskAction requires operator approvalCockpit pauses; interactive confirmation dialog displayed
EscalateAction exceeds standard risk thresholdEscalated to elevated channel or denied in unattended mode

Autonomy Modes & Policy Mapping​

The active AutonomyMode controls how Ask decisions are resolved (src/kernel/seams/policy.rs):

  • Safe: All workspace mutations, process executions, and git operations prompt for approval (Ask → PauseForApproval).
  • Plan: Mutating actions are strictly prohibited (Ask → Deny). Read-only exploration and DAG planning only.
  • Assisted: Routine edits within the workspace are allowed; destructive actions (file deletion, git reset) prompt for approval.
  • Autonomous: Permitted workspace actions proceed automatically; out-of-bounds or sensitive operations escalate.
  • Unattended: Headless CI mode. Any unresolved Ask is automatically Denied (Ask → Deny), guaranteeing that unattended runs never hang or perform unapproved actions.