@jterrats/open-orchestra 0.5.7 → 1.0.2
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/AGENTS.md +9 -8
- package/CLAUDE.md +13 -11
- package/README.md +78 -11
- package/dist/assets/web-console.js +169 -32
- package/dist/automation-evidence.d.ts +23 -0
- package/dist/automation-evidence.js +97 -0
- package/dist/automation-evidence.js.map +1 -0
- package/dist/autonomous-run-store.js +3 -3
- package/dist/autonomous-run-store.js.map +1 -1
- package/dist/benchmark.d.ts +4 -1
- package/dist/benchmark.js +93 -4
- package/dist/benchmark.js.map +1 -1
- package/dist/cli.js +73 -2
- package/dist/cli.js.map +1 -1
- package/dist/collaboration-flows.js +3 -5
- package/dist/collaboration-flows.js.map +1 -1
- package/dist/collection-utils.d.ts +3 -0
- package/dist/collection-utils.js +10 -0
- package/dist/collection-utils.js.map +1 -0
- package/dist/command-manifest.d.ts +12 -1
- package/dist/command-manifest.js +213 -10
- package/dist/command-manifest.js.map +1 -1
- package/dist/commands.d.ts +10 -5
- package/dist/commands.js +16 -6
- package/dist/commands.js.map +1 -1
- package/dist/config-migrations.d.ts +24 -0
- package/dist/config-migrations.js +102 -0
- package/dist/config-migrations.js.map +1 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -1
- package/dist/dashboard-commands.d.ts +2 -0
- package/dist/dashboard-commands.js +14 -0
- package/dist/dashboard-commands.js.map +1 -0
- package/dist/defaults.d.ts +13 -0
- package/dist/defaults.js +13 -0
- package/dist/defaults.js.map +1 -1
- package/dist/delegation-decision.js +23 -8
- package/dist/delegation-decision.js.map +1 -1
- package/dist/delivery-commands.js +5 -0
- package/dist/delivery-commands.js.map +1 -1
- package/dist/delivery-dashboard-charts.d.ts +4 -0
- package/dist/delivery-dashboard-charts.js +156 -0
- package/dist/delivery-dashboard-charts.js.map +1 -0
- package/dist/delivery-dashboard-html.d.ts +2 -0
- package/dist/delivery-dashboard-html.js +115 -0
- package/dist/delivery-dashboard-html.js.map +1 -0
- package/dist/delivery-dashboard-types.d.ts +78 -0
- package/dist/delivery-dashboard-types.js +2 -0
- package/dist/delivery-dashboard-types.js.map +1 -0
- package/dist/delivery-dashboard.d.ts +8 -0
- package/dist/delivery-dashboard.js +124 -0
- package/dist/delivery-dashboard.js.map +1 -0
- package/dist/effort-classification.d.ts +7 -0
- package/dist/effort-classification.js +72 -0
- package/dist/effort-classification.js.map +1 -0
- package/dist/extension-commands.d.ts +3 -0
- package/dist/extension-commands.js +40 -0
- package/dist/extension-commands.js.map +1 -0
- package/dist/extensions.d.ts +22 -0
- package/dist/extensions.js +126 -0
- package/dist/extensions.js.map +1 -0
- package/dist/github.d.ts +2 -0
- package/dist/github.js +15 -3
- package/dist/github.js.map +1 -1
- package/dist/health-checks.js +51 -0
- package/dist/health-checks.js.map +1 -1
- package/dist/lucid-story-map.d.ts +73 -0
- package/dist/lucid-story-map.js +112 -0
- package/dist/lucid-story-map.js.map +1 -0
- package/dist/mcp-integrations.d.ts +19 -0
- package/dist/mcp-integrations.js +58 -0
- package/dist/mcp-integrations.js.map +1 -0
- package/dist/mcp-tool-adapter.d.ts +21 -0
- package/dist/mcp-tool-adapter.js +56 -0
- package/dist/mcp-tool-adapter.js.map +1 -0
- package/dist/memory.js +18 -8
- package/dist/memory.js.map +1 -1
- package/dist/metrics-commands.js +47 -13
- package/dist/metrics-commands.js.map +1 -1
- package/dist/model-commands.d.ts +5 -0
- package/dist/model-commands.js +101 -3
- package/dist/model-commands.js.map +1 -1
- package/dist/model-providers.js +13 -1
- package/dist/model-providers.js.map +1 -1
- package/dist/package-update-check.d.ts +18 -0
- package/dist/package-update-check.js +20 -0
- package/dist/package-update-check.js.map +1 -1
- package/dist/phase-executor.d.ts +1 -0
- package/dist/phase-executor.js +118 -14
- package/dist/phase-executor.js.map +1 -1
- package/dist/phase-playbooks.d.ts +15 -0
- package/dist/phase-playbooks.js +82 -0
- package/dist/phase-playbooks.js.map +1 -1
- package/dist/planning-commands.d.ts +1 -0
- package/dist/planning-commands.js +24 -1
- package/dist/planning-commands.js.map +1 -1
- package/dist/project-detection.js +9 -7
- package/dist/project-detection.js.map +1 -1
- package/dist/prompt-registry-update.d.ts +2 -0
- package/dist/prompt-registry-update.js +25 -1
- package/dist/prompt-registry-update.js.map +1 -1
- package/dist/prompt-registry-validation.js +39 -2
- package/dist/prompt-registry-validation.js.map +1 -1
- package/dist/qa-commands.d.ts +2 -0
- package/dist/qa-commands.js +18 -0
- package/dist/qa-commands.js.map +1 -0
- package/dist/qa-coverage.d.ts +24 -0
- package/dist/qa-coverage.js +198 -0
- package/dist/qa-coverage.js.map +1 -0
- package/dist/qa-readiness.d.ts +5 -0
- package/dist/qa-readiness.js +26 -0
- package/dist/qa-readiness.js.map +1 -0
- package/dist/refresh-generated.d.ts +10 -1
- package/dist/refresh-generated.js +83 -6
- package/dist/refresh-generated.js.map +1 -1
- package/dist/release-candidate.d.ts +9 -1
- package/dist/release-candidate.js +52 -1
- package/dist/release-candidate.js.map +1 -1
- package/dist/release-commands.js +202 -12
- package/dist/release-commands.js.map +1 -1
- package/dist/release-readiness.d.ts +36 -1
- package/dist/release-readiness.js +217 -6
- package/dist/release-readiness.js.map +1 -1
- package/dist/runtime-bootstrap.js +1 -1
- package/dist/runtime-bootstrap.js.map +1 -1
- package/dist/runtime-commands.d.ts +2 -0
- package/dist/runtime-commands.js +77 -0
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-execution-renderer.d.ts +3 -2
- package/dist/runtime-execution-renderer.js +19 -1
- package/dist/runtime-execution-renderer.js.map +1 -1
- package/dist/runtime-execution.d.ts +2 -1
- package/dist/runtime-execution.js +71 -11
- package/dist/runtime-execution.js.map +1 -1
- package/dist/runtime-guardrails.d.ts +26 -0
- package/dist/runtime-guardrails.js +168 -0
- package/dist/runtime-guardrails.js.map +1 -0
- package/dist/setup-agents-import.js +5 -3
- package/dist/setup-agents-import.js.map +1 -1
- package/dist/skills-catalog.js +63 -0
- package/dist/skills-catalog.js.map +1 -1
- package/dist/skills-commands.d.ts +4 -0
- package/dist/skills-commands.js +55 -2
- package/dist/skills-commands.js.map +1 -1
- package/dist/skills-memory.d.ts +36 -2
- package/dist/skills-memory.js +165 -6
- package/dist/skills-memory.js.map +1 -1
- package/dist/skills-planning.js +2 -4
- package/dist/skills-planning.js.map +1 -1
- package/dist/skills-render.js +2 -4
- package/dist/skills-render.js.map +1 -1
- package/dist/skills.d.ts +1 -1
- package/dist/skills.js +1 -1
- package/dist/skills.js.map +1 -1
- package/dist/sprint-commands.js +2 -1
- package/dist/sprint-commands.js.map +1 -1
- package/dist/subagent-protocol.js +3 -5
- package/dist/subagent-protocol.js.map +1 -1
- package/dist/support-commands.d.ts +2 -0
- package/dist/support-commands.js +18 -0
- package/dist/support-commands.js.map +1 -0
- package/dist/support-diagnostics.d.ts +49 -0
- package/dist/support-diagnostics.js +86 -0
- package/dist/support-diagnostics.js.map +1 -0
- package/dist/task-graph-commands.js +5 -3
- package/dist/task-graph-commands.js.map +1 -1
- package/dist/telemetry-redaction.js +8 -1
- package/dist/telemetry-redaction.js.map +1 -1
- package/dist/tool-commands.d.ts +3 -0
- package/dist/tool-commands.js +62 -0
- package/dist/tool-commands.js.map +1 -1
- package/dist/tracker-adapters.d.ts +71 -0
- package/dist/tracker-adapters.js +186 -0
- package/dist/tracker-adapters.js.map +1 -0
- package/dist/tracker-commands.d.ts +2 -0
- package/dist/tracker-commands.js +119 -0
- package/dist/tracker-commands.js.map +1 -0
- package/dist/types/metrics.d.ts +24 -0
- package/dist/types/model-config.d.ts +39 -0
- package/dist/types/runtime.d.ts +56 -0
- package/dist/types/skills.d.ts +2 -0
- package/dist/types/tasks.d.ts +6 -0
- package/dist/types/workflow-run.d.ts +17 -0
- package/dist/types.d.ts +4 -4
- package/dist/types.js.map +1 -1
- package/dist/upgrade-commands.js +13 -4
- package/dist/upgrade-commands.js.map +1 -1
- package/dist/validation.js +2 -2
- package/dist/validation.js.map +1 -1
- package/dist/visual-validation.d.ts +81 -0
- package/dist/visual-validation.js +290 -0
- package/dist/visual-validation.js.map +1 -0
- package/dist/web-action-security.d.ts +11 -0
- package/dist/web-action-security.js +45 -0
- package/dist/web-action-security.js.map +1 -0
- package/dist/web-api-read-routes.js +101 -1
- package/dist/web-api-read-routes.js.map +1 -1
- package/dist/web-api.js +507 -5
- package/dist/web-api.js.map +1 -1
- package/dist/web-artifacts.d.ts +55 -0
- package/dist/web-artifacts.js +222 -0
- package/dist/web-artifacts.js.map +1 -0
- package/dist/web-console/assets/index-BNESIVvk.js +11 -0
- package/dist/web-console/assets/index-jxCY5eEc.css +1 -0
- package/dist/web-console/index.html +13 -0
- package/dist/web-console.js +9 -3
- package/dist/web-console.js.map +1 -1
- package/dist/web-recovery.d.ts +30 -0
- package/dist/web-recovery.js +163 -0
- package/dist/web-recovery.js.map +1 -0
- package/dist/web-workflow-progress.d.ts +41 -0
- package/dist/web-workflow-progress.js +114 -0
- package/dist/web-workflow-progress.js.map +1 -0
- package/dist/workflow-approval-service.d.ts +2 -1
- package/dist/workflow-approval-service.js +72 -0
- package/dist/workflow-approval-service.js.map +1 -1
- package/dist/workflow-evidence-service.js +8 -1
- package/dist/workflow-evidence-service.js.map +1 -1
- package/dist/workflow-gates.d.ts +2 -0
- package/dist/workflow-gates.js +221 -0
- package/dist/workflow-gates.js.map +1 -1
- package/dist/workflow-run-commands.js +13 -1
- package/dist/workflow-run-commands.js.map +1 -1
- package/dist/workflow-services.d.ts +16 -12
- package/dist/workflow-services.js +313 -253
- package/dist/workflow-services.js.map +1 -1
- package/dist/workflow-task-service.d.ts +11 -0
- package/dist/workflow-task-service.js +242 -0
- package/dist/workflow-task-service.js.map +1 -0
- package/dist/workspace-validator.js +109 -3
- package/dist/workspace-validator.js.map +1 -1
- package/dist/workspace.js +8 -2
- package/dist/workspace.js.map +1 -1
- package/docs/adoption-guide.md +147 -0
- package/docs/autonomous-workflow.md +118 -27
- package/docs/benchmark.md +15 -7
- package/docs/command-contracts.md +18 -1
- package/docs/core-command-surface.md +59 -13
- package/docs/end-to-end-demo.md +1 -0
- package/docs/extension-contracts.md +83 -0
- package/docs/orchestra-mvp.md +83 -3
- package/docs/persona-workflows.md +32 -0
- package/docs/release-test-matrix.md +42 -0
- package/docs/runtime-adapters.md +92 -0
- package/docs/runtime-llm-flow.md +13 -0
- package/docs/setup-agents-applicability-review.md +173 -0
- package/docs/skill-loading-strategy.md +1 -0
- package/docs/source-of-truth-and-agent-learning.md +14 -0
- package/docs/traceability-flow.md +16 -1
- package/docs/tracker-adapter-contract.md +10 -1
- package/docs/web-console-qa.md +35 -0
- package/package.json +12 -6
- package/rules/development-engineering.mdc +68 -0
- package/rules/devops-tooling.mdc +1 -0
- package/rules/dry-clean-code.mdc +1 -0
- package/rules/performance-reliability.mdc +1 -0
- package/rules/testing-discipline.mdc +4 -1
- package/skills/collection-standards/SKILL.md +63 -0
- package/skills/collection-standards/manifest.json +69 -0
package/docs/benchmark.md
CHANGED
|
@@ -8,9 +8,10 @@ Open Orchestra measures the effectiveness of AI-assisted development across thre
|
|
|
8
8
|
|------|-------------|
|
|
9
9
|
| **Solo (no LLM)** | Declared by PM or architect at story start — contrafactual estimate |
|
|
10
10
|
| **AI-unguided** | Declared at story start — how long with a general LLM but no roles, gates, or skills |
|
|
11
|
+
| **AI-guided** | Declared at story start — how long with AI plus Orchestra workflow, roles, gates, memory, and evidence |
|
|
11
12
|
| **AI + Orchestra (actual)** | Measured automatically from `AUTONOMOUS_PHASE_DONE` timestamps in the event log |
|
|
12
13
|
|
|
13
|
-
The first
|
|
14
|
+
The first three are self-reported. Orchestra measures the actual governed run. The comparison is meaningful even with declared baselines because it creates a consistent, auditable record across many stories.
|
|
14
15
|
|
|
15
16
|
## Usage
|
|
16
17
|
|
|
@@ -24,6 +25,7 @@ orchestra estimate \
|
|
|
24
25
|
--sizing m \
|
|
25
26
|
--solo-days 5 \
|
|
26
27
|
--ai-unguided-days 3 \
|
|
28
|
+
--ai-guided-days 2 \
|
|
27
29
|
--confidence high \
|
|
28
30
|
--declared-by pm
|
|
29
31
|
```
|
|
@@ -36,6 +38,7 @@ Options:
|
|
|
36
38
|
| `--sizing` | Yes | — | `xs`, `s`, `m`, `l`, `xl` |
|
|
37
39
|
| `--solo-days` | Yes | — | Estimated days without any AI |
|
|
38
40
|
| `--ai-unguided-days` | Yes | — | Estimated days with a general LLM, no Orchestra |
|
|
41
|
+
| `--ai-guided-days` | Yes | — | Estimated days with AI guided by Orchestra workflow |
|
|
39
42
|
| `--confidence` | No | `medium` | `low`, `medium`, `high` |
|
|
40
43
|
| `--declared-by` | No | `pm` | Role recording the estimate |
|
|
41
44
|
| `--json` | No | — | Structured output |
|
|
@@ -66,9 +69,11 @@ Benchmark: FEAT-001 [complete]
|
|
|
66
69
|
Sizing: m
|
|
67
70
|
Solo: 5d (declared)
|
|
68
71
|
AI-unguided: 3d (declared)
|
|
72
|
+
AI-guided: 2d (declared)
|
|
69
73
|
Actual: 1.4d
|
|
70
74
|
vs Solo: -72%
|
|
71
|
-
vs AI:
|
|
75
|
+
vs AI-U: -53%
|
|
76
|
+
vs AI-G: -30%
|
|
72
77
|
QA loops: 1
|
|
73
78
|
Reviews: 3 (0 blocking)
|
|
74
79
|
Evidence: 5 artifacts
|
|
@@ -81,14 +86,15 @@ Benchmark: FEAT-001 [complete]
|
|
|
81
86
|
Example summary table:
|
|
82
87
|
|
|
83
88
|
```
|
|
84
|
-
Story Size Solo AI
|
|
85
|
-
|
|
86
|
-
TASK-042 m 5d 3d 1.4d -72% -53%
|
|
87
|
-
TASK-089 l 8d 5d 2.1d -74% -58%
|
|
88
|
-
TASK-101 s 2d 1.5d 0.6d -70% -60%
|
|
89
|
+
Story Size Solo AI-U AI-G Actual vs Solo vs AI-U vs AI-G QA Rev Blk Ev Les
|
|
90
|
+
────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
91
|
+
TASK-042 m 5d 3d 2d 1.4d -72% -53% -30% 1 3 0 5 2
|
|
92
|
+
TASK-089 l 8d 5d 3d 2.1d -74% -58% -30% 2 4 1 7 3
|
|
93
|
+
TASK-101 s 2d 1.5d 1d 0.6d -70% -60% -40% 0 2 0 3 1
|
|
89
94
|
|
|
90
95
|
Avg savings vs solo: -72%
|
|
91
96
|
Avg savings vs AI-unguided: -57%
|
|
97
|
+
Avg savings vs AI-guided: -33%
|
|
92
98
|
Stories with actuals: 3/3
|
|
93
99
|
```
|
|
94
100
|
|
|
@@ -194,9 +200,11 @@ All benchmark and burndown commands support `--json` for structured output.
|
|
|
194
200
|
"sizingLabel": "m",
|
|
195
201
|
"soloEstimateDays": 5,
|
|
196
202
|
"aiUnguidedEstimateDays": 3,
|
|
203
|
+
"aiGuidedEstimateDays": 2,
|
|
197
204
|
"actualDays": 1.4,
|
|
198
205
|
"vsSoloPct": -72,
|
|
199
206
|
"vsAiUnguidedPct": -53,
|
|
207
|
+
"vsAiGuidedPct": -30,
|
|
200
208
|
"qaIterations": 1,
|
|
201
209
|
"quality": {
|
|
202
210
|
"reviewCount": 3,
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
`orchestra commands manifest --json` is the supported discovery surface for
|
|
4
4
|
automation. Entries include command text, required and optional flags, JSON
|
|
5
|
-
support, compatibility status,
|
|
5
|
+
support, surface classification, compatibility status, contract version, exit
|
|
6
|
+
codes, error shape, and reusable schema/message references.
|
|
6
7
|
|
|
7
8
|
## Compatibility
|
|
8
9
|
|
|
@@ -11,6 +12,22 @@ support, compatibility status, and reusable schema/message references.
|
|
|
11
12
|
- `experimental`: command is intended for humans or workflow mutation and should
|
|
12
13
|
not be consumed as a stable machine contract unless a future schema is linked.
|
|
13
14
|
|
|
15
|
+
## Surfaces
|
|
16
|
+
|
|
17
|
+
- `public`: stable automation contract for project workflows, documentation,
|
|
18
|
+
bootstrap files, and CI usage.
|
|
19
|
+
- `experimental`: supported CLI behavior, but not a frozen machine contract for
|
|
20
|
+
`1.0.0`.
|
|
21
|
+
- `internal`: implementation or adapter support surface. It may expose `--json`
|
|
22
|
+
for local tooling, but it is not part of the public 1.0 automation contract.
|
|
23
|
+
|
|
24
|
+
Public commands use contract version `1.0`, exit codes `0` and `1`, and the
|
|
25
|
+
generic JSON error contract unless a command-specific schema replaces it.
|
|
26
|
+
|
|
27
|
+
Config migration is exposed as a public contract through
|
|
28
|
+
`orchestra config migrate --json`. It is dry-run by default and requires
|
|
29
|
+
`--apply` before writing `.agent-workflow/config.json`.
|
|
30
|
+
|
|
14
31
|
## Reusable Contracts
|
|
15
32
|
|
|
16
33
|
- `schemas/commands/generic-json-output.schema.json` defines the baseline JSON
|
|
@@ -17,16 +17,48 @@ orchestra commands manifest --json
|
|
|
17
17
|
Core commands are the first screen for a new project or a production delivery
|
|
18
18
|
workflow. They are stable enough to appear in onboarding and public examples.
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
20
|
+
For first visible value, show this compact sequence before introducing every
|
|
21
|
+
artifact type:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
orchestra init
|
|
25
|
+
orchestra health --json
|
|
26
|
+
orchestra task add --id DEMO-001 --title "Ship a governed README update" --owner developer --paths "README.md"
|
|
27
|
+
orchestra workflow run --task DEMO-001 --gates none
|
|
28
|
+
orchestra status
|
|
29
|
+
orchestra release candidate --dry-run --json
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
For production delivery, follow with estimates, architecture sizing decisions,
|
|
33
|
+
human gates, evidence, QA reviews, and `orchestra release check --json`.
|
|
34
|
+
|
|
35
|
+
| Job | Commands |
|
|
36
|
+
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
|
|
37
|
+
| Install and verify | `orchestra version`, `orchestra upgrade --smoke --json` |
|
|
38
|
+
| Initialize workspace | `orchestra init`, `orchestra health --json`, `orchestra status` |
|
|
39
|
+
| Create and inspect work | `orchestra task add`, `orchestra task list`, `orchestra task show` |
|
|
40
|
+
| Run governed delivery | `orchestra workflow run`, `orchestra workflow runs` |
|
|
41
|
+
| Inspect workflow shape and playbooks | `orchestra workflow phase-plan --task <id>`, `orchestra workflow render --task <id> --phase <phase>` |
|
|
42
|
+
| Resolve workflow gates and clarifications | `orchestra decision add`, `orchestra workflow gate-approve`, `orchestra workflow clarify`, `orchestra workflow clarify-respond` |
|
|
43
|
+
| Record delivery proof | `orchestra evidence add`, `orchestra review` |
|
|
44
|
+
| Plan QA automation | `orchestra qa coverage --task <id>`, `orchestra playwright plan --task <id>` |
|
|
45
|
+
| Sync tracker state | `orchestra github sync --issue <number>`, `orchestra tracker sync --tracker <provider> --remote <id> --issue-file <file>` |
|
|
46
|
+
| Check release readiness | `orchestra release check --json`, `orchestra release candidate --dry-run --json` |
|
|
47
|
+
|
|
48
|
+
## Run Command Guidance
|
|
49
|
+
|
|
50
|
+
`orchestra workflow run` is the governed delivery lifecycle. It creates phase
|
|
51
|
+
sub-tasks, handoffs, run state, and gates across PM, PO, Architect, Developer,
|
|
52
|
+
QA, and Release. Use it for product work, issue delivery, QA handoff, release
|
|
53
|
+
readiness, and dogfooding the end-to-end process.
|
|
54
|
+
|
|
55
|
+
`orchestra run` executes the task's local execution plan. It is useful for
|
|
56
|
+
lower-level plan execution and budget/fallback validation, but it does not
|
|
57
|
+
replace the autonomous lifecycle or its phase gates.
|
|
58
|
+
|
|
59
|
+
For the full workflow narrative, phase matrix, gate-versus-clarify decision
|
|
60
|
+
table, and playbook authoring guidance, see
|
|
61
|
+
[autonomous-workflow.md](autonomous-workflow.md).
|
|
30
62
|
|
|
31
63
|
## Advanced Commands
|
|
32
64
|
|
|
@@ -39,8 +71,20 @@ should be linked from onboarding, not mixed into first-run copy.
|
|
|
39
71
|
- Runtime and skills: `orchestra runtime brief`,
|
|
40
72
|
`orchestra runtime delegate-plan`, `orchestra skills plan`,
|
|
41
73
|
`orchestra skills render`, `orchestra protocol render`.
|
|
74
|
+
- Extensions: `orchestra extensions list --json`,
|
|
75
|
+
`orchestra extensions validate --json`.
|
|
76
|
+
- Provider profiles: `orchestra model profile set`,
|
|
77
|
+
`orchestra model profile apply`, `orchestra model profile smoke`,
|
|
78
|
+
`orchestra model providers`.
|
|
79
|
+
- Generated-file operations: `orchestra refresh --check --json`,
|
|
80
|
+
`orchestra refresh --dry-run`, `orchestra refresh --force`,
|
|
81
|
+
`orchestra cursor canvas status --json`,
|
|
82
|
+
`orchestra cursor canvas sync --dry-run --json`.
|
|
42
83
|
- Memory and source selection: `orchestra memory query`,
|
|
43
|
-
`orchestra memory hook`, `orchestra
|
|
84
|
+
`orchestra memory hook`, `orchestra memory governance`,
|
|
85
|
+
`orchestra sources list`, `orchestra lessons list`,
|
|
86
|
+
`orchestra lessons archive`, `orchestra lessons redact`,
|
|
87
|
+
`orchestra lessons prune`.
|
|
44
88
|
- Metrics and cost: `orchestra estimate`, `orchestra benchmark`,
|
|
45
89
|
`orchestra burndown`, `orchestra usage`, `orchestra budget check`.
|
|
46
90
|
- Governance policy: `orchestra policy evaluate` checks routine, elevated,
|
|
@@ -70,5 +114,7 @@ unless a specific workflow needs them.
|
|
|
70
114
|
## Documentation Rule
|
|
71
115
|
|
|
72
116
|
Do not duplicate the full command manifest in README or the site. Show the core
|
|
73
|
-
path, then link to `orchestra
|
|
74
|
-
|
|
117
|
+
path, then link to `orchestra -h` for human onboarding,
|
|
118
|
+
`orchestra help commands` for the full CLI catalog, and
|
|
119
|
+
`orchestra commands manifest --json` plus [command-contracts.md](command-contracts.md)
|
|
120
|
+
for automation consumers.
|
package/docs/end-to-end-demo.md
CHANGED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Extension Contracts
|
|
2
|
+
|
|
3
|
+
Open Orchestra discovers local extensions from:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
.agent-workflow/extensions/<extension-id>/manifest.json
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
The manifest is metadata only. Discovery and validation do not import or execute
|
|
10
|
+
extension code.
|
|
11
|
+
|
|
12
|
+
## Manifest
|
|
13
|
+
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"id": "acme-tracker",
|
|
17
|
+
"name": "Acme Tracker Adapter",
|
|
18
|
+
"version": "1.0.0",
|
|
19
|
+
"compatibility": { "orchestra": "^1.0.0" },
|
|
20
|
+
"extensionPoints": ["tracker-adapter"],
|
|
21
|
+
"entry": "adapter.js",
|
|
22
|
+
"capabilities": ["normalized-issue-sync"],
|
|
23
|
+
"riskAreas": ["network", "tracker-state"]
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Supported extension points for the 1.0 contract are:
|
|
28
|
+
|
|
29
|
+
- `skill`
|
|
30
|
+
- `tracker-adapter`
|
|
31
|
+
- `provider-adapter`
|
|
32
|
+
- `phase-playbook`
|
|
33
|
+
- `refresh-target`
|
|
34
|
+
|
|
35
|
+
`entry` must be a relative path inside the extension directory. Absolute paths
|
|
36
|
+
and traversal are rejected. Provider adapter extensions are currently
|
|
37
|
+
metadata-only until runtime provider loading is stabilized.
|
|
38
|
+
|
|
39
|
+
## Commands
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
orchestra extensions list --json
|
|
43
|
+
orchestra extensions validate --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Provider-Like Example
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"id": "acme-models",
|
|
51
|
+
"name": "Acme Models Provider",
|
|
52
|
+
"version": "1.0.0",
|
|
53
|
+
"compatibility": { "orchestra": "^1.0.0" },
|
|
54
|
+
"extensionPoints": ["provider-adapter"],
|
|
55
|
+
"entry": "provider.js",
|
|
56
|
+
"capabilities": ["chat-completions", "json-mode"],
|
|
57
|
+
"riskAreas": ["secrets", "network"]
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Tracker-Like Example
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"id": "acme-tracker",
|
|
66
|
+
"name": "Acme Tracker Adapter",
|
|
67
|
+
"version": "1.0.0",
|
|
68
|
+
"compatibility": { "orchestra": "^1.0.0" },
|
|
69
|
+
"extensionPoints": ["tracker-adapter"],
|
|
70
|
+
"entry": "tracker.js",
|
|
71
|
+
"capabilities": ["normalized-issue-sync"],
|
|
72
|
+
"riskAreas": ["network", "tracker-state"]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Stability
|
|
77
|
+
|
|
78
|
+
Stable for 1.0.0: manifest shape, discovery path, extension point names, local
|
|
79
|
+
path safety validation, and JSON output from `extensions list` and
|
|
80
|
+
`extensions validate`.
|
|
81
|
+
|
|
82
|
+
Experimental: dynamic code loading, provider runtime registration, tracker live
|
|
83
|
+
transport execution, and generated-file refresh target execution.
|
package/docs/orchestra-mvp.md
CHANGED
|
@@ -145,6 +145,9 @@ orchestra skills render --target codex --task TASK-1
|
|
|
145
145
|
orchestra protocol render --target codex --task TASK-1
|
|
146
146
|
orchestra workflow render --target codex --task TASK-1
|
|
147
147
|
orchestra runtime brief --task TASK-1 --runtime codex-cli --json
|
|
148
|
+
orchestra runtime delegate-plan --task TASK-1 --runtime claude-cli --roles developer,qa --json
|
|
149
|
+
orchestra runtime sessions --task TASK-1 --json
|
|
150
|
+
orchestra runtime session --session TASK-1:claude-cli --action suspend --json
|
|
148
151
|
```
|
|
149
152
|
|
|
150
153
|
Memory hooks are explicit retrieval points for lessons learned and prompt
|
|
@@ -153,6 +156,11 @@ registry entries. Bundles are scoped by role (`product_owner`, `architect`,
|
|
|
153
156
|
tokens, kept and omitted sections, and trimming rationale in both JSON and human
|
|
154
157
|
output.
|
|
155
158
|
|
|
159
|
+
Runtime delegation sessions are derived from append-only events. Session
|
|
160
|
+
operations record suspend, resume, cancel, or close events for the parent
|
|
161
|
+
runtime and web console to reconcile active work, stale sessions, and handoff
|
|
162
|
+
state without creating a second session store.
|
|
163
|
+
|
|
156
164
|
Delivery evidence, handoff, and gates:
|
|
157
165
|
|
|
158
166
|
```bash
|
|
@@ -173,6 +181,42 @@ locks, and missing smoke or rollback evidence. Browser/UI criteria require
|
|
|
173
181
|
Playwright-style screenshot, trace, or video evidence unless the task has an
|
|
174
182
|
accepted risk.
|
|
175
183
|
|
|
184
|
+
For `1.0.0` release candidates, the same report includes `gaReadiness`. This is
|
|
185
|
+
the repeatable go/no-go layer for production promotion. A GA-ready workspace
|
|
186
|
+
must have no uncovered acceptance criteria, no blocking reviews, no active
|
|
187
|
+
locks, smoke and rollback evidence, documentation or release notes evidence,
|
|
188
|
+
observability evidence, security and permissions review evidence, package
|
|
189
|
+
provenance evidence, public CLI contract evidence, migration or upgrade
|
|
190
|
+
readiness evidence, and release test matrix evidence. Accepted risks must include
|
|
191
|
+
an owner, a rationale, and a follow-up or expiry signal in the rationale.
|
|
192
|
+
|
|
193
|
+
The human release check summary reports both the legacy release readiness gaps
|
|
194
|
+
and the number of GA blockers. Use JSON output for the full criterion list:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
orchestra release check --json
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Config Schema Migrations
|
|
201
|
+
|
|
202
|
+
Open Orchestra workspace config is versioned through
|
|
203
|
+
`.agent-workflow/config.json`. For pre-1.0 workspaces, inspect migrations before
|
|
204
|
+
writing anything:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
orchestra config migrate --json
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
Apply a supported migration only after reviewing the plan:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
orchestra config migrate --apply --json
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Migration apply writes a backup under `.agent-workflow/backups/` before updating
|
|
217
|
+
`config.json`. Newer unsupported schema versions are reported as errors and are
|
|
218
|
+
not modified.
|
|
219
|
+
|
|
176
220
|
Upgrade dogfooding:
|
|
177
221
|
|
|
178
222
|
```bash
|
|
@@ -184,7 +228,10 @@ orchestra upgrade --smoke --json
|
|
|
184
228
|
Stable installs use `npm install -g @jterrats/open-orchestra@latest`; beta
|
|
185
229
|
dogfooding uses `npm install -g @jterrats/open-orchestra@beta` or the exact
|
|
186
230
|
version reported by `orchestra upgrade --beta`. After upgrading, run the smoke
|
|
187
|
-
command shown by the CLI to verify the installed binary and health report.
|
|
231
|
+
command shown by the CLI to verify the installed binary and health report. The
|
|
232
|
+
upgrade output also includes the exact rollback install command for the
|
|
233
|
+
previous version plus `orchestra config migrate --json` as the migration
|
|
234
|
+
compatibility check before accepting the new package.
|
|
188
235
|
Set `SKIP_NETWORK_TESTS=1` in CI jobs that must avoid external network calls;
|
|
189
236
|
package update checks and provider smoke tests honor it, while localhost E2E
|
|
190
237
|
coverage remains available.
|
|
@@ -192,12 +239,41 @@ coverage remains available.
|
|
|
192
239
|
Release go/no-go:
|
|
193
240
|
|
|
194
241
|
- Run `npm run precommit` locally before pushing release changes.
|
|
242
|
+
- Confirm `npm run security:audit` passes or attach an accepted security risk.
|
|
243
|
+
- Confirm `orchestra release check --json` passes the package provenance gate,
|
|
244
|
+
which runs `npm pack --dry-run --json` and rejects private workflow state,
|
|
245
|
+
generated prompts, env files, and missing public package entry points.
|
|
195
246
|
- Confirm GitHub Actions CI is green for the latest pushed HEAD.
|
|
196
247
|
- Confirm installed-package dogfooding passes on `ubuntu-latest`,
|
|
197
248
|
`macos-latest`, and `windows-latest`.
|
|
198
249
|
- Confirm `Create release tag`, site publish, and npm publish workflows are
|
|
199
250
|
successful for the intended release commit.
|
|
200
251
|
|
|
252
|
+
Support diagnostics:
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
orchestra diagnostics bundle --json
|
|
256
|
+
orchestra diagnostics bundle --output support/diagnostics.json --json
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
The diagnostics bundle is written inside the workspace and includes local
|
|
260
|
+
health, workflow validation, task and lock counts, run failure summaries, and a
|
|
261
|
+
sanitized config summary. It redacts token-like values, email addresses, user
|
|
262
|
+
home paths, and credential fields before writing the JSON artifact so it can be
|
|
263
|
+
attached to an issue or support handoff.
|
|
264
|
+
|
|
265
|
+
Performance budgets:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
npm run performance:bench -- --json
|
|
269
|
+
npm run performance:bench -- --tasks 500 --json
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
The benchmark seeds a synthetic workspace and measures core CLI commands plus
|
|
273
|
+
read-only web API routes against documented millisecond budgets. Use the JSON
|
|
274
|
+
result as release evidence for large-workspace readiness and investigate any
|
|
275
|
+
failed budget before promoting a production release.
|
|
276
|
+
|
|
201
277
|
Model routing, budget, telemetry, and release:
|
|
202
278
|
|
|
203
279
|
```bash
|
|
@@ -362,7 +438,11 @@ The VS Code Control Center scaffold is under `extensions/vscode-open-orchestra`.
|
|
|
362
438
|
- `orchestra model set-role` configures provider/model routing per role without invoking real model APIs.
|
|
363
439
|
- `orchestra model complete-fake` simulates provider fallback behavior without invoking real model APIs.
|
|
364
440
|
- `orchestra model provenance` records model usage metadata in the append-only event log without storing raw prompts, raw responses, or secrets.
|
|
365
|
-
- `orchestra release check`, `release candidate`, `release tag`, and
|
|
441
|
+
- `orchestra release check`, `release candidate`, `release tag`, and
|
|
442
|
+
`release evidence` provide a local release-readiness flow for stable, beta,
|
|
443
|
+
and other prerelease tags. Candidate plans include rollout, rollback,
|
|
444
|
+
post-release, changelog, and semver-impact sections; release evidence accepts
|
|
445
|
+
`smoke`, `rollback`, `post-release`, and `release-notes` kinds.
|
|
366
446
|
- `orchestra health --network` can check for a newer published package version and print the exact `npm install -g @jterrats/open-orchestra@<version>` update command when one is available.
|
|
367
447
|
- Package identity is intentionally split: `@jterrats/open-orchestra` is the
|
|
368
448
|
canonical npm package and `orchestra` is the installed CLI binary. Do not use
|
|
@@ -384,7 +464,7 @@ Quality signals collected automatically:
|
|
|
384
464
|
|
|
385
465
|
```bash
|
|
386
466
|
# Declare baseline at story start (once per story)
|
|
387
|
-
orchestra estimate --task TASK-1 --sizing m --solo-days 5 --ai-unguided-days 3
|
|
467
|
+
orchestra estimate --task TASK-1 --sizing m --solo-days 5 --ai-unguided-days 3 --ai-guided-days 2
|
|
388
468
|
|
|
389
469
|
# Per-story benchmark after run completes
|
|
390
470
|
orchestra benchmark --task TASK-1
|
|
@@ -4,6 +4,36 @@ Use these paths when you want to operate Open Orchestra by role instead of
|
|
|
4
4
|
learning the full command catalog first. Commands assume the installed CLI form:
|
|
5
5
|
`orchestra`.
|
|
6
6
|
|
|
7
|
+
## First Visible Value
|
|
8
|
+
|
|
9
|
+
Goal: complete one local workflow run and preview release readiness before
|
|
10
|
+
learning every role-specific artifact.
|
|
11
|
+
|
|
12
|
+
Commands:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
orchestra init
|
|
16
|
+
orchestra health --json
|
|
17
|
+
orchestra task add --id DEMO-001 --title "Ship a governed README update" --owner developer --paths "README.md"
|
|
18
|
+
orchestra workflow run --task DEMO-001 --gates none
|
|
19
|
+
orchestra status
|
|
20
|
+
orchestra release candidate --dry-run --json
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Expected artifacts:
|
|
24
|
+
|
|
25
|
+
- `.agent-workflow/tasks.json` contains `DEMO-001`.
|
|
26
|
+
- `.agent-workflow/workflow-runs.jsonl` contains the completed lifecycle.
|
|
27
|
+
- Release candidate dry-run output shows what is ready and what evidence is
|
|
28
|
+
still missing.
|
|
29
|
+
|
|
30
|
+
Recovery:
|
|
31
|
+
|
|
32
|
+
- Run `orchestra health --json` if local tools are missing.
|
|
33
|
+
- Use `orchestra workflow runs` to find a paused or failed run.
|
|
34
|
+
- Move to the production paths below when the story needs human gates,
|
|
35
|
+
explicit sizing, command evidence, QA review, and release readiness approval.
|
|
36
|
+
|
|
7
37
|
## Product Owner Refinement
|
|
8
38
|
|
|
9
39
|
Goal: turn a backlog item into a task that is ready for architecture and
|
|
@@ -169,6 +199,8 @@ Commands:
|
|
|
169
199
|
orchestra release check --json
|
|
170
200
|
orchestra release evidence --kind smoke --summary "smoke passed"
|
|
171
201
|
orchestra release evidence --kind rollback --summary "rollback verified"
|
|
202
|
+
orchestra release evidence --kind post-release --summary "post-release smoke passed"
|
|
203
|
+
orchestra release evidence --kind release-notes --summary "release notes published"
|
|
172
204
|
orchestra gate --gate release-readiness --task STORY-001
|
|
173
205
|
orchestra release candidate --version 0.5.0-beta.0 --json
|
|
174
206
|
```
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 1.0.0 Release Test Matrix
|
|
2
|
+
|
|
3
|
+
The release test matrix is the minimum validation surface for a production
|
|
4
|
+
`1.0.0` candidate. It is intentionally explicit so release readiness can attach
|
|
5
|
+
reviewable evidence instead of relying on conversational sign-off.
|
|
6
|
+
|
|
7
|
+
## Command
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm run release:matrix -- --json
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Use the JSON output as the release-manager checklist and attach the final
|
|
14
|
+
execution summary as release test matrix evidence before running:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
orchestra release check --json
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required Environments
|
|
21
|
+
|
|
22
|
+
- `ubuntu-latest` with Node `>=22` and npm.
|
|
23
|
+
- `macos-latest` with Node `>=22` and npm.
|
|
24
|
+
- `windows-latest` with Node `>=22` and npm.
|
|
25
|
+
|
|
26
|
+
## Required Flows
|
|
27
|
+
|
|
28
|
+
| Flow | Command | Evidence |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| Source quality gate | `npm run precommit` | lint, typecheck, secret scan, security audit, build, unit tests, workflow validation |
|
|
31
|
+
| Browser E2E | `npm run test:e2e` | Playwright regression coverage for browser workflows |
|
|
32
|
+
| Installed package init | `npm run test:e2e:init` | npm package init, health, task, workflow, evidence, readiness smoke |
|
|
33
|
+
| Public site build | `npm run site:build` | production site build |
|
|
34
|
+
| Release readiness | `orchestra release check --json` | `releaseReadiness` and `gaReadiness` report |
|
|
35
|
+
| Package contents | `npm pack --dry-run --json` | package file list and provenance check |
|
|
36
|
+
| Performance budgets | `npm run performance:bench -- --json` | CLI and web API timings on a synthetic large workspace |
|
|
37
|
+
|
|
38
|
+
## Network Policy
|
|
39
|
+
|
|
40
|
+
The default release matrix is offline-friendly. Provider and tracker tests that
|
|
41
|
+
need network access must honor `SKIP_NETWORK_TESTS` and report skipped status
|
|
42
|
+
instead of failing offline CI.
|
package/docs/runtime-adapters.md
CHANGED
|
@@ -20,6 +20,35 @@ Current targets:
|
|
|
20
20
|
and `.vscode/open-orchestra.md`.
|
|
21
21
|
- `windsurf`: Windsurf rules in `.windsurf/rules/open-orchestra.md`.
|
|
22
22
|
|
|
23
|
+
Execution adapters are separate from instruction-file targets. They describe
|
|
24
|
+
how an already-authenticated runtime should receive a brief or delegation
|
|
25
|
+
packet:
|
|
26
|
+
|
|
27
|
+
- `codex-cli`: use the current Codex CLI/session. Tool permissions and shell
|
|
28
|
+
approvals stay inside Codex; Orchestra renders briefs and packets only.
|
|
29
|
+
- `opencode-cli`: use an authenticated OpenCode CLI with its own provider
|
|
30
|
+
config. Orchestra uses the generic instruction target and never copies
|
|
31
|
+
provider keys into workflow artifacts.
|
|
32
|
+
- `generic-runtime`: produce portable briefs when the executor has no known
|
|
33
|
+
invocation or permission model.
|
|
34
|
+
|
|
35
|
+
Provider-backed model adapters are configured separately from execution
|
|
36
|
+
adapters. `gemini` and `ollama` can be used for workflow phases without making
|
|
37
|
+
them child process runtimes:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
orchestra model connect --provider gemini --model gemini-2.5-pro \
|
|
41
|
+
--roles architect,developer --api-key-file ~/.env_jt/gemini
|
|
42
|
+
|
|
43
|
+
orchestra model connect --provider ollama --model llama3.1 \
|
|
44
|
+
--roles qa --base-url http://127.0.0.1:11434
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Secrets stay in environment variables or local secret files referenced from
|
|
48
|
+
config. Runtime packets keep `directProviderApiAllowed: false`; provider API
|
|
49
|
+
execution only happens in the workflow phase provider layer when policy allows
|
|
50
|
+
it.
|
|
51
|
+
|
|
23
52
|
## Init Modes
|
|
24
53
|
|
|
25
54
|
Default project init keeps the current compact bootstrap behavior:
|
|
@@ -34,6 +63,18 @@ Generate only selected runtime files:
|
|
|
34
63
|
orchestra init --target claude,cursor,windsurf
|
|
35
64
|
```
|
|
36
65
|
|
|
66
|
+
Refresh managed runtime blocks and generated instruction files:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
orchestra refresh --check --json
|
|
70
|
+
orchestra refresh --dry-run
|
|
71
|
+
orchestra refresh --force --target codex
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`refresh --check` reports drift without writing. `refresh --dry-run` shows the
|
|
75
|
+
planned changes. `refresh --force` rewrites managed blocks only; user-authored
|
|
76
|
+
content outside generated blocks is preserved.
|
|
77
|
+
|
|
37
78
|
Advisory mode creates workflow state without root instruction files unless a
|
|
38
79
|
target is explicit:
|
|
39
80
|
|
|
@@ -85,6 +126,7 @@ The API contracts are:
|
|
|
85
126
|
```bash
|
|
86
127
|
curl -s http://127.0.0.1:3717/api/workspace/classification
|
|
87
128
|
curl -s http://127.0.0.1:3717/api/runtime/adapters
|
|
129
|
+
curl -s http://127.0.0.1:3717/api/workflow/progress
|
|
88
130
|
```
|
|
89
131
|
|
|
90
132
|
These endpoints are intended for VS Code, Cursor-like extensions, and other
|
|
@@ -94,6 +136,33 @@ instruction-file targets and nested execution adapters. Execution adapters
|
|
|
94
136
|
include tool permission policy metadata so clients can distinguish
|
|
95
137
|
runtime-managed, brief-only, read-only, and opt-in autonomous execution models.
|
|
96
138
|
|
|
139
|
+
Runtime delegation operations are event-derived:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
orchestra runtime sessions --json
|
|
143
|
+
orchestra runtime sessions --task STORY-001 --json
|
|
144
|
+
orchestra runtime session --session STORY-001:claude-cli --action suspend --json
|
|
145
|
+
orchestra runtime session --session STORY-001:claude-cli --action resume --json
|
|
146
|
+
orchestra runtime session --session STORY-001:claude-cli --action cancel --json
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
The matching read API is `/api/runtime/sessions`. Session operations do not kill
|
|
150
|
+
external provider processes directly; they record auditable suspend, resume,
|
|
151
|
+
cancel, or close events so the parent runtime can reconcile claimed work,
|
|
152
|
+
stale sessions, and handoff state without inventing a second source of truth.
|
|
153
|
+
|
|
154
|
+
Cursor canvas sync is intentionally runtime-specific:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
orchestra cursor canvas status --json
|
|
158
|
+
orchestra cursor canvas sync --dry-run --json
|
|
159
|
+
orchestra cursor canvas clean --json
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Use it only when Cursor canvas artifacts should be copied into the workspace for
|
|
163
|
+
review. Other runtimes should use `runtime brief`, `runtime delegate-plan`, and
|
|
164
|
+
managed bootstrap files instead.
|
|
165
|
+
|
|
97
166
|
## Invocation Planning
|
|
98
167
|
|
|
99
168
|
Direct CLI execution is intentionally disabled. Orchestra can render a typed
|
|
@@ -110,3 +179,26 @@ executor is enabled:
|
|
|
110
179
|
Every invocation plan reports `directExecutionEnabled: false` and
|
|
111
180
|
`canExecute: false`; the contract is for policy review, UI display, and future
|
|
112
181
|
executor hardening, not for spawning tools today.
|
|
182
|
+
|
|
183
|
+
## Dependency Remediation
|
|
184
|
+
|
|
185
|
+
Missing tools should be handled as runtime setup problems, not hidden fallback
|
|
186
|
+
behavior:
|
|
187
|
+
|
|
188
|
+
- Missing Codex CLI: install or authenticate Codex, then rerender the brief with
|
|
189
|
+
`orchestra runtime brief --task <id> --runtime codex-cli`.
|
|
190
|
+
- Missing OpenCode CLI: install OpenCode and configure its provider credentials
|
|
191
|
+
in OpenCode, then use `--runtime opencode-cli`.
|
|
192
|
+
- Missing Gemini credentials: set `GEMINI_API_KEY` or configure
|
|
193
|
+
`--api-key-file` through `orchestra model connect`.
|
|
194
|
+
- Missing Ollama server: start Ollama locally or set the configured base URL to
|
|
195
|
+
the reachable OpenAI-compatible endpoint.
|
|
196
|
+
|
|
197
|
+
The stable inspection commands are:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
orchestra runtime adapters --json
|
|
201
|
+
orchestra runtime brief --task <id> --runtime codex-cli --json
|
|
202
|
+
orchestra runtime delegate-plan --task <id> --runtime opencode-cli --roles qa --json
|
|
203
|
+
orchestra model providers --json
|
|
204
|
+
```
|
package/docs/runtime-llm-flow.md
CHANGED
|
@@ -98,6 +98,10 @@ Anthropic Messages API, `gemini` for the Gemini `generateContent` API, or
|
|
|
98
98
|
|
|
99
99
|
```bash
|
|
100
100
|
orchestra model providers --json
|
|
101
|
+
orchestra model profile set --name local-fast --provider fake --model fake-model --roles developer,qa --activate
|
|
102
|
+
orchestra model profile list --json
|
|
103
|
+
orchestra model profile smoke --name local-fast --json
|
|
104
|
+
orchestra workflow run --task STORY-001 --profile local-fast --gates phase
|
|
101
105
|
orchestra model set-role --role qa --provider fake --model fake-model
|
|
102
106
|
orchestra model connect --provider gemini --model gemini-3-pro-preview --roles qa,reviewer_critic --api-key-file /absolute/path/to/gemini-key --allow-direct-provider-api
|
|
103
107
|
OPENAI_API_KEY=... orchestra model set-role --role architect --provider openai --model gpt-5.2
|
|
@@ -116,6 +120,15 @@ in one idempotent config update. This is provider-agnostic: `--provider`,
|
|
|
116
120
|
routing. Project-specific choices such as "Codex for developer and Gemini for
|
|
117
121
|
QA" belong in the consuming workspace config, not in Open Orchestra defaults.
|
|
118
122
|
|
|
123
|
+
Use named provider runtime profiles when a workspace needs repeatable routing
|
|
124
|
+
presets such as `local-fast`, `premium-review`, `offline`, or `regulated`.
|
|
125
|
+
`model profile set` stores role routing, fallback chains, and required
|
|
126
|
+
environment variable names without storing secrets. `model profile apply`
|
|
127
|
+
updates active role routing deterministically, and `workflow run --profile`
|
|
128
|
+
applies the profile before execution and records command evidence on the task.
|
|
129
|
+
`model profile smoke` performs local configuration checks and reports missing
|
|
130
|
+
secrets or policy failures with sanitized messages.
|
|
131
|
+
|
|
119
132
|
The OpenAI adapter reads `OPENAI_API_KEY` from the environment and optionally
|
|
120
133
|
`OPENAI_BASE_URL` for an HTTPS-compatible endpoint. API keys must not be stored
|
|
121
134
|
in workflow config, evidence, docs, or committed files.
|