Your First Deliberation
We stop describing deliberation and run one, from install to a memo you can act on.
From map to territory
You have the four primitives and a diagram of how they snap together. Diagrams are cheap. Let's make them do something.
Under twenty minutes, from an empty directory to a council arguing about a real decision and handing you a memo. I am going to leave the ugly parts in. A transcript that installs clean on the first try and never prompts you for anything is a transcript someone edited. When your run does not look like that, that is the tool working as shipped, not a mistake you made.
Install and init
The harness is open source and the package is on npm. Install it into a project.
unknown nodeNow the part the quickstart glosses over. aos run does not talk to a model directly. It drives a vendor CLI you already have installed and authenticated (Claude Code, Codex, Gemini, or Pi), and since 0.6.0 those adapters ship as separate packages. So you install the one that matches your CLI.
Then wire it up.
unknown nodeBefore you spend anything, look at the plan. A sample brief ships in the repo, and --dry-run prints it without a paid run.
That is the whole setup. No orchestration code, no glue. The next command is the one that costs money, so it deserves a real question.
The question
We are carrying one decision through this whole arc, and it is one every senior engineer has argued about in a review channel:
Should our deployment agent be allowed to merge and ship to production on its own, and for which change-classes?
That is the input. Not a prompt, a brief. strategic-council reads a specific shape (an H1 # Brief: title, then ## Situation, ## Stakes, ## Constraints, ## Key Question), and the shape is not decoration. It is the profile telling you what evidence it expects before it will argue. aos brief validate will reject a brief that skips the title or a required section. Here is how to write one. Ours, on the platform-engineering domain:
Run strategic-council
One command.
unknown nodeI ran exactly that. Four rounds, about sixteen minutes, one Arbiter driving eleven specialists. The memo further down is what actually came back, trimmed for length. The profile budgets itself: 2 to 10 minutes, $1 to $10, 2 to 8 rounds, all declared in the profile, not my stopwatch. You are about to read its fingerprints in the output, so here is what runs the room.
The Arbiter runs the room. It is the neutral orchestrator: it frames the question, sets the specialists arguing, synthesizes what they produce, and writes the memo. (How synthesis actually works is Issue 5. For now, "synthesizes" is a plain verb, the thing the Arbiter does before it hands you the file.)
It does not ask the specialists to get along. strategic-council ships Tension Pairs: agents deliberately set in opposition so the disagreement is structural, not accidental. For our decision the live pair is Catalyst against Sentinel, which is velocity against blast radius. Catalyst carries a speed-and-monetization bias and treats the approval queue as pure cost. Sentinel carries a durability-and-trust bias and treats every autonomous ship as a loaded gun. And the Provocateur speaks last, on purpose, to stress-test whatever agreement the others drifted toward before it can harden into consensus.
Read the memo
When the run finishes, the memo is on disk in the session's output directory, at .aos/sessions/{date}-{profile}-{session_id}/memo.md. This is the real memo from that run, trimmed. The sections are the profile's, in the profile's order.
Look at the dissent section. Documented dissent is the minority view preserved in the memo instead of being smoothed away by the synthesis. The feasibility gap did not resolve, so the Arbiter recorded it as unresolved and made it action item one rather than papering it with false consensus. It even names what it could not answer: whether the plan is buildable in a quarter is an execution question this deliberation profile is not staffed to decide. That honesty is why the output is usable.
Why the dissent is the proof
If the council had returned one confident paragraph, you would have no way to tell whether it reasoned or just pattern-matched a plausible answer. The dissent is the tell. The whole memo pivoted on the Auditor's finding that the deploy tool's "done" signal lies, and seven agents visibly reordered around it in one round. That is not what a single model does when you ask it to role-play a debate. The machinery wrote the change and the leftover disagreement down instead of hiding them. You could read the profile end to end and never find that argument in it. The file did not hold it. Running it did.
The answer was never in any single agent. The Auditor brought the evidence, the Catalyst and Sentinel tension forced the room to reckon with it instead of arguing past it, and the decision formed in the space between all of them. The Arbiter just wrote it down. That is the point of running one instead of reading about it. A good council disagrees on the record and hands you the receipt, dissent attributed and all.
You just watched strategic-council work. Next issue, the uncomfortable part. I run the same auto-deploy decision through a second profile, security-review, and prove that a profile was never really the file it looks like.