Skip to content

The Lane Topology

A multi-agent development pattern that sizes itself to the work: process is assigned mechanically, before any work starts, instead of every task running the same lifecycle.

All agent files for this topology live at agents/lane-topology/ in the repository. It ships in two client formats — OpenCode (canonical) and GitHub Copilot (derived, same prompts, translated frontmatter).

Kind Name Status Source
Client OpenCode Canonical opencode/
Client GitHub Copilot Derived mirror copilot/
Harness OpenCode Runtime configuration opencode-lane/

What Problem Does This Solve?

It is the successor to the Matrix Topology, built on the same core ideas — separate the producer from the reviewer, review cross-family, keep delegation one level deep — and fixing what made that pattern expensive to use day-to-day:

  1. There was no middle. Work was either a two-line express change or a nine-stage lifecycle. A real bugfix, a refactor, or "how should I approach this" got the wrong one.
  2. Nothing asked questions. There was no mode for "I know what I want, I don't know how to get there" — where a lot of real work actually lives.
  3. Green was self-reported. The reviewer was read-only. Nobody independently confirmed the tests actually ran.

The Lanes

Every request is classified into one of six lanes by a table lookup, not a judgment call — first match wins.

Lane Trigger Agents Feels like
REVERT Undo something already committed or shipped Conductor + Verifier Seconds — a revert commit on a branch
MECHANICAL Textual/config change, no logic, no new dependency Mechanic → Verifier Seconds
INVESTIGATE A question, or a bug with unknown cause Investigator Read-only, ends in an answer
DIRECT Scope understood, approach obvious, bounded blast radius Builder → Verifier Minutes
PLAN Goal known, approach isn't; a tradeoff; a contract change Planner (Socratic) → Verifier One question round, then a plan
BUILD Net-new with no existing shape to follow Planner → Builder → Verifier → Scribe → Verifier The full lifecycle

When two lanes both apply, the Conductor takes the lighter one — except a new architectural decision, a public contract change, or a security-critical surface always takes the heavier lane, no matter how small the diff looks.

An INVESTIGATE lane ends in findings, not a change. The Conductor then re-classifies the original request plus the findings, so "the fix is a one-line guard" becomes DIRECT and "the whole session model is wrong" becomes PLAN.

See the Lane Topology README for the full pattern — the Socratic planning protocol, verification-by-execution, cross-family review, security bands, and the Facts Protocol that carries durable findings between agents without re-deriving them.


Agent Roster

Agent Model Role Source
Conductor github-copilot/claude-sonnet-5 Primary interactive agent conductor.md
Adversary github-copilot/claude-opus-5.5 Security review adversary.md
Builder github-copilot/gpt-6-sol Implementation builder.md
Investigator github-copilot/gpt-6-sol Codebase comprehension and root-cause analysis investigator.md
Mechanic github-copilot/gpt-6-luna Trivial mechanical edits — typos, version bumps, config values, formatting, comments, log lines, mechanical renames mechanic.md
Planner github-copilot/claude-opus-5.5 Socratic planning, design, and specification planner.md
Researcher github-copilot/gpt-6-luna External information retrieval researcher.md
Scribe github-copilot/gpt-6-luna Documentation scribe.md
Verifier github-copilot/gemini-3.8-flash Cross-family review of every artifact and diff that leaves a lane verifier.md

The Conductor is the only agent you talk to and the only one with dispatch authority (mode: primary); the other eight are subagents it routes work to. It does not read source, write code, or review anything itself — every one of those is a dispatch, which is what keeps its context small enough to stay coherent over a long session.


Verification Is Executed, Not Claimed

The Verifier runs the build and the test suite itself before reviewing anything — a working agent's "it's green" is a claim, and the Verifier is where it becomes evidence. It also hunts gaps before bugs: the unhandled case, the requirement with no test, the error path that returns success.

Every review resolves to exactly one of three verdicts — PASS, FIX, or ESCALATE — so a verdict can never half-agree with itself, and a missing verdict is always treated as FIX, never as an implicit pass.

Reviewers run cross-family from whoever produced the artifact: the Verifier is statically pinned to Gemini, and the Builder — the highest-risk artifact producer — is pinned to GPT, so code is cross-family from both of its reviewers by construction.


Installing It: OpenCode

OpenCode is the canonical format. Symlink the harness config and the agent directory into a real ~/.config/opencode/ directory — do not replace the directory itself, OpenCode keeps its own state there.

git clone https://github.com/CowboyLogic/ai-dev ~/src/ai-dev

mkdir -p ~/.config/opencode
ln -sfn ~/src/ai-dev/harness/opencode-lane/opencode.jsonc  ~/.config/opencode/opencode.jsonc
ln -sfn ~/src/ai-dev/harness/opencode-lane/guardrails.md   ~/.config/opencode/AGENTS.md
ln -sfn ~/src/ai-dev/harness/opencode-lane/commands         ~/.config/opencode/commands
ln -sfn ~/src/ai-dev/agents/lane-topology/opencode          ~/.config/opencode/agents

Important

The opencode/ agents use native OpenCode V2 frontmatter (an ordered permissions rule list with V2 action names such as shell and subagent). Subagents ship hidden: false, which V2 requires for the Conductor to dispatch them. Do not point an OpenCode V1 client at these files.

default_agent is conductor. See the README's Deploying It section for the Windows junction commands and the two verification checks worth running after every re-point.


Installing It: GitHub Copilot

The copilot/ directory mirrors the same nine agents for GitHub Copilot (VS Code and the cloud agent). Same prompts as the OpenCode originals — only the frontmatter is translated (permission → tools, mode → user-invocable, model IDs → Copilot display names). See agents/lane-topology/AGENTS.md for the full mapping.

# Install all 9 agents
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/conductor.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/adversary.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/builder.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/investigator.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/mechanic.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/planner.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/researcher.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/scribe.agent.md
gh copilot agent install CowboyLogic/ai-dev/agents/lane-topology/copilot/verifier.agent.md

Note

Model pins and tool permissions are per-format frontmatter, not portable prompt content — installing the Copilot mirror gets you the same lane discipline and review loop, translated to what Copilot's agent schema can express. Path-scoped edit grants (Investigator and Researcher, scoped to .agent-output/** in OpenCode) do not port; see the AGENTS.md mapping linked above for the tradeoff.