Description
Human-in-the-Loop Agent Approvals add a deliberate decision point to sensitive automated work. A grant can mark a permitted action as requiring approval; when the agent reaches the shared authorization gate with a replayable descriptor, Dots parks the action as a pending approval instead of executing it. Authorized reviewers see who requested what, decide approve or deny, and receive the final execution result in the same queue.
Approval is not a bypass around authorization. On approval, the service reconstructs the requesting actor with its original credential scopes and re-evaluates current authority before replaying the registered action. Expired requests are closed, denials are final, and replay failures remain visible rather than being reported as successful decisions. Notifications can direct reviewers to the focused queue, while the append-only access ledger records each stage.
Selling Points
- Lets teams automate routine work while reserving consequential operations for explicit human judgment.
- Re-checks authority at execution time, so revoked access cannot be resurrected by approving an old request.
- Preserves the requesting agent, deciding human, status, and result for accountable operations review.
- Distinguishes denied, expired, executed, and failed outcomes instead of collapsing them into a generic completed state.
- Centralizes approval parking at the authorization seam, avoiding inconsistent per-feature implementations.
User Story
An agent attempts a schema-changing action covered by a grant marked “require approval.” The action pauses and a workspace reviewer opens the Approvals tab, sees the agent and intended operation, and approves it. Dots verifies that the agent still has the necessary authority, executes the registered action, and shows the result. The reviewer walks away with both control and a durable decision trail.
Extension Surface
This capability is configurable. Administrators choose approval-required behavior on supported grants, while reviewers operate the queue in apps/web/src/modules/access/management/ApprovalsSurface.tsx. The replay mechanism is an in-repo injected registry defined in packages/access/src/contracts/access-like.ts; it is extensible to platform code but is not an external plugin interface, so the user-facing rating remains configuration-driven.
Capabilities & Limits
- Parks replayable agent actions and records the original actor and credential scope.
- Supports approve, deny, expiry, execution results, and visible replay failures.
- Re-evaluates authority immediately before approved execution.
- An action without a registered replay descriptor cannot be resumed through the queue.
- Approval requirements are additive controls; they do not create arbitrary conditional policy rules.
Implementation Map
packages/access/src/contracts/access-like.tspackages/access/src/service.tspackages/db/src/schema/access-approvals.tsapps/web/src/modules/access/management/ApprovalsSurface.tsx