Output panel: [error] tag color identical to [system] — treat error as a special case (gap in ADR-0037) #10

Closed
opened 2026-05-28 14:44:48 +01:00 by oliversturm · 1 comment
oliversturm commented 2026-05-28 14:44:48 +01:00 (Migrated from github.com)

Observed

In the output panel, the [system] and [error] tag labels render in the same color in both modes:

  • Simple mode: both tags blue
  • Advanced mode: both tags orange

Only the body text differs (errors render their body in red).

Why

Per ADR-0037 the tag color encodes the input mode at submission time (src/ui.rs:636, tag_style switching between theme.mode_simple and theme.mode_advanced). The body text is semantically coloured (theme.system green, theme.error red).

Why this is worth changing

Errors are exactly the line the user needs to spot fastest. Folding the [error] tag into the mode-colour stream actively works against that — the tag (the leading, leftmost glyph in the line) is identical to a routine [system] message. The mode information has limited value on an error line; quick visual identification of "this is an error" has high value.

This is a gap in ADR-0037: error should be a special case — at minimum the tag should not blend with [system]. Options:

  • [error] tag always renders in the error color (red), overriding mode color.
  • [error] tag renders in an attention color (yellow/red) distinct from both mode colors and body error red.
  • Keep mode color but add a glyph / different glyph style.

Needs an ADR-0037 amendment.

### Observed In the output panel, the `[system]` and `[error]` tag labels render in the same color in both modes: - Simple mode: both tags blue - Advanced mode: both tags orange Only the body text differs (errors render their body in red). ### Why Per ADR-0037 the tag color encodes the input mode at submission time (`src/ui.rs:636`, `tag_style` switching between `theme.mode_simple` and `theme.mode_advanced`). The body text is semantically coloured (`theme.system` green, `theme.error` red). ### Why this is worth changing Errors are exactly the line the user needs to spot fastest. Folding the `[error]` tag into the mode-colour stream actively works against that — the tag (the leading, leftmost glyph in the line) is identical to a routine `[system]` message. The mode information has limited value on an error line; quick visual identification of "this is an error" has high value. This is a gap in ADR-0037: `error` should be a special case — at minimum the tag should not blend with `[system]`. Options: - `[error]` tag always renders in the error color (red), overriding mode color. - `[error]` tag renders in an attention color (yellow/red) distinct from both mode colors and body error red. - Keep mode color but add a glyph / different glyph style. Needs an ADR-0037 amendment.
oliversturm commented 2026-06-02 15:40:33 +01:00 (Migrated from github.com)

Resolved by ADR-0037 Amendment 1 (commit ae57c6f): output tags are now colour-coded by message status (OutputKind) — [system] green, [error] red, echo keeps the mode tint — so [error] and [system] are no longer identical. Error bodies go neutral+bold (rustc-style). See docs/handoff/20260602-handoff-54.md §3.

Resolved by ADR-0037 Amendment 1 (commit ae57c6f): output tags are now colour-coded by message status (OutputKind) — `[system]` green, `[error]` red, echo keeps the mode tint — so `[error]` and `[system]` are no longer identical. Error bodies go neutral+bold (rustc-style). See docs/handoff/20260602-handoff-54.md §3.
Sign in to join this conversation.