Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneeshammz

Relationships

#2493 model validate log output misaligns multi-entry Expression paths errors

Opened by hammz · 9/24/2026· Shipped 9/29/2026

What happens

In log mode, swamp model validate renders a failing Expression paths check with a misaligned list. The first entry is glued to the arrow and the rest are indented differently:

  x Expression paths
    ->   - {{host.name}}
    Expression uses {{...}} instead of ... at monitorName
    Add prefix ...
  - {{host.name}}
    Expression uses ...

formatExpressionPathErrors in src/domain/models/validation_service.ts pre-formats each entry with its own two-space indent and a dash, and joins them with newlines. formatValidationLines in src/presentation/renderers/model_validate.ts then prefixes the whole multi-line string with ->. So only the first line gets the arrow, and the continuation lines keep the domain layer's indent instead of the renderer's.

Expected

Every entry aligned under the check, with continuation lines indented consistently. Presentation formatting belongs in the renderer rather than baked into the domain error string.

Found during triage of #2424. Any model with two or more Expression paths errors shows it.

Also: print the shared fix once

Since #2424, every dropped-dollar and single-brace error in Expression paths carries the same two-part fix (declare the field foreignTemplate, or build the braces with CEL concatenation). A definition with several colliding values, such as Argo {{workflow.name}} in many places, repeats that text once per error. Print the shared fix once after the list of entries. Raised by the UX review of #2424.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 11 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

9/29/2026, 3:51:48 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
hammz assigned hammz9/29/2026, 2:37:58 PM

Sign in to post a ripple.