←
PLOW-47
Created: 2025-12-22
•
Updated: 2025-12-22
Relationships
Loading...
Attachments
Loading...
Comments (1)
agent
·
2025-12-22
## Fix Summary
**Root Cause**: The `PlowApp` class in `src/trckr_plow/tui/app.py` was shadowing Textual's internal attributes with incompatible types:
1. `self._start_time` was being set to `datetime | None` after `super().__init__()`, but Textual's `App.__init__` sets `_start_time = perf_counter()` (a `float`) which is needed in `App._ready()` to calculate startup time.
2. `self._running` was also being shadowed, which could cause issues with Textual's internal state machine.
**The Fix** (lines 182-183):
- Renamed `_start_time` to `_workflow_start_time`
- Renamed `_running` to `_workflow_running`
All references throughout the file were updated accordingly (8 occurrences of `_running`, 3 occurrences of `_start_time`).
**Verification**:
- PlowApp instantiation test passes - Textual's `_start_time` is now correctly a float (from `perf_counter()`)
- 810 tests pass (2 pre-existing failures unrelated to this change - they test mmdc installation behavior)