A step can run on a person
A run follows a script: named steps in order, written down before anything happens and readable after. Most steps call a system. Some are addressed to a person by name, and some state what should happen next and wait for the world to answer.
The plan and the record are one page.
The script asks Ana by name
A step can be a question to a person: approve this scope, confirm this order, pick one of the three drafts. The script addresses it the way it addresses an API, and pauses exactly the steps that depend on the answer while the rest keep running.
Ana gets the ask where she is. On her phone it is a card with the question and its context. To everyone else in the run’s thread it is one line, waiting on Ana, and since when. Her answer lands in the history under her name.
Only the person an ask names can answer it, and moving it to someone else is a change to the script that the history records. Declining is an answer like any other, and the run carries on down the branch she picked.
Working alone, address a step to yourself. A script that stops to ask you before it posts is the same step with a shorter list of names.
Extend Acme’s pilot to include S/4 writes?
| step | Replace filter · line 2 |
| claimed | done · Jonas · 14:02 |
| evidence | photo check · line-2 camera |
| photo | line-2 camera · 14:06 |
| check | new filter seated, housing closed |
| result | matches · step settled |
A done settles against its evidence
When Jonas taps done on a filter change, the script records a claim. A callback from a system you wired in is a claim too. The difference between the two is only how much checking the step asks for.
A step can name its evidence: the next step reads the line camera, or the order status in S/4, and settles the claim against it. When they agree, the run moves on with both on record. When they disagree, the script says so and asks again, or brings in a person.
An evidence step runs wherever the evidence is, including on a node beside the line, so a check does not wait on the uplink.
Later steps exist before they run
Write a five-step onboarding once and the run holds all five from day one: the welcome that went out this morning and the day-14 check-in that has not happened yet, each carrying what it expects and by when.
Reality settles them in its own time. A sign-in arrives and step two closes itself. Day three passes without one and step two turns overdue, which is the moment the script’s own instruction takes over.
Save the script under a name and the next customer gets the same five steps in the same order. Two runs of one script sit side by side, step for step, which is what makes a difference between them worth reading.
A miss follows the branch you wrote
What happens when nothing arrives in time is part of the script, next to the step it belongs to. Send the nudge, re-arm the window, escalate to a named person, drop the step. Read the script and you know what the miss will do before it happens.
A script can hand a miss to the agent instead, for the cases where the right move depends on why. That is a step you write on purpose, and what the agent changes lands in the history with its reason and its author.
Read a run at any moment and it shows all three tenses: what happened, what is waiting on whom, and what the script does next.
A person by name, a system by its account, the agent under whoever it borrowed authority from. The history reads the same to you and to an auditor.
A write that touches the real world waits for a yes, and the yes is a step in the script like any other.
Steps in the order you wrote them, the same branch on the same miss. What changed between two runs is the world, and you can read where.