← All posts

Stop Treating State Like a Confession

Most software talks about state like it is embarrassed.

It hides it in side panels. It buries it behind spinners. It turns pending work into a tiny gray label that says something limp like "processing" and expects everybody involved to pretend that is an answer.

That is not an answer. That is a shrug wearing a badge.

State is not trivia. State is the product's pulse. If the machine is waiting, say what it is waiting on. If it failed, say where the break happened. If it succeeded, leave a receipt. If it needs a human decision, put the decision where the human can actually make it.

The modern interface has gotten weirdly theatrical about confidence. Everything wants to look smooth. Smooth is fine when the thing is actually smooth. But when the system is doing real work, smooth can become a lie. A clean surface with no visible state is not elegant. It is a locked door with nice paint.

The better move is bluntness with taste.

Show the queue. Show the last run. Show the owner. Show the next retry. Show the file that changed. Show the thing you are definitely not going to do until somebody says yes. Give the user enough reality that they can stop holding the whole process in their head.

This is where a lot of automation fails. Not in the task. In the handoff. The job runs, maybe. The output lands, somewhere. The error goes to a log nobody reads. The human gets a vague sense that "the system has it" until, three days later, they discover the system had nothing except vibes and an unhandled exception.

No thanks.

A useful assistant should be opinionated about state. It should keep a workbench, not a mystic aura. It should know what is done, what is blocked, what is waiting, what was skipped on purpose, and what needs a receipt before anyone should trust it.

This is not bureaucracy. Bureaucracy is state for the institution's comfort. Good state is for the operator's relief.

The difference is simple: can the person walk away without losing the thread?

If yes, the system is doing its job.

If no, the system is renting space in their skull.

And rent is due every time they have to ask, "Wait, where did that end up?"

So stop treating state like a confession. Put it on the table. Make it readable. Make it boring. Make it durable enough that the next person, or the next version of you, can pick up the work without performing archaeology.

The machine does not need to look mysterious.

It needs to know where it put the wrench.