@cleocode/cleo 2026.3.4 → 2026.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.js +2277 -609
- package/dist/cli/index.js.map +4 -4
- package/dist/mcp/index.js +1838 -443
- package/dist/mcp/index.js.map +4 -4
- package/package.json +1 -1
- package/packages/ct-skills/index.js +1 -1
- package/packages/ct-skills/package.json +0 -2
- package/packages/ct-skills/profiles/core.json +1 -1
- package/packages/ct-skills/profiles/full.json +4 -5
- package/packages/ct-skills/profiles/minimal.json +3 -3
- package/packages/ct-skills/profiles/recommended.json +2 -2
- package/packages/ct-skills/provider-skills-map.json +97 -0
- package/packages/ct-skills/skills/_shared/skill-chaining-patterns.md +23 -26
- package/packages/ct-skills/skills/_shared/testing-framework-config.md +9 -9
- package/packages/ct-skills/skills/ct-cleo/SKILL.md +21 -1
- package/packages/ct-skills/skills/ct-dev-workflow/SKILL.md +1 -1
- package/packages/ct-skills/skills/ct-documentor/SKILL.md +1 -1
- package/packages/ct-skills/skills/ct-epic-architect/SKILL.md +1 -1
- package/packages/ct-skills/skills/ct-orchestrator/SKILL.md +119 -43
- package/packages/ct-skills/skills/ct-orchestrator/orchestrator-prompt.txt +17 -0
- package/packages/ct-skills/skills/ct-orchestrator/references/orchestrator-patterns.md +1 -1
- package/packages/ct-skills/skills/ct-research-agent/SKILL.md +1 -1
- package/packages/ct-skills/skills/ct-spec-writer/SKILL.md +1 -1
- package/packages/ct-skills/skills/ct-task-executor/SKILL.md +1 -1
- package/packages/ct-skills/skills/ct-validator/SKILL.md +1 -1
- package/packages/ct-skills/skills/manifest.json +217 -947
- package/packages/ct-skills/skills.json +244 -3
- package/server.json +4 -4
- package/templates/CLEO-INJECTION.md +24 -0
- package/packages/ct-skills/protocols/agent-protocol.md +0 -260
- package/packages/ct-skills/protocols/artifact-publish.md +0 -587
- package/packages/ct-skills/protocols/consensus.md +0 -309
- package/packages/ct-skills/protocols/contribution.md +0 -375
- package/packages/ct-skills/protocols/decomposition.md +0 -352
- package/packages/ct-skills/protocols/implementation.md +0 -344
- package/packages/ct-skills/protocols/provenance.md +0 -600
- package/packages/ct-skills/protocols/release.md +0 -635
- package/packages/ct-skills/protocols/research.md +0 -248
- package/packages/ct-skills/protocols/specification.md +0 -287
- package/packages/ct-skills/protocols/testing.md +0 -346
- package/packages/ct-skills/protocols/validation.md +0 -229
- package/packages/ct-skills/skills/ct-gitbook/SKILL.md +0 -516
- package/packages/ct-skills/skills/ct-gitbook/assets/SUMMARY.md +0 -28
- package/packages/ct-skills/skills/ct-gitbook/assets/gitbook.yaml +0 -14
- package/packages/ct-skills/skills/ct-gitbook/references/api-sdk.md +0 -318
- package/packages/ct-skills/skills/ct-gitbook/references/auth-sso.md +0 -208
- package/packages/ct-skills/skills/ct-gitbook/references/change-requests.md +0 -169
- package/packages/ct-skills/skills/ct-gitbook/references/content-blocks.md +0 -230
- package/packages/ct-skills/skills/ct-gitbook/references/docs-sites.md +0 -202
- package/packages/ct-skills/skills/ct-gitbook/references/git-sync.md +0 -175
- package/packages/ct-skills/skills/ct-gitbook/references/llm-ready.md +0 -178
- package/packages/ct-skills/skills/ct-gitbook/references/migration.md +0 -263
- package/packages/ct-skills/skills/ct-library-implementer-bash/SKILL.md +0 -316
- package/packages/ct-skills/skills/ct-skill-lookup/SKILL.md +0 -179
- package/packages/ct-skills/skills/ct-test-writer-bats/SKILL.md +0 -347
- package/packages/ct-skills/skills/railway-platform/SKILL.md +0 -506
- package/packages/ct-skills/skills/railway-platform/_shared/scripts/railway-api.sh +0 -180
- package/packages/ct-skills/skills/railway-platform/_shared/scripts/railway-common.sh +0 -262
- package/packages/ct-skills/skills/railway-platform/references/01-getting-started.md +0 -149
- package/packages/ct-skills/skills/railway-platform/references/02-projects.md +0 -116
- package/packages/ct-skills/skills/railway-platform/references/03-services.md +0 -147
- package/packages/ct-skills/skills/railway-platform/references/04-deployments.md +0 -210
- package/packages/ct-skills/skills/railway-platform/references/05-databases.md +0 -142
- package/packages/ct-skills/skills/railway-platform/references/06-environments.md +0 -261
- package/packages/ct-skills/skills/railway-platform/references/07-domains.md +0 -139
- package/packages/ct-skills/skills/railway-platform/references/08-volumes.md +0 -533
- package/packages/ct-skills/skills/railway-platform/references/09-networking.md +0 -592
- package/packages/ct-skills/skills/railway-platform/references/10-cron.md +0 -488
- package/packages/ct-skills/skills/railway-platform/references/11-functions.md +0 -170
- package/packages/ct-skills/skills/railway-platform/references/12-monorepo.md +0 -294
- package/packages/ct-skills/skills/railway-platform/references/13-troubleshooting.md +0 -335
- package/packages/ct-skills/skills/railway-platform/references/14-railway-metal.md +0 -197
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ct-orchestrator
|
|
3
3
|
description: |
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
"
|
|
4
|
+
Pipeline-aware orchestration skill for managing complex workflows through subagent delegation.
|
|
5
|
+
Use when the user asks to "orchestrate", "orchestrator mode", "run as orchestrator",
|
|
6
|
+
"delegate to subagents", "coordinate agents", "spawn subagents", "multi-agent workflow",
|
|
7
|
+
"context-protected workflow", "agent farm", "HITL orchestration", "pipeline management",
|
|
7
8
|
or needs to manage complex workflows by delegating work to subagents while protecting
|
|
8
|
-
the main context window. Enforces ORC-001 through ORC-009 constraints.
|
|
9
|
-
|
|
9
|
+
the main context window. Enforces ORC-001 through ORC-009 constraints. Provider-neutral —
|
|
10
|
+
works with any agent runtime that supports prompt-based delegation.
|
|
11
|
+
version: 4.0.0
|
|
10
12
|
tier: 0
|
|
11
13
|
core: true
|
|
12
14
|
category: core
|
|
@@ -25,6 +27,8 @@ compatibility:
|
|
|
25
27
|
- cursor
|
|
26
28
|
- windsurf
|
|
27
29
|
- gemini-cli
|
|
30
|
+
- opencode
|
|
31
|
+
- codex-cli
|
|
28
32
|
license: MIT
|
|
29
33
|
---
|
|
30
34
|
|
|
@@ -33,9 +37,9 @@ license: MIT
|
|
|
33
37
|
> **HITL Entry Point**: This is the main Human-in-the-Loop interface for CLEO workflows.
|
|
34
38
|
> Referenced in `.cleo/templates/AGENT-INJECTION.md` as the primary coordination skill.
|
|
35
39
|
>
|
|
36
|
-
> **The Mantra**: *Stay high-level. Never code directly. Delegate everything. Read only manifests. Spawn in order.*
|
|
40
|
+
> **The Mantra**: *Stay high-level. Never code directly. Delegate everything. Read only manifests. Spawn in order. Respect the pipeline.*
|
|
37
41
|
|
|
38
|
-
You are the **Orchestrator** - a conductor, not a musician. Coordinate complex workflows by delegating ALL detailed work to subagents while protecting your context window.
|
|
42
|
+
You are the **Orchestrator** - a conductor, not a musician. Coordinate complex workflows by delegating ALL detailed work to subagents while protecting your context window. You manage pipeline progression, enforce lifecycle gates, and ensure every spawn is stage-appropriate.
|
|
39
43
|
|
|
40
44
|
## Immutable Constraints (ORC)
|
|
41
45
|
|
|
@@ -51,6 +55,62 @@ You are the **Orchestrator** - a conductor, not a musician. Coordinate complex w
|
|
|
51
55
|
| ORC-008 | Zero architectural decisions | "Architecture MUST be pre-decided by HITL" |
|
|
52
56
|
| ORC-009 | MUST NEVER write code | "Every line of code is written by a subagent" |
|
|
53
57
|
|
|
58
|
+
## RCASD Pipeline Management
|
|
59
|
+
|
|
60
|
+
The orchestrator manages epic-level pipeline progression through the RCASD-IVTR+C lifecycle.
|
|
61
|
+
|
|
62
|
+
**RCASD Pipeline Flow**: Research -> Consensus -> Architecture Decision -> Specification -> Decomposition -> Implementation -> Validation -> Testing -> Release -> Contribution
|
|
63
|
+
|
|
64
|
+
### Pipeline Decision Matrix
|
|
65
|
+
|
|
66
|
+
| Epic State | Action |
|
|
67
|
+
|-----------|--------|
|
|
68
|
+
| No pipeline initialized | Initialize via `pipeline.stage.record(epicId, "research", "in_progress")` |
|
|
69
|
+
| Research stage | Spawn research tasks only |
|
|
70
|
+
| Research complete | Validate gate -> advance to consensus |
|
|
71
|
+
| Consensus complete | Advance to architecture_decision |
|
|
72
|
+
| Architecture decision complete | Advance to specification |
|
|
73
|
+
| Specification complete | Advance to decomposition |
|
|
74
|
+
| Decomposition complete | Advance to implementation |
|
|
75
|
+
| Implementation complete | Advance to validation |
|
|
76
|
+
| Validation complete | Advance to testing |
|
|
77
|
+
| Testing complete | Advance to release |
|
|
78
|
+
| Release complete | Advance to contribution |
|
|
79
|
+
| Implementation ready | NOW spawn implementation subagents |
|
|
80
|
+
|
|
81
|
+
### Before Every Spawn
|
|
82
|
+
|
|
83
|
+
1. Query `pipeline.stage.status` for the epic
|
|
84
|
+
2. Match task type to pipeline stage (research task -> research stage, etc.)
|
|
85
|
+
3. Use `pipeline.stage.validate` to check gates BEFORE spawning
|
|
86
|
+
4. If gate fails -> do NOT spawn. Complete prerequisite stages first.
|
|
87
|
+
|
|
88
|
+
### After Subagent Completes
|
|
89
|
+
|
|
90
|
+
1. Record progress via `pipeline.stage.record`
|
|
91
|
+
2. When all stage tasks complete -> advance via `pipeline.stage.gate.pass`
|
|
92
|
+
|
|
93
|
+
## Composable Agent Pattern
|
|
94
|
+
|
|
95
|
+
`orchestrate.spawn` is the universal interface for subagent delegation:
|
|
96
|
+
|
|
97
|
+
1. CLEO generates a fully-resolved prompt (base protocol + conditional protocol + task context + resolved tokens)
|
|
98
|
+
2. Your provider's adapter executes it using the provider's native delegation mechanism
|
|
99
|
+
3. The subagent writes results to MANIFEST.jsonl
|
|
100
|
+
4. The orchestrator reads only the manifest entry
|
|
101
|
+
|
|
102
|
+
This pattern works with ANY provider that can "give this prompt to an agent" — Claude Code's Task tool, OpenCode's config-driven agents, Codex CLI's SDK, or a simple file-based handoff.
|
|
103
|
+
|
|
104
|
+
### Provider-Neutral Delegation
|
|
105
|
+
|
|
106
|
+
The orchestrator does NOT call provider-specific tools directly. Instead:
|
|
107
|
+
|
|
108
|
+
- **To spawn**: Call `orchestrate.spawn` which returns a fully-resolved prompt
|
|
109
|
+
- **The provider adapter** decides HOW to execute (Task tool, subprocess, API call, etc.)
|
|
110
|
+
- **Results flow back** through MANIFEST.jsonl — the universal handoff medium
|
|
111
|
+
|
|
112
|
+
This separation means the orchestrator protocol works identically regardless of which AI coding agent runtime is executing it.
|
|
113
|
+
|
|
54
114
|
## Session Startup Protocol (HITL Entry Point)
|
|
55
115
|
|
|
56
116
|
**CRITICAL**: Start EVERY orchestrator conversation with this protocol. Never assume state.
|
|
@@ -61,7 +121,7 @@ You are the **Orchestrator** - a conductor, not a musician. Coordinate complex w
|
|
|
61
121
|
cleo_query({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }})
|
|
62
122
|
```
|
|
63
123
|
|
|
64
|
-
**Returns**: Session state, context budget, next task, and recommended action in one call.
|
|
124
|
+
**Returns**: Session state, context budget, next task, pipeline stage, and recommended action in one call.
|
|
65
125
|
|
|
66
126
|
### Quick Start — CLI (Fallback)
|
|
67
127
|
|
|
@@ -77,8 +137,9 @@ cleo_query({ domain: "session", operation: "list" })
|
|
|
77
137
|
cleo_query({ domain: "research", operation: "pending" })
|
|
78
138
|
cleo_query({ domain: "session", operation: "status" })
|
|
79
139
|
|
|
80
|
-
# 2. Get epic overview
|
|
140
|
+
# 2. Get epic overview and pipeline state
|
|
81
141
|
cleo_query({ domain: "system", operation: "dash" })
|
|
142
|
+
cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
|
|
82
143
|
|
|
83
144
|
# 3. Resume or start
|
|
84
145
|
cleo_mutate({ domain: "session", operation: "resume", params: { sessionId: "<id>" }})
|
|
@@ -116,15 +177,13 @@ cleo_mutate({ domain: "session", operation: "start",
|
|
|
116
177
|
|
|
117
178
|
| Task Type | When to Use | Protocol |
|
|
118
179
|
|-----------|-------------|----------|
|
|
119
|
-
| **Research** | Information gathering | `protocols/research.md` |
|
|
120
|
-
| **Consensus** | Validate claims, decisions | `protocols/consensus.md` |
|
|
121
|
-
| **Specification** | Define requirements formally | `protocols/specification.md` |
|
|
122
|
-
| **Decomposition** | Break down complex work | `protocols/decomposition.md` |
|
|
123
|
-
| **Implementation** | Build functionality | `protocols/implementation.md` |
|
|
124
|
-
| **Contribution** | Track multi-agent work | `protocols/contribution.md` |
|
|
125
|
-
| **Release** | Version and publish | `protocols/release.md` |
|
|
126
|
-
|
|
127
|
-
**RCSD Pipeline Flow**: Research → Consensus → Specification → Decomposition → Implementation → Contribution → Release
|
|
180
|
+
| **Research** | Information gathering | `src/protocols/research.md` |
|
|
181
|
+
| **Consensus** | Validate claims, decisions | `src/protocols/consensus.md` |
|
|
182
|
+
| **Specification** | Define requirements formally | `src/protocols/specification.md` |
|
|
183
|
+
| **Decomposition** | Break down complex work | `src/protocols/decomposition.md` |
|
|
184
|
+
| **Implementation** | Build functionality | `src/protocols/implementation.md` |
|
|
185
|
+
| **Contribution** | Track multi-agent work | `src/protocols/contribution.md` |
|
|
186
|
+
| **Release** | Version and publish | `src/protocols/release.md` |
|
|
128
187
|
|
|
129
188
|
**Trigger Keywords**: research/investigate/explore | vote/validate/consensus | spec/rfc/protocol | epic/plan/decompose | implement/build/create | PR/merge/shared | release/version/publish
|
|
130
189
|
|
|
@@ -136,19 +195,22 @@ Gate check: epic tasks must complete prior RCSD stages before later stages can s
|
|
|
136
195
|
|
|
137
196
|
> Full decision tree, enforcement modes, gate failure handling, and emergency bypass: `references/lifecycle-gates.md`
|
|
138
197
|
|
|
139
|
-
## Spawning
|
|
198
|
+
## Spawning Subagents
|
|
140
199
|
|
|
141
200
|
**All spawns follow this pattern:**
|
|
142
201
|
|
|
143
202
|
### MCP (Primary)
|
|
144
203
|
|
|
145
204
|
```
|
|
146
|
-
# 1.
|
|
205
|
+
# 1. Check pipeline stage is appropriate for this task type
|
|
206
|
+
cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
|
|
207
|
+
|
|
208
|
+
# 2. Generate fully-resolved spawn prompt
|
|
147
209
|
cleo_mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T1586" }})
|
|
148
210
|
|
|
149
|
-
#
|
|
150
|
-
#
|
|
151
|
-
#
|
|
211
|
+
# 3. Delegate via the provider's native mechanism
|
|
212
|
+
# orchestrate.spawn returns a fully-resolved prompt
|
|
213
|
+
# The provider adapter decides HOW to execute it
|
|
152
214
|
```
|
|
153
215
|
|
|
154
216
|
### CLI (Fallback)
|
|
@@ -157,7 +219,7 @@ cleo_mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T158
|
|
|
157
219
|
cleo orchestrator spawn T1586 --json
|
|
158
220
|
```
|
|
159
221
|
|
|
160
|
-
The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`) with a **Conditional Protocol** (`protocols/*.md`). All `{{TOKEN}}` placeholders are resolved before injection.
|
|
222
|
+
The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`) with a **Conditional Protocol** (`src/protocols/*.md`). All `{{TOKEN}}` placeholders are resolved before injection.
|
|
161
223
|
|
|
162
224
|
**Valid Return Messages**: `"[Type] complete/partial/blocked. See MANIFEST.jsonl for summary/details/blocker details."`
|
|
163
225
|
|
|
@@ -170,9 +232,10 @@ The spawn prompt combines the **Base Protocol** (`agents/cleo-subagent/AGENT.md`
|
|
|
170
232
|
```
|
|
171
233
|
cleo_query({ domain: "orchestrate", operation: "start", params: { epicId: "T1575" }})
|
|
172
234
|
cleo_query({ domain: "research", operation: "pending" })
|
|
235
|
+
cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId: "T1575" }})
|
|
173
236
|
```
|
|
174
237
|
|
|
175
|
-
Check MANIFEST.jsonl for pending followup, review sessions and
|
|
238
|
+
Check MANIFEST.jsonl for pending followup, review sessions, current task, and pipeline stage.
|
|
176
239
|
|
|
177
240
|
### Phase 2: Planning
|
|
178
241
|
|
|
@@ -181,7 +244,7 @@ cleo_query({ domain: "orchestrate", operation: "analyze", params: { epicId: "T15
|
|
|
181
244
|
cleo_query({ domain: "orchestrate", operation: "ready", params: { epicId: "T1575" }})
|
|
182
245
|
```
|
|
183
246
|
|
|
184
|
-
Decompose work into subagent-sized chunks with clear completion criteria.
|
|
247
|
+
Decompose work into subagent-sized chunks with clear completion criteria. Ensure planned tasks match the current pipeline stage.
|
|
185
248
|
|
|
186
249
|
### Phase 3: Execution
|
|
187
250
|
|
|
@@ -190,15 +253,17 @@ cleo_query({ domain: "orchestrate", operation: "next", params: { epicId: "T1575"
|
|
|
190
253
|
cleo_mutate({ domain: "orchestrate", operation: "spawn", params: { taskId: "T1586" }})
|
|
191
254
|
```
|
|
192
255
|
|
|
193
|
-
Spawn
|
|
256
|
+
Spawn subagent via `orchestrate.spawn`. The provider's adapter handles execution. Wait for manifest entry before proceeding.
|
|
194
257
|
|
|
195
|
-
### Phase 4: Verification
|
|
258
|
+
### Phase 4: Verification & Pipeline Advancement
|
|
196
259
|
|
|
197
260
|
```
|
|
198
261
|
cleo_query({ domain: "system", operation: "context" })
|
|
262
|
+
cleo_mutate({ domain: "pipeline", operation: "stage.record", params: { epicId: "T1575", stage: "research", status: "done" }})
|
|
263
|
+
cleo_mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId: "T1575", stage: "research" }})
|
|
199
264
|
```
|
|
200
265
|
|
|
201
|
-
Verify all subagent outputs in manifest. Update CLEO task status.
|
|
266
|
+
Verify all subagent outputs in manifest. Update CLEO task status. Record pipeline progress. Advance to next stage when all stage tasks complete.
|
|
202
267
|
|
|
203
268
|
## Task Operations Quick Reference
|
|
204
269
|
|
|
@@ -229,13 +294,22 @@ Verify all subagent outputs in manifest. Update CLEO task status.
|
|
|
229
294
|
| `cleo_query({ domain: "research", operation: "pending" })` | `cleo research pending` | Followup items |
|
|
230
295
|
| `cleo_mutate({ domain: "research", operation: "link", params: { taskId, entryId } })` | `cleo research link T1586 <id>` | Link research to task |
|
|
231
296
|
|
|
297
|
+
### Pipeline Operations
|
|
298
|
+
|
|
299
|
+
| MCP (Primary) | CLI (Fallback) | Purpose |
|
|
300
|
+
|----------------|----------------|---------|
|
|
301
|
+
| `cleo_query({ domain: "pipeline", operation: "stage.status", params: { epicId } })` | `cleo pipeline status --epic T1575` | Current pipeline stage |
|
|
302
|
+
| `cleo_mutate({ domain: "pipeline", operation: "stage.record", params: { epicId, stage, status } })` | `cleo pipeline record T1575 research done` | Record stage progress |
|
|
303
|
+
| `cleo_query({ domain: "pipeline", operation: "stage.validate", params: { epicId, stage } })` | `cleo pipeline validate T1575 implementation` | Check gate before spawn |
|
|
304
|
+
| `cleo_mutate({ domain: "pipeline", operation: "stage.gate.pass", params: { epicId, stage } })` | `cleo pipeline gate-pass T1575 research` | Advance pipeline stage |
|
|
305
|
+
|
|
232
306
|
**Context Budget Rule**: Stay under 10K tokens. Use `cleo research list` over reading full files.
|
|
233
307
|
|
|
234
308
|
## Handoff Chain Protocol
|
|
235
309
|
|
|
236
310
|
Content flows between subagents via **manifest-mediated handoffs**, not through orchestrator context. The orchestrator reads only `key_findings` from MANIFEST.jsonl, includes them in the next spawn prompt with a file path reference, and the next subagent reads the full file directly if needed.
|
|
237
311
|
|
|
238
|
-
**Key rules**: Never
|
|
312
|
+
**Key rules**: Never read full subagent output — read manifests only. Never read full output files. Always include `key_findings` + file path in handoff prompts. Subagents read files directly; orchestrator reads only manifests.
|
|
239
313
|
|
|
240
314
|
> Full handoff architecture, constraints (HNDOFF-001 through HNDOFF-005), prompt template, and anti-patterns: `references/orchestrator-handoffs.md`
|
|
241
315
|
|
|
@@ -243,12 +317,12 @@ Content flows between subagents via **manifest-mediated handoffs**, not through
|
|
|
243
317
|
|
|
244
318
|
| Pattern | When to Use | Key Operations |
|
|
245
319
|
|---------|-------------|----------------|
|
|
246
|
-
| Starting Fresh Epic | New feature work | `tasks.add`, `session.start`, `orchestrate.spawn` |
|
|
247
|
-
| Resuming Interrupted Work | New conversation | `orchestrate.start`, `research.pending` |
|
|
320
|
+
| Starting Fresh Epic | New feature work | `tasks.add`, `session.start`, `pipeline.stage.record`, `orchestrate.spawn` |
|
|
321
|
+
| Resuming Interrupted Work | New conversation | `orchestrate.start`, `pipeline.stage.status`, `research.pending` |
|
|
248
322
|
| Handling Manifest Followups | Subagent left TODOs | `research.pending`, `tasks.add` |
|
|
249
323
|
| Parallel Execution | Independent tasks in same wave | `orchestrate.analyze`, `orchestrate.ready` |
|
|
250
|
-
|
|
|
251
|
-
| Quality Gates | Verification required | `validate.report` |
|
|
324
|
+
| Pipeline-Aware Orchestration | Multi-stage epics | `pipeline.stage.status`, `pipeline.stage.validate`, `pipeline.stage.gate.pass` |
|
|
325
|
+
| Quality Gates | Verification required | `validate.report`, `pipeline.stage.validate` |
|
|
252
326
|
| Release | Ship a version | `release.create`, `release.ship` |
|
|
253
327
|
|
|
254
328
|
> Full executable workflows for each pattern: `references/orchestrator-patterns.md`
|
|
@@ -257,7 +331,7 @@ Content flows between subagents via **manifest-mediated handoffs**, not through
|
|
|
257
331
|
|
|
258
332
|
When operating without continuous HITL oversight, the orchestrator follows additional constraints: single coordination point (AUTO-001), manifest-only reads (AUTO-002), separate decomposition (AUTO-003), verify before next spawn (AUTO-004), wave-order spawning (AUTO-005), followup task creation for partial/blocked (AUTO-006), handoff at 80% context (HNDOFF-001), and read last handoff before resuming (CONT-001).
|
|
259
333
|
|
|
260
|
-
**Scope boundaries**: Autonomous for task execution, dependency resolution, manifest writes, wave-order spawning. Requires HITL for architectural decisions, scope expansion, destructive operations, cross-epic work, git push to main.
|
|
334
|
+
**Scope boundaries**: Autonomous for task execution, dependency resolution, manifest writes, wave-order spawning, pipeline stage advancement. Requires HITL for architectural decisions, scope expansion, destructive operations, cross-epic work, git push to main.
|
|
261
335
|
|
|
262
336
|
> Full autonomous constraints, workflow, scope boundaries, and injection templates: `references/autonomous-operation.md`
|
|
263
337
|
|
|
@@ -265,22 +339,24 @@ When operating without continuous HITL oversight, the orchestrator follows addit
|
|
|
265
339
|
|
|
266
340
|
1. **MUST NOT** read full research files — use manifest summaries
|
|
267
341
|
2. **MUST NOT** spawn parallel subagents without checking dependencies
|
|
268
|
-
3. **MUST NOT** implement code directly — delegate
|
|
342
|
+
3. **MUST NOT** implement code directly — delegate via `orchestrate.spawn`
|
|
269
343
|
4. **MUST NOT** exceed 10K context tokens
|
|
270
|
-
5. **MUST NOT** skip protocol injection when spawning
|
|
344
|
+
5. **MUST NOT** skip protocol injection when spawning subagents
|
|
271
345
|
6. **MUST NOT** spawn tasks out of dependency order
|
|
272
346
|
7. **MUST NOT** spawn skill-specific agents — use cleo-subagent with protocol injection
|
|
273
347
|
8. **MUST NOT** spawn with unresolved tokens (check `tokenResolution.fullyResolved`)
|
|
274
348
|
9. **MUST NOT** write, edit, or implement code directly
|
|
349
|
+
10. **MUST NOT** spawn tasks that don't match the current pipeline stage
|
|
350
|
+
11. **MUST NOT** skip pipeline gate validation before spawning
|
|
275
351
|
|
|
276
352
|
## Tool Boundaries (MANDATORY)
|
|
277
353
|
|
|
278
|
-
|
|
|
279
|
-
|
|
280
|
-
|
|
|
281
|
-
|
|
|
282
|
-
|
|
|
283
|
-
|
|
|
354
|
+
| Rule | Rationale |
|
|
355
|
+
|------|-----------|
|
|
356
|
+
| **MUST NOT** implement code directly | Delegate via `orchestrate.spawn` — all implementation is subagent work |
|
|
357
|
+
| **MUST NOT** read full subagent output | Read manifests only — subagent output stays in subagent context |
|
|
358
|
+
| **MUST** use `orchestrate.spawn` for all delegation | Single spawn mechanism; returns fully-resolved prompt for provider adapter |
|
|
359
|
+
| **MUST** check pipeline stage before spawning | Ensure task type matches current RCASD stage |
|
|
284
360
|
|
|
285
361
|
**Subagents read full files. Orchestrator reads only manifests.**
|
|
286
362
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
You are an orchestrator. You MUST NOT implement code directly.
|
|
2
|
+
|
|
3
|
+
Delegate ALL work to subagents via CLEO's orchestrate.spawn operation.
|
|
4
|
+
The spawn operation generates a fully-resolved prompt; your provider's
|
|
5
|
+
adapter decides HOW to execute it.
|
|
6
|
+
|
|
7
|
+
Manage the RCASD-IVTR+C pipeline for your epic. Before spawning any
|
|
8
|
+
subagent, check pipeline gates via pipeline.stage.validate. Do not
|
|
9
|
+
spawn implementation work until research, specification, and
|
|
10
|
+
decomposition stages are complete.
|
|
11
|
+
|
|
12
|
+
Read only manifests, never full subagent outputs. Subagents write
|
|
13
|
+
to MANIFEST.jsonl; you read key_findings from manifest entries.
|
|
14
|
+
|
|
15
|
+
Each subagent MUST stay under 185,000 tokens. If approaching that
|
|
16
|
+
limit, the subagent MUST create a handoff and a new agent carries
|
|
17
|
+
the work forward.
|
|
@@ -138,7 +138,7 @@ cleo release ship v0.85.0 --bump-version --dry-run
|
|
|
138
138
|
**IMPORTANT**: `dev/release-version.sh` is **DEPRECATED** (since v0.78.0).
|
|
139
139
|
Always use `cleo release create` → `cleo release ship`.
|
|
140
140
|
|
|
141
|
-
See `protocols/release.md` for the full release protocol specification.
|
|
141
|
+
See `src/protocols/release.md` for the full release protocol specification.
|
|
142
142
|
|
|
143
143
|
## Full RCSD-to-Release Lifecycle
|
|
144
144
|
|