LIVEThe Switchboard routing playground is real. Operate it below.

AIneedsasheepdog.

Three systems that route every task to the right model, make models argue over the hard calls, and stop runaway sessions before they burn. Built in public, with receipts.

by Joaquin Diaz Gutierrez

Three jobs. One dog.
{"event":"task_received","task_type":"extraction","complexity":0.3} {"event":"routed","model":"DeepSeek-V4-Flash-0731","cost":"$0.0003"} {"event":"supervised","rung":"OK","signals":[]} {"event":"verified","ok":true,"trace":"written"} {"event":"task_received","task_type":"extraction","complexity":0.3} {"event":"routed","model":"DeepSeek-V4-Flash-0731","cost":"$0.0003"} {"event":"supervised","rung":"OK","signals":[]} {"event":"verified","ok":true,"trace":"written"}
02 · the journey

One task, three jobs, one trace.

scene Aarrival
claude-opus-5frontier · slowgemini-3.7-flashmid · fastDeepSeek-V4-Flash-0731small · fast

mechanism: junction: three candidate tracks, no commitment yet

scene A

A task arrives. It could go to any model: the expensive genius, the fast intern, the cheap workhorse.

scene B

Switchboard weighs quality, cost, and latency, then commits with a written reason.

scene C

Some questions are too important for one opinion. Quorum convenes the classroom.

scene D

While work runs, Governor watches, and it knows the difference between a long job and a runaway one.

scene E

Output, verified. With the receipt.

Every decision above is real behavior from real systems. Scroll on to operate them.

// what you can do with these

Operations
evolved

--% · waiting for live catalog
  • Go to Switchboard
    Explainable RoutingCost GuardrailsCross-Lab AuditJSONL Traces

    Switchboard

    Routes every request to the cheapest model that is qualified for it, and writes down why.

    --% cheaper

    waiting for live catalog

  • Go to Quorum
    Numbered ClaimsBlind CritiqueMinority ReportArbiter Verdict

    Quorum

    Makes three models argue a hard question and preserves the dissent, not just the verdict.

    ● BUILT · unmeasuredRead the code
  • Go to Governor
    Five-Rung LadderNo LLM InsideHysteresisHuman Authority

    Governor

    Watches running agents and tells a runaway loop from a healthy long day of work.

    ● RELEASED v0.2.0Read the code
03 · chapter one● LIVE--% · waiting for live catalog

Switchboard

Out of Fable credits again?Rate limited on Luna at 4pm?Favorite provider down on launch day?

Every AI product decides which model gets each task, thousands of times a day. Most teams decide once, by hardcoding a model name, and pay for it invisibly ever after.

policy.max_provider_failovers = 2 · outages, rate limits and timeouts reroute to the runner-up · and yes, Fable and Luna are real models in the live catalog below

what it is

A dispatcher for AI work.

Switchboard decides before every call which model gets the job, writes down why, and keeps the receipt.

why it exists
ALL FRONTIERoverspend 10x to 30x
ALL CHEAPquality failures reach users
SWITCHBOARDthe tradeoff, on the record
what it does
  1. 01

    Gates before scores.

    Hard work goes frontier-only, and no model wins a task it is not rated for, however cheap. When nothing qualifies it escalates upward and says so.

  2. 02

    Chooses with a written reason.

    Quality, cost and latency, weighed by a policy you can read in a diff. Every decision returns a ranked list and a plain sentence you can argue with.

  3. 03

    Verifies and logs.

    A model from a different lab audits the output, so shared blind spots do not grade their own homework. Everything lands in a JSONL trace you can replay.

{"event":"catalog","status":"loading","source":"raw.githubusercontent.com"} {"event":"catalog","status":"loading","source":"raw.githubusercontent.com"}
the playground · real router, live catalogloading catalog…
task type
complexity0.30
0.00 trivial1.00 hardest
policy

loading live catalog…

fetching catalog from GitHub...

Not the same job as Anthropic's Advisor tool

Advisor tool facts as of its 2026 beta docs.

advisor

A cheaper Claude consults a smarter Claude mid-task. The model decides when to ask for help.

switchboard

You decide before the task which model gets the job, by a policy you own and version.

advisor

One vendor's family: Claude models only, inside one API request.

switchboard

Routes across labs. The starter catalog spans Anthropic, OpenAI, Google and DeepSeek, and audits prefer a different lab than the one that did the work.

advisor

Guidance happens inside the request, invisible to your policy layer.

switchboard

Every choice is a logged, replayable decision with a written rationale and a cost attached.

They compose. Switchboard picks the executor and writes down why. The executor can still ask an advisor for help mid-task.

04 · chapter two● BUILT · unmeasured

Quorum

Ever shipped an answer because it sounded confident?Who argues with the model?Where was the second opinion?

For decisions that matter, eloquence is not evidence. Quorum makes three models argue and shows you the fight.

convening rule: 9.3% of a 43-task workload convenes · 4/4 genuine judgement calls convene · 0 routine false positives

what it is

A deliberation protocol.

Three models answer in isolation, attack each other's claims by number, revise, and an arbiter delivers the verdict with the dissent preserved.

The gates fail closed, the opposite of Switchboard, on purpose: a wrong convene costs a 7x bill, so the default answer is no.

why it exists
ONE MODELconfidence mistaken for evidence
SIMPLE VOTINGstyle wins and herding hides errors
QUORUMclaims argued, dissent on the record
what it does
  1. 01

    Isolates first.

    Three answer sheets are written blind, then anonymized to A and B. Style never leaves the room.

  2. 02

    Attacks claims by number.

    Critique targets claim 3, not vibes. Vague agreement is structurally impossible.

  3. 03

    Preserves the dissent.

    The arbiter rules, and the minority report is kept, not erased. Losing the vote does not mean leaving the record.

{"event":"exam_sealed","sheets":3,"isolation":"enforced","note":"spec example"} {"event":"claim_challenged","sheet":"B","claim":3,"by":"A"} {"event":"position_changed","sheet":"B","dropped_claims":[3]} {"event":"verdict","minority_report":"preserved","note":"spec example"} {"event":"exam_sealed","sheets":3,"isolation":"enforced","note":"spec example"} {"event":"claim_challenged","sheet":"B","claim":3,"by":"A"} {"event":"position_changed","sheet":"B","dropped_claims":[3]} {"event":"verdict","minority_report":"preserved","note":"spec example"}
protocol illustration · not a live sessionbeat 1/4 · silent exam
1.2.3.4.sheet1.2.3.4.sheet1.2.3.4.sheet

mechanism: three sheets written independently, isolation enforced

honesty

Status: every phase is built and tested. 322 tests, replay-complete traces, a deanonymization probe and a benchmark harness all exist. What does not exist is a single number produced by a real model: every eval runs against mocks, which proves the harnesses work and proves nothing about the models. The benchmark table goes in the README the day someone runs it with real keys, whatever it says.

Read the code →
designed target (from the spec)

position-change target: 15-60%

0% = theater · 100% = herding

05 · chapter three● RELEASED v0.2.0

Governor

Who was watching at 2am?How long did the loop run before anyone noticed?Would max_tokens have caught it?

An agent can stay under budget on every step and still burn the night retrying one failing call. The limit that matters is not how long a run is. It is whether the run is going anywhere.

evals/runaway_eval.py: 11/11 · retry storm caught at step 2 · healthy 150-step run never left OK

what it is

A runaway-session governor.

Governor watches surface behavior, repeated text, repeated calls, repeated errors, growing prompts, and moves a five-rung ladder: OK, WARN, THROTTLE, PAUSE, KILL.

why it exists
STATIC LIMITStoo loose for loops, too tight for long runs
LLM SUPERVISORSa watchdog that can itself hallucinate
GOVERNORdumb, deterministic, exhaustively tested
what it does
  1. 01

    Dumber than what it watches.

    Every detector is deterministic: token counts, call signatures, state digests. No model is called anywhere in the safety path.

  2. 02

    Escalates fast, descends slow.

    Evidence arrives all at once, so escalation may jump rungs. Coming back down is earned one rung at a time, after consecutive healthy steps.

  3. 03

    Evidence, not authority.

    A model asking to be killed reaches a human, never the kill switch. Kills destroy state, and most loops are recoverable if caught early.

{"event":"escalate","rung":"THROTTLE","signal":"retry_storm","value":0.82,"threshold":0.75} {"event":"de_escalate","from":"THROTTLE","to":"WARN","healthy_streak":3} {"event":"observe","rung":"OK","cost_us":400,"note":"~0.4ms per event"} {"event":"scorecard","scenarios":"11/11","suite":"evals/runaway_eval.py"} {"event":"escalate","rung":"THROTTLE","signal":"retry_storm","value":0.82,"threshold":0.75} {"event":"de_escalate","from":"THROTTLE","to":"WARN","healthy_streak":3} {"event":"observe","rung":"OK","cost_us":400,"note":"~0.4ms per event"} {"event":"scorecard","scenarios":"11/11","suite":"evals/runaway_eval.py"}
the ladder · protocol illustrationscenario: retry_storm · evals/runaway_eval.py
OKWARNTHROTTLEPAUSEKILLOK

Escalation is immediate and may jump rungs. Evidence arrives all at once.

event log
{"step":1,"event":"tool_call","id":"‹masked›"}
honesty

These are protocol illustrations, not live sessions. Every number in them matches the shipped eval scorecard (11/11 scenarios passing in CI). Code: github.com/JoaquinDG/governor

05b · run it yourself

The receipts, executable

Everything claimed on this page runs offline on your machine. No API keys needed.

$ git clone https://github.com/JoaquinDG/switchboard && cd switchboard
$ PYTHONPATH=src python3 -m unittest discover -s tests # 212 tests
$ PYTHONPATH=src python3 evals/routing_eval.py # 8 routing scenarios
$ PYTHONPATH=src python3 examples/quickstart.py # full demo, no API keys
06 · the fourth system

How this was built

These systems were built the way they say AI should be run: specs before code, each repo started as a PRD with goals, non-goals, and rejected alternatives; evals that caught real bugs before launch, Switchboard's scenario suite caught its gates failing open and cost pressure routing work to underqualified models, documented in the README and now regression tests; Governor's audit found six defects where the safety property was stated in a docstring and enforced nowhere, all eight findings documented; and multiple AI agents dispatched in parallel and supervised with different models building different systems, coordinated like the trilogy itself prescribes.

Switchboard212 tests · 8 routing scenarios
Quorum322 tests · 3 eval harnesses
Governor89 tests · 11/11 scenarios

The portfolio is the product demo. I didn't just build a dispatcher, a deliberation protocol, and a watchdog. I ran my own build process on them.