Files
automaton/tasks/complete/fix-dashboard-read-state/IMPLEMENTATION.md
T
Lap Tran 4a2301b077
CI / build (push) Has been cancelled
Archive completed tasks, add cleanup commands, self-documenting dashboard UI
- 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
2026-06-24 22:43:33 -04:00

1.1 KiB

Implementation: fix-dashboard-read-state

Bug

Dashboard's determine_task_state() in task.py inferred task phase from artifact filenames only, ignoring the .state file. This caused the dashboard to show incorrect states when the .state file (source of truth) disagreed with the artifact heuristic.

Fix

  1. Added _state_string_to_task_state() helper function that maps state machine phase strings (e.g. "implement", "code_review:awaiting_approval") to TaskState enum values. Handles sub-states by splitting on ":" and using the base phase.
  2. Modified determine_task_state() to read the .state file first. If .state exists and maps to a valid TaskState, that takes precedence. The artifact heuristic is now a fallback for tasks without .state files.

Files Changed

  • automaton/dashboard/core/task.py: Added _state_string_to_task_state() function, modified determine_task_state() to read .state before falling back to artifact heuristic

Tests

  • Existing tests in test_task.py continue to pass (they test the artifact fallback path since test tasks don't have .state files by default)
  • All 249 tests pass