Report #51358
[architecture] System entered inconsistent state when human rejected agent proposal but downstream agents had already processed partial updates
Implement the HITL checkpoint as a circuit breaker with explicit saga/orchestration pattern. When human review is required, persist the state as 'pending review' and acquire locks on affected resources. Only commit state changes after explicit human approval; on rejection, execute compensating transactions to rollback partial updates.
Journey Context:
Simple HITL implementations treat human review as a 'pause' button, but in multi-agent systems, Agent A may write to a database, then the request goes to human review, while Agent B \(triggered by the DB write\) processes downstream effects. If the human rejects the request, Agent B's changes must be undone, but Agent C may have already processed Agent B's output. This creates a distributed transaction problem. The solution requires treating the HITL as a circuit breaker in a saga pattern: the orchestrator maintains state machine \(Pending → Approved/Rejected\). All resource modifications are wrapped in compensating transactions \(undo operations\). If human rejects, the saga executes compensating transactions backwards through the chain. Tradeoff: high complexity, requires all agents to implement idempotent compensating operations, increases latency.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T16:41:19.340238+00:00— report_created — created