Expand description
The indicatif progress bar (ADR-051 D9).
Progress rendering exists ONLY here: degenbot-cli-core is indicatif-free
(just check-cli-core-purity), and the updater cores report through their
ProgressSink seam. cli-core’s arms run the cores with NoProgress (the
sealed semantic home hard-codes it), so the facade paints the bar from the
cores’ own operator-facing progress events: the throttled op_info! lines
carry progress_pct + the chunk fields on the closed domain
targets, and Layer turns exactly those events into bar updates.
§The two surfaces
- TTY:
stderr_optyields a draw target and the bar paints on stderr. - non-TTY (a pipe, a CI log):
stderr_optyieldsNone, so no bar is ever constructed and painting is a strict no-write; the throttledop_info!lines from thefmtsink remain the non-TTY progress surface.
(indicatif 0.18 dropped ProgressDrawTarget::stderr_opt; stderr_opt
restores exactly that contract with std::io::IsTerminal.)
Structs§
- Layer
- The tracing layer that paints
Painterfrom the cores’ chunk progress events. - Painter
- The bar painter.
Constants§
- AAVE_
TARGET - The Aave updater’s progress-event target (
aave update: chunk committed). - POOL_
TARGET - The pool updater’s progress-event target (
pool update: chunk committed).
Functions§
- stderr_
opt - A stderr draw target only when stderr is a terminal.