Steps, waiting, and sign-off
Every step in a plan says who does it and what it is waiting for. And no step counts as done until someone approved it and its checks passed. When a step is the owner's, the owner finishes it with one button.
Example screen with made-up data.
Where you see it
Open an agent's sheet from its row. The step it is on shows the step, who does it, what it waits on, and who approved it. Your steps lists the steps that are yours, each with a Mark done button. The same button sits on your steps in the Roadmap.
Who does each step
Every step carries one of four labels. The page says it in plain words.
| Label | The page says | What the agent does |
|---|---|---|
owns | The agent's step | Does it and checks it. |
drafts | The agent drafts, you approve | Writes the draft. The owner approves and sends. |
you | Yours to do, the agent hands you the facts | Gathers the facts under it and asks. Never does it. |
not-yet | Yours to do for now | Same as you. The owner has not done it enough times to hand it over. |
A step with no label tells the agent to ask the owner for one. The labels come from the delegation tree.
What happens, step by step
- A step can wait on a person or the world. Its state turns
waiting, with who it waits on ("the cafe") and a date to nudge them. - A step can wait on other steps. Its
blocked_bylist names steps that must be done first. A name likeguest-listis a step in the same plan. A name likepriya:guest-listis a step in another agent's plan. The page shows it as "Waiting on guest-list from priya." - A step is ready only when every step it waits on is done and its time has come. If a named step does not exist yet, the answer is "not ready", never a guess.
- Before any step can be done, someone must approve it. Only a name on the agent's
stakeholderorapproverslist may stamp it. The agent's own name is not on that list, so it can never approve a step it added itself. - A step labeled
youornot-yetis the owner's to finish. If the agent tries to mark it done, the door refuses and tells it to hand over the facts and ask. - A step can have one to three checks. Each is a number, a fact, a quality bar, or a sign-off by a named person. The logbook checks sign-offs and quality bars itself. A number or fact check is written down for the agent to verify, but the logbook does not run it.
- A sign-off is a signature row, not a checkbox. The named person signs. If that was the last thing the step needed, it turns done in the same moment. A signature can be withdrawn, but only with a reason.
- The owner finishes their own step with Mark done. Tap it, answer "How do you know it's done?" (for example, "I sent it on Friday"), and tap Save. The step turns done. Your words are added to its note as "Done: ...", so the agent reads them next wake.
Mark done will not save with the box empty, or finish a step nobody approved. In that case it says so in a sentence, and names who may approve it.
What powers it
| Part | What it does |
|---|---|
milestones.who_does | The label on each step: you, drafts, owns, or not-yet. |
milestones.blocked_by | The steps this one waits on, in this plan or another agent's. |
milestones.approved_by | Who stamped the step, and when. Only the approve door can write it. |
signoffs table | One row per signature or withdrawal. The latest row per person counts. |
may_mark_done in logbook.py | The one gate every path to "done" goes through. |
PlanMarkDone in inventory.js | The owner's Mark done button, shared by the sheet and the Roadmap. |
Why it works this way
Why the gate sits in the door. If one path to "done" checked the rules and another did not, the second path would be the one that got used. So there is only one path, and the check lives inside it.
Why the owner's steps are walled off. An agent was once handed a whole workshop after the owner had run it only once. The booking steps went fine. The class outline, invitations, and follow-ups "burned weeks of chat and never got good," because there was no pattern yet to copy. Now those steps are labeled as the owner's until the owner has done them a few times.
Why one approval covers a whole plan. The owner approved a plan and then was asked to approve every step again, one tap each. The owner said: "it doesn't make any sense for an entire onboarding to be approved and then the client has to go back in and approve every step all over again." Now signing the contract stamps the plan. Only steps the agent adds later need their own stamp.
Connected to
- Plans and the Roadmap: the states and the rail.
- Teams and handoffs: steps that wait on another agent's step.
- Decisions waiting on you: where an approval or sign-off reaches the owner.
- The delegation tree: how each step gets its label.