v3/@claude-flow/guidance/docs/adrs/ADR-G021-human-authority-and-irreversibility.md
Status: Accepted Date: 2026-02-01 Author: Guidance Control Plane Team
The existing gate system (G004) decides allow/deny/warn but does not model who has authority to make that decision. An agent can deny itself access to a tool, but cannot express "this requires human approval" or "this needs institutional sign-off." Similarly, the system treats rm -rf and echo hello as equally reversible — there is no formal classification of which actions have permanent consequences that warrant elevated safeguards.
Introduce AuthorityGate and IrreversibilityClassifier:
Authority Hierarchy:
| Level | Examples | Override Scope |
|---|---|---|
agent | Autonomous decisions | Own tools and memory |
human | Operator approval | Agent decisions, tool restrictions |
institutional | Organization policy | Human and agent decisions |
regulatory | External compliance | All lower levels |
Each level strictly dominates all levels below it. An agent cannot override a human decision; a human cannot override a regulatory constraint.
Authority Gate:
registerScope(scope): define what each authority level is permitted and what it can overridecheckAuthority(scope, requestingLevel): returns { allowed, escalationRequired, requiredLevel }recordIntervention(intervention): HMAC-SHA256 signed human override record for audit trailverifyIntervention(id): verify that an intervention record has not been tampered withIrreversibility Classification:
| Class | Proof Level | Examples |
|---|---|---|
reversible | standard | File edit, config change, log write |
costly-reversible | elevated | Database migration, large refactor |
irreversible | maximum | Email send, payment, data deletion, publishing |
classify(action): returns class, required proof level, and simulation recommendationrequiresSimulation(action): true for costly-reversible and irreversible actions/\b(send\s+email|publish|deploy\s+to\s+production|delete\s+(database|user|account)|payment|transfer\s+funds|broadcast)\b/i/\b(migrate|schema\s+change|major\s+refactor|rollback|restore\s+from\s+backup)\b/iIntegration with ProofChain (G005):