Files
automaton/tasks/task-status-reason/IMPLEMENTATION.md
T

17 lines
1.2 KiB
Markdown
Raw Normal View History

# Implementation: Add Status Reason to Task Display
## Summary
Added `status_reason` property to `Task` model providing human-readable explanations for each task state, exposed it in API responses, displayed it prominently in the detail panel and on task cards. Fixed the pending review count to exclude terminal-state tasks. Replaced approve/request-changes buttons with revoke buttons when a review is already submitted.
## Changes
- `automaton/dashboard/core/task.py`: Added `status_reason` property on `Task` with explanations for all 10+ task states
- `automaton/dashboard/ui/app.py`: Added `status_reason` to `_serve_tasks()` and `_serve_task()` JSON responses; accepted `"pending"` as valid review status
- `automaton/dashboard/html/dashboard.js`: Displayed `status_reason` in detail panel and on task cards; fixed pending count to exclude done/blocked; added conditional button rendering for approved/changes_requested reviews
- `automaton/dashboard/html/styles.css`: Added `.detail-status-reason` and `.task-card-reason` styles
- `tests/test_task.py`: Added `TestStatusReason` class with 5 tests covering done, blocked, and in-progress states
## Test Results
156 passed
## Blockers
None