@jterrats/open-orchestra 1.1.1 → 1.2.0

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.
Files changed (124) hide show
  1. package/AGENTS.md +30 -5
  2. package/CHANGELOG.md +48 -0
  3. package/CLAUDE.md +23 -4
  4. package/README.md +21 -6
  5. package/dist/benchmark.js +54 -6
  6. package/dist/benchmark.js.map +1 -1
  7. package/dist/capability-commands.d.ts +2 -0
  8. package/dist/capability-commands.js +82 -0
  9. package/dist/capability-commands.js.map +1 -0
  10. package/dist/capture-commands.d.ts +16 -0
  11. package/dist/capture-commands.js +70 -0
  12. package/dist/capture-commands.js.map +1 -0
  13. package/dist/chat-api-service.js +3 -0
  14. package/dist/chat-api-service.js.map +1 -1
  15. package/dist/cli-capability-catalog.d.ts +10 -0
  16. package/dist/cli-capability-catalog.js +110 -0
  17. package/dist/cli-capability-catalog.js.map +1 -0
  18. package/dist/cli-capability-data.d.ts +2 -0
  19. package/dist/cli-capability-data.js +203 -0
  20. package/dist/cli-capability-data.js.map +1 -0
  21. package/dist/cli-capability-renderer.d.ts +2 -0
  22. package/dist/cli-capability-renderer.js +43 -0
  23. package/dist/cli-capability-renderer.js.map +1 -0
  24. package/dist/cli-capability-types.d.ts +30 -0
  25. package/dist/cli-capability-types.js +2 -0
  26. package/dist/cli-capability-types.js.map +1 -0
  27. package/dist/cli.js +7 -1
  28. package/dist/cli.js.map +1 -1
  29. package/dist/command-manifest.d.ts +3 -0
  30. package/dist/command-manifest.js +90 -1
  31. package/dist/command-manifest.js.map +1 -1
  32. package/dist/command-routes.js +12 -2
  33. package/dist/command-routes.js.map +1 -1
  34. package/dist/commands.d.ts +3 -1
  35. package/dist/commands.js +6 -1
  36. package/dist/commands.js.map +1 -1
  37. package/dist/constants.js +2 -0
  38. package/dist/constants.js.map +1 -1
  39. package/dist/delivery-dashboard-charts.js +7 -3
  40. package/dist/delivery-dashboard-charts.js.map +1 -1
  41. package/dist/delivery-dashboard-types.d.ts +4 -0
  42. package/dist/delivery-dashboard.js +6 -0
  43. package/dist/delivery-dashboard.js.map +1 -1
  44. package/dist/effort-classification.d.ts +1 -0
  45. package/dist/effort-classification.js +15 -0
  46. package/dist/effort-classification.js.map +1 -1
  47. package/dist/mcp-integrations.d.ts +9 -2
  48. package/dist/mcp-integrations.js +50 -13
  49. package/dist/mcp-integrations.js.map +1 -1
  50. package/dist/mcp-oauth-proxy.d.ts +8 -0
  51. package/dist/mcp-oauth-proxy.js +25 -0
  52. package/dist/mcp-oauth-proxy.js.map +1 -1
  53. package/dist/mcp-runtime-config.d.ts +55 -0
  54. package/dist/mcp-runtime-config.js +235 -0
  55. package/dist/mcp-runtime-config.js.map +1 -0
  56. package/dist/mcp-tool-adapter.js +2 -4
  57. package/dist/mcp-tool-adapter.js.map +1 -1
  58. package/dist/phase-playbooks.js +9 -0
  59. package/dist/phase-playbooks.js.map +1 -1
  60. package/dist/real-evidence-gates.d.ts +23 -0
  61. package/dist/real-evidence-gates.js +182 -0
  62. package/dist/real-evidence-gates.js.map +1 -0
  63. package/dist/release-commands.d.ts +3 -0
  64. package/dist/release-commands.js +85 -0
  65. package/dist/release-commands.js.map +1 -1
  66. package/dist/release-inclusion.d.ts +115 -0
  67. package/dist/release-inclusion.js +378 -0
  68. package/dist/release-inclusion.js.map +1 -0
  69. package/dist/runtime-bootstrap.js +1 -0
  70. package/dist/runtime-bootstrap.js.map +1 -1
  71. package/dist/runtime-child-prompt.js +30 -2
  72. package/dist/runtime-child-prompt.js.map +1 -1
  73. package/dist/runtime-commands.d.ts +3 -0
  74. package/dist/runtime-commands.js +96 -0
  75. package/dist/runtime-commands.js.map +1 -1
  76. package/dist/runtime-events.d.ts +48 -0
  77. package/dist/runtime-events.js +255 -0
  78. package/dist/runtime-events.js.map +1 -0
  79. package/dist/runtime-execution-renderer.js +11 -3
  80. package/dist/runtime-execution-renderer.js.map +1 -1
  81. package/dist/runtime-execution.js +6 -2
  82. package/dist/runtime-execution.js.map +1 -1
  83. package/dist/runtime-parent-actions.js +40 -6
  84. package/dist/runtime-parent-actions.js.map +1 -1
  85. package/dist/runtime-spawn-bridge.js +15 -5
  86. package/dist/runtime-spawn-bridge.js.map +1 -1
  87. package/dist/sprint-metrics.js +7 -1
  88. package/dist/sprint-metrics.js.map +1 -1
  89. package/dist/tool-commands.js +34 -12
  90. package/dist/tool-commands.js.map +1 -1
  91. package/dist/types/metrics.d.ts +5 -1
  92. package/dist/types/runtime.d.ts +8 -2
  93. package/dist/types/workflow-run.d.ts +2 -0
  94. package/dist/types.d.ts +1 -0
  95. package/dist/web-api-read-routes.d.ts +1 -0
  96. package/dist/web-api-read-routes.js +6 -1
  97. package/dist/web-api-read-routes.js.map +1 -1
  98. package/dist/web-api.js +284 -2
  99. package/dist/web-api.js.map +1 -1
  100. package/dist/web-chat-routes.js +11 -0
  101. package/dist/web-chat-routes.js.map +1 -1
  102. package/dist/web-console/assets/index-Cip-y4WE.css +1 -0
  103. package/dist/web-console/assets/index-CuWjFxss.js +11 -0
  104. package/dist/web-console/index.html +2 -2
  105. package/dist/workflow-gates.js +49 -3
  106. package/dist/workflow-gates.js.map +1 -1
  107. package/dist/workflow-handoff-contract.js +30 -2
  108. package/dist/workflow-handoff-contract.js.map +1 -1
  109. package/dist/workflow-run-commands.js +11 -1
  110. package/dist/workflow-run-commands.js.map +1 -1
  111. package/dist/workflow-services.js +5 -3
  112. package/dist/workflow-services.js.map +1 -1
  113. package/docs/autonomous-workflow.md +6 -0
  114. package/docs/ci-self-hosted-runners.md +76 -0
  115. package/docs/command-contracts.md +21 -0
  116. package/docs/e2e-test-batteries.md +74 -16
  117. package/docs/release-inclusion-manifest.md +142 -0
  118. package/docs/runtime-adapters.md +8 -4
  119. package/docs/security-env-vars.md +1 -0
  120. package/package.json +6 -2
  121. package/site/dist/assets/{index-Bi8l6tCE.js → index-B1Xsl_Kg.js} +1 -1
  122. package/site/dist/index.html +1 -1
  123. package/dist/web-console/assets/index-CJup1cIA.css +0 -1
  124. package/dist/web-console/assets/index-CVDOfipu.js +0 -11
package/AGENTS.md CHANGED
@@ -156,7 +156,7 @@
156
156
  - Mark breaking changes with `!` and a `BREAKING CHANGE:` footer.
157
157
  - Keep PRs <400 lines. Review your own diff before requesting review.
158
158
 
159
- <!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="1" target="codex" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="5a659e3f584b7f2513e22b65076b9d0916b76d8fa77c5d942d6be2cec4ee5229" updated-at="2026-05-29T16:46:22.312Z" -->
159
+ <!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="2" target="codex" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="217d1f3814b022dea3df511ce329a5db2d1cbfc808ee4c6fd5e3b6f82d3e8504" updated-at="2026-06-10T01:52:37.810Z" -->
160
160
  # Open Orchestra Runtime Bootstrap
161
161
 
162
162
  Runtime target: Codex. Reference Open Orchestra from AGENTS.md so local CLI work follows workflow gates.
@@ -169,6 +169,18 @@ The active LLM runtime is the parent agent. Orchestra renders spawn requests and
169
169
  Every piece of work — feature, bug fix, architecture decision, stack definition, PO refinement, or research spike —
170
170
  MUST go through the Orchestra workflow. Do not start any work without a registered task and a running workflow.
171
171
 
172
+ ### Managed Work Routing for External Runtimes
173
+
174
+ External runtimes and provider-backed agents — including Claude, Codex, Cursor, VS Code, Windsurf, OpenCode, and generic LLM runners — must infer managed work intent from natural language.
175
+ When the user asks to implement, fix, review, release, deploy, plan, research, investigate, spike, groom, estimate, validate, QA, or document work in a project with `.agent-workflow/`, route the request through Orchestra instead of executing ad hoc.
176
+ The required routing sequence is:
177
+ 1. Load workspace state with `orchestra health --json` and `orchestra task list --json --status pending,blocked,in_progress`.
178
+ 2. Reuse the matching active task when one exists; otherwise create or refine a task with `orchestra task add` before doing implementation, research, or provider calls.
179
+ 3. Record the estimate and run `orchestra validate --pre-run --task <ID> --json`; if context is missing, resume or register the workflow before editing files.
180
+ 4. Start or resume the workflow with `orchestra workflow run --task <ID> --gates phase` or `orchestra workflow run --task <ID> --resume <run-id>`.
181
+ 5. If acceptance criteria, sizing, or gate approval is missing, stop and record clarification/review instead of bypassing the workflow.
182
+ This hardening is for external runtimes. The local provider/backbone path may stay tightly coupled to Orchestra internals, but it must not be used as a precedent for Claude, Codex, Cursor, VS Code, Windsurf, OpenCode, or generic provider behavior.
183
+
172
184
  ### Step 1 — Register the task
173
185
  ```
174
186
  orchestra task add --id <ID> --title "<title>" --owner <role> --paths "<files>" --goal "<goal>"
@@ -185,12 +197,20 @@ Use the correct owner role for the type of work:
185
197
  ```
186
198
  orchestra estimate --task <ID> --sizing <xs|s|m|l|xl> --solo-days <N> --ai-unguided-days <N> --ai-guided-days <N>
187
199
  ```
200
+ Do not run `orchestra workflow run` until this estimate is recorded; an unestimated task signals incomplete planning.
188
201
 
189
202
  ### Step 3 — Run the autonomous workflow
190
203
  ```
191
204
  orchestra workflow run --task <ID> --gates phase
192
205
  ```
193
206
  The workflow sequences PM → PO → Architect → Developer → QA → Release.
207
+ Execution mode is selected from sizing when no explicit `--phase-execution` is provided:
208
+ - `xs` (1 point): `single-agent` so all phases run inline without spawn overhead.
209
+ - `s` (2–3 points): `single-agent` by default; use `subagents` when the work is separable.
210
+ - `m`, `l`, `xl`: `subagents` so phase work is isolated and reviewable.
211
+ For xs/s tasks, prefer `orchestra workflow run --task <ID> --gates phase --phase-execution single-agent` when you need to be explicit. The parent agent still produces handoffs, evidence, and reviews for every phase.
212
+ The agent (Claude Code) is responsible for executing every phase in sequence — acting as PM, then PO, then Architect, then Developer, then QA, then Release — before marking work complete.
213
+ Never pass `--from-phase`, `--skip-phases`, or any phase-shortcut flag. If a phase seems irrelevant, record a bypass rationale with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."` instead.
194
214
  Gates pause at `po→architect` and `qa→release` for human review.
195
215
  The architect phase requires a sizing decision before proceeding:
196
216
  ```
@@ -209,6 +229,7 @@ Each phase routes work to the right role. Pass your comments, requirements, or c
209
229
  ```
210
230
  orchestra workflow run --task <ID> --resume <run-id>
211
231
  ```
232
+ At a `po→architect` or `qa→release` gate, stop work, surface the handoff artifact to the user, and wait for explicit approval before resuming — do not self-approve or continue autonomously.
212
233
  Gate approval is not automatic. Before approving `po→architect`, verify the GitHub issue or Orchestra task has user-validated acceptance criteria, non-goals, assumptions, priority, and sizing context.
213
234
  Before approving `qa→release`, verify real implementation evidence exists: changed files, exact validation commands, test results, QA findings, BA/PO acceptance, and Architect review when technical contracts changed.
214
235
  If a generated handoff says `Acceptance Criteria: none`, treat it as incomplete. Pull criteria from the linked issue/task, record a review finding, and do not approve release until the gap is fixed or explicitly risk-accepted.
@@ -217,16 +238,19 @@ If a generated handoff says `Acceptance Criteria: none`, treat it as incomplete.
217
238
  ```
218
239
  orchestra benchmark --task <ID>
219
240
  ```
241
+ A task is not complete until `orchestra benchmark` has run. Do not close the task or mark it done beforehand.
220
242
 
221
243
  ## Active Work
222
- - At session start, run `orchestra health --json` before implementation or file edits.
244
+ - At session start, run `orchestra health --runtime codex-cli --json` before implementation or file edits.
223
245
  - Run `orchestra task list --json --status pending,blocked,in_progress` and identify resumable work before creating a new task.
224
246
  - For the active task, run context, delegation, plan, skills, protocol, and workflow render commands.
225
247
  - Run `orchestra validate --pre-run --task <ID> --json` before implementation; resolve missing estimate, workflow run, evidence, or review checks.
248
+ - Loading or estimating a task is not enough. If validation reports `workflowRun` missing, run `orchestra workflow run --task <ID> --gates phase` or resume the existing run before implementation, handoff, QA, or release work.
226
249
  - If a user accepts a smaller/advisory path, record it with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."`.
227
- - Codex recurring preflight: before each new work block and after any context shift, compaction, resume, interruption, or role handoff, rerun `orchestra health --json`, `orchestra task list --json --status pending,blocked,in_progress`, and `orchestra validate --pre-run --task <ID> --json`.
250
+ - After `orchestra workflow run` completes a phase or reports a pending action, immediately run `orchestra runtime parent-actions --task <ID> --json` and dispatch any actionable `claude-agent-request` items before continuing.
251
+ - Codex recurring preflight: before each new work block and after any context shift, compaction, resume, interruption, or role handoff, rerun `orchestra health --runtime codex-cli --json`, `orchestra task list --json --status pending,blocked,in_progress`, and `orchestra validate --pre-run --task <ID> --json`.
228
252
  - Treat `activeOrchestraContext: false` or non-empty `missingActiveContext` from pre-run validation as a drift warning; reload the task context and resume/register the workflow before editing files.
229
- - Codex has no native recurring hook in this project, so this managed guidance and validation command are the fallback enforcement mechanism.
253
+ - Codex has no native recurring hook in this project, so this managed guidance and validation command are the fallback enforcement mechanism; the `--runtime codex-cli` flag is what registers the active runtime in `.agent-workflow/active-runtime.json`.
230
254
 
231
255
  ## Runtime-Native Background Spawn
232
256
  - When a workflow phase returns `completionMode=detached`, keep the parent conversation available and do not block on the child unless the user explicitly asks to wait.
@@ -239,7 +263,7 @@ orchestra benchmark --task <ID>
239
263
  - Codex parent runtimes should use `spawn_agent` for the rendered packet and avoid waiting by default.
240
264
 
241
265
  ## Task Loop
242
- - `orchestra health` - Check local tools and workflow readiness.
266
+ - `orchestra health` - Check local tools and workflow readiness. With --runtime, persists the active runtime to .agent-workflow/active-runtime.json so subsequent commands know who the parent is.
243
267
  - `orchestra task list` - List local workflow tasks. Workflow phase subtasks are hidden by default.
244
268
  - `orchestra delegation decide --task <id>` - Decide whether to delegate.
245
269
  - `orchestra skills plan --task <id>` - Select task-scoped skills.
@@ -258,6 +282,7 @@ orchestra benchmark --task <ID>
258
282
  - Record command/file/browser evidence with `orchestra evidence add`.
259
283
  - Record review outcome with `orchestra review`.
260
284
  - Update task status only after evidence and review are present.
285
+ - **Never run `git push` without explicit user instruction.** Completing a task, finishing QA, or closing a workflow run does not authorize a push.
261
286
 
262
287
  ## Command Discovery
263
288
  - Use `orchestra commands manifest --json` for command metadata.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,54 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.2.0 - 2026-06-10
6
+
7
+ ### Added
8
+
9
+ - Added runtime event bridge and web console runtime event replay so CLI and
10
+ web workflows can inspect parent/runtime activity with bounded history. See
11
+ [GH-531](https://github.com/jterratsdev/open-orchestra/issues/531).
12
+ - Added role-scoped CLI capability discovery and a generated capabilities
13
+ manifest contract for agent rules and packaged command validation. See
14
+ [GH-532](https://github.com/jterratsdev/open-orchestra/issues/532).
15
+ - Added conversational capture command support and refreshed README positioning
16
+ around governed Orchestra workflows. See
17
+ [GH-535](https://github.com/jterratsdev/open-orchestra/issues/535).
18
+ - Added scoped MCP runtime diagnostics and coverage for spawned agent skill and
19
+ QA evidence inheritance. See
20
+ [GH-527](https://github.com/jterratsdev/open-orchestra/issues/527).
21
+
22
+ ### Changed
23
+
24
+ - Hardened managed-work pre-run enforcement so external runtimes must register
25
+ and run Orchestra workflow context before implementation work. See
26
+ [GH-543](https://github.com/jterratsdev/open-orchestra/issues/543).
27
+ - Scheduled Dependabot CI updates monthly and hardened self-hosted runner
28
+ policy to reduce Actions minute pressure while preserving release gates. See
29
+ [GH-537](https://github.com/jterratsdev/open-orchestra/issues/537) and
30
+ [GH-539](https://github.com/jterratsdev/open-orchestra/issues/539).
31
+ - Groomed the product E2E epic and added release E2E battery checks to the QA
32
+ playbook. See [GH-533](https://github.com/jterratsdev/open-orchestra/issues/533)
33
+ and [GH-525](https://github.com/jterratsdev/open-orchestra/issues/525).
34
+
35
+ ### Fixed
36
+
37
+ - Fixed benchmark reporting so completed tasks without duration are counted
38
+ separately from measured actuals. See
39
+ [GH-538](https://github.com/jterratsdev/open-orchestra/issues/538).
40
+ - Hardened QA scenario evidence rules to require expected outcomes and real
41
+ environment-aware proof instead of simulated handoff evidence. See
42
+ [GH-538](https://github.com/jterratsdev/open-orchestra/issues/538).
43
+ - Added compiled-path renderer E2E coverage and cleared CI quality blockers for
44
+ the current release candidate. See
45
+ [GH-528](https://github.com/jterratsdev/open-orchestra/issues/528) and
46
+ [GH-537](https://github.com/jterratsdev/open-orchestra/issues/537).
47
+
48
+ ### Validation
49
+
50
+ - Release validation is tracked in
51
+ [GH-552](https://github.com/jterratsdev/open-orchestra/issues/552).
52
+
5
53
  ## 1.0.18 - 2026-06-04
6
54
 
7
55
  ### Added
package/CLAUDE.md CHANGED
@@ -170,7 +170,7 @@ Do NOT start implementation without a registered task and workflow run. Use `orc
170
170
  - Correct mistakes directly without apologizing.
171
171
  - **No Ninja Edits.** Summarize proposed changes and get agreement before modifying files.
172
172
 
173
- <!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="1" target="claude" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="e4280ced751d55bf2df6108a94246ad09e2d21f05e14e8f9f11d4a38e30f455e" updated-at="2026-06-02T02:49:15.257Z" -->
173
+ <!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="2" target="claude" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="13c9eb619d26c7e401dd9b24bbd5f45badd1ae09c09037dd5fba5cbdf3253a1f" updated-at="2026-06-10T01:52:37.809Z" -->
174
174
  # Open Orchestra Runtime Bootstrap
175
175
 
176
176
  Runtime target: Claude. Reference compact Open Orchestra blocks from CLAUDE.md and load task skills on demand.
@@ -183,6 +183,18 @@ The active LLM runtime is the parent agent. Orchestra renders spawn requests and
183
183
  Every piece of work — feature, bug fix, architecture decision, stack definition, PO refinement, or research spike —
184
184
  MUST go through the Orchestra workflow. Do not start any work without a registered task and a running workflow.
185
185
 
186
+ ### Managed Work Routing for External Runtimes
187
+
188
+ External runtimes and provider-backed agents — including Claude, Codex, Cursor, VS Code, Windsurf, OpenCode, and generic LLM runners — must infer managed work intent from natural language.
189
+ When the user asks to implement, fix, review, release, deploy, plan, research, investigate, spike, groom, estimate, validate, QA, or document work in a project with `.agent-workflow/`, route the request through Orchestra instead of executing ad hoc.
190
+ The required routing sequence is:
191
+ 1. Load workspace state with `orchestra health --json` and `orchestra task list --json --status pending,blocked,in_progress`.
192
+ 2. Reuse the matching active task when one exists; otherwise create or refine a task with `orchestra task add` before doing implementation, research, or provider calls.
193
+ 3. Record the estimate and run `orchestra validate --pre-run --task <ID> --json`; if context is missing, resume or register the workflow before editing files.
194
+ 4. Start or resume the workflow with `orchestra workflow run --task <ID> --gates phase` or `orchestra workflow run --task <ID> --resume <run-id>`.
195
+ 5. If acceptance criteria, sizing, or gate approval is missing, stop and record clarification/review instead of bypassing the workflow.
196
+ This hardening is for external runtimes. The local provider/backbone path may stay tightly coupled to Orchestra internals, but it must not be used as a precedent for Claude, Codex, Cursor, VS Code, Windsurf, OpenCode, or generic provider behavior.
197
+
186
198
  ### Step 1 — Register the task
187
199
  ```
188
200
  orchestra task add --id <ID> --title "<title>" --owner <role> --paths "<files>" --goal "<goal>"
@@ -206,6 +218,11 @@ Do not run `orchestra workflow run` until this estimate is recorded; an unestima
206
218
  orchestra workflow run --task <ID> --gates phase
207
219
  ```
208
220
  The workflow sequences PM → PO → Architect → Developer → QA → Release.
221
+ Execution mode is selected from sizing when no explicit `--phase-execution` is provided:
222
+ - `xs` (1 point): `single-agent` so all phases run inline without spawn overhead.
223
+ - `s` (2–3 points): `single-agent` by default; use `subagents` when the work is separable.
224
+ - `m`, `l`, `xl`: `subagents` so phase work is isolated and reviewable.
225
+ For xs/s tasks, prefer `orchestra workflow run --task <ID> --gates phase --phase-execution single-agent` when you need to be explicit. The parent agent still produces handoffs, evidence, and reviews for every phase.
209
226
  The agent (Claude Code) is responsible for executing every phase in sequence — acting as PM, then PO, then Architect, then Developer, then QA, then Release — before marking work complete.
210
227
  Never pass `--from-phase`, `--skip-phases`, or any phase-shortcut flag. If a phase seems irrelevant, record a bypass rationale with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."` instead.
211
228
  Gates pause at `po→architect` and `qa→release` for human review.
@@ -238,13 +255,14 @@ orchestra benchmark --task <ID>
238
255
  A task is not complete until `orchestra benchmark` has run. Do not close the task or mark it done beforehand.
239
256
 
240
257
  ## Active Work
241
- - At session start, run `orchestra health --json` before implementation or file edits.
258
+ - At session start, run `orchestra health --runtime claude-cli --json` before implementation or file edits.
242
259
  - Run `orchestra task list --json --status pending,blocked,in_progress` and identify resumable work before creating a new task.
243
260
  - For the active task, run context, delegation, plan, skills, protocol, and workflow render commands.
244
261
  - Run `orchestra validate --pre-run --task <ID> --json` before implementation; resolve missing estimate, workflow run, evidence, or review checks.
262
+ - Loading or estimating a task is not enough. If validation reports `workflowRun` missing, run `orchestra workflow run --task <ID> --gates phase` or resume the existing run before implementation, handoff, QA, or release work.
245
263
  - If a user accepts a smaller/advisory path, record it with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."`.
246
264
  - After `orchestra workflow run` completes a phase or reports a pending action, immediately run `orchestra runtime parent-actions --task <ID> --json` and dispatch any actionable `claude-agent-request` items before continuing.
247
- - Claude recurring preflight: after each phase completes, after a subagent returns, and after any context compaction or session resume, rerun `orchestra health --json` and `orchestra validate --pre-run --task <ID> --json` before continuing.
265
+ - Claude recurring preflight: after each phase completes, after a subagent returns, and after any context compaction or session resume, rerun `orchestra health --runtime claude-cli --json` and `orchestra validate --pre-run --task <ID> --json` before continuing.
248
266
  - Treat a non-empty `missingActiveContext` or missing workflow run as a signal to re-register or resume the workflow before editing files.
249
267
 
250
268
  ## Runtime-Native Background Spawn
@@ -273,7 +291,7 @@ When the user asks to delegate, or a workflow phase requires a subagent, follow
273
291
  After the developer subagent completes, run `orchestra workflow run --task <ID> --resume <run-id>` to drive the QA phase; do not mark work done until QA evidence is recorded and the `qa→release` gate has been surfaced to the user.
274
292
 
275
293
  ## Task Loop
276
- - `orchestra health` - Check local tools and workflow readiness.
294
+ - `orchestra health` - Check local tools and workflow readiness. With --runtime, persists the active runtime to .agent-workflow/active-runtime.json so subsequent commands know who the parent is.
277
295
  - `orchestra task list` - List local workflow tasks. Workflow phase subtasks are hidden by default.
278
296
  - `orchestra delegation decide --task <id>` - Decide whether to delegate.
279
297
  - `orchestra skills plan --task <id>` - Select task-scoped skills.
@@ -292,6 +310,7 @@ After the developer subagent completes, run `orchestra workflow run --task <ID>
292
310
  - Record command/file/browser evidence with `orchestra evidence add`.
293
311
  - Record review outcome with `orchestra review`.
294
312
  - Update task status only after evidence and review are present.
313
+ - **Never run `git push` without explicit user instruction.** Completing a task, finishing QA, or closing a workflow run does not authorize a push.
295
314
 
296
315
  ## Command Discovery
297
316
  - Use `orchestra commands manifest --json` for command metadata.
package/README.md CHANGED
@@ -1,12 +1,27 @@
1
1
  # Open Orchestra
2
2
 
3
- AI-assisted development gets messy fast: prompts drift, context is assembled by
4
- hand, and evidence is often reconstructed after the fact.
3
+ You already have Claude Code, Codex, or Cursor. The problem is everything
4
+ around them: prompts drift, context is assembled by hand, handoffs get lost,
5
+ and "done" means different things every time.
5
6
 
6
- Open Orchestra gives Codex, Claude Code, Cursor, and agentic CLIs a repeatable
7
- delivery workflow. Register a task, run the workflow, and Orchestra selects the
8
- right playbook, injects structured context into the agent, records handoffs and
9
- evidence, and leaves a resumable audit trail. The public CLI is `orchestra`.
7
+ Open Orchestra is the governance layer that runs on top of the agents you
8
+ already use. It sequences PM PO Architect Developer → QA → Release,
9
+ injects the right context at each phase, enforces human gates where it
10
+ matters, and leaves a verifiable audit trail. The public CLI is `orchestra`.
11
+
12
+ Unlike autonomous agents like Devin, Orchestra doesn't replace your tools —
13
+ it governs them. Unlike agent frameworks like CrewAI, you don't write code
14
+ to define agents — you run a workflow against your existing AI runtime.
15
+
16
+ Real result from a governed story — negative means time saved vs. that mode:
17
+
18
+ ```
19
+ Actual: 1.4d | vs Solo: -72% | vs AI-unguided: -53% | Cost: $0.0257
20
+ ```
21
+
22
+ -72% means the task took 72% less time than the solo baseline declared at
23
+ story start. Orchestra measures this automatically from the run log — no
24
+ manual input after the initial estimate.
10
25
 
11
26
  Package naming: install `@jterrats/open-orchestra`; run the CLI as
12
27
  `orchestra`. The shorter `@jterrats/orchestra` package is not the canonical
package/dist/benchmark.js CHANGED
@@ -5,7 +5,7 @@ import { ensureDir, resolveWorkflowPath } from "./fs-utils.js";
5
5
  import { timestampedId } from "./id-utils.js";
6
6
  import { appendEvent, loadWorkspace, readEvents } from "./workspace.js";
7
7
  import { listAutonomousRuns } from "./autonomous-workflow.js";
8
- import { manualEffortBreakdown, pendingEffortBreakdown, workflowEffortBreakdown, } from "./effort-classification.js";
8
+ import { completedWithoutDurationEffortBreakdown, manualEffortBreakdown, pendingEffortBreakdown, workflowEffortBreakdown, } from "./effort-classification.js";
9
9
  export const ESTIMATES_FILE = "estimates.jsonl";
10
10
  const MS_PER_HOUR = 1000 * 60 * 60;
11
11
  const MS_PER_DAY = MS_PER_HOUR * 24;
@@ -179,6 +179,9 @@ export async function computeBenchmark(root, taskId) {
179
179
  timing: timestampActual,
180
180
  });
181
181
  }
182
+ if (await isTaskDone(root, taskId)) {
183
+ return completedBenchmarkWithoutDuration(taskId, estimate, quality);
184
+ }
182
185
  return pendingBenchmarkResult(taskId, estimate, quality);
183
186
  }
184
187
  // Compute actual cycle time from first phase start to release phase completion
@@ -212,6 +215,9 @@ export async function computeBenchmark(root, taskId) {
212
215
  timing: timestampActual,
213
216
  });
214
217
  }
218
+ if (await isTaskDone(root, taskId)) {
219
+ return completedBenchmarkWithoutDuration(taskId, estimate, quality);
220
+ }
215
221
  return pendingBenchmarkResult(taskId, estimate, quality);
216
222
  }
217
223
  const actualDays = durationParts(workflowDurationMs).days;
@@ -259,6 +265,10 @@ export async function computeBenchmark(root, taskId) {
259
265
  status: "complete",
260
266
  };
261
267
  }
268
+ async function isTaskDone(root, taskId) {
269
+ const workspace = await loadWorkspace(root);
270
+ return workspace.tasks.some((candidate) => candidate.id === taskId && candidate.status === "done");
271
+ }
262
272
  function pendingBenchmarkResult(taskId, estimate, quality) {
263
273
  return {
264
274
  taskId,
@@ -279,6 +289,26 @@ function pendingBenchmarkResult(taskId, estimate, quality) {
279
289
  status: "pending",
280
290
  };
281
291
  }
292
+ function completedBenchmarkWithoutDuration(taskId, estimate, quality) {
293
+ return {
294
+ taskId,
295
+ sizingLabel: estimate.sizingLabel,
296
+ soloEstimateDays: estimate.soloEstimateDays,
297
+ aiUnguidedEstimateDays: estimate.aiUnguidedEstimateDays,
298
+ aiGuidedEstimateDays: estimate.aiGuidedEstimateDays,
299
+ actualSource: "task-status",
300
+ actualDays: null,
301
+ actualHours: null,
302
+ vsSoloPct: null,
303
+ vsAiUnguidedPct: null,
304
+ vsAiGuidedPct: null,
305
+ qaIterations: 0,
306
+ phaseDurations: [],
307
+ effortBreakdown: completedWithoutDurationEffortBreakdown(estimate),
308
+ quality,
309
+ status: "complete",
310
+ };
311
+ }
282
312
  async function computeTaskLifecycleDuration(root, taskId) {
283
313
  const workspace = await loadWorkspace(root);
284
314
  const task = workspace.tasks.find((candidate) => candidate.id === taskId);
@@ -438,15 +468,30 @@ export async function summarizeBenchmark(root) {
438
468
  }
439
469
  export async function computeVelocity(root) {
440
470
  const summary = await summarizeBenchmark(root);
441
- const completed = summary.stories.filter((s) => s.status === "complete" && s.actualDays !== null);
471
+ const completed = summary.stories.filter((s) => s.status === "complete");
472
+ const withActuals = completed.filter((s) => s.actualDays !== null);
442
473
  const runs = await listAutonomousRuns(root);
443
474
  const runsByTask = new Map(runs.map((r) => [r.taskId, r]));
475
+ const workspace = await loadWorkspace(root);
476
+ const tasksById = new Map(workspace.tasks.map((task) => [task.id, task]));
477
+ const doneEventsByTask = new Map();
478
+ for (const event of await readEvents(root)) {
479
+ if (event.type === "TASK_UPDATED" &&
480
+ event.taskId &&
481
+ String(event.metadata.status) === "done") {
482
+ doneEventsByTask.set(event.taskId, event.timestamp);
483
+ }
484
+ }
444
485
  // Group stories by ISO week of release phase completion
445
486
  const weekMap = new Map();
446
487
  for (const story of completed) {
447
488
  const run = runsByTask.get(story.taskId);
448
489
  const releasePhase = run?.phases.find((p) => p.phase === "release");
449
- const completedAt = releasePhase?.completedAt ?? run?.updatedAt;
490
+ const task = tasksById.get(story.taskId);
491
+ const completedAt = releasePhase?.completedAt ??
492
+ run?.updatedAt ??
493
+ task?.doneAt ??
494
+ doneEventsByTask.get(story.taskId);
450
495
  if (!completedAt)
451
496
  continue;
452
497
  const week = isoWeek(new Date(completedAt));
@@ -465,15 +510,18 @@ export async function computeVelocity(root) {
465
510
  pointsCompleted: points,
466
511
  }));
467
512
  const totalPoints = completed.reduce((sum, s) => sum + storyPoints(s.sizingLabel), 0);
468
- const avgActualDays = completed.length > 0
469
- ? Math.round((completed.reduce((sum, s) => sum + (s.actualDays ?? 0), 0) /
470
- completed.length) *
513
+ const totalPointsWithActuals = withActuals.reduce((sum, s) => sum + storyPoints(s.sizingLabel), 0);
514
+ const avgActualDays = withActuals.length > 0
515
+ ? Math.round((withActuals.reduce((sum, s) => sum + (s.actualDays ?? 0), 0) /
516
+ withActuals.length) *
471
517
  100) / 100
472
518
  : null;
473
519
  const trend = computeTrend(weeks);
474
520
  return {
475
521
  totalStoriesCompleted: completed.length,
476
522
  totalPointsCompleted: totalPoints,
523
+ totalStoriesWithActuals: withActuals.length,
524
+ totalPointsWithActuals,
477
525
  avgActualDaysPerStory: avgActualDays,
478
526
  avgVsSoloPct: summary.avgVsSoloPct,
479
527
  avgVsAiUnguidedPct: summary.avgVsAiUnguidedPct,
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { CliIo, CliOptions } from "./types.js";
2
+ export declare function capabilitiesManifestCommand(options: CliOptions, io: CliIo): Promise<void>;
@@ -0,0 +1,82 @@
1
+ import { listCliCapabilities, renderCliCapabilityExposureMarkdown, selectCliCapabilityExposure, } from "./cli-capability-catalog.js";
2
+ import { stringOption, targetRootOption } from "./command-utils.js";
3
+ import { loadWorkspace } from "./workspace.js";
4
+ const CAPABILITIES_MANIFEST_VERSION = "1.0";
5
+ const COMMAND_CONSTRUCTION_CONTRACT = {
6
+ executable: "orchestra",
7
+ argv: "Pass executable and args as separate argv entries; do not build shell strings with interpolation.",
8
+ };
9
+ export async function capabilitiesManifestCommand(options, io) {
10
+ const root = targetRootOption(options);
11
+ const taskId = stringOption(options.task);
12
+ const task = taskId ? await readTask(taskId, root) : undefined;
13
+ const role = stringOption(options.role) ?? task?.ownerRole;
14
+ const phase = stringOption(options.phase);
15
+ if (taskId && !task) {
16
+ throw new Error(`unknown task: ${taskId}`);
17
+ }
18
+ if (!role) {
19
+ const capabilities = listCliCapabilities();
20
+ if (options.json) {
21
+ io.log(JSON.stringify({
22
+ manifestVersion: CAPABILITIES_MANIFEST_VERSION,
23
+ scope: removeUndefinedScope({ phase, taskId }),
24
+ commandConstruction: COMMAND_CONSTRUCTION_CONTRACT,
25
+ capabilities,
26
+ }, null, 2));
27
+ return;
28
+ }
29
+ io.log(renderCapabilityCatalogMarkdown(capabilities));
30
+ return;
31
+ }
32
+ const exposure = selectCliCapabilityExposure({
33
+ role,
34
+ ...(phase ? { phase } : {}),
35
+ task: task ?? emptyCapabilityTask(role),
36
+ });
37
+ if (options.json) {
38
+ io.log(JSON.stringify({
39
+ manifestVersion: CAPABILITIES_MANIFEST_VERSION,
40
+ scope: removeUndefinedScope({ role, phase, taskId }),
41
+ commandConstruction: COMMAND_CONSTRUCTION_CONTRACT,
42
+ ...exposure,
43
+ }, null, 2));
44
+ return;
45
+ }
46
+ io.log(renderCliCapabilityExposureMarkdown(exposure).join("\n"));
47
+ }
48
+ async function readTask(taskId, root) {
49
+ const workspace = await loadWorkspace(root);
50
+ return workspace.tasks.find((candidate) => candidate.id === taskId);
51
+ }
52
+ function emptyCapabilityTask(role) {
53
+ return {
54
+ id: "CAPABILITY-MANIFEST",
55
+ title: "Capability manifest",
56
+ ownerRole: role,
57
+ status: "pending",
58
+ dependencies: [],
59
+ };
60
+ }
61
+ function removeUndefinedScope(scope) {
62
+ return Object.fromEntries(Object.entries(scope).filter(([, value]) => value !== undefined));
63
+ }
64
+ function renderCapabilityCatalogMarkdown(capabilities) {
65
+ return [
66
+ "## CLI Capability Catalog",
67
+ "",
68
+ "- Guidance: use this catalog to choose official Orchestra commands before creating ad hoc scripts.",
69
+ "- Command construction contract: pass executable and args as separate argv entries; do not build shell strings with interpolation.",
70
+ "",
71
+ ...capabilities.flatMap((capability) => [
72
+ `- ${capability.id}`,
73
+ ` - commandId: ${capability.commandId}`,
74
+ ` - executable: ${capability.executable}`,
75
+ ` - argsTemplate: ${JSON.stringify(capability.argsTemplate)}`,
76
+ ` - allowedRoles: ${capability.allowedRoles.join(", ")}`,
77
+ ` - evidenceType: ${capability.evidenceType}`,
78
+ ` - approvalPolicy: ${capability.approvalPolicy}`,
79
+ ]),
80
+ ].join("\n");
81
+ }
82
+ //# sourceMappingURL=capability-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-commands.js","sourceRoot":"","sources":["../src/capability-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ArtifactResult, CliIo, CliOptions, Task } from "./types.js";
2
+ export interface CaptureResult {
3
+ task: Task;
4
+ evidence: ArtifactResult;
5
+ mode: "trace-only";
6
+ warning: string;
7
+ }
8
+ export declare function captureCommand(options: CliOptions, io: CliIo): Promise<void>;
9
+ export declare function captureConversationalChange(input: {
10
+ id?: string;
11
+ title: string;
12
+ summary: string;
13
+ owner?: string;
14
+ paths: string[];
15
+ acceptanceCriteria: string[];
16
+ }, root?: string): Promise<CaptureResult>;