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:
@@ -0,0 +1,18 @@
|
||||
# Adversarial Bug Report: fix-cat3-audit-paths
|
||||
|
||||
## Summary
|
||||
Adversarial review of the Category 3 audit path fix. No additional bugs found.
|
||||
|
||||
## Bugs Found
|
||||
No bugs found.
|
||||
|
||||
## Analysis
|
||||
- **Race conditions**: `_audit_category3` reads git diff state at a point in time. No concurrent modification risk since it's a read-only audit.
|
||||
- **Path traversal**: The check uses `Path(changed_file).parts` which splits on path separators — no traversal bypass possible.
|
||||
- **Edge case — nested subtasks**: `.automaton/tasks/parent/subtasks/child/file` has `parts[2]` = `parent`, which is in `task_names` (subtasks are listed as `parent` in `_all_task_dirs`). Correctly excluded.
|
||||
- **Edge case — empty task_names**: If `tasks` is empty, `task_names` is empty, and no file matches — all files flagged as unauthorized. This is correct behavior (no tasks = no authorized edits).
|
||||
|
||||
## Score
|
||||
0
|
||||
|
||||
ADVERSARIAL_BUG_FIND_COMPLETE
|
||||
Reference in New Issue
Block a user