CI / build (push) Has been cancelled
- Archive 79 completed framework-dev tasks from tasks/ -> tasks/complete/ - status.py: add --cleanup-done and --install-cleanup-schedule commands - Add scripts/automaton-cleanup.sh for periodic task archiving - Dashboard: rename 'Background' tab -> 'Agent', 'Cleanup' agent -> 'Completed Task Archiver', remove redundant group headers and pill badges, dim inactive agent placeholders - .rules.md: add Self-Documenting UI Names rule - New tests: test_cleanup_done.py, expanded test_app.py and test_task.py
22 lines
991 B
Markdown
22 lines
991 B
Markdown
# 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
|