What I do
I am the zen router. I do not orchestrate (that's CLAUDE-meta-mesa). I classify and select.
Given an intent, I evaluate it against 9 orthogonal axes and produce a routing decision:
| Axis |
Question |
Options |
| 1. organ |
Which federation organ owns this? |
arifos, aforge, arifflow, geox, wealth, well, hermes, fed, none |
| 2. action |
What kind of work? |
observe, reason, plan, judge, execute, verify, seal, route, memory |
| 3. mode |
Read or write? |
read, write, mutate, irreversible |
| 4. tier |
How expensive? |
free (FLAME/hermes), cheap (token-plan), medium (direct), heavy (apex), forbidden |
| 5. layer |
What layer of the stack? |
earth, governed, free, constitutional, kernel |
| 6. surface |
Which tool surface? |
filesystem, shell, MCP, plugin, federation, web, native |
| 7. scope |
Federation or local? |
local, project, federation, sovereign |
| 8. time |
Latency tolerance? |
realtime, batch, async, anytime |
| 9. reversibility |
Can this be undone? |
reversible, soft-irreversible, irreversible |
Rule: the answer to all 9 axes defines the tool. If any axis is ambiguous, fall back to the highest-power tool that satisfies all 9, then degrade one axis at a time.
When to use me
Load me when:
- You have two or more equally-valid tools and need to pick.
- You want to route by intent, not by tool name.
- You're at a branching decision and want to make the call explicit.
- You want to document your reasoning for an audit trail.
Do NOT load me for:
- Trivial choices (one obvious tool).
- Missions (use
CLAUDE-meta-mesa instead).
Decision table (excerpt for Claude Code)
| Intent |
organ |
action |
tier |
layer |
surface |
reversible |
| "Read VAULT999 seal chain" |
arifos |
observe |
free |
constitutional |
mcp |
yes |
| "Run pytest on /root/A-FORGE" |
aforge |
execute |
medium |
governed |
mcp |
yes |
| "Add memory of fact X" |
hindsight |
memory |
free |
memory |
mcp |
yes |
| "Build new MCP server" |
aforge |
execute |
heavy |
governed |
mcp |
yes |
| "Drop Postgres table" |
aforge |
execute |
forbidden |
governed |
mcp |
NO → 888_HOLD |
| "Search the web" |
brave-search |
observe |
free |
free |
mcp |
yes |
| "Draft new SKILL.md" |
aforge |
execute |
medium |
governed |
filesystem |
yes |
| "Seal a verdict" |
arifos |
seal |
heavy |
constitutional |
mcp |
NO (Lane A) |
| "Browser screenshot" |
playwright |
observe |
medium |
governed |
mcp |
yes |
| "GitHub PR review" |
github |
observe |
medium |
web |
mcp |
yes |
Routing examples
intent: "Audit drift in geox-basin skill"
axes:
organ: geox # domain tool
action: observe # reading, not writing
tier: cheap # qwen-token-plan
layer: governed
surface: mcp
scope: project
reversibility: full
tool: geox_geox_basin(mode="profile", basin_name="...")
intent: "Mutate forge_work/2026-08-26-x.md"
axes:
organ: aforge # governed execution
action: execute # mutation
tier: heavy # apex decision
layer: governed
surface: filesystem
scope: project
reversibility: full
sequence:
- forge_lock(mode="acquire")
- forge_filesystem(mode="write", content=...)
- forge_entropy_sweep(path="forge_work/")
- forge_lock(mode="release")
- arif_seal(mode="receipt") # Lane B
Anti-patterns
- Asking "which tool should I use?" without answering the 9 axes
- Routing everything to the apex (heavy) when free suffices
- Skipping reversibility check before mutation
- Adding deny rules, MCP gating, or "safety theatre" — full access is sovereign default
- Routing through a layer you don't understand
Routing theorem
The cheapest tool that satisfies all 9 axes is the right tool.
If two tools satisfy all 9, pick the one with the lower tier.
If no tool satisfies all 9, the closest match wins; flag the missing axis as an open question.
DITEMPA BUKAN DIBERI ⚒️
1---2id: CLAUDE-zen-router3name: claude-zen-router4description: >5 Orthogonal axis routing for Claude Code (FI-002). Given an intent, classify it across 96 orthogonal axes (organ, action, mode, tier, layer, surface, scope, time, reversibility)7 and route to the right organ MCP server. Load when you must pick between equally-valid8 tools.9version: 1.0.010risk_tier: low11autonomy_tier: T112owner: AAA13audience: [claude-code, FI-002, 333-AGI]14triggers:15 - which organ16 - which tool17 - routing decision18 - tool selection19 - branching decision20capability_tier: meta-mesa21ecology_state: WARM22---2324## What I do2526I am the **zen router**. I do not orchestrate (that's `CLAUDE-meta-mesa`). I **classify and select**.2728Given an intent, I evaluate it against **9 orthogonal axes** and produce a routing decision:2930| Axis | Question | Options |31|------|----------|---------|32| 1. **organ** | Which federation organ owns this? | arifos, aforge, arifflow, geox, wealth, well, hermes, fed, none |33| 2. **action** | What kind of work? | observe, reason, plan, judge, execute, verify, seal, route, memory |34| 3. **mode** | Read or write? | read, write, mutate, irreversible |35| 4. **tier** | How expensive? | free (FLAME/hermes), cheap (token-plan), medium (direct), heavy (apex), forbidden |36| 5. **layer** | What layer of the stack? | earth, governed, free, constitutional, kernel |37| 6. **surface** | Which tool surface? | filesystem, shell, MCP, plugin, federation, web, native |38| 7. **scope** | Federation or local? | local, project, federation, sovereign |39| 8. **time** | Latency tolerance? | realtime, batch, async, anytime |40| 9. **reversibility** | Can this be undone? | reversible, soft-irreversible, irreversible |4142**Rule:** the answer to all 9 axes defines the tool. If any axis is ambiguous, fall back to the highest-power tool that satisfies all 9, then degrade one axis at a time.4344## When to use me4546Load me when:4748- You have **two or more equally-valid tools** and need to pick.49- You want to **route by intent**, not by tool name.50- You're at a **branching decision** and want to make the call explicit.51- You want to **document your reasoning** for an audit trail.5253Do NOT load me for:5455- Trivial choices (one obvious tool).56- Missions (use `CLAUDE-meta-mesa` instead).5758## Decision table (excerpt for Claude Code)5960| Intent | organ | action | tier | layer | surface | reversible |61|--------|-------|--------|------|-------|---------|------------|62| "Read VAULT999 seal chain" | arifos | observe | free | constitutional | mcp | yes |63| "Run pytest on /root/A-FORGE" | aforge | execute | medium | governed | mcp | yes |64| "Add memory of fact X" | hindsight | memory | free | memory | mcp | yes |65| "Build new MCP server" | aforge | execute | heavy | governed | mcp | yes |66| "Drop Postgres table" | aforge | execute | forbidden | governed | mcp | NO → 888_HOLD |67| "Search the web" | brave-search | observe | free | free | mcp | yes |68| "Draft new SKILL.md" | aforge | execute | medium | governed | filesystem | yes |69| "Seal a verdict" | arifos | seal | heavy | constitutional | mcp | NO (Lane A) |70| "Browser screenshot" | playwright | observe | medium | governed | mcp | yes |71| "GitHub PR review" | github | observe | medium | web | mcp | yes |7273## Routing examples7475```yaml76intent: "Audit drift in geox-basin skill"77axes:78 organ: geox # domain tool79 action: observe # reading, not writing80 tier: cheap # qwen-token-plan81 layer: governed82 surface: mcp83 scope: project84 reversibility: full85tool: geox_geox_basin(mode="profile", basin_name="...")86```8788```yaml89intent: "Mutate forge_work/2026-08-26-x.md"90axes:91 organ: aforge # governed execution92 action: execute # mutation93 tier: heavy # apex decision94 layer: governed95 surface: filesystem96 scope: project97 reversibility: full98sequence:99 - forge_lock(mode="acquire")100 - forge_filesystem(mode="write", content=...)101 - forge_entropy_sweep(path="forge_work/")102 - forge_lock(mode="release")103 - arif_seal(mode="receipt") # Lane B104```105106## Anti-patterns107108- Asking "which tool should I use?" without answering the 9 axes109- Routing everything to the apex (heavy) when free suffices110- Skipping reversibility check before mutation111- Adding deny rules, MCP gating, or "safety theatre" — full access is sovereign default112- Routing through a layer you don't understand113114## Routing theorem115116> **The cheapest tool that satisfies all 9 axes is the right tool.**117118If two tools satisfy all 9, pick the one with the lower tier.119If no tool satisfies all 9, the closest match wins; flag the missing axis as an open question.120121DITEMPA BUKAN DIBERI ⚒️