// Orchestration · ~12 min

Supervisor

Reach for it when: When workers need a referee that routes and vetoes, not a planner that drafts.

// 60-second mental model

How to hold it in your head

Workers propose; a supervisor decides who runs next and what is allowed to leave. The supervisor does not write the essay — it routes, scores, and vetoes.

A supervisor agent owns routing state: select worker → collect result → accept/reject/reassign, with a hard veto on unsafe or off-contract outputs.

// Mini architecture

Workers propose · supervisor routes and vetoes

┌──────────────┐
│ User goal    │
└──────┬───────┘
       ▼
┌──────────────┐  route / reassign  ┌────────────┐
│ Supervisor   │ ─────────────────► │ Worker A/B │
│ (gate+score) │ ◄───────────────── │  result    │
└──────┬───────┘     propose        └────────────┘
       │ veto?
       ├─ yes → reassign or refuse
       └─ no  → Final answer

The supervisor’s only writes are route, score, and veto — never the worker’s draft.

// Mini-project

Support triage with a veto gate (stub)

Supervisor + two stub workers

Goal: Route a ticket to billing or product stubs; supervisor rejects any reply that invents a refund amount.

  1. Accept a canned support ticket.
  2. Supervisor picks `worker_billing` or `worker_product` from keywords.
  3. Worker stubs return a draft reply (one includes a fake refund number).
  4. Supervisor scores against a contract: no dollar amounts unless tool-backed.
  5. On veto, reassign once or emit a safe refusal.
  6. Log route → result → accept/veto for the demo.

Stubs are enough. The lesson is the referee contract — route and veto, do not draft.

// Common failure

What goes wrong

Symptom

Supervisor writes the answer itself — workers become decorative.

Fix

Restrict the supervisor to route/score/veto tools only. Ban free-text “I’ll handle it.”

// Self-reflection

Sit with this

Where do you need a referee more than another specialist?

Session only. Nothing is saved.