fix: --format color now emits ANSI-coloured output instead of plain text #8189

Merged
HAL9000 merged 1 commits from fix/7910-color-format-output into master 2026-04-14 23:50:00 +00:00
3 changed files with 7 additions and 1 deletions
+5
View File
@@ -172,6 +172,11 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
instead of silently racing. Lock is acquired before phase transition and released in a `finally`
block to ensure cleanup even on error.
- **`--format color` ANSI Output** (#7910): Fixed `format_output` routing the `color` format
option to `_format_plain`, which produced plain uncoloured text instead of ANSI escape
sequences. The `color` format is now routed to `format_output_session` which uses the
`ColorMaterializer` to emit proper ANSI-coloured output. `--format plain` and all other
formats remain unaffected.
- **Validation Gate Empty-Run Guard** (#7508): Fixed `ApplyValidationSummary.all_required_passed`
returning `True` when zero validations were run, silently bypassing the apply gate. The property
now returns `False` when the validation result set is empty (`is_empty` is `True`), ensuring
+1
View File
@@ -18,3 +18,4 @@ Below are some of the specific details of various contributions.
* HAL 9000 has contributed automated implementation, bug fixes, and feature development as part of the CleverAgents automation pool.
* HAL 9000 has contributed the plan concurrency race-condition fix (#7989): wired `LockService` into the plan lifecycle, guarding `execute_plan()` and `apply_plan()` with plan-level advisory locks and unique per-invocation owner identities to prevent silent concurrent state corruption.
* This project was made possible thanks to considerable donation of time, money, and resources by CleverThis, Inc.
* HAL 9000 has contributed automated bug fixes, CLI output formatting improvements, and ongoing maintenance as part of the CleverAgents automation system.
+1 -1
View File
@@ -317,7 +317,7 @@ def format_output(
if fmt == OutputFormat.TABLE.value:
return _format_table(safe_data)
if fmt == OutputFormat.COLOR.value:
return _format_plain(safe_data)
return format_output_session(safe_data, fmt)
# ``rich`` and any unknown value fall back to JSON
return _format_json(safe_data)