Crucible (Mixture-of-Providers council)
Crucible is a Mixture-of-Providers council built into Wayland Core. Instead of asking one model and trusting one answer, it asks several at once, each pinned to a different provider, and then fuses their proposals into a single response. The premise is simple: independent models pinned to independent providers make uncorrelated mistakes, so a fused answer is steadier than any one proposer on its own.
wayland-core crucible "<task>"Crucible is a Core engine feature. In the desktop app you do not call it directly; the desktop’s Flux Auto routes each request to the best model automatically, which is the consumer-grade surface over the same idea.
The council model
Section titled “The council model”A Crucible run has two roles.
- Proposers. N agents run the task in parallel, and each proposer is pinned to a different LLM provider. One might be Anthropic, one OpenAI, one Gemini, and so on. They do not see each other’s work; each produces its own independent proposal.
- Aggregator. A single fenced, read-only agent reads every proposal and fuses them into one answer. The aggregator does not call tools and does not act on your system. It only synthesizes.
Because the proposers are spread across providers, an outage, a refusal, or a bad answer from one provider does not sink the run. The aggregator weighs what came back and produces the consensus.
Temperatures per tier
Section titled “Temperatures per tier”Proposers and the aggregator are tuned separately. Proposers can run warmer to encourage genuinely different proposals; the aggregator runs cooler so the fusion step is steady and deterministic. These per-tier temperatures are configured under the [crucible] table rather than baked in.
Soft deadlines and quorum
Section titled “Soft deadlines and quorum”Each proposer has a soft deadline, and the run as a whole has a global soft deadline. If a proposer is slow, the run does not block on it forever: once a quorum of proposers has returned, the aggregator proceeds with what it has. A single stalled provider degrades to a smaller council rather than a hung command.
Provenance-fenced containment
Section titled “Provenance-fenced containment”Proposer output is untrusted text from the moment it leaves the model. When proposals are handed to the aggregator, they are wrapped in a provenance fence: the aggregator treats them as data to synthesize, not as instructions to follow. This containment is what lets Crucible pull answers from several providers at once without letting a prompt-injection payload in one proposal hijack the fused result.
The three modes
Section titled “The three modes”Crucible runs in one of three modes. Pick the mode for how much you want the council to drive the final answer.
--auto
Section titled “--auto”wayland-core crucible --auto "<task>"A cheap classifier looks at the task first. For trivial or low-stakes work it skips the council entirely and makes a single direct call, so you do not pay for a full council on a one-line question. It convenes the council only when the task is high-stakes or complex enough to be worth the extra providers. This is the mode to reach for when you want council quality without manually deciding which requests deserve it.
--advisor
Section titled “--advisor”wayland-core crucible --advisor "<task>"The council runs, and the fused synthesis is injected into the normal trusted agent loop as private guidance. The agent then proceeds as usual, with tools and actions, informed by the council’s view but still the one in control of the turn. Use this when you want the council to advise a working agent rather than replace it.
--terminal
Section titled “--terminal”wayland-core crucible --terminal "<task>"The council runs, the aggregator prints the fused answer, and the command stops. There is no follow-on agent loop and no tool use. Use this when you want a single high-confidence answer and nothing else.
The [crucible] budget guard
Section titled “The [crucible] budget guard”A council fans out across multiple providers, so a Crucible run costs more than a single call by design. Crucible carries its own spend guard under the [crucible] table: a per-run budget and a daily cap. When a run would exceed the budget, or when the daily cap is already spent, Crucible declines to convene the full council rather than running up an unbounded bill. This sits alongside the engine-wide budget and cost caps; the [crucible] guard is specific to council spend.
Cost accounting is provider-aware. Crucible reads per-provider pricing, supports bring-your-own pricing catalogs, and includes accurate Gemini pricing and broader Opus support, so the budget reflects what each provider in the council actually charges.
In the desktop app
Section titled “In the desktop app”You do not run wayland-core crucible from the desktop app. The desktop surfaces the same multi-model idea through Flux Auto, which routes each request to the best model automatically. Sell-side, that is the point: the desktop product makes good model choice automatic, and Crucible is the engine-level council that the technical Core surface exposes directly.