@jterrats/open-orchestra 0.5.5 → 1.0.1
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 +203 -36
- 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-state.d.ts +4 -1
- package/dist/autonomous-run-state.js +8 -2
- package/dist/autonomous-run-state.js.map +1 -1
- package/dist/autonomous-run-store.d.ts +3 -1
- package/dist/autonomous-run-store.js +9 -3
- package/dist/autonomous-run-store.js.map +1 -1
- package/dist/autonomous-workflow-constants.js +5 -1
- package/dist/autonomous-workflow-constants.js.map +1 -1
- package/dist/benchmark.d.ts +4 -1
- package/dist/benchmark.js +140 -19
- package/dist/benchmark.js.map +1 -1
- package/dist/cli.js +88 -2
- package/dist/cli.js.map +1 -1
- package/dist/collaboration-flows.js +5 -19
- 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 +218 -10
- package/dist/command-manifest.js.map +1 -1
- package/dist/commands.d.ts +14 -6
- package/dist/commands.js +78 -28
- 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 +3 -0
- package/dist/constants.js +26 -0
- package/dist/constants.js.map +1 -1
- package/dist/cursor-canvas.d.ts +20 -0
- package/dist/cursor-canvas.js +119 -0
- package/dist/cursor-canvas.js.map +1 -0
- 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/doc-sync.d.ts +25 -0
- package/dist/doc-sync.js +79 -0
- package/dist/doc-sync.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/gemini-provider.d.ts +3 -6
- package/dist/gemini-provider.js +8 -17
- package/dist/gemini-provider.js.map +1 -1
- 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/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 +95 -1
- package/dist/model-commands.js.map +1 -1
- package/dist/model-providers.d.ts +5 -12
- package/dist/model-providers.js +30 -43
- package/dist/model-providers.js.map +1 -1
- package/dist/network-policy.d.ts +2 -0
- package/dist/network-policy.js +6 -0
- package/dist/network-policy.js.map +1 -0
- package/dist/ollama-provider.d.ts +3 -6
- package/dist/ollama-provider.js +7 -16
- package/dist/ollama-provider.js.map +1 -1
- package/dist/package-update-check.d.ts +19 -0
- package/dist/package-update-check.js +24 -0
- package/dist/package-update-check.js.map +1 -1
- package/dist/phase-executor.d.ts +1 -0
- package/dist/phase-executor.js +401 -9
- package/dist/phase-executor.js.map +1 -1
- package/dist/phase-playbooks.d.ts +18 -1
- package/dist/phase-playbooks.js +146 -2
- package/dist/phase-playbooks.js.map +1 -1
- package/dist/planning-commands.d.ts +1 -0
- package/dist/planning-commands.js +36 -36
- package/dist/planning-commands.js.map +1 -1
- package/dist/policy-commands.d.ts +2 -0
- package/dist/policy-commands.js +29 -0
- package/dist/policy-commands.js.map +1 -0
- package/dist/policy-defaults.d.ts +2 -0
- package/dist/policy-defaults.js +42 -0
- package/dist/policy-defaults.js.map +1 -0
- package/dist/policy.d.ts +20 -0
- package/dist/policy.js +155 -0
- package/dist/policy.js.map +1 -0
- 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 +5 -1
- package/dist/prompt-registry-update.js.map +1 -1
- package/dist/prompt-registry-validation.d.ts +3 -0
- package/dist/prompt-registry-validation.js +61 -21
- package/dist/prompt-registry-validation.js.map +1 -1
- package/dist/provider-utils.d.ts +11 -0
- package/dist/provider-utils.js +14 -0
- package/dist/provider-utils.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 +189 -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 +32 -0
- package/dist/refresh-generated.js +180 -0
- package/dist/refresh-generated.js.map +1 -0
- 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 +161 -8
- package/dist/release-commands.js.map +1 -1
- package/dist/release-readiness.d.ts +33 -0
- package/dist/release-readiness.js +187 -3
- package/dist/release-readiness.js.map +1 -1
- package/dist/runtime-adapters.d.ts +2 -1
- package/dist/runtime-adapters.js +16 -0
- package/dist/runtime-adapters.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 +85 -3
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-execution-adapters.js +40 -0
- package/dist/runtime-execution-adapters.js.map +1 -1
- package/dist/runtime-execution-renderer.d.ts +3 -2
- package/dist/runtime-execution-renderer.js +46 -8
- package/dist/runtime-execution-renderer.js.map +1 -1
- package/dist/runtime-execution.d.ts +8 -2
- package/dist/runtime-execution.js +109 -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 +1 -0
- package/dist/skills-catalog.js.map +1 -1
- package/dist/skills-commands.d.ts +5 -0
- package/dist/skills-commands.js +79 -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 +9 -22
- 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 +6 -14
- package/dist/task-graph-commands.js.map +1 -1
- package/dist/task-text.d.ts +8 -0
- package/dist/task-text.js +18 -0
- package/dist/task-text.js.map +1 -0
- 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 +25 -1
- package/dist/types/model-config.d.ts +51 -4
- package/dist/types/runtime.d.ts +83 -0
- package/dist/types/skills.d.ts +2 -0
- package/dist/types/tasks.d.ts +10 -0
- package/dist/types/workflow-run.d.ts +35 -0
- package/dist/types.d.ts +12 -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 +115 -3
- 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-C9lx-V42.css +1 -0
- package/dist/web-console/assets/index-M3S0g1GK.js +11 -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 +83 -4
- package/dist/workflow-approval-service.js.map +1 -1
- package/dist/workflow-approval-utils.js +13 -3
- package/dist/workflow-approval-utils.js.map +1 -1
- package/dist/workflow-event-query.d.ts +2 -0
- package/dist/workflow-event-query.js +6 -0
- package/dist/workflow-event-query.js.map +1 -0
- package/dist/workflow-evidence-service.js +18 -9
- package/dist/workflow-evidence-service.js.map +1 -1
- package/dist/workflow-gates.d.ts +2 -0
- package/dist/workflow-gates.js +103 -0
- package/dist/workflow-gates.js.map +1 -1
- package/dist/workflow-markdown.d.ts +6 -0
- package/dist/workflow-markdown.js +25 -0
- package/dist/workflow-markdown.js.map +1 -0
- package/dist/workflow-phase-planner.d.ts +19 -0
- package/dist/workflow-phase-planner.js +133 -0
- package/dist/workflow-phase-planner.js.map +1 -0
- package/dist/workflow-run-commands.d.ts +1 -0
- package/dist/workflow-run-commands.js +247 -20
- package/dist/workflow-run-commands.js.map +1 -1
- package/dist/workflow-services.d.ts +21 -12
- package/dist/workflow-services.js +376 -260
- 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/workflow-templates.js +2 -14
- package/dist/workflow-templates.js.map +1 -1
- package/dist/workspace-validator.js +133 -5
- package/dist/workspace-validator.js.map +1 -1
- package/dist/workspace.js +10 -2
- package/dist/workspace.js.map +1 -1
- package/docs/adoption-guide.md +147 -0
- package/docs/autonomous-workflow.md +146 -28
- package/docs/benchmark.md +17 -9
- package/docs/command-contracts.md +18 -1
- package/docs/core-command-surface.md +62 -13
- package/docs/end-to-end-demo.md +1 -0
- package/docs/extension-contracts.md +83 -0
- package/docs/orchestra-mvp.md +86 -3
- package/docs/persona-workflows.md +32 -0
- package/docs/release-test-matrix.md +42 -0
- package/docs/runtime-adapters.md +113 -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 +5 -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 +66 -0
- package/skills/doc-sync/SKILL.md +2 -0
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,17 +228,52 @@ 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.
|
|
235
|
+
Set `SKIP_NETWORK_TESTS=1` in CI jobs that must avoid external network calls;
|
|
236
|
+
package update checks and provider smoke tests honor it, while localhost E2E
|
|
237
|
+
coverage remains available.
|
|
188
238
|
|
|
189
239
|
Release go/no-go:
|
|
190
240
|
|
|
191
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.
|
|
192
246
|
- Confirm GitHub Actions CI is green for the latest pushed HEAD.
|
|
193
247
|
- Confirm installed-package dogfooding passes on `ubuntu-latest`,
|
|
194
248
|
`macos-latest`, and `windows-latest`.
|
|
195
249
|
- Confirm `Create release tag`, site publish, and npm publish workflows are
|
|
196
250
|
successful for the intended release commit.
|
|
197
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
|
+
|
|
198
277
|
Model routing, budget, telemetry, and release:
|
|
199
278
|
|
|
200
279
|
```bash
|
|
@@ -359,7 +438,11 @@ The VS Code Control Center scaffold is under `extensions/vscode-open-orchestra`.
|
|
|
359
438
|
- `orchestra model set-role` configures provider/model routing per role without invoking real model APIs.
|
|
360
439
|
- `orchestra model complete-fake` simulates provider fallback behavior without invoking real model APIs.
|
|
361
440
|
- `orchestra model provenance` records model usage metadata in the append-only event log without storing raw prompts, raw responses, or secrets.
|
|
362
|
-
- `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.
|
|
363
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.
|
|
364
447
|
- Package identity is intentionally split: `@jterrats/open-orchestra` is the
|
|
365
448
|
canonical npm package and `orchestra` is the installed CLI binary. Do not use
|
|
@@ -381,7 +464,7 @@ Quality signals collected automatically:
|
|
|
381
464
|
|
|
382
465
|
```bash
|
|
383
466
|
# Declare baseline at story start (once per story)
|
|
384
|
-
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
|
|
385
468
|
|
|
386
469
|
# Per-story benchmark after run completes
|
|
387
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,7 +126,79 @@ 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
|
|
91
133
|
clients that need to show safe next actions without parsing human CLI output.
|
|
134
|
+
`/api/runtime/adapters` and `orchestra runtime adapters --json` expose both
|
|
135
|
+
instruction-file targets and nested execution adapters. Execution adapters
|
|
136
|
+
include tool permission policy metadata so clients can distinguish
|
|
137
|
+
runtime-managed, brief-only, read-only, and opt-in autonomous execution models.
|
|
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
|
+
|
|
166
|
+
## Invocation Planning
|
|
167
|
+
|
|
168
|
+
Direct CLI execution is intentionally disabled. Orchestra can render a typed
|
|
169
|
+
invocation plan so callers can inspect the command shape before any future
|
|
170
|
+
executor is enabled:
|
|
171
|
+
|
|
172
|
+
- `claude-cli` with `gates=phase` or `gates=all` plans
|
|
173
|
+
`claude --print <prompt> --allowedTools Read Glob Grep`.
|
|
174
|
+
- `claude-cli` with `gates=none` plans
|
|
175
|
+
`claude --print <prompt> --allow-dangerously-skip-permissions`.
|
|
176
|
+
- `codex-cli`, `opencode-cli`, IDE runtimes, and generic runtimes remain
|
|
177
|
+
runtime-managed or brief-only, so the plan has no command to execute.
|
|
178
|
+
|
|
179
|
+
Every invocation plan reports `directExecutionEnabled: false` and
|
|
180
|
+
`canExecute: false`; the contract is for policy review, UI display, and future
|
|
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.
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# setup-agents Applicability Review
|
|
2
|
+
|
|
3
|
+
Date: 2026-05-14
|
|
4
|
+
|
|
5
|
+
## Scope
|
|
6
|
+
|
|
7
|
+
Review new `setup-agents` issues and local setup-agents standards to decide what
|
|
8
|
+
should be adopted by Open Orchestra.
|
|
9
|
+
|
|
10
|
+
Sources reviewed:
|
|
11
|
+
|
|
12
|
+
- Open Orchestra issue #317
|
|
13
|
+
- setup-agents issues #198-#211, with emphasis on #211, #209, #208, #205, #204,
|
|
14
|
+
#203, #202, #201, #200, #199, #198
|
|
15
|
+
- Local setup-agents developer profile and generated Developer standards
|
|
16
|
+
- Open Orchestra `setup-agents import` bridge and standards rules
|
|
17
|
+
|
|
18
|
+
## Applies Directly
|
|
19
|
+
|
|
20
|
+
### Visual Post-Write Validation
|
|
21
|
+
|
|
22
|
+
Source: setup-agents #211 and Open Orchestra #317.
|
|
23
|
+
|
|
24
|
+
This applies directly. Open Orchestra is the orchestrator and should own the
|
|
25
|
+
generic gate contract:
|
|
26
|
+
|
|
27
|
+
- external visual write manifest from agents or MCP integrations
|
|
28
|
+
- export/snapshot evidence
|
|
29
|
+
- fresh fetch of target state
|
|
30
|
+
- duplicate, overlap, fallback-text, orphan, and bounds assertions
|
|
31
|
+
- remediation loop where safe
|
|
32
|
+
- blocking gate when non-remediable defects remain
|
|
33
|
+
|
|
34
|
+
The Lucid-specific assertions belong in adapters or skills, but the gate type,
|
|
35
|
+
evidence attachment, and workflow blocking behavior belong in Open Orchestra.
|
|
36
|
+
|
|
37
|
+
### setup-agents Import Role Mapping
|
|
38
|
+
|
|
39
|
+
Open Orchestra currently maps setup-agents `po` and `pm` aliases to `po` and
|
|
40
|
+
`pm` in `src/setup-agents-import.ts`. Core Open Orchestra roles are
|
|
41
|
+
`product_owner` and `product_manager`. Imported setup-agents tasks should map
|
|
42
|
+
aliases to canonical role IDs.
|
|
43
|
+
|
|
44
|
+
This is a bug-sized Open Orchestra fix.
|
|
45
|
+
|
|
46
|
+
### Workflow Benchmark Feedback Into Estimates
|
|
47
|
+
|
|
48
|
+
Source: setup-agents #205.
|
|
49
|
+
|
|
50
|
+
Open Orchestra already has estimates and benchmark concepts. Historical
|
|
51
|
+
calibration belongs in Open Orchestra so every stack benefits, not only
|
|
52
|
+
Salesforce. The useful contract is:
|
|
53
|
+
|
|
54
|
+
- estimates read completed run benchmark data when available
|
|
55
|
+
- output includes historical median and variance
|
|
56
|
+
- warning when historical estimates deviate materially
|
|
57
|
+
- `--ignore-history` bypass
|
|
58
|
+
- JSON output exposes calibration fields
|
|
59
|
+
|
|
60
|
+
### Playbook Scaffolding And Playbook Authoring Docs
|
|
61
|
+
|
|
62
|
+
Sources: setup-agents #204 and #201.
|
|
63
|
+
|
|
64
|
+
Open Orchestra has phase playbooks and task-scoped workflow rendering. A
|
|
65
|
+
scaffold command would reduce friction for teams adapting phases by stack
|
|
66
|
+
without reading source. This applies cross-stack.
|
|
67
|
+
|
|
68
|
+
### Gate vs Clarify Documentation
|
|
69
|
+
|
|
70
|
+
Source: setup-agents #202.
|
|
71
|
+
|
|
72
|
+
Open Orchestra exposes gates, reviews, decisions, and clarification patterns.
|
|
73
|
+
The distinction should be documented in Open Orchestra user docs and runtime
|
|
74
|
+
bootstrap copy because agents otherwise use phase gates for mid-phase questions.
|
|
75
|
+
|
|
76
|
+
### Workflow Phase Matrix / End-to-End Workflow Narrative
|
|
77
|
+
|
|
78
|
+
Sources: setup-agents #200 and #199.
|
|
79
|
+
|
|
80
|
+
Open Orchestra should document its PM -> PO -> Architect -> Developer -> QA ->
|
|
81
|
+
Release sequence, gates, evidence, review checkpoints, and what is autonomous
|
|
82
|
+
versus human-approved. This is product documentation, not setup-agents-specific.
|
|
83
|
+
|
|
84
|
+
### Rules Health / Generated Guidance Freshness
|
|
85
|
+
|
|
86
|
+
Source: setup-agents #203.
|
|
87
|
+
|
|
88
|
+
Open Orchestra already generates bootstrap and managed instruction blocks. A
|
|
89
|
+
health surface that reports stale generated guidance, missing playbooks, and
|
|
90
|
+
workflow readiness would apply directly.
|
|
91
|
+
|
|
92
|
+
## Applies As A Pattern, Not Literally
|
|
93
|
+
|
|
94
|
+
### API 66 Salesforce Agent Metadata CI/CD
|
|
95
|
+
|
|
96
|
+
Source: setup-agents #209.
|
|
97
|
+
|
|
98
|
+
The Salesforce metadata details do not belong in Open Orchestra core, but the
|
|
99
|
+
pattern does:
|
|
100
|
+
|
|
101
|
+
- deployment lanes are not always one generic deploy command
|
|
102
|
+
- some artifacts require publish/activate flows
|
|
103
|
+
- generated or managed artifacts may need ignore rules
|
|
104
|
+
- dependency prechecks should run before deploy
|
|
105
|
+
|
|
106
|
+
Open Orchestra should represent this as stack-specific release lanes or release
|
|
107
|
+
playbook checks, not as Salesforce API 66 logic.
|
|
108
|
+
|
|
109
|
+
### Auto-Run Local Rule Generation After Init
|
|
110
|
+
|
|
111
|
+
Source: setup-agents #208.
|
|
112
|
+
|
|
113
|
+
The exact `sf setup-agents init -> local` behavior is setup-agents-specific.
|
|
114
|
+
For Open Orchestra, the applicable concept is first-run completeness: after
|
|
115
|
+
`orchestra init`, users should exit with usable runtime instructions, workflow
|
|
116
|
+
files, and a clear next command without a hidden second step.
|
|
117
|
+
|
|
118
|
+
## Developer Standards To Generalize
|
|
119
|
+
|
|
120
|
+
Several setup-agents Developer standards are Apex-specific, but the underlying
|
|
121
|
+
rules are stack-agnostic and should remain or be strengthened in Open Orchestra:
|
|
122
|
+
|
|
123
|
+
- Read project metadata/config before generating code.
|
|
124
|
+
- Infer naming and layering from existing code.
|
|
125
|
+
- Default to least privilege / safe execution context.
|
|
126
|
+
- Never query or mutate data inside loops; batch or bulk operations.
|
|
127
|
+
- Keep entry points thin; delegate business logic to services/handlers.
|
|
128
|
+
- Scan for existing exception/logging patterns before adding new ones.
|
|
129
|
+
- Prefer existing data access patterns over inventing a new repository/selector.
|
|
130
|
+
- Handle 1..N records/requests, not only the happy-path singleton.
|
|
131
|
+
- Use centralized test data builders/factories.
|
|
132
|
+
- Include async tests that flush queued work.
|
|
133
|
+
- Use user/permission-specific test contexts for authorization-sensitive logic.
|
|
134
|
+
- Avoid fixed async patterns; choose queues, jobs, events, or schedulers based on
|
|
135
|
+
ordering, retry, observability, and failure semantics.
|
|
136
|
+
- Use named external integrations/configured clients; never hardcode endpoints,
|
|
137
|
+
tokens, credentials, or command strings.
|
|
138
|
+
- Validate response status before processing external responses.
|
|
139
|
+
- Keep user-facing strings configurable/localizable where the product needs it.
|
|
140
|
+
- Run static analysis before handoff.
|
|
141
|
+
- Deploy/validate the changed production artifact before relying on tests that
|
|
142
|
+
exercise it.
|
|
143
|
+
- Every sub-agent handoff should include project conventions, data access
|
|
144
|
+
strategy, test strategy, and known constraints.
|
|
145
|
+
|
|
146
|
+
These already overlap with current Open Orchestra rules. The main gap is making
|
|
147
|
+
some of them more explicit for Java, .NET, TypeScript, and Python examples
|
|
148
|
+
without carrying Apex names into stack-agnostic docs.
|
|
149
|
+
|
|
150
|
+
Adopted in Open Orchestra via `rules/development-engineering.mdc`, with examples
|
|
151
|
+
for Java/Spring, .NET, TypeScript/Node, and Python.
|
|
152
|
+
|
|
153
|
+
## Does Not Apply To Core
|
|
154
|
+
|
|
155
|
+
- Salesforce-specific API 66 commands such as `sf agent publish
|
|
156
|
+
authoring-bundle`.
|
|
157
|
+
- Salesforce-only metadata folders such as `genAiPlannerBundles/`.
|
|
158
|
+
- LWC/SLDS/LDS-specific UI implementation rules.
|
|
159
|
+
- Apex trigger handler naming, `with sharing`, SOQL/DML, PSG test setup, and
|
|
160
|
+
Custom Labels as literal rules.
|
|
161
|
+
|
|
162
|
+
These belong in Salesforce/setup-agents profiles, not Open Orchestra core.
|
|
163
|
+
|
|
164
|
+
## Recommended Open Orchestra Backlog
|
|
165
|
+
|
|
166
|
+
1. Implement visual validation gate contract and evidence attachment.
|
|
167
|
+
2. Fix setup-agents import role aliases to canonical Open Orchestra roles.
|
|
168
|
+
3. Add benchmark-calibrated estimates.
|
|
169
|
+
4. Add playbook scaffold command and authoring docs.
|
|
170
|
+
5. Add Gate vs Clarify docs and workflow phase matrix.
|
|
171
|
+
6. Add rules/playbook health to `orchestra health` or a dedicated status view.
|
|
172
|
+
7. Add stack-agnostic Developer standards examples for Java, .NET, TypeScript,
|
|
173
|
+
and Python.
|
|
@@ -97,6 +97,7 @@ Primary MD files should stay bounded:
|
|
|
97
97
|
- `orchestra skills validate` validates canonical skills against portable `manifest.json` and `SKILL.md` files.
|
|
98
98
|
- `orchestra sources list` exposes the source-of-truth catalog.
|
|
99
99
|
- `orchestra lessons list/add/promote` manages local agent learning and promotes repeated lessons into reviewable artifacts.
|
|
100
|
+
- `orchestra doc-sync audit [--task <id>] [--strict]` checks changed documentation, changelog, architecture, diagram, and public-site surfaces for prompt registry coverage and suggests `lessons assist` when repeated documentation rework should become a reusable lesson.
|
|
100
101
|
|
|
101
102
|
The CLI render path is the universal fallback for environments without native skill support.
|
|
102
103
|
|
|
@@ -78,6 +78,20 @@ Do not record a lesson for:
|
|
|
78
78
|
4. If reusable, append one JSONL entry with root cause, fix, prevention, and verification.
|
|
79
79
|
5. If the same lesson appears repeatedly, promote it into the relevant skill or project rule.
|
|
80
80
|
|
|
81
|
+
## Memory Governance
|
|
82
|
+
|
|
83
|
+
Local memory is useful only while it stays bounded, current, and safe to load
|
|
84
|
+
into future agent context. Use `orchestra memory governance` to inspect active,
|
|
85
|
+
archived, stale, and sensitive lessons. Use `orchestra lessons prune --dry-run`
|
|
86
|
+
before applying retention cleanup, then run without `--dry-run` to archive stale
|
|
87
|
+
or overflow lessons.
|
|
88
|
+
|
|
89
|
+
Use `orchestra lessons archive --id <lesson-id>` when a lesson is superseded but
|
|
90
|
+
still useful as audit history. Use `orchestra lessons redact --id <lesson-id>`
|
|
91
|
+
when a stored lesson contains token-like or secret-shaped values. Use
|
|
92
|
+
`orchestra lessons delete --id <lesson-id>` only when the record should be
|
|
93
|
+
removed from local memory entirely.
|
|
94
|
+
|
|
81
95
|
## Relationship to Skills
|
|
82
96
|
|
|
83
97
|
Skills should declare which source groups they use and which lessons are relevant. The orchestrator should load lessons only for the selected skills and current operation, not the full historical log.
|
|
@@ -42,12 +42,16 @@ user-facing:
|
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
orchestra playwright plan --task STORY-1
|
|
45
|
+
orchestra qa coverage --task STORY-1 --json
|
|
45
46
|
orchestra playwright evidence --task STORY-1 --kind trace --path test-results/story-1.zip --summary "acceptance flow trace"
|
|
46
47
|
orchestra review --task STORY-1 --role qa --result approve --findings "..." --recommendation "..."
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
Developer-to-QA handoff should include touched files, commands, known gaps, and
|
|
50
|
-
recommended Playwright coverage.
|
|
51
|
+
recommended Playwright, CLI, shell, or API coverage. `qa coverage` maps each
|
|
52
|
+
acceptance criterion to `covered`, `planned`, `skipped`, or `gap` using task
|
|
53
|
+
paths, project scripts, and existing evidence; release readiness surfaces
|
|
54
|
+
unresolved QA automation gaps before promotion.
|
|
51
55
|
|
|
52
56
|
## Advisory Conversion
|
|
53
57
|
|
|
@@ -4,6 +4,7 @@ Open Orchestra currently ships a GitHub-oriented tracker command:
|
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
orchestra github sync --issue <number> --task <id> --comment --json
|
|
7
|
+
orchestra tracker sync --tracker jira --remote PROJ-123 --issue-file jira-123.json --json
|
|
7
8
|
```
|
|
8
9
|
|
|
9
10
|
The product contract is broader than GitHub CLI. A runtime may use `gh` when it
|
|
@@ -23,7 +24,9 @@ custom issue system.
|
|
|
23
24
|
## Common Adapter Shape
|
|
24
25
|
|
|
25
26
|
Every tracker adapter should provide the same normalized fields to Open
|
|
26
|
-
Orchestra
|
|
27
|
+
Orchestra. Runtime MCP skills, Jira/GitLab/Bitbucket CLIs, or custom bridge
|
|
28
|
+
scripts should write this shape to a workspace-local JSON file and pass it to
|
|
29
|
+
`orchestra tracker sync --issue-file <file>`:
|
|
27
30
|
|
|
28
31
|
| Field | Meaning |
|
|
29
32
|
| --- | --- |
|
|
@@ -42,6 +45,12 @@ Writes should support comment, status update, close, and accepted-risk note when
|
|
|
42
45
|
the provider allows them. Missing write support should be reported as a transport
|
|
43
46
|
capability gap, not treated as successful sync.
|
|
44
47
|
|
|
48
|
+
The generic sync command maps the normalized issue into local task fields,
|
|
49
|
+
detects existing-link conflicts before writing, and records local evidence when
|
|
50
|
+
the sync is applied. Live remote reads and writes remain adapter-owned; the CLI
|
|
51
|
+
does not fabricate Jira, GitLab, Bitbucket, or MCP calls when no adapter runner
|
|
52
|
+
is available.
|
|
53
|
+
|
|
45
54
|
## MCP Fallback Requirements
|
|
46
55
|
|
|
47
56
|
MCP tracker tools must:
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Web Console QA Notes
|
|
2
|
+
|
|
3
|
+
The web console is a local browser surface for workflow operations. It is not a
|
|
4
|
+
replacement for the CLI; it consumes the same JSON contracts and should remain
|
|
5
|
+
usable when a user needs to inspect state, create tasks, attach evidence, run or
|
|
6
|
+
resume workflows, and review release readiness.
|
|
7
|
+
|
|
8
|
+
## 1.0.0 Browser Support
|
|
9
|
+
|
|
10
|
+
- Chromium is the release-blocking automated browser for 1.0.0 E2E coverage.
|
|
11
|
+
- Desktop smoke uses the default Playwright viewport.
|
|
12
|
+
- Mobile smoke uses a narrow viewport and must not create horizontal overflow.
|
|
13
|
+
- Keyboard-only operation must reach refresh, task creation, evidence,
|
|
14
|
+
Playwright evidence, workflow start, gate approval, resume, and cancel
|
|
15
|
+
controls.
|
|
16
|
+
|
|
17
|
+
## Required States
|
|
18
|
+
|
|
19
|
+
- Loading: the status line announces `Loading workflow`.
|
|
20
|
+
- Success: the status line announces `Workflow loaded`.
|
|
21
|
+
- Empty: operational panels render friendly empty states when no matching data
|
|
22
|
+
exists.
|
|
23
|
+
- Error: failed API calls render recoverable copy without raw stack traces.
|
|
24
|
+
|
|
25
|
+
## Release Evidence
|
|
26
|
+
|
|
27
|
+
Run:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm run test:e2e -- e2e/web-console.spec.js
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Attach the command result as QA evidence before release readiness. If a browser
|
|
34
|
+
failure is accepted temporarily, record the affected viewport, failed action,
|
|
35
|
+
user impact, owner, and expiry as review or release evidence.
|