T1 — Resolver routing audit
Resolver - Cross-Company Routing Audit (MC #10357 T1)
Date: 2026-04-30 22:00 Trigger: Manual (CEO directive) Auditor: Resolver meta-company---
1. CURRENT ROUTING TOPOLOGY
Agent-to-Company Mapping (specialist-mapping.json)
Total agents mapped: 28 agents across 12 companies| Company | Agent Count | Agents | |---------|-------------|--------| | CodeCraft | 7 | martin-kleppmann, bruce-momjian, petter-graff, sentinel-developer, hadi-hariri, lee-robinson, sindre-sorhus | | Proveo | 7 | angie-jones, sentinel-tester, sentinel-validator, james-bach, lisa-crispin, dorota-huizinga, maria-santos | | AgentForge | 4 | chip-huyen, georgi-gerganov, claude-code-guide, anthropic-chief-architect, openai-chief-architect | | Securion | 2 | parisa-tabriz, sentinel-architect | | Vizu | 2 | brad-frost, lea-verou | | Skybound | 2 | paul-hudson, sentinel-ba | | FlowForge | 1 | kelsey-hightower | | Finverge | 1 | markos-zachariadis | | Lexicon | 1 | lexicon.md | | SkillForge | 1 | skillforge.md | | Resolver | 1 | resolver.md |
Companies with ZERO Agent Assignment
- Datavera - data/analytics/ml domain - NO AGENTS
- HelixSupport - merged into FlowForge (2026-03-31), references still in cross-company-routes.json
- Proxima - merged into Lexicon (2026-03-31)
Dispatch Surface Distribution
| Surface | Volume Today | Notes | |---------|--------------|-------| | Task Tool (John direct) | ~95% | All interactive work bypasses MC+pi-orch | | pi-orchestrator daemon | ~0% | Idle since 2026-04-28 (last completions: #10042, #10044) | | company-worker LaunchAgents | 2 active | com.john.company-proveo, com.john.company-securion | | resolver-daemon (6h cron) | 4 runs today | Detected issues, created 0 tasks (all SKIP - duplicates exist) | | cross-company-bus | 4 runs today | 85 matches, 1 task created |
Evidence: pi-orchestrator.log shows continuous "No eligible tasks" since 2026-04-28 22:24:29Z. The 3 review-blocking tasks (#10038, #10039, #10043) are stuck in `ready_for_review` status with owner `pi-orchestrator`.---
2. GAPS - WHERE ROUTING BREAKS
2.1 Orphan Agents (17 agents in ~/.claude/agents/ but NOT in specialist-mapping.json)
agentforge.md codecraft.md finverge.md proveo.md
alem-clone.md devils-advocate.md flowforge.md redzo-reviewer.md
builder.md dzevad-jahic.md gemini-reviewer.md securion.md
mehanik.md skybound.md sylfest-lomheim.md validator.md
vizu.md
Impact: These agents can be invoked via Task tool but discover.js routing queries won't return them. John cannot programmatically route to them.
2.2 Companies Without Agent Coverage
| Company | Domain | Gap | |---------|--------|-----| | Datavera | data/analytics/ml | CRITICAL: 0 agents. ML work goes nowhere. | | Finverge | finance/payment | 1 agent only (markos-zachariadis) - thin coverage | | FlowForge | devops/infra | 1 agent only (kelsey-hightower) - thin coverage | | Lexicon | legal/docs | 1 agent only - thin coverage |
2.3 Dual-Store Problem
Agent definitions exist in TWO locations:
- `~/.claude/agents/` (40 files) - Claude Code reads from here
- `~/system/agents/definitions/` (57 files) - System scripts read from here
2.4 Rules Without Enforcement Hooks
| Rule | Status | |------|--------| | cross-company-routes.json | 10 rules defined. Enforcement via cross-company-bus.js (6h cron). No real-time hook. | | ZAKON #7 (complex task >2h -> route through company) | NO HOOK. Policy only. John bypasses freely. | | tier-routing.json | Engine/model tiers defined. No enforcement - pi-orch is idle. |
---
3. PATTERN DETECTION (Last 7 Days)
HiveMind Intel by Agent (top 10)
| Agent | Entries | % | |-------|---------|---| | john | 3311 | 89.7% | | email-agent | 96 | 2.6% | | pi-orchestrator | 55 | 1.5% | | alem | 46 | 1.2% | | codecraft | 45 | 1.2% | | proveo | 34 | 0.9% | | agent-reporter | 30 | 0.8% | | daemon-fleet-watchdog | 22 | 0.6% | | validator | 21 | 0.6% | | system | 17 | 0.5% |
Pattern 1: John dominates HiveMind (90%). Companies barely log activity.Mission Control Task Distribution
| Status | Count | |--------|-------| | done | 6,605 | | paused | 2,202 | | open | 891 | | blocked | 492 | | ready_for_review | 29 | | in_progress | 1 |
Pattern 2: 2,694 tasks stuck (paused+blocked) = 26% of active inventory.Owner Distribution (open/blocked/paused)
| Owner | Count | Status | |-------|-------|--------| | pi-orchestrator | 1,619 | 1,324 paused + 295 blocked | | proveo | 390 | open | | autowork | 326 | paused | | edita | 186 | open | | john | 253 | 71 open + 118 blocked + 64 paused | | codecraft | 66 | open |
Pattern 3: pi-orchestrator owns 1,619 tasks but is IDLE. No pickup mechanism.Top 3 Recurring Failures (from resolver.log)
1. task_failures - 16-20 tasks paused/blocked per 6h window (systemic) 2. daemon-fleet-watchdog alerts - 7+ daemons in failed state (infrastructure) 3. orchestrator_error patterns - routing/quality-based selection failures
---
4. WHERE DOES WHAT GO? (Canonical Routing Table)
Task Type -> Company -> Agent -> Surface
| Task Type | Company | Primary Agent | Surface | |-----------|---------|---------------|---------| | DEV/BUILD | | | | | Backend API | CodeCraft | hadi-hariri (Kotlin/Ktor), lee-robinson (Next.js) | Task tool | | Database | CodeCraft | bruce-momjian (PostgreSQL) | Task tool | | Distributed systems | CodeCraft | martin-kleppmann | Task tool | | CLI tooling | CodeCraft | sindre-sorhus | Task tool | | DESIGN | | | | | Frontend/UI | Vizu | brad-frost (design systems), lea-verou (CSS) | Task tool | | AUDIT/QA | | | | | Test automation | Proveo | angie-jones, lisa-crispin | company-worker (12h) | | Exploratory testing | Proveo | james-bach, maria-santos | company-worker | | Performance testing | Proveo | dorota-huizinga | company-worker | | SECURITY | | | | | Security audit | Securion | parisa-tabriz | company-worker (12h) | | Architecture audit | Securion | sentinel-architect | company-worker | | DEPLOY/OPS | | | | | Kubernetes/CI/CD | FlowForge | kelsey-hightower | Task tool | | Incident/support | FlowForge | (no agent - gap) | Manual | | ML/DATA | | | | | ML pipeline | AgentForge | chip-huyen | Task tool | | Local LLM | AgentForge | georgi-gerganov | Task tool | | Analytics | Datavera | (NO AGENT - GAP) | BROKEN | | LEGAL/DOCS | | | | | Contracts/compliance | Lexicon | lexicon.md | Task tool | | Runbooks/knowledge | SkillForge | skillforge.md | Task tool | | FINANCE | | | | | Payments/fintech | Finverge | markos-zachariadis | Task tool | | PRODUCT | | | | | iOS/mobile | Skybound | paul-hudson | Task tool | | Business analysis | Skybound | sentinel-ba | Task tool | | META | | | | | Cross-company routing | Resolver | resolver.md | cron (6h) |
Query Mechanism
# Current: discover.js routing
node ~/system/tools/discover.js routing "<task description>"
Returns: Tools (6), Skills (0), Agents (2), MCP (0)
Problem: Only searches indexed sources. 17 orphan agents invisible.
---
5. DAY-TO-DAY ROUTING DEFICIT
What's Missing for Automatic Routing
Current State: John manually picks agents via Task tool. No pre-dispatch classifier. No enforcement of company boundaries.Required Mechanism (3-Layer Fix)
#### Layer 1: Pre-Dispatch Classifier Hook
File: `~/.claude/hooks/pre-dispatch-classifier.sh` (does not exist) Specification:# Input: task title + description (from Task tool invocation)
Output: { company: "X", agent: "Y", tier: "N" }
Action: Inject routing decision into task metadata before dispatch
Hooks to create:
- `~/.claude/hooks/pre-dispatch-classifier.sh` - classify task -> company
- `~/.claude/hooks/company-boundary-enforcer.sh` - block cross-company drift
- `~/system/agents/specialist-mapping.json` - add 17 orphan agents
- `~/system/config/domain-to-company.json` - already correct (11 companies)
- Add skill: `~/.claude/skills/route-task.md`
- Wire to: `node ~/system/tools/discover.js routing "$1"`
Files That Need Modification
| File | Action | |------|--------| | `~/system/agents/specialist-mapping.json` | Add 17 orphan agents | | `~/.claude/hooks/pre-dispatch-classifier.sh` | Create (does not exist) | | `~/system/config/cross-company-routes.json` | Remove HelixSupport references (merged) | | `~/.claude/skills/route-task.md` | Create /route slash command skill |
---
Verdict for John
Summary: The routing infrastructure exists but is BYPASSED. John dispatches 95%+ of work directly via Task tool, never touching pi-orchestrator, company-worker LaunchAgents, or cross-company-bus. The specialist-mapping.json is 39% incomplete (17/45 agents orphaned). Datavera has zero agent coverage - ML/analytics tasks have nowhere to go. Three review-blocking tasks (#10038, #10039, #10043) have stalled pi-orchestrator for 48+ hours. The 6h resolver-daemon cron detects patterns but creates duplicate tasks that get SKIP'd. To make routing automatic, John needs: (1) a pre-dispatch classifier hook that maps task->company before spawn, (2) specialist-mapping.json expanded to cover all 57 agents, and (3) a /route slash command for quick lookup. Until then, company routing is documentation, not enforcement.---
Report generated: 2026-04-30T22:00:00Z Next scheduled resolver-daemon run: 2026-05-01T01:44:00Z