// Generated from the feature catalog
Human-in-the-Loop Approval Queue
Safe Surgery on System Files · Shipped · workstation, home
Mandatory user authorization gate for state-mutating actions with a dedicated dashboard page.
Every destructive or state-mutating action the agent proposes — config writes, service restarts, package installations — must pass through the approval queue. The dashboard’s Approvals page displays pending requests with exact proposed commands and affected paths.
The ApprovalEngine receives tool call requests, creates ApprovalRequest records (PENDING), and routes them to the dashboard. The Approvals page polls for pending requests and lets the user approve or reject with a reason. Approved actions execute through the standard tool pipeline; rejected actions are recorded with the rejection reason.
Limits and invariants
Section titled “Limits and invariants”AI Rules filter conflicting approvals. The approval engine never auto-approves — user interaction is always required for state-mutating operations.
Where this lives
Section titled “Where this lives”halbert_core/halbert_core/approval/engine.pyhalbert_core/halbert_core/dashboard/routes/approvals.pyhalbert_core/halbert_core/dashboard/frontend/src/pages/Approvals.tsx