Hwaro::Logger::Receipt
A calm, aligned summary block: a heading, key/value rows, and one ember
outcome line, separated by blank lines instead of rules. Pure data →
string, so it renders identically and testably without a live terminal.
render_tty is emitted only when color is on; render_plain is the
escape-free fallback for pipes / CI.
Constructors
Instance methods
render_plain
Sourcerender_tty
Sourcerow(label : String, value : String, role : Role = Role::Plain, emphasis : String | Nil = nil, emphasis_role : Role = Role::Warn, detail : String | Nil = nil) : self
Append a key/value row. Skipped when empty so the summary never prints
noise like "0 drafts". emphasis is an optional differently-colored
suffix (e.g. a yellow "2 drafts skipped"). detail is an optional dim
trailing note (e.g. a phase timing) rendered on the TTY only — plain
output stays byte-identical for scripts that parse it.