Skip to main content

Plans and the Roadmap

Every agent has a plan: a few numbers it is judged on and a list of steps. The Roadmap draws that plan as one rail, top to bottom, with a sentence at the top that says how far along it is.

Example screen with made-up data.

Where you see it​

On the Office, each agent's row shows its first number as a bar, like "Came to the workshop, 9 of 15." If there are more numbers, a small +1 more opens them all. Each number says As of: (where it came from and when) and How we count: (how it is counted).

The Roadmap opens when you tap an agent on the Your agents tab. From the top:

  • A sentence: "Spring baking workshop is 3 of 7 steps in. Waiting on the cafe." It says what the plan is stuck on, waiting on, or doing next.
  • Approve the plan when there are steps nobody has approved yet.
  • A bar with one block per step, colored by state, and a small legend.
  • The rail: one row per step, with its date or what it waits on, and who approved it.
  • The numbers again at the bottom, every one of them.

What happens, step by step​

  1. Each step has one of five states. See the table below. There is no "doing" state on purpose.
  2. Each step can have a time. A due date, or a place relative to the event date ("2 days after the event"). A step whose time has not come is not ready yet.
  3. Each step can have a note. It shows as one quiet line under the step. Tap the pencil to write one. The agent reads it on its next wake. This is how the owner talks back to a step.
  4. A waiting step can carry a nudge date. The rail says "Nudges them Mar 30 if nothing lands."
  5. A step checked against a quality bar (a written list of what good looks like) shows a row of small boxes and how many bars it passed.
  6. "Next up" skips blocked steps. The sentence names the first step that can actually start, not one still waiting on something else.
  7. Numbers change only with a source. An agent cannot change a count without writing the "As of" line that says where it came from.
StateShown asWhat it means
nextup nextNot started or in progress.
waitingwaitingOn hold for a person or the world, with who it waits on.
donedoneFinished, approved, and its checks passed.
failedstuckIt went wrong. It comes to the owner as "this failed, here is why."
deaddroppedSet aside on purpose. Nobody is asked to approve it.

What powers it​

PartWhat it does
milestones tableOne row per step: name, state, due date or event timing, note, nudge date, and the approval stamp.
key_results tableOne row per number: name, target, current, "As of", and "How we count". A second number is a row, never a code change.
agent_meta tableThe event date and the agent's next wake time.
logbook.py plan showThe plan as the agent reads it, with each step marked ready or not ready.
inventory.jsDraws the Roadmap: the sentence, the colored bar, the rail, and the buttons.
sdk_server.py /plan routeTakes the page's writes (approve, note, mark done) through the same plan door.

Why it works this way​

Why no "doing" state. The owner's rule: you should never be able to turn a switch on and not be able to turn it off. A step is either up next, waiting, done, stuck, or dropped. What the agent is doing this minute shows on its row instead, straight from its tool use.

Why step names are in plain words. An early plan had a step called "The accepted-lead list is true." Reading it on a phone, the owner said: "that's code language, not language I would even understand." Now every step is named the way an owner would say it. The exact test for "done" lives underneath, where the agent reads it.

Why the note is one line. An earlier Roadmap put a big note box under every step. The owner said it "looks kind of like crap." Most steps have no note, so the rail went back to a clean list with the editor one tap away.

Connected to​