Autonomy With a Stop Button
Autonomous agents are useful right up to the moment they do something irreversible. EDDI 6.2.0 introduces human-in-the-loop governance: explicit approval gates at three levels of granularity, backed by timeout policies, loop detection, and state that survives a restart. Approvals are configuration, not custom application code.
Why Approval Gates Belong in the Platform
Most teams bolt approvals onto the application layer: a queue here, a webhook there, a database flag somewhere else. That approach breaks the moment a process restarts, an approver goes offline, or an agent retries the same request in a loop. EDDI puts the gate inside the conversation pipeline itself. A paused turn stays paused, competing input is rejected with a clear 409 Conflict, and every decision lands in the same audit trail as the rest of the agent lifecycle.
Three Levels of Approval
- Turn-Level Approval: A
PAUSE_CONVERSATIONaction halts the entire pipeline. Until a human resumes it, further user input returns409 Conflict, so nothing races ahead of the pending decision. - Per-Tool-Call Gating: Individual tool invocations can require human approval before they execute. Glob-pattern allow lists and exempt lists decide exactly what is gated, across built-in, HTTP, MCP, A2A, dynamic, and memory tools.
- Group Phase Approval: Multi-agent discussion phases can require human sign-off at
PHASEorTASKgranularity, so a group cannot move from planning to execution unsupervised.
Timeout Policies
Humans are not a highly available service. Every gate declares what happens when nobody responds in time:
WAIT_INDEFINITELY: The run stays paused until a human decides. Use it where an unattended action is never acceptable.AUTO_APPROVE: Proceed once the window expires. Suited to low-risk actions where oversight is a spot check rather than a hard gate.AUTO_REJECT: Deny the pending action and let the agent continue down its rejection path.ABORT: Terminate the run outright, the safest choice for irreversible or high-blast-radius operations.
Built to Survive Production
An approval system is judged on its worst day: a restart in the middle of a review, an agent that keeps asking the same question, an approver who lives in Slack rather than in your admin UI.
- No-Progress Guard: EDDI fingerprints every pause. When identical fingerprints reappear after automated decisions, it recognizes an infinite approval loop and breaks the cycle instead of burning tokens on it.
- Crash Recovery: Pending approvals survive server restarts, and timeout timers are re-armed automatically, so a rolling deployment never silently drops a decision that was in flight.
- Slack Approvals: Interactive Block Kit cards bring the decision to the approver, with redacted argument previews and approver whitelists so only authorized people can act on a card.
- MCP Approvals: External clients list pending approvals and approve or reject them through MCP tools, part of the 77 tool surface, turning your IDE or agent client into a control plane.
Governance and Compliance Fit
Human oversight is not only an operational preference, it is a regulatory requirement. Approval gates give EU AI Act Article 14 human oversight a concrete implementation: a named person authorizes a specific action, and the decision is recorded. Combined with EDDI's compliance framework and its HMAC-SHA256 audit trail, you can show an auditor not just what an agent did, but who allowed it and when.