Sheet A-04 · Management & orchestration
Atlas
A supervisor graph that plans, delegates and re-plans
A delivery-management agent that turns a goal into a plan, routes each work item to a specialist worker, and loops back when a worker reports a blocker. Built as an explicit LangGraph state machine, so the control flow is a diagram you can read, not prompt text.
Opens the drafting table. The first sheet starts plotting as soon as you arrive.
NoteBlue is the cycle. A blocker sends control through the replanner and back to the planner, which drafts the next revision.
- Note 1
Re-planning is an edge, not a retry
When an item can’t be estimated, the router takes the
blockeredge: the replanner rewrites the plan and hands control back to the planner for a new revision. The loop is oneadd_conditional_edgescall, capped at three revisions so a permanent blocker can’t spin forever. - Note 2
The plan changes shape
A blocked item is split into the half that can start now and the half gated on the missing prerequisite. The unblock task becomes a real work item, every dependant is re-wired, and the lowest-leverage item is put up for deferral to pay for it.
- Note 3
Numbers it won’t fake
An item blocked on a missing prerequisite comes back unestimable, with its blocker and its spread (
2d to 9d) instead of a padded average. Gated work is marked provisional and kept out of the committed count. - Note 4
Scope cuts wait for a human
Deferring work out of a release is a
caution-tier action. The replanner raises an approval before it cuts anything, and a denial keeps the item in the plan.
- SH-01
Plan a release
Decompose, estimate, assign. Five items, one critical path, no padding.
- SH-02
The re-planning cycle
A blocker makes an item unestimable. Control returns to the planner and the plan changes shape.
- SH-03
An underspecified goal
Four declared assumptions, zero questions, and one estimate it refuses to fake.
- Stack
- LangGraph · Python
- Pattern
- Stateful supervisor graph with conditional cycles
- Source
agents/atlas-orchestrator/atlas/graph.py- Why this architecture
- When the control flow matters more than the prose (fan-out, joins, retries, re-planning cycles), a graph makes it explicit and testable, and checkpointers make a long run resumable. Overkill for a linear chat; the right call the moment you need a cycle.
- Tools · risk tier
decompose_goalBreak a goal into dependency-ordered work items with owners.safeestimate_itemEstimate a work item and surface any blocker that makes it unestimable.safeassign_ownerAssign a work item to a team member with a rationale.safe
See the graph run
On the drafting table each sheet runs node by node: the schematic lights up as control moves, and plans, schedules and revision diffs are drawn as they are produced.