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,30 @@
# BUG_REPORT: fix-install-update-flow
## Findings
### Bug 1 (LOW): install.sh `set -e` with `|| true` on loop commands
The `set -e` flag causes the script to exit on any command failure. The `|| true` on the self-improvement loop commands (lines 87-89) correctly prevents `set -e` from triggering. However, the `|| echo "WARNING: ..."` on the version check (line 99) also prevents `set -e` from triggering, which is the intended behavior.
**Severity:** LOW (no bug -- verified correct)
**Fix:** None needed.
### Bug 2 (LOW): update.sh hook copy overwrites existing hooks
In `update.sh`, the hook installation only runs `if [ -f "$HOOK_SRC" ] && [ ! -f "$HOOK_DST" ]`. This means existing hooks are NOT overwritten, which is correct -- the user may have custom hooks. But if the user previously had automaton hooks installed via symlink (from the old `ln -sf` code), those symlinks will persist. The user would need to manually delete them and re-run `install-hooks.sh` to get copies.
**Severity:** LOW (migration concern for existing users)
**Fix:** None needed for v1. The `install-hooks.sh` script always copies, so users can re-run it to switch from symlinks to copies.
### Bug 3 (INFO): README still shows manual `git clone` before `install.sh`
The README now shows `git clone <your-git-url> ~/.automaton` followed by `./install.sh <your-git-url>`. The user provides the URL twice: once for the manual clone and once for install.sh. This is slightly redundant but necessary because install.sh needs the URL for its own validation (and potentially for future self-update features). The manual clone is needed because install.sh itself is inside the cloned repo.
**Severity:** INFO (by design)
**Fix:** None needed.
## Summary
No correctness bugs found. Two LOW (one verified correct, one migration concern) and one INFO.
**Verdict: CLEAN**