# 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