-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Parent Epic
Summary
Add file-based approval gates for high-impact agent actions (PR creation, config changes, deployments).
Changes Required
terraphim_orchestrator
- New
approvals.rsmodule withApprovalRequest,ApprovalStatustypes - Approval requests written to
approvals/<uuid>.json - Schema:
{id, type, requested_by, status: "pending"|"approved"|"rejected", payload, decision_note, decided_at} - Orchestrator checks approval status on reconciliation tick
- Blocked actions wait for approval (with configurable timeout)
ADF CLI
adf approve <id>-- approve a pending requestadf reject <id> --reason "..."-- reject with reasonadf approvals-- list pending approval requestsadf approvals --all-- list all (including decided)
Governed Actions (initial set)
- PR creation by compound review (when
create_prs = true) - Agent config changes proposed by agents
- Future: deployment actions, branch force-push
Config
[governance]
enabled = true
approval_timeout_secs = 86400 # 24h, then auto-reject
approvals_dir = "/opt/ai-dark-factory/approvals"Reference
- Paperclip approvals:
packages/db/src/schema/approvals.ts - Paperclip approval service:
server/src/services/approvals.ts,server/src/services/issue-approvals.ts
Acceptance Criteria
- Approval requests created as JSON files
- CLI commands for approve/reject/list
- Governed actions blocked until approved
- Timeout auto-rejects stale requests
- Activity log events for request/decision (depends on Phase 4)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request