How to draw work over time¶
A trace is one turn's spans; lanes are every session over the last hour. Both share one vocabulary.
Traces¶
TraceSpans draws one turn's spans on a shared time axis.
- Rows are
span-h, indented 16px per depth, with the span name, its kind inmono-sfg-subtle, and its duration right-aligned indata. - Model calls are solid
span-model. Tool calls are a 1pxspan-tooloutline with a faint fill. Sandbox commands are solidspan-sandbox. - Waiting on a human is hatched
status-approvalwith an open end while it waits. - A failed span is a hollow 1.5px
status-failedoutline with a triangle at its end; never a solid red bar and never a tint. Its duration turnsstatus-failed; a waiting span's turnsstatus-approval. - Draw the critical path as one 1.5px
brand-textline through the spans that set the turn's duration. It is the only yellow in the trace; the selected row isselectedwith a 2pxfgedge. - Label the axis in 10px mono
fg-subtle(0s…60s) on alinerule; gridlines areline-subtle. Selecting a span opens its detail beside the trace: keyed data and the command output onterminal-bg.
Lanes¶
SessionLanes draws one lane per session over the last hour.
- Each lane is
lane-h, labelled with the tail number in mono and harness and model infg-subtle. - Stages are fills on a greyscale ramp:
stage-plan,stage-edit,stage-test(the ramp runs towardfgas work advances, in both themes). PR is a 1px outline infg-muted; a merged PR ends in a check in a ring. Queued time is a dashedstatus-queuedoutline. - Waiting on a human is hatched
status-approval. A failure ends the lane with astatus-failedtriangle; a denial with a smallstatus-deniedplacard. - The now line is a 1px
brand-textrule at the right edge with a square cap, and the axis runs-60 mintonow(thenowtick inbrand-text). - A selected lane takes
selectedand a 2pxfgedge on its label.
Part of Data, a chapter of the brand book. See also Status and Products.