What the agent is doing, right now
A dot-matrix indicator beside a line of status text. An agent spends most of its time in a state a person cannot see, so the indicator has one job: make the difference between working, waiting on you, and finished legible at a glance.
States
Six states. The three working states are deliberately monochrome and colour is held back for the states where it means something: waiting on a person, finished, failed. The terminal states fill the matrix solid, so the shape reads as done before the colour does.
Patterns
Fifteen named choreographies over one 4×3 grid. Each dot is told which of the cycle's twelve slots it lights in, and the dots a pattern never lights opt out entirely, so a pattern is a sequence of numbers rather than its own animation. One grid and one cycle length means switching pattern never changes the indicator's footprint or its rhythm.
The label sweep
While the agent is active a highlight sweeps the label left to right. It is the same treatment Reasoning uses on its summary, so “the model is working” looks the same wherever it appears. Turn it off with shimmer for a quieter row.
Sizes and variants
The bar variant is a full-width row for the top of a panel, where the status belongs to the whole surface rather than to a line of content.
Accents
The working colours are deliberately quiet, and the status colours are spoken for. Every colour on the component routes through a custom property, though, so when several agents share a surface each row can take its identity from one of the core accent ramps: set --ds-agent-color and its label and sweep companions on the row, and the dots, the label, and the sweep all follow the accent.
Accessibility
The root is a polite live region and the matrix is hidden from assistive technology, so a state change is announced once as text rather than as twelve dots. Under reduced-motion preferences the matrix parks at a static, legible opacity and the sweep resolves to flat text. The meaning has to survive the animation being switched off, because for some readers it always is.