Execution plans
Plan before code — what a step is, who proposes it, when a lead has to approve it, and why there is no drag-and-drop board.
An agent plans before it codes. The plan is the concrete technical steps that accomplish the mission, worked out after reading the mission, the architecture rules and the repository.
Workspace → Missions → a mission → Work items.
Who writes it
The agent does, through the MCP. The brief's instruction for an unplanned mission says exactly that: read the mission and the repository, then propose an execution plan.
A person can add a step by hand, and that is recorded as theirs.
Steps move themselves: the agent marks one active when it starts and complete when its evidence exists. Nobody manages a board here.
This is deliberate. The point is not a task board — it is a structured plan the collision radar and the attention queue can reason about before a line is written.
What a step holds
| Field | Notes |
|---|---|
| Title | One concrete technical change. "Add ownership check before document access." Up to 200 characters. |
| Detail | Up to 4,000 characters. |
| Kind | analysis, authorization, backend, frontend, data, integration, audit, tests, docs, other. |
| Files | Up to 50 paths it expects to touch. |
| Depends on | Up to 20 step numbers that must land first. |
| Evidence it should produce | A unit test, an integration test, a browser run, a security review, or a human review. |
A plan runs from 1 to 40 steps.
Step states
| State | Label |
|---|---|
pending |
pending |
active |
in progress |
complete |
complete |
skipped |
skipped |
blocked |
blocked |
One step is active at a time. Marking one active parks any other active step back to pending — an agent works one step at a time — and the session's current step is updated.
The risk gate
Whether the plan needs a lead's approval is earned by the risk band, not by a setting somebody has to remember.
| Mission risk band | Plan status on arrival |
|---|---|
| low, medium | approved immediately |
| high, critical | proposed — it waits for a lead |
While a high-risk plan is proposed, two things are refused:
A file change. The session is told BLOCKED:
{reference} is {band}-risk: its execution plan must be approved by a lead before code changes. Wait for the decision; check madebook_context.
with blocked_scope: ["any code change"] and allowed_scope: ["reading the repository", "revising the plan"].
Starting a step:
{reference}'s plan is waiting for a lead. No step may start until it is approved.
Evidence-only reports still pass. Recording a test run is not a change.
Approving one
The callout on the mission:
High-risk mission — the plan waits for you. An agent proposed how it will build this. Nothing changes in the repository until a lead approves it: a change report is refused while this is pending.
Two buttons, needing mission.approve:
- Approve the plan — "Plan approved — the agent may start."
- Send it back with an optional note — "Sent back — the agent will propose a revised plan."
A rejected plan shows the note back to you, or "The agent will propose a revised plan on its next call."
A proposed plan also raises an attention item at disposition decide, urgency 70, headlined "{reference}: {agent} proposed a {n}-step plan for a {band}-risk mission."
Re-planning
Proposing again bumps the plan version. Old steps are kept for the record.
Overriding a step by hand
Opening a step shows its status, kind, the evidence it should produce, whether an agent proposed it or a person added it, the files it touches, what it comes after, the session that owns it, when it started and finished, and the agent's own note.
The panel is explicit about what you are doing:
Steps normally move themselves through the MCP. Changing one here is recorded as your override.
Mark complete, Mark in progress and Skip it are always available. Remove is not:
A step that is active or complete is part of the record; skip it instead.
The empty state
With an approved contract:
Point a coding client at this mission: it opens a session with madebook_session_start, reads the contract and the repository, then proposes the steps with madebook_plan. You can also write the first step by hand.
Without one:
Approve the contract first — an agent cannot be pointed at a draft. Then it proposes the plan on its first call.
Related
- Missions
- The MCP server — the
madebook_plantool. - The execution protocol