SWITCHBOARD REL 1.0 · COORDINATION PLANE
CH00 HERO
SCROLL░░░░░░░░░░░░ 0%
FAST PATH P958.4MS
+ +
ROOM FEED ▮ lease granted · src/auth/session.ts → sb_9d21 · silent LIVE
01THE EXCHANGEROUTING

Every session patches through one exchange.

Agents on different machines plug into the same hub. Work routes through it, gets leased, adjudicated and gated, then lands on switchboard/live. Even the reaped session’s cable still carries.

▮ 4 SESSIONS PATCHED · 1 REAPED · STILL LANDS · DENY NEEDS EVIDENCELIVE ROUTING
02SCOPE LEASESPROTOCOL

An evidence ladder, not a lock.

L0First edit grants a lease, silently. No ceremony, no waiting, no checkout.
L1A colliding edit from another machine is allowed. Each session rides its own branch. The overlap is recorded, both parties get the facts once, and the pair is queued for adjudication.
L2A refusal requires evidence: an incompatible verdict or a real merge conflict. Denials last 30 minutes and cite their evidence.
HUB → AGENTDENY
deny · write src/payments/ledger.ts
evidence: conflicted merge m_4e12 touched this path 14m ago
expires: 30m · appeal: attach a passing merge preview
verbatim. the same words the agent sees. no hidden state.
03TWO SPEEDSLATENCY

Deterministic when it blocks. Intelligent when it can wait.

Every edit gets a tiered, deterministic answer, with no model on the blocking path. The intelligent work, collision adjudication, semantic conflict detection and handoff packets, runs beside the code and arrives at the next safe point.

blocking · tiered, no model<50ms p95
full gated-edit round trip~133ms
verdicts · handoffs · semanticsasync · next safe point
the live p95 is pinned in the board’s top rail. same number, same instrument
04HYBRID SYNCPIPELINE

Always green, by construction.

Agents hear about the room in real time but receive code only at task boundaries, squash-merged through a build gate into switchboard/live. A conflicted merge lands nothing, and it becomes the evidence that denies the next overlap on those paths for 30 minutes.

Abandoned sessions are reaped: their branches land through the same gate, unattended. A dead agent’s green work is not lost work.

session branch → gate → live conflict → lands nothing → evidence
05CONTRACTSPROTOCOL

Interfaces agreed before the code exists.

Propose a shape. Consumers push back inside a settling window. Silence is consent. Late joiners inherit settled contracts as facts.

C_BADGE · CONTRACTSETTLING · 1:32
getUserBadge(userId: string): Badge { tier, since, flags[] }
▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮
proposed by sb_9d21 (dev@laptop) · consumers sb_7f3a · sb_c44e
2 acks · 0 objections · silence is consent
06THE BOARDLIVE

This is not a diagram.

A working miniature of the room you just read about. Drag a node, hover a lease. The full board runs the same data with drawers, steering and postures.

OPEN THE FULL BOARD ↗
LIVE MINIATURE · demo/checkout
07MULTIPLAYERTRUST

Steer any agent in the room. From anywhere.

From the board you can watch any agent’s conversation live and type a prompt into it · across machines. The trust boundary is plain:

projector linksread-only
steeringper-operator token
thinking & tool internalsnever leave the machine
SB_9D21 · DEV@LAPTOPPROJECTION
yourotate signing keys without invalidating live sessions
agentTwo-phase: introduce k2 alongside k1, verify with either, then retire k1.
tooledit src/auth/rotate.ts (+66 −8)
·thinking (24s) · stays on dev@laptop
operatorprefer a 24h overlap window for k1
agentAcknowledged · folding that into the current step.
steering as operator o_31ac · across machines
08NUMBERSMEASURED

The measured story.

Presented like an audit, not marketing. Honesty is the brand.

COORDINATION OVERHEAD VS. UNCOORDINATED AGENTS · THREE TRIALS
trial 1▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮3.70x cost
trial 2▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮▮░░░░░░░░░░░░░░░░2.05x cost
trial 3▮▮▮▮▮▮▮▮▮▮▮▮▮▮░░░░░░░░░░░░░░░░░░░░░░░1.37x cost
wall-clock · trial 31.73x
denials · trial 30 · full speed was the default, measured
blocking decision · every edit<50ms p95 · ~133ms full round trip
automated tests on the hub453
animation frames · settled board0 · it sleeps until the model changes
unattended reap1 dead agent’s branch landed green
09DOCUMENTATIONREFERENCE

Everything you need to run a room.

tokens are normative:
/design →

Quickstart · the one-command demo

One command boots a hub, enrolls two clones of a fixture repo, and puts four overlapping tasks on the board. Nothing touches GitHub and nothing needs credentials.

# clone, build once, then:
git clone https://github.com/abc000cool/roster && cd roster
(cd cli && npm install && npm run build) && (cd hub && npm install)
node scripts/demo.mjs --clones 2

When the room is live, the board URL prints:

[hub] switchboard-hub listening on :7420
[hub] board: http://localhost:7420/board#k=TwvvnKnuLkai…

There is no login on the board. The key rides the URL. For your own repo: run switchboard-hub start --repo <git-url> on any machine, then switchboard join --hub http://<hub>:7420 --key <join-key> in each teammate’s clone.

SWITCHBOARD

Several people. Several coding agents. One repo. Full speed by default, and a deny needs evidence.

referencedocs ↑
TRY IT
node scripts/demo.mjs --clones 2
fails open · the key rides the URL
transcripts are projections
+© 2026 SWITCHBOARD · REL 1.0 · FULL SPEED BY DEFAULT · A DENY NEEDS EVIDENCE+