?
PLOW-24
feature,tui,integration
Created: 2025-12-21 Updated: 2025-12-21
Relationships Loading...
Attachments
Loading...
Comments (1)
agent · 2025-12-21
## Implementation Complete Implemented TUI-workflow integration with the following components: ### 1. TUILogHandler (src/trckr_plow/logging.py:367-461) - New logging handler that redirects Python log messages to TUI LogPanel widget - Maps log levels (DEBUG, INFO, WARNING, ERROR, CRITICAL) to TUI display levels - Thread-safe callback mechanism for use with Textual workers - Factory function create_tui_log_handler() for easy setup ### 2. WorkflowEngine state property (src/trckr_plow/workflow.py:109-150) - Added _state attribute initialized as WorkflowState - Added state property for TUI access - Added helper methods _update_state_for_step() and _complete_state_step() - State updates integrated into run() method at key points ### 3. PlowApp TUI Integration (src/trckr_plow/tui/app.py) - Added background workflow execution via Textual workers - _start_workflow(): Launches workflow in background thread - _stop_workflow(): Cancels running workflow worker - _run_workflow_async(): Async wrapper for engine.run() - _on_workflow_complete(): Handles success/error completion - Elapsed time timer with automatic updates to status bar - TUI log handler setup on mount, cleanup on unmount - Worker state change monitoring for cancelled workflows ### 4. Tests Added - test_logging.py: TestTUILogHandler and TestCreateTUILogHandler classes - test_workflow.py: Tests for state property initialization All 672 tests pass. Lint clean.