Archive completed tasks, add cleanup commands, self-documenting dashboard UI
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:
Lap Tran
2026-06-24 22:43:33 -04:00
parent e13513faaa
commit 4a2301b077
572 changed files with 856 additions and 101 deletions
+1
View File
@@ -0,0 +1 @@
complete
@@ -0,0 +1,3 @@
# Review
- **Status**: approved
- **Timestamp**: 2026-06-13T18:10:20.921085
+61
View File
@@ -0,0 +1,61 @@
# Contract: Dashboard Phase Grouping
## Goal
Group the 12 Kanban columns into 5 logical phase groups, with individual task states shown as sub-labels on cards. Also fix the header to show the project name instead of a scope indicator.
## Header Fix
The scope badge currently shows "🏗 Framework" or "📁 Project" — this should be replaced with the actual project name.
- Show the project name (from `README.md` first heading, or `.automaton/project-name.md` if it exists)
- If no project name is found, show the project directory name
- No need for scope indicators (Framework/Project mode is internal)
## Column Grouping
| Group | Columns | Rationale |
|-------|---------|----------|
| **Planning** | Backlog, Research, Decomposition | Early stage — defining the problem and scope |
| **Design** | Design, Test Design | Designing the solution |
| **Implementation** | Implement | Building the solution |
| **Verification** | Bug Find, Adversarial Bug Find, Doc Review, Referee | Quality assurance and validation |
| **Resolution** | Done, Blocked | Final states |
## Card Display
Each card shows its specific state as a small sub-label beneath the task name:
```
┌──────────────────────┐
│ Implement Task │
│ 🔄 implement │
└──────────────────────┘
┌──────────────────────┐
│ Bad Impl │
│ ❌ blocked │
└──────────────────────┘
┌──────────────────────┐
│ Research Task │
│ 🔄 research │
└──────────────────────┘
```
## Acceptance Criteria
- [ ] Board renders 5 grouped columns instead of 12 individual columns
- [ ] Cards in a column display a sub-label with their specific state (e.g., "research", "implement", "bug_find", "blocked")
- [ ] Empty columns are hidden (no empty groups shown)
- [ ] Column headers show the group name and total count
- [ ] Column headers show a colored indicator bar for each group:
- Planning: blue (#42a5f5)
- Design: cyan (#26c6da)
- Implementation: green (#66bb6a)
- Verification: amber (#ffa726)
- Resolution: green/red (#66bb6a / #ef5350)
- [ ] Grouped columns are sortable by total count (same as current board behavior)
- [ ] Clicking a card still opens the detail panel with the same information
- [ ] Filter bar still works with the grouped view (filter by specific state)
- [ ] Statistics view shows group-level breakdowns in addition to individual states
- [ ] Timeline view shows grouped phases (Planning, Design, Implementation, Verification, Resolution) instead of 12 individual states
- [ ] Header shows the project name (from README.md or directory name) instead of scope indicator
- [ ] Scope label no longer shows "🏗 Framework" or "📁 Project"
## Stop Condition
CONTRACT_MET
@@ -0,0 +1,53 @@
# VERDICT: Dashboard Phase Grouping
## Summary
The dashboard has been modified to group the 12 Kanban columns into 5 logical phase groups. The header now shows the project name instead of the scope indicator. Cards display sub-labels with their specific state.
## Changes Made
### 1. Phase Grouping (dashboard.js)
- Defined 5 phase groups: Planning, Design, Implementation, Verification, Resolution
- Board now renders grouped columns instead of 12 individual columns
- Empty groups are hidden (only groups with tasks are shown)
- Group column headers show the group name and count with colored indicators
### 2. Card Sub-labels (dashboard.js)
- Each card now displays a sub-label with the specific state (e.g., "🔬 Research", "🐛 Bug Find")
- State icons are defined in STATE_ICONS mapping
### 3. Header Change (dashboard.js + app.py)
- Added /api/project-name endpoint that reads from .automaton/project-name.md, README.md, or falls back to directory name
- Header now shows project name (📂 Automaton) instead of scope indicator (🏗 Framework / 📁 Project)
### 4. Stats View (dashboard.js)
- Stats view now shows both phase group breakdown and individual state breakdown
- Phase group bars are color-coded with group colors
### 5. Timeline View (dashboard.js)
- Timeline now shows 5 phase group indicators instead of 12 individual states
- Legend shows phase group colors
### 6. Detail Panel (dashboard.js)
- Detail panel now shows phase group badge next to status
### 7. CSS Updates (styles.css)
- Added column-header data-color styles for phase groups
- Added task-card-sublabel style
- Added detail-phase-badge style
## Acceptance Criteria
- ✅ Board renders 5 grouped columns instead of 12 individual columns
- ✅ Cards in a column display a sub-label with their specific state
- ✅ Empty columns are hidden (no empty groups shown)
- ✅ Column headers show the group name and total count
- ✅ Column headers show a colored indicator bar for each group
- ✅ Grouped columns are sortable by total count (same as current board behavior)
- ✅ Clicking a card still opens the detail panel with the same information
- ✅ Filter bar still works with the grouped view (filter by specific state)
- ✅ Statistics view shows group-level breakdowns in addition to individual states
- ✅ Timeline view shows grouped phases instead of 12 individual states
- ✅ Header shows the project name instead of scope indicator
- ✅ Scope label no longer shows "🏗 Framework" or "📁 Project"
## VERDICT: PASS