The Council
Heimdall's council: seven named voices, each a lens, convened on a story, a requirement, a rule, a brief import or a project Heimdall scaffolded in conversation; how the voices research the ground, read the record, answer one another and refine the plan Heimdall drafts, how Heimdall rules, what accepting a finding writes, what a sitting costs and where it stops.
By the end of this page you will know who sits on Heimdall's council, which moments it sits on, how to convene it on a record and follow the sitting in the Heimdall panel, how to accept or dismiss what the voices found, what Heimdall's verdict is, what a sitting costs and the lines the council never crosses.
Heimdall is one voice, and a record needs several. The council puts named specialists beside it and lets them deliberate: each voice researches the ground from its own lens before anyone reads, reads the record and the project with the read-only tools your role allows and leaves findings, answers the other voices over the rounds of the exchange, and refines the plan Heimdall drafts from what was said; then Heimdall rules, with the plan the council agreed, the findings ranked and the disputes that remain named. Nothing reaches a record on a voice's say-so: you accept a finding or dismiss it, and a dismissed idea is never raised again.
Before you begin
| To | You need |
|---|---|
| See the council's sittings | import:view-any on the project, as staff; a client guest never sees the council |
| Convene the council | Use AI (ai:use) on the team, and Heimdall assists on this project switched on |
| Accept or dismiss a finding | import:update on the project |
| Choose the voices and the share | project:update, under the project's settings |
The voices
| Voice | Lens |
|---|---|
| Heimdall | The moderator: dedupes what the voices said, ranks it, names where two pull apart, and never takes a side the record does not settle. |
| Odin | Architecture and the data model: the entities the record implies, the decisions it forces, the integrations, and how it sits on the house stack. |
| Thor | Testing: whether every statement and criterion can pass or fail, what is missing to verify it, the defects it will breed. |
| Loki | Security: abuse cases, the data the record exposes or collects, who may see and change what, the control that closes each hole. |
| Týr | Rigour and compliance: one statement per requirement, condition and action per rule, the authority behind each, the laws and standards the client is held to. |
| Frigg | Planning: what the record costs to build, what it depends on and blocks, the risks to schedule and scope, what should be estimated or split. |
| Baldur | The people who will use it: the persona's goal, the words the client reads, accessibility, error and empty states. |
| Hel | Production: how the record fails once live, what the incident looks like, what the post-mortem would say was missing. |
Every voice carries the same charge on top of its lens: quote the words it objects to, suggest in the record's own words, never repeat another voice's ground, never raise an idea the analyst dismissed, and hold the record to the house stack unless the brief rules it out.
The moments
| Moment | What the council reads | Voices by default | Convened from |
|---|---|---|---|
| Intake scaffold | A brief import on its review queue, or a project Heimdall scaffolded in conversation | Odin, Thor, Loki, Týr, Frigg, Baldur | The batch's header on the Brief Import page, or by itself the moment a scaffold lands in the panel |
| Requirement review | One story, requirement or business rule, before it is approved | Odin, Thor, Loki, Týr, Baldur | The Quality panel of the record's flyout (Quality review) |
| Change impact | A change request against a baseline, with the records it names and what links to them | Odin, Loki, Týr, Frigg | Convene the Council in the request's flyout (Change requests) |
| Release readiness | A release before go-live | Thor, Loki, Frigg, Hel | Opens with the releases |
| Post-mortem | An incident after the fact | Odin, Thor, Loki, Hel | Opens with the incidents |
The project's settings choose which voices sit on each open moment and how much of the month's AI budget the council may spend on the project.
Convening the council
Convene it from the record
On a story, a requirement or a business rule, open the flyout and find the Quality panel: Convene the council offers Every seated voice or one voice alone (Ask Thor, Ask Loki, and so on), for the question you have. On a brief import that is ready to review or reviewed, Convene the Council sits in the batch's header. On a change request, Convene the Council sits beside Analyse with Heimdall in the flyout, and the sitting reads under The Council there as well as in the panel. One sitting per record at a time; the button returns when the sitting is done.
Follow the sitting in the Heimdall panel
The Heimdall panel opens on its Council tab with the sitting: the moment and the record at the top with a status badge and, while the council sits, the phase it is in; who convened it and when; then the sitting as a conversation. A line says what is happening ("Summoning Thor to research testing, verification and defects…", "Loki reads the record through their lens…", "Round 2: the voices answer one another…", "Heimdall weaves the plan from what the voices said…"), and each voice's words land under its name as it speaks: what it found in its research with the sources it read, its reading of the record with its findings, its answers to the other voices by name, and its refinement of the plan. The tab polls while the council sits and refreshes itself the moment a voice finishes. Sittings at the top right switches between the project's sittings; the panel's tab shows the newest when nothing named one.
Read the verdict
When the voices have refined the plan, Heimdall's verdict closes the conversation: The plan as the council agreed it, numbered steps the analyst can act on, then In short, three to five sentences on what the council agrees on and what matters most, the findings worth acting on ranked with a reason each, and Where the voices disagree when a dispute was never settled. The draft Heimdall wrote before the refinements stays in the conversation above the voices' answers to it, so you can see what each voice changed.
Accept or dismiss each finding
Each finding carries its severity, how sure the voice was, the title, the claim, the evidence the voice quoted and what it suggests in the record's own words; a finding that drafted the missing record itself says Drafts business rules (or whichever kind). People who may decide the review queue see Accept and Dismiss:
- Accept puts the finding on the review queue as a suggestion carrying the voice's name. When the voice drafted a record, the record is written there and then through its own door, in draft, with its first version stamped as Heimdall's via the council; a finding that drafted nothing is kept as a note.
- Dismiss writes nothing and remembers the idea: no voice and no research run raises it again on this project.
A decision is never undone; the finding says who decided and how.
What the voices read
Every voice reads the same brief: the project as the research describes it (its client, the titles it holds, the ideas people dismissed), the moment, and the record under review field by field, exactly as the quality reviewer reads it; for a brief import, the brief's words and every drafted row with its decision so far; for a project Heimdall scaffolded in conversation, the whole record as the tools read it. Each voice may make a handful of read-only tool calls through the same tools the panel uses, bounded by your role, to check a rule, a term, a sibling record or an entity that holds personal data before it answers. In the research round a voice reads outward instead, with the web search beside the tools: what products of this kind do, the laws and standards that bind them where the client is, the integrations they rely on and the ways they fail, and what the house stack gives for it, and tells the council what it found with its sources. In a round of the exchange a voice reads what every voice said in the round before and the findings on the table, and answers the others by name, with at most three findings that are new or that the exchange changed. In the refinement round it reads Heimdall's draft of the plan and says, step by step, what it backs and what it would change, with at most two findings the plan still needs.
A voice answers in a fixed shape: a stance in a sentence or two and a list of findings, each with a title, a claim, the evidence, a suggestion, a severity (high when a developer, a tester or the client would be blocked or misled, medium when it would be argued over, low for polish), a confidence from 0 to 1 and what accepting it should add: nothing, a note for the analyst, or a record it drafted in the brief import's own row shape. At most eight findings a voice in the reading, the most serious first; an empty list is a fine answer.
Heimdall's verdict
Heimdall speaks twice. Once the voices have read the record and answered one another, it reads every word in order and the findings numbered, and drafts the plan the council is converging on: five to twelve numbered steps, one line each, drawing only on what the voices said and backed, with an unsettled dispute written as the question to settle. The voices refine the draft, and Heimdall rules: the plan revised with the refinements the voices backed (a step a voice refuted that nobody defended is dropped), the summary, the ranked findings by number with a reason each (a finding that repeats another is left out and named in the kept one's reason), and the disagreements with the voices and the positions. A finding the verdict leaves out is still under its voice's words for you to decide.
How far a sitting deliberates is set for the workspace by the people who run it: whether the voices research first, how many rounds of the exchange they hold (two unless set otherwise) and whether they refine the plan; a council that does not refine gets its plan with the verdict.
What a sitting costs
Every voice's turn and Heimdall's verdict are calls to the model configured for the council, which thinks longer than the inline assists do, each filed in the team's AI ledger under Council and counted against the month's budget on Settings → AI. The budget is checked before every call, and so is the council's share of it: the project's Council Budget Share (25% by default) caps what the council may spend on the project in a month, and a voice that would pass it fails with the reason while the others go on. The sitting sums its cost once concluded and shows it beside the heading. A team without a cap is never refused.
A sitting is a call per voice per round plus Heimdall's two: with six voices, a research round, a reading, two rounds of the exchange and a refinement, that is thirty-two calls, and the research calls search the web as well. Convene one voice when one lens is what you need, read the latest sitting before convening another on the same record, and keep the deliberation short where the workspace allows it.
Where it stops
- It never writes on its own. A finding becomes a record only when a person accepts it, and then through the record's own door, attributed to the council.
- It reads what you may read. Every tool call runs with your role's reach, so a voice sees no more of the project than you do.
- It never sits for a client guest, who sees neither the tab nor the buttons.
- It never sits where assists are off, per project, under Settings → AI.
- It never runs unmetered. The same guard that stops any model call outside a budgeted window stops every voice and the moderator.
What happens next
council.convenedgoes out when the sitting is written,council.voice_spokeas each voice finishes,council.round_openedeach time a round opens (the reading after the research, each round of the exchange, the refinement), andcouncil.readyorcouncil.failedat the end, with the counts and the cost.- Accepting emits
council.finding_acceptedwith the record written, and the review queue's ownimport.suggestion_accepted; dismissing emitscouncil.finding_dismissedandimport.suggestion_rejected. - A record a voice drafted starts its history with a version written by Heimdall via the council, and the activity log says the same.
- A sitting whose voices all failed, or whose moderator could not answer, is marked Failed with the reason on the tab; convene it again.
From the API and MCP
Council endpoints
List a project's sittings, convene the council, read a sitting, accept or dismiss a finding.
convene_council
An agent convenes the council on a record and polls the sitting.
get_council_session
A sitting in full: the verdict, the turns and every finding.
list_council_sessions
The sittings on a project, newest first.
council.* events
Convened, each voice spoken, each round opened, ready or failed, a finding decided.
Deciding a finding is a person's act: in the panel, over REST, or through decide_council_finding
when the person tells Heimdall or an agent to; the tool pauses for their confirmation.
Permissions
| Action | Permission |
|---|---|
| See the Council tab and sittings | import:view-any, as staff |
| Convene the council | ai:use, with the project's assists on |
| Accept or dismiss a finding | import:update |
| Choose voices and the share | project:update |
Frequently asked
Why did a voice I expected not sit? The project's settings seat the voices per moment; a voice left unticked never sits, and Ask Loki on a moment Loki is not seated on is refused. Check The Council under the project's settings.
A voice failed. Is the sitting lost? No. Its line says why, and the other voices and the verdict go on without it. Only a sitting where every voice failed, or whose moderator could not answer, fails as a whole.
Can I edit what a voice drafted before it is written? Not in the Council tab: accepting writes the record as drafted, in draft status, for you to edit in its own editor with every change kept as a version. Dismiss it if the draft is wrong at heart.
Why does the verdict rank fewer findings than the voices left? Heimdall leaves out a finding that repeats another and names the kept one, and one that does not hold against the record. The left-out findings stay under their voices for you to decide.
Related
- Quality review — Heimdall alone on one record, and where the council is convened from
- Brief import — the intake scaffold the council sits on, and the review queue accepted findings join
- Research — the project brief every voice starts from
- Project settings — the voices per moment and the council's share of the budget
- Impact analysis — the brief the change impact moment reads, and Heimdall's own reading of it
- Status reference — where a sitting and a finding stand
- Usage and budgets — where every call is filed
- Safety and permissions — the rules every Heimdall feature keeps
How is this guide?
Last updated on
Research
What Heimdall is told before it reads the web for a project, what it searches for, how its notes and suggestions are shaped and filtered, why a dismissed idea never returns, what a run costs and where it stops: it never writes to the record.
Impact analysis
What Heimdall reads before it weighs a change request, what it is told to look for, how its answer becomes the draft and the numbers on the request, what a reading costs, how the council's change impact moment differs, and where it stops.