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
@@ -0,0 +1 @@
complete
@@ -0,0 +1,28 @@
# Implementation: Add pytest Test Suite
## Summary
Added a comprehensive pytest suite covering the dashboard core modules and the new VRAM detection script.
## Files Changed
- `tests/test_scope.py` (new)
- `tests/test_task.py` (new)
- `tests/test_board.py` (new)
- `tests/test_stats.py` (new)
- `tests/test_config.py` (new)
- `tests/test_app.py` (new)
- `tests/test_vram_detect.py` (new)
- `tests/test_prompt_paths.py` (created earlier in Task 5)
- `pyproject.toml` (new root config with optional dependencies)
- `automaton/dashboard/pyproject.toml` (deleted to avoid conflict)
- `.gitignore` (updated for pytest cache, egg-info, venvs)
## Bug Fixes Found During Testing
- `DashboardHandler._validate_task_name` was an instance method; converted to `@staticmethod`.
- `scripts/vram_detect.py` regex for override context window did not match `**Override context window**`.
- `scripts/vram_detect.py` `_parse_token_value` did not handle decimal values like `5.6k`.
## Verification
- `python -m pytest tests/` passes: **70 tests passed**.
## Notes
- The root `pyproject.toml` now defines `automaton` package discovery and optional dependency groups.
@@ -0,0 +1,4 @@
# Review
- **Status**: approved
- **Timestamp**: 2026-06-14T09:59:32.664776
- **Comment**:
@@ -0,0 +1,29 @@
# SPEC: Add pytest Test Suite
## Goal
Add automated tests for the dashboard and the new VRAM detection script.
## Requirements
1. Create `tests/test_scope.py` for scope detection.
2. Create `tests/test_task.py` for task state determination and sub-task parsing.
3. Create `tests/test_board.py` for Kanban board grouping and filtering.
4. Create `tests/test_stats.py` for statistics calculations.
5. Create `tests/test_config.py` for config validation and defaults.
6. Create `tests/test_app.py` for dashboard HTTP API endpoints and path-traversal guard.
7. Create `tests/test_vram_detect.py` for the VRAM detector using mocked system data.
8. Update `pyproject.toml` with optional dependencies:
- `test` extra: `pytest`
- `dashboard` extra: `inotify` (optional)
9. Update `.gitignore` for `.pytest_cache/`.
## Acceptance Criteria
- [ ] `python -m pytest` discovers and passes all tests.
- [ ] Tests exercise state determination, filtering, API responses, config validation, and VRAM detection.
- [ ] `pyproject.toml` includes the optional dependency groups.
## Non-Goals
- Achieving 100% coverage.
- Testing shell scripts (handled separately).
## Stop Condition
When all acceptance criteria are met, output "CONTRACT_MET".
@@ -0,0 +1,18 @@
# Verdict: Add pytest Test Suite
## Status: PASS
**Completion Date**: 2026-06-14
## Summary
A pytest suite has been added covering scope detection, task state determination, board logic, statistics, configuration, dashboard app validation, and VRAM detection. All tests pass.
## Findings
- 70 tests pass.
- Root packaging configured.
- Minor bugs in `_validate_task_name` and VRAM token parsing were discovered and fixed during test development.
## Remaining Issues
None.
## Score
+10 PASS