Feature Request
Summary
When two (or more) sagas run orthogonally — different problem domains, different agents, no shared code — operators want "pick 1 task from Track A and 1 from Track B per wave" to keep parallel progress. CLEO has no track primitive. Today this requires label conventions (parallel-track-b) + manual filtering in the operator's head.
Concrete need
This project has 10 infra-migration sagas (SG-Foundation, SG-Auth, SG-API, SG-Jobs, SG-Sync, SG-Streams, SG-Storage, SG-Email, SG-Config, SG-Google, SG-Cutover — all on Track A) AND SG-SoR (product/architecture — Track B). Each wave should slot 1 agent on each track for orthogonal parallelism. No conflict, no cross-saga deps until Wave 6+.
# Today — operator must run this and filter mentally
cleo orchestrate ready --epic T009 # Track A readiness
cleo orchestrate ready --epic T119 # Track B readiness (also broken — see saga-traversal bug)
# Desired
cleo orchestrate ready --track-balance --tracks infra,product --per-track 1
# → returns 1 task from each track, parallel-safe pairing
Proposed design
- New field
track on sagas (string, e.g. infra / product / compliance; nullable).
cleo saga create --track <name> to set on creation.
cleo saga update <id> --track <name> to retroactively assign.
cleo orchestrate ready --track-balance --tracks <csv> --per-track N returns N tasks per named track.
cleo orchestrate spawn records the track in the spawn prompt so subagents understand their assignment.
cleo briefing shows per-track progress percentages.
Impact
Parallel-track orchestration is currently expressed only in NEXT_SESSION.md prose. Operators read the markdown, manually pick tasks, hope agents don't collide. A track field would let CLEO enforce the orthogonality contract.
Cross-ref
.cleo/research/sg-sor/06-cleo-gaps.md issue #8.
Area: dispatch
Are you using an AI agent?
Yes - AI agent filed this issue
Environment
| Component |
Version |
| CLEO |
2026.2.1 |
| Node.js |
v24.13.1 |
| OS |
linux 6.19.14-200.fc43.x86_64 x64 (x64) |
| Shell |
/bin/bash |
| gh CLI |
gh version 2.87.3 (2026-02-23) |
| Install |
/home/keatonhoskins/.npm-global/bin/cleo |
Feature Request
Summary
When two (or more) sagas run orthogonally — different problem domains, different agents, no shared code — operators want "pick 1 task from Track A and 1 from Track B per wave" to keep parallel progress. CLEO has no
trackprimitive. Today this requires label conventions (parallel-track-b) + manual filtering in the operator's head.Concrete need
This project has 10 infra-migration sagas (
SG-Foundation,SG-Auth,SG-API,SG-Jobs,SG-Sync,SG-Streams,SG-Storage,SG-Email,SG-Config,SG-Google,SG-Cutover— all on Track A) ANDSG-SoR(product/architecture — Track B). Each wave should slot 1 agent on each track for orthogonal parallelism. No conflict, no cross-saga deps until Wave 6+.Proposed design
trackon sagas (string, e.g.infra/product/compliance; nullable).cleo saga create --track <name>to set on creation.cleo saga update <id> --track <name>to retroactively assign.cleo orchestrate ready --track-balance --tracks <csv> --per-track Nreturns N tasks per named track.cleo orchestrate spawnrecords the track in the spawn prompt so subagents understand their assignment.cleo briefingshows per-track progress percentages.Impact
Parallel-track orchestration is currently expressed only in
NEXT_SESSION.mdprose. Operators read the markdown, manually pick tasks, hope agents don't collide. Atrackfield would let CLEO enforce the orthogonality contract.Cross-ref
.cleo/research/sg-sor/06-cleo-gaps.mdissue #8.Area: dispatch
Are you using an AI agent?
Yes - AI agent filed this issue
Environment