Files
automaton/tasks/complete/implement-autopilot-runtime/SPEC.md
T

22 lines
991 B
Markdown
Raw Normal View History

# Implement Autopilot Runtime
## Problem
- `drive_all()` only exists as pseudocode in orchestrate.md. No Python implementation.
- No idle loop when all tasks complete.
- No stuck-task detection (crash recovery, phase-stuck detection).
## Fix
Create `scripts/autopilot.py` with:
1. `scan_all_tasks()` — reads all .state files in tasks/
2. `is_terminal()` — checks if phase is complete or human_intervention
3. `needs_user_input()` — checks if phase ends with :awaiting_approval or task has VERDICT.md with FAIL/NEEDS_REVIEW
4. `drive_task()` — loads and executes the prompt for the current phase
5. `drive_all()` — main loop that processes unblocked non-terminal tasks
6. Idle behavior: when all tasks terminal, prompt user to create new tasks
7. Stuck detection: tasks in same non-terminal phase > 60 min are flagged
## Verification
- `python scripts/autopilot.py --project /path/to/project` runs the autopilot
- Handles empty queue gracefully
- Detects and reports stuck tasks