Goal
Make Dispatch lanes configurable instead of hardcoding the current built-in lane set.
Today Dispatch assumes a fixed lane model in several places. That works for the current deployment, but it makes the project harder to reuse for other agent/model setups. A user should be able to run Dispatch with one claimable lane, two lanes, three lanes, or another custom set without changing source code.
Desired model
Dispatch should support lane profiles configured at runtime or from repo config, for example:
lanes:
- id: default
title: Default
claimable: true
- id: backlog
title: Backlog
claimable: false
or:
lanes:
- id: local
title: Local
claimable: true
- id: cloud
title: Cloud
claimable: true
- id: frontier
title: Frontier
claimable: true
- id: backlog
title: Backlog
claimable: false
The shipped default should preserve current behavior for existing installs.
Non-goals
- Do not change external workflow repos in this epic.
- Do not require any specific agent names.
- Do not require any specific model/provider names.
- Do not remove existing lane data.
- Do not break current normal/escalated/backlog deployments.
Design principles
- Lanes are Dispatch-owned routing metadata.
backlog is special only because it is not claimable worker work.
- Claimable lanes should be data-driven.
- Single-lane deployments must be valid.
- Queue APIs should continue to filter by lane when a lane is requested.
- Existing installs should continue to work without new config.
Child issues
Acceptance criteria
- Dispatch can run with the current default lanes without behavior changes.
- Dispatch can run with one claimable lane plus backlog.
- Dispatch can run with three claimable lanes plus backlog.
- Queue APIs respect the configured lane set.
- UI renders lane choices from config instead of hardcoded assumptions.
- Reconciliation/classification never writes a lane not present in config.
- Tests cover current default lanes and at least one custom lane configuration.
- Documentation explains how to configure lanes.
Validation
npm run lint
npm run typecheck
npm run test
npm run build
Goal
Make Dispatch lanes configurable instead of hardcoding the current built-in lane set.
Today Dispatch assumes a fixed lane model in several places. That works for the current deployment, but it makes the project harder to reuse for other agent/model setups. A user should be able to run Dispatch with one claimable lane, two lanes, three lanes, or another custom set without changing source code.
Desired model
Dispatch should support lane profiles configured at runtime or from repo config, for example:
or:
The shipped default should preserve current behavior for existing installs.
Non-goals
Design principles
backlogis special only because it is not claimable worker work.Child issues
Acceptance criteria
Validation
npm run lintnpm run typechecknpm run testnpm run build