Skip to main content

Module progress

Module progress 

Source
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_opt yields a draw target and the bar paints on stderr.
  • non-TTY (a pipe, a CI log): stderr_opt yields None, so no bar is ever constructed and painting is a strict no-write; the throttled op_info! lines from the fmt sink 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 Painter from 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.