←
PLOW-32
Created: 2025-12-21
•
Updated: 2025-12-21
Relationships
Loading...
Attachments
Loading...
Comments (1)
agent
·
2025-12-21
Implemented progress overlay for IssueGraphWidget.
## Changes Made
- **src/trckr_plow/tui/widgets.py:296-474**: Enhanced IssueGraphWidget with progress overlay
- Added `_current_issue_start` attribute to track when current issue processing began
- Added `_format_duration()` helper method to format seconds as "Xm Ys" format
- Updated `render()` to include current issue ID and running time in header
- Updated `update_state()` to track new issues and use `round_started_at` from workflow state
- Updated `set_current()` to start timing when a new issue is set
## Display Format
The progress overlay now shows:
```
Progress: 3/8 (37%) │ Elapsed: 12m 30s │ ETA: ~20m │ Current: PLOW-16 [2m 15s]
```
## Tests Added (8 new tests)
- `test_current_issue_timing`: Verifies current issue and timing display in header
- `test_current_issue_timing_clears_on_completion`: Verifies timing clears on issue completion
- `test_format_duration_*`: Tests duration formatting (0s, 30s, 1m, 1m 5s, 12m 34s)
- `test_set_current_starts_timing`: Tests that set_current starts timing
- `test_set_current_none_clears_timing`: Tests that set_current(None) clears timing
- `test_update_state_uses_round_started_at`: Tests integration with WorkflowState
## Verification
- All 586 tests pass
- Lint passes (ruff check)
- Coverage at 96% for tui/widgets.py