Skip to main content

Module gutter

Module gutter 

Source
Expand description

Gutter wrapper — publishes the phase’s contextual left-gutter cell from workload-declared polydat templates.

Distinct from the memo wrapper: memo owns the [[ ... ]] header line above the phase status; the gutter owns the compact cell to the LEFT of the phase’s detail row, where the display otherwise auto-derives a completion bar (metered phases) or a latency trend (daemons). This wrapper lets the workload take that cell over with its own computed value.

Declaration forms:

  • gutter: "<layout template>" — printf-style polydat layout string; the rendered text fills the cell verbatim.
  • gutter: { bar: "<template>" } — template renders to an f64 fraction in 0..=1; displayed as the house braille completion bar.
  • gutter: { spark: "<template>" } — template renders to an f64 sample; each publication appends to a per-phase trend ring displayed as a sparkline with the current value.
  • gutter: { …, final: <string | {bar|spark|text}> } — the COMPLETION form: evaluated once at phase end and rendered as the left-gutter cell of the phase’s ✓ outcome DETAIL line (the header line’s timing triad is never touched). Final templates may also reference status-metric names ({recall}, {latency_p50}, …) — resolved from the phase’s aggregates when no wire matches. Phases with a during-form but no final: still get ONE final update: the during template re-evaluated at phase end.

Inside a poll: drain, the during form is additionally re-published per poll iteration by the poll wrapper (against that iteration’s captures, like the poll memo) — this wrapper alone fires only when the drain op completes.

Structs§

GutterDispenser
Op-wrapper publishing the phase’s gutter-cell spec after each successful inner op (post-op, so captures from THIS execution are on the wires — the cell reflects measured state).

Enums§

GutterKind
The parsed declaration — which cell shape the template feeds.
GutterSpec
One published gutter-cell value. The display consumes this via the phase render handle; None in the activity’s slot means “derive automatically”.

Constants§

NAME

Functions§

parse_specs
Parse an op’s gutter: param value into its (during, final) template forms. Shared by the wrapper-cascade arm (which builds the GutterDispenser and stores the specs on the activity) and the poll wrapper (which re-publishes the during form per poll iteration so a single long drain op keeps a live cell).