The Output class currently supports status messages, success/warning/error output, and logging, but lacks progress bar support for long-running operations like device connections and test execution.
Requirements
- Add
Output.progress(description: str, total: int) -> ProgressContext method
- Return a context manager that wraps Rich's progress bar functionality
- Support incrementing progress (
advance()) and updating description
- Degrade gracefully when stdout is not a TTY (plain text updates)
Use cases
- "Connecting to devices [████████────] 8/10"
- "Running tests [██████████████──] 45/50"
- Phase execution progress within the runner
References
docs/08-output-logging-design.md — "Output Class Interface" and "Console Output" sections.
The
Outputclass currently supports status messages, success/warning/error output, and logging, but lacks progress bar support for long-running operations like device connections and test execution.Requirements
Output.progress(description: str, total: int) -> ProgressContextmethodadvance()) and updating descriptionUse cases
References
docs/08-output-logging-design.md— "Output Class Interface" and "Console Output" sections.