Archive completed tasks, add cleanup commands, self-documenting dashboard UI
CI / build (push) Has been cancelled
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
This commit is contained in:
@@ -1 +0,0 @@
|
||||
complete
|
||||
@@ -1 +0,0 @@
|
||||
# ADVERSARIAL_BUG_REPORT\n\nNo adversarial issues found.
|
||||
@@ -1 +0,0 @@
|
||||
# BUG_REPORT\n\nNo bugs found.
|
||||
@@ -1 +0,0 @@
|
||||
# DOC_REVIEW\n\nChanges are minimal and well-understood.
|
||||
@@ -1,19 +0,0 @@
|
||||
# IMPLEMENTATION.md — Autopilot Runtime
|
||||
|
||||
## Changes Made
|
||||
- Created `scripts/autopilot.py` — a real Python implementation replacing the pseudocode `drive_all()` loop
|
||||
- Added stuck-task detection to `status.py --audit` as Category 5
|
||||
|
||||
## autopilot.py Commands
|
||||
- `--summary`: Shows project task overview (total, terminal, blocked, unblocked, stuck)
|
||||
- `--drive`: Drives one step — finds the most advanced unblocked task and outputs next instructions
|
||||
- `--loop`: Runs continuous drive loop with configurable iterations and delay
|
||||
- `--stuck`: Detects tasks stuck in non-terminal phases >N minutes (default: 60)
|
||||
|
||||
## How It Works
|
||||
- `scan_all_tasks()` reads .state files from all task directories
|
||||
- `is_terminal()` checks for complete/human_intervention phases
|
||||
- `needs_user_input()` detects approval gates and VERDICT.md with FAIL/NEEDS_REVIEW
|
||||
- `sort_by_advancement()` prioritizes tasks closest to completion
|
||||
- `detect_stuck_tasks()` finds tasks unchanged >60 minutes in non-terminal phases
|
||||
- Empty queue outputs actionable instructions to create new tasks
|
||||
@@ -1,4 +0,0 @@
|
||||
# Review
|
||||
- **Status**: approved
|
||||
- **Timestamp**: 2026-06-15T17:33:38.845615
|
||||
- **Comment**:
|
||||
@@ -1,21 +0,0 @@
|
||||
# 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
|
||||
@@ -1,3 +0,0 @@
|
||||
VERDICT: PASS
|
||||
|
||||
All fixes verified. 206 tests pass.
|
||||
Reference in New Issue
Block a user