boardroom — multi-model triangulation
Programmatic API: app.server.spec_pipeline.boardroom.boardroom_query.
See ADR 007 (adrs/007-machine-ship-gate.md) for machine ship integration.
When to invoke
- High-stakes outputs where wrong call cost exceeds extra panellist cost
- Machine spec pipeline stage after
/spmspec is drafted - User asks "what does the boardroom think"
When NOT to invoke
- Routine routing — use single-model intent matrix
- More than 4 panellists
Output contract
Returns answer, panel (verbatim per model), min_pairwise_similarity, escalated, decision, confidence.
Default panel (OpenRouter)
- Panellists:
deepseek/deepseek-v4-flash,anthropic/claude-sonnet-5 - Synthesiser:
anthropic/claude-sonnet-5 - Escalation (Jaccard < 0.35):
anthropic/claude-opus-5
Hard rules
- Never skip synthesis — concatenate-only is banned
- Never swallow panellist responses
- Survive panellist failures (
asyncio.gatherwith exceptions)