delegation-kit · v0.23.1 · Claude Code and Codex

Your agents don't dispatch on their own. You choose the lane. The gates decide if it's open.

delegation-kit gives Claude Code and Codex a governed way to hand bounded coding work to other models: cheap lanes for small support tasks, max-effort builders for implementation, and a mandatory cross-family review of every delegated result. Every delegation is named or explicitly authorized by you, per request.

Install (macOS, jq, git)

git clone https://github.com/matteoscurati/delegation-kit
cd delegation-kit
./install.sh        # or --claude-only / --codex-only
./doctor.sh         # verify everything is wired
or npx delegation-kit
or /plugin install delegation-kit

Resolve a lane

This is the router's real answer, computed by delegation-route when the site was built, from the gates shipped in 0.23.1. No script runs on this page.

Lane
Producer family (review lanes exclude it)

$ delegation-route resolve --lane builder --json

choices — you pick one, or authorize the lead to

  • terra-builder gpt-5.6-terra / codex / max · openai provisional
  • opus-builder claude-opus-5 / claude-code / max · anthropic provisional
  • glm53-flash-max-builder glm-5.3-flash / claude-zai / max · zai provisional
  • kimi-k3 kimi-k3 / kimi-code-cli / max · moonshot provisional
  • grok-build grok-4.6 / grok-build-cli / high · xai provisional
  • qwen3.8-max qwen3.8-max / token-plan-openai / xhigh · alibaba provisional
  • deepseek-v4-pro deepseek-v4-pro / deepseek-api / max · deepseek provisional

blocked — not selectable by anyone

  • gemini-3.7-flash-builder candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane clerk --json

choices — you pick one, or authorize the lead to

  • luna-clerk gpt-5.6-luna / codex / max · openai provisional
  • sonnet-clerk claude-sonnet-5 / claude-code / low · anthropic provisional
  • glm53-flash-max-clerk glm-5.3-flash / claude-zai / max · zai qualified
  • kimi-k3 kimi-k3 / kimi-code-cli / max · moonshot provisional

blocked — not selectable by anyone

  • qwen3.8-max candidate
  • deepseek-v4-pro candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane frontend-builder --json

choices — you pick one, or authorize the lead to

  • kimi-k3 kimi-k3 / kimi-code-cli / max · moonshot provisional
  • grok-build grok-4.6 / grok-build-cli / high · xai provisional

blocked — not selectable by anyone

  • gemini-3.7-flash-frontend-builder candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane judgement --json

choices — you pick one, or authorize the lead to

  • astra-judge gpt-6-astra / codex / high · openai-gpt6 manual-qualified
  • fable-judge claude-fable-5-1 / claude-code / max · anthropic manual-qualified

blocked — not selectable by anyone

  • kimi-k3 disabled
  • gemini-3.7-flash-judgement disabled
  • qwen3.8-max disabled
  • deepseek-v4-pro disabled

excluded — same family as the producer

none

$ delegation-route resolve --lane policy-annotation --json

choices — you pick one, or authorize the lead to

none — the lane has no selectable profile

blocked — not selectable by anyone

  • opus-policy-annotator candidate
  • fable-policy-annotator candidate
  • glm53-flash-max-policy-annotation candidate
  • kimi-k3 candidate
  • grok-build candidate
  • qwen3.8-max candidate
  • deepseek-v4-pro candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane reviewer --json

choices — you pick one, or authorize the lead to

none — the lane has no selectable profile

blocked — not selectable by anyone

  • glm53-flash-max-reviewer disabled
  • kimi-k3 disabled
  • gemini-3.7-flash-reviewer disabled
  • qwen3.8-max candidate
  • deepseek-v4-pro candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane scout --json

choices — you pick one, or authorize the lead to

  • sonnet-scout claude-sonnet-5 / claude-code / low · anthropic provisional
  • glm53-flash-max-scout glm-5.3-flash / claude-zai / max · zai qualified
  • kimi-k3 kimi-k3 / kimi-code-cli / max · moonshot provisional

blocked — not selectable by anyone

  • gemini-3.7-flash-scout candidate
  • qwen3.8-max candidate
  • deepseek-v4-pro candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane senior --json

choices — you pick one, or authorize the lead to

none — the lane has no selectable profile

blocked — not selectable by anyone

  • kimi-k3 candidate
  • qwen3.8-max candidate
  • deepseek-v4-pro candidate

excluded — same family as the producer

none

$ delegation-route resolve --lane material-review --producer-family alibaba --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane material-review --producer-family anthropic --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • opus-reviewer · anthropic

$ delegation-route resolve --lane material-review --producer-family deepseek --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane material-review --producer-family google --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane material-review --producer-family moonshot --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane material-review --producer-family openai --json

choices — you pick one, or authorize the lead to

  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • terra-reviewer · openai

$ delegation-route resolve --lane material-review --producer-family openai-gpt6 --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • astra-reviewer · openai-gpt6

$ delegation-route resolve --lane material-review --producer-family xai --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane material-review --producer-family zai --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane routine-review --producer-family alibaba --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane routine-review --producer-family anthropic --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • sonnet-reviewer · anthropic
  • opus-reviewer · anthropic

$ delegation-route resolve --lane routine-review --producer-family deepseek --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane routine-review --producer-family google --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane routine-review --producer-family moonshot --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane routine-review --producer-family openai --json

choices — you pick one, or authorize the lead to

  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • terra-reviewer · openai

$ delegation-route resolve --lane routine-review --producer-family openai-gpt6 --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • astra-reviewer · openai-gpt6

$ delegation-route resolve --lane routine-review --producer-family xai --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane routine-review --producer-family zai --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • sonnet-reviewer claude-sonnet-5 / claude-code / medium · anthropic provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane security --producer-family alibaba --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane security --producer-family anthropic --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • opus-reviewer · anthropic

$ delegation-route resolve --lane security --producer-family deepseek --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane security --producer-family google --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane security --producer-family moonshot --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane security --producer-family openai --json

choices — you pick one, or authorize the lead to

  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • terra-reviewer · openai

$ delegation-route resolve --lane security --producer-family openai-gpt6 --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

  • astra-reviewer · openai-gpt6

$ delegation-route resolve --lane security --producer-family xai --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane security --producer-family zai --json

choices — you pick one, or authorize the lead to

  • terra-reviewer gpt-5.6-terra / codex / max · openai provisional
  • astra-reviewer gpt-6-astra / codex / high · openai-gpt6 provisional
  • opus-reviewer claude-opus-5 / claude-code / max · anthropic provisional

blocked — not selectable by anyone

none

excluded — same family as the producer

none

$ delegation-route resolve --lane super-judgement --json

Compound lane

fable-judge + astra-judge manual-qualified

Protocol independent-then-cross-review; final authority: lead.

Activation

Use only for highly complex, high-blast-radius, difficult-to-reverse decisions with at least two documented complexity triggers.

requires_user_direction: true · automatic_dispatch: false · authorization carries to retries: false · to review: false

How a dispatch happens

The flow is always the same four steps, in this order. The first three are read-only.

  1. step 1

    Discover

    delegation-route resolve --lane builder --json

    Read-only. The router lists the profiles a user may select for the lane, the blocked ones, and why. Nothing is dispatched.

  2. step 2

    Choose

    "Use terra-builder for <task>."

    You name the profile, or you authorize the lead to pick one from the displayed choices. Task complexity, an installed skill, or a previous authorization is not authorization.

  3. step 3

    Validate

    delegation-route resolve --lane builder --selected-profile terra-builder --json

    Still read-only. The router confirms the selection is legal for the lane and exits 78 if it is not.

  4. step 4

    Dispatch

    codex exec --ephemeral -p terra-builder "<bounded, user-authorized task>" </dev/null

    Only now. Retries and the cross-family review are dispatches too: each needs its own approval unless your request named that finite set.

Three failure modes, three answers

Agents that dispatch other agents on their own authority

Every dispatch is user-directed, per request, enforced by fail-closed routing gates rather than polite prose. The gate carries an activation policy: mode user-directed, scope per-dispatch, automatic_dispatch false.

Ungoverned routing — "use whatever model is available"

A lane exists only after a versioned, evidence-backed gate says so. Every external runner re-validates the complete decision graph before each check and run, and refuses drift between the central gate and its own.

Unverified output — delegated diffs shipped unread

A sufficiently capable model from a different family must review every delegated result; text-patch lanes pass through a read-only patch verifier. The lead, and only the lead, applies and tests.

The routing table

27 profiles, 54 lane decisions, straight from delegation-route table. A status is bound to dated benchmark rows plus local smokes; selection is closed at explicit-only or blocked. There are no default or fallback routes.

qualified evidence-backed, selectable provisional selectable with an explicit flag manual-qualified judgement, explicit-only candidate / disabled blocked

Profile Model / harness / effort Lane · evidence gap Gate Exact · context · local Fallback
luna-clerk gpt-5.6-luna / codex / max clerk provisional 1 · 2 · —
terra-builder gpt-5.6-terra / codex / max builder provisional 1 · 2 · —
terra-reviewer gpt-5.6-terra / codex / max routine-review No exact review precision/recall row; coding evidence is contextual only. provisional 0 · 1 · —
material-review No exact review precision/recall row; coding evidence is contextual only. provisional 0 · 1 · —
security No exact security-review precision/recall row; coding evidence is contextual only. provisional 0 · 1 · —
astra-reviewer gpt-6-astra / codex / high material-review No exact review precision/recall row. provisional 0 · 2 · —
security No exact security-review precision/recall row; the coding row is contextual only. provisional 0 · 2 · —
routine-review No exact review precision/recall row. provisional 0 · 2 · —
astra-judge gpt-6-astra / codex / high judgement Judgement is manual-only; the available rows measure coding or computer use rather than judgement quality. manual-qualified 0 · 2 · 1
sonnet-clerk claude-sonnet-5 / claude-code / low clerk No current exact Claude Code low row. provisional 0 · 0 · —
sonnet-scout claude-sonnet-5 / claude-code / low scout No current exact Claude Code low row. provisional 0 · 0 · —
sonnet-reviewer claude-sonnet-5 / claude-code / medium routine-review No exact review precision/recall row. provisional 0 · 0 · —
opus-builder claude-opus-5 / claude-code / max builder provisional 1 · 3 · 1
opus-reviewer claude-opus-5 / claude-code / max routine-review No exact review precision/recall row; coding evidence is contextual only. provisional 0 · 2 · —
material-review No exact review precision/recall row; coding evidence is contextual only. provisional 0 · 2 · —
security No exact security-review precision/recall row; coding evidence is contextual only, and the benign smoke does not exercise Anthropic's classifier-triggered fallback. provisional 0 · 2 · — claude-opus-4.8
opus-policy-annotator claude-opus-5 / claude-code / xhigh policy-annotation No frozen local policy-annotation result exists for the xhigh Claude Code variant. candidate 0 · 0 · —
fable-judge claude-fable-5-1 / claude-code / max judgement No exact judgement benchmark; coding evidence is contextual only. manual-qualified 1 · 3 · 1
fable-policy-annotator claude-fable-5 / claude-code / xhigh policy-annotation The frozen v1 transport failed; no fresh held-out policy-annotation result exists for the xhigh Claude Code variant. candidate 0 · 0 · —
glm53-flash-max-clerk glm-5.3-flash / claude-zai / max clerk qualified 0 · 1 · 6
glm53-flash-max-scout glm-5.3-flash / claude-zai / max scout qualified 0 · 1 · 7
glm53-flash-max-builder glm-5.3-flash / claude-zai / max builder provisional 0 · 1 · 6
glm53-flash-max-reviewer glm-5.3-flash / claude-zai / max reviewer No exact review precision/recall result. disabled 0 · 0 · —
glm53-flash-max-policy-annotation glm-5.3-flash / claude-zai / max policy-annotation No frozen local GLM-5.3-Flash/max policy-annotation result; coding-lane qualification does not transfer. candidate 0 · 0 · —
kimi-k3 kimi-k3 / kimi-code-cli / max clerk provisional 1 · 0 · —
scout provisional 1 · 1 · —
builder provisional 1 · 2 · —
frontend-builder WebDev uses a different harness/default effort; coding evidence is supporting only. provisional 0 · 2 · —
senior Steerability evidence is insufficient for promotion. candidate 0 · 1 · —
judgement disabled 0 · 0 · —
policy-annotation No frozen local policy-annotation result exists. candidate 0 · 0 · —
reviewer No exact review precision/recall row. disabled 0 · 0 · —
gemini-3.7-flash-scout gemini-3.7-flash / agy / medium scout The official launch confirms Gemini 3.7 Flash and medium thinking, but the current local Antigravity session cannot attest exact model inventory or OAuth. The previous Gemini 3.6 smoke does not transfer. candidate 0 · 1 · —
gemini-3.7-flash-builder gemini-3.7-flash / agy / high builder Google reports strong DeepSWE and FrontierCode results, but they do not attest the prompt-only agy/high route and no local scoped-edit evaluation exists. candidate 0 · 1 · —
gemini-3.7-flash-frontend-builder gemini-3.7-flash / agy / high frontend-builder Google reports WebDev Elo 1588, but the harness differs and no frontend-specific local agy/high evaluation exists. candidate 0 · 1 · —
gemini-3.7-flash-reviewer gemini-3.7-flash / agy / high reviewer No exact review precision/recall evaluation. disabled 0 · 0 · —
gemini-3.7-flash-judgement gemini-3.7-flash / agy / high judgement Runtime availability and launch claims cannot qualify judgement. disabled 0 · 0 · —
grok-build grok-4.6 / grok-build-cli / high builder provisional 0 · 4 · 1
frontend-builder WebDev uses a different harness and its 4.6 row is preliminary; frontend preference is an explicit owner decision. provisional 0 · 3 · 0
policy-annotation No frozen Grok 4.6 policy-annotation manifest or local result exists. Historical Grok 4.5 manifests are not valid for this tuple. candidate 0 · 0 · —
qwen3.8-max qwen3.8-max / token-plan-openai / xhigh builder No DeepSWE or Terminal-Bench v2 row exists for qwen3.8-max on any harness, so both builder required metrics are unmet. Promotion is an owner decision recorded as provisional and explicit-only. provisional 0 · 1 · 1
clerk No exact public benchmark or local clerk evaluation. candidate 0 · 0 · —
scout No exact public benchmark or local repository-navigation evaluation. candidate 0 · 0 · —
reviewer No exact review precision/recall evaluation. candidate 0 · 0 · —
senior No exact high-risk judgement or steerability evaluation. candidate 0 · 0 · —
judgement Launch claims and runtime access cannot qualify judgement. disabled 0 · 0 · —
policy-annotation No frozen local policy-annotation result exists. The previous allowlisted manifest was bound to the qwen3.8-max-preview tuple and is void after the rename; regenerate it against qwen3.8-max before any evaluation run. candidate 0 · 0 · —
deepseek-v4-pro deepseek-v4-pro / deepseek-api / max builder The provider reports Terminal-Bench 2.0 for a different harness, no DeepSWE row exists, and WebDev only supports frontend work. provisional 0 · 1 · 1
clerk No exact public benchmark or local clerk evaluation. candidate 0 · 0 · —
scout No exact public benchmark or local repository-navigation evaluation. candidate 0 · 0 · —
reviewer No exact review precision/recall evaluation. candidate 0 · 0 · —
senior No exact high-risk judgement or steerability evaluation. candidate 0 · 0 · —
judgement Provider claims and runtime access cannot qualify judgement. disabled 0 · 0 · —
policy-annotation No frozen local policy-annotation result exists. candidate 0 · 0 · —

What's in the box

Claude Code · ~/.claude

  • 6 subagent profiles: sonnet-clerk, sonnet-scout, sonnet-reviewer, opus-builder, opus-reviewer, fable-judge
  • the routing skill, loaded only on an explicit delegation request
  • the orchestrate skill: the user-approved finite dispatch list is the budget
  • six external-executor skills, gate-allowed lanes only
  • the user-direction guard, always loaded from CLAUDE.md

Codex · ~/.codex

  • 5 native profiles: luna-clerk, terra-builder, terra-reviewer, astra-reviewer, astra-judge
  • 5 ephemeral profiles for codex exec --ephemeral -p
  • the same guard, in AGENTS.md

CLI · ~/.local/bin, shared

  • delegation-route: the read-only router. Never dispatches.
  • delegation-{glm,gemini,kimi,grok,qwen,deepseek}: 6 gated runners, 35 lane declarations, 11 dispatchable
  • delegation-executor-contract: permission classes read-only / text-patch / worktree-edit; exit codes 64 69 70 75 78 130
  • delegation-patch-verify: read-only trust boundary for text-patch lanes
  • delegation-evidence, delegation-epoch, delegation-schema

Adapt it

The kit ships as a reference implementation with the author's models. The structure is the transferable part: map each role to a model and effort slot of your own and re-derive the numbers. Adapting guide →

Read the policy

Which model does which job, with the cost-per-task numbers behind it, and the bar a new model must clear before it earns a row. Routing policy →