Many agents
Balanced in practice
Whole runs with Balanced, start to finish: what you set up, what you type, what Magnum does at each step, and what's left for you to decide. The names (a shop web app, a build-box server) stand for your own. For each part on its own, see Balanced.
A feature split across two machines
You want order history in shop: an API endpoint, a page that shows it, and tests for both. Your Mac and a Linux server, build-box, both have room.
- Open a session in
shop, choose Balanced in the environment menu (the chip under the message box), and tick This Mac andbuild-boxin its panel. Magnum copies the project tobuild-boxthe first time, and asks once to allow the project's check (in.magnum/settings.toml, under[worktree],check = "npm test"): Allow. - Tell the lead: "Add order history: a GET /orders endpoint, a page that lists them, and tests. Split it across my machines."
- The lead asks Magnum for a plan. It comes as a message listing 3 pieces, each with where it runs and why ("build-box: fewest agents running there (0)"), and the tests piece marked "After: pieces 1 and 2 (starts once landed)". The plan also shows above the lead's message box, where you can start it yourself.
- The lead starts the plan. The endpoint and the page run at once, one on each machine, each in its own worktree and branch; the tests piece waits.
- Each worker finishes, Magnum checks its branch (its commits, nothing left uncommitted,
npm test), and, passed, lands it in the lead's branch. The lead hears each: "Its check passed, so Magnum landed branch magnum/worker-orders-api in your branch". Once both have landed, the tests piece starts on its own, and the lead hears that too. - With everything combined, the lead puts it to you: a row under Board › Now with its summary, what would ship ("3 commits · 9 files · +412 −20"), the check run again on its branch, and a screenshot it took of the page.
- The page is missing a total. Correct… and type "Show the order total in the last column": the lead gets your line, fixes it, and puts it to you again, its row now saying "Corrected once".
- Ship. Ship's steps show; Proceed; at Ready to push, Push. Nothing is pushed before you say so.
Overnight on a server
A long migration in shop that you'd rather run on build-box while your laptop sleeps.
- In a new session in
shop, pickbuild-boxin the environment menu (the chip under the message box): the session starts inshop's copy there (Environments). Turn Balanced on and tick onlybuild-box. - Tell the lead the migration, and: "Every weekday at 7, sum up what landed overnight." It schedules that (
weekdays 07:00,build-box's clock), and Balanced's panel lists it. - Quit Magnum. The lead and its workers keep running in
build-box's node, and its engine carries on without Magnum: it starts the lead's Claude Code workers there, checks and lands their branches, tries a broken one again there (after a pause, restarted, or on a stronger model), answers a worker's question through the lead, and tells the lead each time. - Anything that needs Magnum itself (a picture of a page, say) waits: the lead hears "Magnum isn't open: it keeps this … call and runs it once it opens".
- At 7:00 the lead gets "[Magnum] Scheduled (s1, weekdays 07:00): Every weekday at 7, sum up what landed overnight", and writes its summary.
- Open Magnum. Its calls that waited run, and the lead hears how they went; the Board shows the engine's workers (
e1@build-box, …) with what each did, and under Board › Now whatever waits on you: the lead's review, a worker's question it passed to you.
A small budget, cheap models first
You want a dependency upgrade done for a few dollars, without eating your plan's 5-hour window.
- In Balanced's panel, set Plan reserve to 20%: an account whose window is past 80% takes no new workers.
- Pick Haiku for the lead in the model picker, and tell it: "Upgrade the date library across the app; budget $2." Its plan splits the budget among the pieces by size, and each worker starts on the lead's model (with Magnum Router on in the lead, a worker's first turn is decided from its piece instead) with its share ("Your budget: $0.40." in its instructions).
- One worker's turn ends with its check failing. Magnum tries it again a step up, Haiku to Sonnet ("Magnum tries a stronger model: attempt 2"), with what's left of its budget.
- A worker that reaches its budget stops; the lead hears so, and that one isn't tried again. If the work it finished passed its check, it lands all the same.
- When the 5-hour window passes 80%, a new piece doesn't start on that account: the lead hears why ("… is 84% used, past the 20% you keep, resets 14:00"), and Magnum places it on another agent with room, or the lead waits.
Hitting the 5-hour limit mid-plan
A plan is halfway through when your Claude plan's 5-hour window runs out.
- A worker's turn is refused for the limit. It isn't failed: Magnum pauses it until the limit resets, a minute past the time its account reported, and the lead hears "… reached its plan's usage limit. Magnum pauses it until the limit resets at 14:00".
- The Board shows it paused ("Paused for its plan's limit · goes on at 14:01"), with that time under Next. The pause isn't one of its three attempts.
- If the reset is more than 30 minutes away and another agent (Codex, say) has room on a ticked machine, the piece goes there instead, as a new worker with what the first did.
- At the reset it's told "Your plan's usage limit has reset. Carry on with your piece …" and goes on. A lead whose own turn was refused is told to carry on then too.
Workers ask their lead
You'd rather not be asked every small thing.
- In Balanced's panel, turn on The lead allows its workers' commands.
- A worker asks to run
npm installin its worktree. Instead of you, its lead gets it as a message: "Worker … "Add the chart" asks to use Bash: npm install …". The lead allows it, and the worker goes on; its card says Asked its lead, and its row on the Board, "Allowed by its lead". - Another worker shows a plan before it starts. The lead sends it back with a line ("Keep the old chart until the new one passes"), and the worker plans again.
- A third asks a question only you can answer (which of two designs). The lead passes it to you: it shows under Board › Now as any session's question.
- A question the lead leaves unanswered for 10 minutes comes to you too. You can always answer in the worker's session: the first answer counts.
Two projects under the chief
You're running shop and its mobile app, shop-ios, and want one place to talk to.
⌘P→ Start the chief. A session opens in Magnum's own folder, pinned at the top of the sidebar.- Tell it: "Start a lead in shop to add order history, and one in shop-ios to show it." It starts both (each a session in its project, on its machine, Balanced on, told its task); their sessions are in your sidebar, marked on the Board "Lead, started by the chief".
- Ask it "how are they doing?": it looks over its leads and sums up each one's workers and what waits on you.
shop-ios's lead asks which screen the history goes on. It goes to the chief first, which answers from what you told it ("Your chief says: …"), and the lead goes on.- Both leads put their work to you, as reviews under Board › Now. The chief has put a line under
shop's ("Chief: ship this one first: shop-ios builds on it"). Four commands also wait to be allowed: pressSpaceon each row to mark it (see The Board), then⌘↩: "Allow 4" answers all four. - The chief never allows, lands or ships: those stay with you.
A failing pull request fixed by its session
A session in shop opened a pull request; its checks fail on CI.
- In the pull request's pane (open it from the session, or from its row under Board › Now), turn on Its session fixes checks, reviews and conflicts. That's for the whole project.
- Magnum looks at the pull request every 2 minutes. When its checks fail, the session that opened it gets the fix as a message (the prompt Fix failing checks would put in its box, with a note to commit and not push), runs as a Ship for that pull request, and can't push. The row under Board › Now says "Checks failed · sent to its session".
- It fixes, commits, and ends with the commit to push. Ship's Ready to push shows under Board › Now: Push updates the pull request; Cancel leaves the commit where it is.
- Changes requested and a merge conflict go the same way. Three fixes a day at most per pull request; after that, the news comes only to you.
Mixed agents
Your lead is on Claude Code; Codex is signed in to your ChatGPT plan, and Pi runs a local model through Ollama on build-box.
- Tick This Mac and
build-box. For each machine, Magnum checks which agents are there, and offers to install the lead's agent where it's missing. - Ask the lead to put a mechanical piece (renaming a field everywhere) on Pi, and a review piece on Codex. A worker on another agent than its lead takes the permission mode that goes as far and no further (the lead's Accept edits is Codex's Auto and Pi's Auto-edit).
- A Codex worker asks to stage and commit: Magnum allows exactly that (
git addandgit commitin its worktree) without asking you. Codex's spend is reckoned from its tokens at its model's list prices, so its budget holds too. - A piece Magnum places itself goes to the lead's agent where it fits, else another that does; when Claude Code's account is at its limit, to another agent, and the plan says so ("Claude can't take it: Codex instead").