Files
poimen-workflows/tasks/board-T3.md
T
Test 75a01a9444 feat(T3.4): implement human-in-the-loop approval gates
- Add internal/approval package for workflow approval gates
- Implement ApprovalGate for gating workflow progression
- Implement ApprovalGateManager for managing multiple gates
- Gate status tracking: pending, approved, rejected, expired
- TTL-based gate expiration (auto-expire after timeout)
- Multiple approval tracking (configurable approval count)
- History tracking for all approval decisions
- Query by task, workflow, status
- Audit trail with decision reasons
- 16 approval tests, all passing
2026-08-23 17:45:44 -07:00

2.0 KiB
Raw Blame History

Task Board — Milestone T3: Feature Expansion

Submilestone: T3 (Custom plugins, workflow templates, audit, advanced features)

ID Scope Status Branch Verification
T3.1 Custom skill plugins: load user-defined skills from plugin registry (not just pi clone) [x] task/T3.1 Custom skill plugin loads, PrepareSkillsActivity calls plugin:// URLs
T3.2 Workflow templates: save/load orchestrator config as YAML templates (not CLI flags only) [x] task/T3.2 Load template templates/golang-project.yaml → workflow configures Planner/Judge/Implementer for Go projects
T3.3 Task dependency graph: specify task order (T0.2 must complete before T0.3 can start) [x] task/T3.3 Board supports depends_on: [T0.1] field, orchestrator respects ordering
T3.4 Human-in-the-loop gates: pause workflow, require approval before proceeding to next task [x] task/T3.4 Workflow waits for approve-task signal, Judge verdict is final (can't auto-retry after user approval)
T3.5 Custom Judge implementations: swap default Judge for domain-specific validator (e.g., security auditor) [ ] task/T3.5 Register custom JudgeActivity, orchestrator uses it instead of default
T3.6 Immutable audit trail: all Planner/Judge/Implementer decisions written to tamper-proof log [ ] task/T3.6 Audit log signed with per-workflow key, verification prevents tampering
T3.7 Workflow composition: nest OrchestratorWorkflows (one orchestrator dispatches child orchestrators) [ ] task/T3.7 Multi-level task hierarchy: T0 milestone → T0.a/T0.b sub-milestones, each with own orchestrator
T3.8 Integration with external task systems: import tasks from Linear, GitHub Issues, JIRA [ ] task/T3.8 Load board from GitHub Issues API, update issues with task completion status

Submission Criteria

All T3.1T3.8 marked [x] → submilestone complete → squash-merge task/T3.* to main.