Skip to content
RU
Scale
Density
Theme
Accent

Agent layer

Agent layer

Fifteen components, and all of them are about one thing: showing a human the work of a machine that is going on right now. Hence the differences — not in the look but in what exactly is shown: the unit of work, its output, its time or its price.

the unit the form
The run a phase, an attempt, a shard countable dots
The queue row a task a flat row, and there are hundreds
The step a tool call it expands, with the output inside
The log a line from the machine a stream with a level and a time
The diff an edit in a file two sides
The lanes a worker segments on a shared axis
The history an attempt with an outcome a row of equal events
The budget a resource with a limit spending against a ceiling
The tree a node a hierarchy of unknown depth
The approval a decision by a human it stays in the flow
The failure a breakdown a reason and a retry

The comparison stands here rather than on the pages: "take instead" is a statement about NEIGHBOURS, and repeated fifteen times it parts from them by one line per edit.

What to show

What is wanted Take Why not the neighbour
Tasks as a list, hundreds of them, each with a state The queue The row is flat: a step has a body, and at a hundred rows it does not read
A tool call with its input and its output The step A queue has no output, and there is nothing to collapse
A uniform stream of lines from a machine The log Steps have a body, a timeline has a varying make-up
What the agent changed in a file The diff A diff with no changes is just code
Parallel workers on a shared axis The lanes A queue has no axis of time
A row of equal attempts with an outcome The history On a sparkline what matters is the value rather than the outcome
Spending against an explicit limit The budget A metric has no ceiling, a meter has no forecast of exhaustion
Countable units of work: phases, shards The run Fifty dots are not counted by eye — there a meter with a number is wanted
A hierarchy of unknown depth The tree A tree of one level is a list with superfluous roles
One step of an exchange, holding everything above The turn A queue row is flat and a step is one call: neither holds an answer
The working the machine did before answering Thinking A step is a call with a result that can fail; this has no status at all
The field the next turn is written in The composer A field beside a toolbar is two objects, and focus lights up half of one

What to do when the work has stopped

What happened Take Why not the neighbour
The agent is waiting for permission to go on The approval A modal blocks everything else, and the decision here is part of the feed
The agent has failed The failure An approval has no reason and nothing about what has already been tried
The decision has to be taken immediately a modal An approval stays in the flow and waits
A message with no choice a banner with the warn tone An approval has options, and they are enumerable

When none of them fits

What is wanted Take Why not from here
Named steps known in advance wizard steps There the sequence is finite, here the make-up comes from the work
Events of a varying make-up a timeline A log has uniform lines and columns
A continuous quantity a meter A run counts units rather than percentages
Comparing records by fields a table A tree is about structure rather than about comparison
The properties of one object a property list The nodes of a tree expand, and properties have nothing to expand

Common to all fifteen

The state lives in data-state rather than in a class. The vocabulary is closed: a value outside it gives an error nowhere — it simply does nothing, and that is why it is guarded by the registry.

Infinite motion means "running". A pulsing dot, a turning ring, a travelling caret — all of it slows at prefers-reduced-motion without stopping: a stopped indicator says "nothing is happening" at exactly the moment something is.

The nodes arrive while the work goes on. Queue rows, steps and tree nodes appear one at a time, so instrument.js works by delegation and watches for groups appearing with an observer — more in behaviour.

Why the kit works this way — the constitution · Open source under MIT, github.com/keshon/instrument