Skip to content

Multi-agent harness routing #9594

@ogoldberg

Description

@ogoldberg

Describe the solution you'd like

Make this repo route tasks to the most appropriate model/harness for contributors using CLI agents (Claude Code, Codex, Gemini CLI, others), by adding three thin layers on top of the existing .agents/skills/ and .claude/ infrastructure:

  1. A small set of model-specific Claude Code subagents under .claude/agents/ with sharp description fields that route work to the right model:

    • claude-haiku-mechanical — rote rename / format-only / single-test fixup
    • claude-opus-architect — multi-crate refactors, lock-stack reasoning, WarpUI Entity-Handle design work
    • gemini-long-context — whole-spec audits, large diff review, Cargo.lock analysis
    • (Codex is already wired through the existing codex:codex-rescue agent — reuse, don't replace.)

    Equivalent dispatch where other harnesses expose comparable surfaces; document the harness-specific format in each case.

  2. A harness-agnostic /route skill under .agents/skills/route/ that, given a task description, recommends a model with reasoning. Each harness reads the same recommendation logic; only the final dispatch step is harness-specific.

  3. A pair of Claude Code PreToolUse hooks in .claude/settings.json that warn (don't block) on cost/scope mismatches — Opus on a 1-line edit, Haiku on a 30-file refactor. Disabled by default; opt-in via env var. Mirrored on other harnesses if/when they expose equivalent hook surfaces.

Is your feature request related to a problem?

Contributors using any CLI agent to develop Warp can't easily match tasks to the right model. Mechanical edits get sent to expensive models; deep architectural work like the TerminalModel lock-stack rules in WARP.md gets sent to fast/cheap ones. The harness has no signal about which model fits a task, so contributors either pick wrong or babysit. This wastes money on trivial work and produces worse results on hard work.

The repo already invests in agent-readable context (.agents/skills/, specs/, WARP.md) explicitly so any harness can pick it up. This proposal extends that investment with the missing piece: routing.

Additional context

Open question for the maintainers before spec work begins: should these artifacts live under .claude/ (Claude-Code-specific) or be promoted to harness-agnostic patterns under .agents/? The skill (#2) is naturally agnostic; the subagents (#1) and hooks (#3) are Claude Code primitives. Happy to scope either way — please flag preference on this issue.

Out of scope (separate issues to follow):

  • An MCP server exposing Warp's terminal blocks / AI command outputs / Drive objects to any external agent (Tier 2)
  • Ensemble / parallel-model dispatch for hard correctness work (Tier 3)
  • Reducing Warp's runtime memory footprint (separate, performance track)

Operating system (OS): macOS (development host; the artifacts themselves are platform-agnostic)

How important is this feature to you? 3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions