@jterrats/open-orchestra 0.1.0 → 0.2.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/CHANGELOG.md +53 -0
- package/README.md +17 -2
- package/dist/assets/web-console.js +743 -0
- package/dist/cli.js +157 -4
- package/dist/cli.js.map +1 -1
- package/dist/collaboration-flows.d.ts +5 -0
- package/dist/collaboration-flows.js +256 -0
- package/dist/collaboration-flows.js.map +1 -0
- package/dist/command-manifest.d.ts +11 -0
- package/dist/command-manifest.js +52 -0
- package/dist/command-manifest.js.map +1 -0
- package/dist/commands.d.ts +31 -0
- package/dist/commands.js +644 -2
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +22 -0
- package/dist/constants.js.map +1 -1
- package/dist/defaults.d.ts +7 -11
- package/dist/defaults.js +7 -625
- package/dist/defaults.js.map +1 -1
- package/dist/delegation-decision.d.ts +14 -0
- package/dist/delegation-decision.js +391 -0
- package/dist/delegation-decision.js.map +1 -0
- package/dist/detect-commands.d.ts +3 -0
- package/dist/detect-commands.js +28 -0
- package/dist/detect-commands.js.map +1 -0
- package/dist/diagram-validation.d.ts +36 -0
- package/dist/diagram-validation.js +118 -0
- package/dist/diagram-validation.js.map +1 -0
- package/dist/fs-utils.d.ts +2 -0
- package/dist/fs-utils.js +75 -6
- package/dist/fs-utils.js.map +1 -1
- package/dist/health-checks.d.ts +28 -0
- package/dist/health-checks.js +219 -0
- package/dist/health-checks.js.map +1 -0
- package/dist/health-commands.d.ts +2 -0
- package/dist/health-commands.js +18 -0
- package/dist/health-commands.js.map +1 -0
- package/dist/instruction-apply.d.ts +34 -0
- package/dist/instruction-apply.js +150 -0
- package/dist/instruction-apply.js.map +1 -0
- package/dist/instruction-blocks.d.ts +22 -0
- package/dist/instruction-blocks.js +120 -0
- package/dist/instruction-blocks.js.map +1 -0
- package/dist/instruction-imports.d.ts +12 -0
- package/dist/instruction-imports.js +45 -0
- package/dist/instruction-imports.js.map +1 -0
- package/dist/instruction-stale.d.ts +9 -0
- package/dist/instruction-stale.js +106 -0
- package/dist/instruction-stale.js.map +1 -0
- package/dist/instruction-types.d.ts +66 -0
- package/dist/instruction-types.js +2 -0
- package/dist/instruction-types.js.map +1 -0
- package/dist/instruction-updates.d.ts +4 -0
- package/dist/instruction-updates.js +5 -0
- package/dist/instruction-updates.js.map +1 -0
- package/dist/knowledge-base.d.ts +10 -0
- package/dist/knowledge-base.js +117 -0
- package/dist/knowledge-base.js.map +1 -0
- package/dist/mcp-oauth-proxy.d.ts +39 -0
- package/dist/mcp-oauth-proxy.js +80 -0
- package/dist/mcp-oauth-proxy.js.map +1 -0
- package/dist/pr-review.d.ts +20 -0
- package/dist/pr-review.js +142 -0
- package/dist/pr-review.js.map +1 -0
- package/dist/project-detection.d.ts +22 -0
- package/dist/project-detection.js +174 -0
- package/dist/project-detection.js.map +1 -0
- package/dist/prompt-registry.d.ts +56 -0
- package/dist/prompt-registry.js +163 -0
- package/dist/prompt-registry.js.map +1 -0
- package/dist/release-candidate.d.ts +41 -0
- package/dist/release-candidate.js +196 -0
- package/dist/release-candidate.js.map +1 -0
- package/dist/release-commands.d.ts +4 -0
- package/dist/release-commands.js +50 -0
- package/dist/release-commands.js.map +1 -0
- package/dist/roles/ai-support-roles.d.ts +11 -0
- package/dist/roles/ai-support-roles.js +67 -0
- package/dist/roles/ai-support-roles.js.map +1 -0
- package/dist/roles/core-roles.d.ts +11 -0
- package/dist/roles/core-roles.js +144 -0
- package/dist/roles/core-roles.js.map +1 -0
- package/dist/roles/engineering-roles.d.ts +11 -0
- package/dist/roles/engineering-roles.js +176 -0
- package/dist/roles/engineering-roles.js.map +1 -0
- package/dist/roles/governance-roles.d.ts +11 -0
- package/dist/roles/governance-roles.js +117 -0
- package/dist/roles/governance-roles.js.map +1 -0
- package/dist/roles/index.d.ts +11 -0
- package/dist/roles/index.js +17 -0
- package/dist/roles/index.js.map +1 -0
- package/dist/roles/platform-ops-roles.d.ts +11 -0
- package/dist/roles/platform-ops-roles.js +158 -0
- package/dist/roles/platform-ops-roles.js.map +1 -0
- package/dist/roles/qa-ux-roles.d.ts +11 -0
- package/dist/roles/qa-ux-roles.js +193 -0
- package/dist/roles/qa-ux-roles.js.map +1 -0
- package/dist/roles/release-ops-roles.d.ts +11 -0
- package/dist/roles/release-ops-roles.js +109 -0
- package/dist/roles/release-ops-roles.js.map +1 -0
- package/dist/runtime-adapters.d.ts +6 -0
- package/dist/runtime-adapters.js +88 -0
- package/dist/runtime-adapters.js.map +1 -0
- package/dist/runtime-bootstrap.d.ts +12 -0
- package/dist/runtime-bootstrap.js +85 -0
- package/dist/runtime-bootstrap.js.map +1 -0
- package/dist/skills.d.ts +36 -0
- package/dist/skills.js +665 -0
- package/dist/skills.js.map +1 -0
- package/dist/subagent-protocol.d.ts +41 -0
- package/dist/subagent-protocol.js +179 -0
- package/dist/subagent-protocol.js.map +1 -0
- package/dist/telemetry-consent.d.ts +24 -0
- package/dist/telemetry-consent.js +95 -0
- package/dist/telemetry-consent.js.map +1 -0
- package/dist/telemetry-export.d.ts +14 -0
- package/dist/telemetry-export.js +126 -0
- package/dist/telemetry-export.js.map +1 -0
- package/dist/telemetry-records.d.ts +3 -0
- package/dist/telemetry-records.js +96 -0
- package/dist/telemetry-records.js.map +1 -0
- package/dist/telemetry-redaction.d.ts +9 -0
- package/dist/telemetry-redaction.js +55 -0
- package/dist/telemetry-redaction.js.map +1 -0
- package/dist/telemetry-types.d.ts +52 -0
- package/dist/telemetry-types.js +2 -0
- package/dist/telemetry-types.js.map +1 -0
- package/dist/telemetry.d.ts +4 -0
- package/dist/telemetry.js +4 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/types.d.ts +176 -1
- package/dist/validation.d.ts +3 -1
- package/dist/validation.js +28 -5
- package/dist/validation.js.map +1 -1
- package/dist/web-api.js +167 -3
- package/dist/web-api.js.map +1 -1
- package/dist/web-console.js +6 -160
- package/dist/web-console.js.map +1 -1
- package/dist/workflow-gates.js +4 -2
- package/dist/workflow-gates.js.map +1 -1
- package/dist/workflow-services.js +125 -67
- package/dist/workflow-services.js.map +1 -1
- package/dist/workflow-templates.d.ts +10 -0
- package/dist/workflow-templates.js +141 -0
- package/dist/workflow-templates.js.map +1 -0
- package/dist/workspace-classification.d.ts +5 -0
- package/dist/workspace-classification.js +127 -0
- package/dist/workspace-classification.js.map +1 -0
- package/dist/workspace-validator.js +11 -1
- package/dist/workspace-validator.js.map +1 -1
- package/dist/workspace.d.ts +8 -4
- package/dist/workspace.js +111 -4
- package/dist/workspace.js.map +1 -1
- package/docs/dev-team-specialist-role-profiles.md +171 -0
- package/docs/mcp-oauth-proxy-evaluation.md +44 -0
- package/docs/multi-agent-orchestrator-backlog.md +413 -1
- package/docs/open-orchestra-dogfooding-findings.md +66 -0
- package/docs/orchestra-mvp.md +46 -1
- package/docs/runtime-adapters.md +86 -0
- package/docs/runtime-llm-flow.md +124 -0
- package/docs/setup-agents-dogfooding-findings.md +101 -0
- package/docs/skill-loading-strategy.md +114 -0
- package/docs/source-of-truth-and-agent-learning.md +83 -0
- package/package.json +9 -5
- package/rules/agent-roles.mdc +30 -0
- package/rules/ai-assisted-development.mdc +22 -0
- package/skills/agent-learning/SKILL.md +24 -0
- package/skills/agent-learning/manifest.json +40 -0
- package/skills/backlog-sync/SKILL.md +24 -0
- package/skills/backlog-sync/manifest.json +41 -0
- package/skills/diagram-export/SKILL.md +35 -0
- package/skills/diagram-export/manifest.json +40 -0
- package/skills/model-evaluation/SKILL.md +25 -0
- package/skills/model-evaluation/manifest.json +41 -0
- package/skills/playwright-evidence/SKILL.md +28 -0
- package/skills/playwright-evidence/manifest.json +46 -0
- package/skills/pr-review/SKILL.md +23 -0
- package/skills/pr-review/manifest.json +43 -0
- package/skills/prompt-registry/SKILL.md +24 -0
- package/skills/prompt-registry/manifest.json +45 -0
- package/skills/release-readiness/SKILL.md +25 -0
- package/skills/release-readiness/manifest.json +45 -0
- package/skills/source-of-truth/SKILL.md +24 -0
- package/skills/source-of-truth/manifest.json +47 -0
- package/skills/static-analysis/SKILL.md +26 -0
- package/skills/static-analysis/manifest.json +46 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Dev Team Specialist Role Profiles
|
|
2
|
+
|
|
3
|
+
These profiles extend the default delivery team catalog with optional specialist personas. They should be activated by task impact and risk, not by default for every task.
|
|
4
|
+
|
|
5
|
+
## Source Signals
|
|
6
|
+
|
|
7
|
+
- DORA / Google Cloud DevOps capabilities emphasize maintainability, continuous integration, test automation, continuous delivery, monitoring and observability, security shifting left, small batches, value stream visibility, and empowered tool choices: https://cloud.google.com/architecture/devops
|
|
8
|
+
- Google SRE guidance centers reliability decisions on user-relevant SLIs/SLOs, error budgets, availability, latency, throughput, correctness, and operational control loops: https://sre.google/sre-book/service-level-objectives/
|
|
9
|
+
- Platform engineering guidance frames internal developer platforms as product-minded self-service systems with secure, governed golden paths that reduce cognitive load: https://learn.microsoft.com/en-us/platform-engineering/what-is-platform-engineering and https://www.cncf.io/blog/2023/11/20/announcing-the-platform-engineering-maturity-model/
|
|
10
|
+
- Playwright best practices prioritize user-visible behavior, isolated tests, resilient locators, web-first assertions, traceable debugging, parallelism, and test reliability: https://playwright.dev/docs/best-practices and https://playwright.dev/docs/locators
|
|
11
|
+
- WCAG 2.2 is the current W3C recommendation for accessible web content across desktop, mobile, and other devices; success criteria are testable statements: https://www.w3.org/TR/wcag/
|
|
12
|
+
- OWASP secure coding guidance keeps secure implementation technology-agnostic and lifecycle-integrated, including input validation, output encoding, authentication, access control, cryptography, logging, data protection, communication security, and file handling: https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/stable-en/02-checklist/
|
|
13
|
+
- Apple App Review guidelines highlight mobile release completeness, on-device stability, accurate metadata, privacy/safety expectations, and review readiness: https://developer.apple.com/app-store/review/guidelines/
|
|
14
|
+
- OpenAI eval guidance recommends eval-driven development, task-specific evals, production-shaped datasets, automated scoring where possible, human calibration, pairwise comparisons, rubrics, and continuous evaluation: https://platform.openai.com/docs/guides/evaluation-best-practices
|
|
15
|
+
|
|
16
|
+
## Tech Lead / Engineering Lead
|
|
17
|
+
|
|
18
|
+
State-of-the-art profile:
|
|
19
|
+
- Treats implementation as a coordinated delivery system: ownership boundaries, code review focus, sequencing, integration risk, and maintainability.
|
|
20
|
+
- Uses small batches, clear ownership, and visible work-in-progress to reduce handoff and merge risk.
|
|
21
|
+
- Bridges architecture intent and code-level decisions without replacing the Architect role.
|
|
22
|
+
|
|
23
|
+
Activate when:
|
|
24
|
+
- Multiple developers or agents touch related modules.
|
|
25
|
+
- Ownership boundaries are unclear.
|
|
26
|
+
- A change has integration, maintainability, or sequencing risk.
|
|
27
|
+
|
|
28
|
+
Expected evidence:
|
|
29
|
+
- Implementation plan.
|
|
30
|
+
- Ownership map.
|
|
31
|
+
- Review checklist.
|
|
32
|
+
- Integration risk notes.
|
|
33
|
+
|
|
34
|
+
## SDET / Test Automation Engineer
|
|
35
|
+
|
|
36
|
+
State-of-the-art profile:
|
|
37
|
+
- Designs automation around user-visible behavior and acceptance criteria.
|
|
38
|
+
- Prefers resilient Playwright locators, isolated tests, web-first assertions, fixtures, page objects, traces, screenshots, and CI reliability evidence.
|
|
39
|
+
- Turns QA plans into repeatable regression coverage without replacing QA's release judgment.
|
|
40
|
+
|
|
41
|
+
Activate when:
|
|
42
|
+
- Browser E2E coverage is needed.
|
|
43
|
+
- Existing E2E tests are flaky or selector-heavy.
|
|
44
|
+
- A critical workflow needs repeatable regression evidence.
|
|
45
|
+
|
|
46
|
+
Expected evidence:
|
|
47
|
+
- Automation plan.
|
|
48
|
+
- Locator strategy.
|
|
49
|
+
- Playwright screenshots/traces.
|
|
50
|
+
- CI stability notes.
|
|
51
|
+
|
|
52
|
+
## Platform Engineer
|
|
53
|
+
|
|
54
|
+
State-of-the-art profile:
|
|
55
|
+
- Builds internal developer platform capabilities as reusable products for developers.
|
|
56
|
+
- Provides secure, governed self-service and golden paths for common delivery workflows.
|
|
57
|
+
- Reduces cognitive load while preserving compliance, cost visibility, and operational control.
|
|
58
|
+
|
|
59
|
+
Activate when:
|
|
60
|
+
- A workflow should become reusable across repositories.
|
|
61
|
+
- CI/CD, environment setup, scaffolding, or templates are changing.
|
|
62
|
+
- Developer experience and governance need the same solution.
|
|
63
|
+
|
|
64
|
+
Expected evidence:
|
|
65
|
+
- Golden path documentation.
|
|
66
|
+
- Template validation.
|
|
67
|
+
- Self-service smoke test.
|
|
68
|
+
- Adoption and feedback notes.
|
|
69
|
+
|
|
70
|
+
## Frontend Specialist
|
|
71
|
+
|
|
72
|
+
State-of-the-art profile:
|
|
73
|
+
- Owns component architecture, browser behavior, accessibility implementation, responsive layouts, client performance, and UI state coverage.
|
|
74
|
+
- Uses WCAG-oriented accessibility checks and Playwright-visible user flows as implementation evidence.
|
|
75
|
+
- Works with UX/UI and QA to ensure the interface is usable, not merely rendered.
|
|
76
|
+
|
|
77
|
+
Activate when:
|
|
78
|
+
- A user-facing web flow changes.
|
|
79
|
+
- Responsive, accessibility, or client performance risk exists.
|
|
80
|
+
- Component architecture or frontend state management changes.
|
|
81
|
+
|
|
82
|
+
Expected evidence:
|
|
83
|
+
- Responsive screenshots.
|
|
84
|
+
- Accessibility notes.
|
|
85
|
+
- Component or browser smoke test.
|
|
86
|
+
- State coverage notes.
|
|
87
|
+
|
|
88
|
+
## Backend Specialist
|
|
89
|
+
|
|
90
|
+
State-of-the-art profile:
|
|
91
|
+
- Owns service boundaries, API contracts, domain logic, persistence integration, concurrency, failure modes, and server-side tests.
|
|
92
|
+
- Applies secure coding and operational thinking to inputs, outputs, auth, access control, data protection, logging, and communication security.
|
|
93
|
+
- Works with SRE, Security, DBA, and Architect when backend behavior affects reliability, privacy, or data integrity.
|
|
94
|
+
|
|
95
|
+
Activate when:
|
|
96
|
+
- API contracts, domain services, or persistence behavior change.
|
|
97
|
+
- Concurrency, transactions, idempotency, retries, or failure behavior matter.
|
|
98
|
+
- Server-side security or reliability risk exists.
|
|
99
|
+
|
|
100
|
+
Expected evidence:
|
|
101
|
+
- API contract notes.
|
|
102
|
+
- Unit/integration test results.
|
|
103
|
+
- Failure mode review.
|
|
104
|
+
- Observability notes.
|
|
105
|
+
|
|
106
|
+
## Mobile Specialist
|
|
107
|
+
|
|
108
|
+
State-of-the-art profile:
|
|
109
|
+
- Owns mobile UX, device compatibility, offline behavior, native/hybrid runtime constraints, privacy metadata, performance, and app store readiness.
|
|
110
|
+
- Validates on-device behavior rather than assuming desktop responsive checks are sufficient.
|
|
111
|
+
- Coordinates with Release Manager and QA for store submission, beta testing, metadata, and device matrix evidence.
|
|
112
|
+
|
|
113
|
+
Activate when:
|
|
114
|
+
- Native, hybrid, or mobile-specific behavior changes.
|
|
115
|
+
- Offline, permissions, device capabilities, push, camera, location, or store metadata are involved.
|
|
116
|
+
- A mobile release or review process is affected.
|
|
117
|
+
|
|
118
|
+
Expected evidence:
|
|
119
|
+
- Device matrix.
|
|
120
|
+
- Mobile screenshots or recordings.
|
|
121
|
+
- Offline and permissions test notes.
|
|
122
|
+
- Store readiness checklist.
|
|
123
|
+
|
|
124
|
+
## AI Evaluation / Prompt Quality Engineer
|
|
125
|
+
|
|
126
|
+
State-of-the-art profile:
|
|
127
|
+
- Treats prompt/model behavior as testable product behavior, not subjective chat quality.
|
|
128
|
+
- Defines eval objectives, datasets, rubrics, automated graders, human calibration, model comparisons, and continuous evaluation checks.
|
|
129
|
+
- Owns regression evidence for prompt, model routing, provider fallback, and generated-output quality changes.
|
|
130
|
+
|
|
131
|
+
Activate when:
|
|
132
|
+
- System prompts, role prompts, model routing, fallback behavior, or provider selection changes.
|
|
133
|
+
- LLM output quality is release-critical.
|
|
134
|
+
- Human review should be calibrated against automated evals.
|
|
135
|
+
|
|
136
|
+
Expected evidence:
|
|
137
|
+
- Eval dataset or cases.
|
|
138
|
+
- Rubric results.
|
|
139
|
+
- Model comparison summary.
|
|
140
|
+
- Failure analysis and accepted residual risk.
|
|
141
|
+
|
|
142
|
+
## Support / Customer Operations
|
|
143
|
+
|
|
144
|
+
State-of-the-art profile:
|
|
145
|
+
- Owns customer-facing readiness: known issues, troubleshooting paths, support runbooks, incident intake, communication drafts, and feedback loops.
|
|
146
|
+
- Ensures releases are operable by people who did not build them.
|
|
147
|
+
- Connects post-release signals back into backlog refinement and incident learning.
|
|
148
|
+
|
|
149
|
+
Activate when:
|
|
150
|
+
- A customer-visible release changes workflows, support paths, or known limitations.
|
|
151
|
+
- Workarounds, communications, or feedback intake are needed.
|
|
152
|
+
- Support needs a runbook before go-live.
|
|
153
|
+
|
|
154
|
+
Expected evidence:
|
|
155
|
+
- Support runbook.
|
|
156
|
+
- Known issues note.
|
|
157
|
+
- Customer communication draft.
|
|
158
|
+
- Feedback intake plan.
|
|
159
|
+
|
|
160
|
+
## Prompt Registry Integration
|
|
161
|
+
|
|
162
|
+
The setup-agents prompt registry pattern is now part of Open Orchestra as a stack-agnostic `.generated-prompts/` scaffold. Specialist roles should use it as follows:
|
|
163
|
+
|
|
164
|
+
- Tech Lead reads `code.md`, `services.md`, and `docs.md` before coordinating implementation plans.
|
|
165
|
+
- SDET reads `tests.md` before adding Playwright or regression coverage.
|
|
166
|
+
- Platform Engineer reads `cicd.md` and `docs.md` before changing reusable developer workflows.
|
|
167
|
+
- Frontend Specialist reads `ui.md` and `tests.md` before user-facing web changes.
|
|
168
|
+
- Backend Specialist reads `services.md`, `code.md`, and `tests.md` before service or API changes.
|
|
169
|
+
- Mobile Specialist reads `ui.md`, `tests.md`, and `docs.md` before mobile-specific flows or release readiness work.
|
|
170
|
+
- AI Evaluation / Prompt Quality Engineer reads and updates `evals.md` for prompt, model routing, provider fallback, rubric, and eval changes.
|
|
171
|
+
- Support / Customer Operations reads `docs.md` before support runbook, known issue, or customer communication work.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# MCP OAuth Proxy Evaluation
|
|
2
|
+
|
|
3
|
+
## Goal
|
|
4
|
+
|
|
5
|
+
Evaluate an opt-in proxy pattern for HTTP MCP servers when a tool only supports stdio transport or cannot inject OAuth tokens safely.
|
|
6
|
+
|
|
7
|
+
## Transport Options
|
|
8
|
+
|
|
9
|
+
| Option | Fit | Trade-off |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| stdio proxy | Best compatibility for stdio-only clients. | Proxy owns token injection, refresh, logging controls, and revocation handling. |
|
|
12
|
+
| direct HTTP | Best when the tool supports HTTP MCP and auth natively. | Not portable to stdio-only tools. |
|
|
13
|
+
| tool-native OAuth | Preferred security ownership when available. | Behavior differs by IDE/CLI and may not support every MCP server. |
|
|
14
|
+
|
|
15
|
+
## Prototype Rules
|
|
16
|
+
|
|
17
|
+
- The proxy is disabled by default and must be explicitly enabled.
|
|
18
|
+
- Open Orchestra must not alter MCP config without user approval (`--enable --approve --approver <name>` in the evaluation command).
|
|
19
|
+
- HTTP MCP server URLs must use `https://`.
|
|
20
|
+
- Tokens can be stored only in OS secret storage (`keychain`, `libsecret`, `windows-credential`) or under approved local secure-file paths such as `~/.config/open-orchestra/secrets/`.
|
|
21
|
+
- Logs must never include access tokens, refresh tokens, auth codes, token endpoint responses, or bearer headers.
|
|
22
|
+
- Revocation is supported by deleting local token material and re-running authorization.
|
|
23
|
+
|
|
24
|
+
## Refresh Behavior
|
|
25
|
+
|
|
26
|
+
- Refresh is evaluated without real credentials by injecting a refresh function into `refreshMcpTokenIfNeeded`.
|
|
27
|
+
- Tokens refresh only inside the configured refresh window.
|
|
28
|
+
- The minimum refresh window is 30 seconds to avoid last-second token expiry during tool calls.
|
|
29
|
+
|
|
30
|
+
## Security Review
|
|
31
|
+
|
|
32
|
+
- Token storage: use OS secret storage first; secure files only by explicit local path approval.
|
|
33
|
+
- Refresh: refresh before expiry and keep failures non-destructive so existing valid tokens are not overwritten by failed responses.
|
|
34
|
+
- Logs: redact token-shaped values and avoid logging raw provider responses.
|
|
35
|
+
- Revocation: document local token deletion and upstream OAuth app revocation.
|
|
36
|
+
- Configuration: keep MCP changes opt-in and reviewable; dry-run/evaluate before writing any config.
|
|
37
|
+
|
|
38
|
+
## CLI
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
orchestra mcp oauth-proxy evaluate --server-url https://mcp.example.com --enable --approve --approver <name> --json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The command returns risks and recommendations only; it does not write MCP configuration.
|
|
@@ -52,7 +52,7 @@ Acceptance criteria:
|
|
|
52
52
|
As an administrator, I want to define roles and responsibilities so that each agent knows its ownership, authority, and handoff expectations.
|
|
53
53
|
|
|
54
54
|
Acceptance criteria:
|
|
55
|
-
- Supports roles such as Product Owner, Architect, Developer, QA, Security, DevOps, SRE, DBA, UX/UI Designer, Release Manager, Compliance/Privacy, Technical Writer, and Game Designer.
|
|
55
|
+
- Supports roles such as Product Owner, Architect, Developer, Tech Lead, Frontend Specialist, Backend Specialist, Mobile Specialist, QA, SDET, Security, DevOps, Platform Engineer, SRE, DBA, UX/UI Designer, Release Manager, Compliance/Privacy, Technical Writer, AI Evaluation Engineer, Support/Customer Operations, and Game Designer.
|
|
56
56
|
- Stores role purpose, responsibilities, required inputs, outputs, and blockers.
|
|
57
57
|
- Allows project-specific role overrides.
|
|
58
58
|
|
|
@@ -72,6 +72,71 @@ Acceptance criteria:
|
|
|
72
72
|
- Records role, rationale, severity, and affected artifact.
|
|
73
73
|
- Prevents release when required role approval is missing.
|
|
74
74
|
|
|
75
|
+
|
|
76
|
+
### Story ROLE-004: Activate Tech Lead Profile
|
|
77
|
+
As a parent agent, I want to activate a Tech Lead when implementation coordination risk exists so that code ownership, sequencing, and integration quality are explicit.
|
|
78
|
+
|
|
79
|
+
Acceptance criteria:
|
|
80
|
+
- Activates Tech Lead for multi-developer, cross-module, or sequencing-sensitive work.
|
|
81
|
+
- Records ownership boundaries, implementation plan, review focus, and integration risks.
|
|
82
|
+
- Blocks integration when ownership or review evidence is missing for high-risk work.
|
|
83
|
+
|
|
84
|
+
### Story ROLE-005: Activate SDET Profile
|
|
85
|
+
As QA, I want an SDET profile for automation-heavy work so that Playwright coverage is reliable, maintainable, and evidence-based.
|
|
86
|
+
|
|
87
|
+
Acceptance criteria:
|
|
88
|
+
- Activates SDET for browser automation, flaky tests, critical regression paths, or CI test reliability risk.
|
|
89
|
+
- Requires automation scope, locator strategy, fixtures/page objects, and Playwright evidence.
|
|
90
|
+
- Flags brittle selectors, non-isolated tests, and missing trace/screenshot evidence.
|
|
91
|
+
|
|
92
|
+
### Story ROLE-006: Activate Platform Engineer Profile
|
|
93
|
+
As an administrator, I want a Platform Engineer profile so that reusable developer workflows become secure, governed golden paths.
|
|
94
|
+
|
|
95
|
+
Acceptance criteria:
|
|
96
|
+
- Activates Platform Engineer for reusable templates, CI/CD foundations, environment setup, or cross-repo standards.
|
|
97
|
+
- Requires platform capability, developer experience, guardrails, and adoption plan.
|
|
98
|
+
- Records template validation and self-service smoke evidence.
|
|
99
|
+
|
|
100
|
+
### Story ROLE-007: Activate Frontend Specialist Profile
|
|
101
|
+
As a parent agent, I want a Frontend Specialist profile so that user-facing web changes cover component architecture, responsive behavior, accessibility, and browser evidence.
|
|
102
|
+
|
|
103
|
+
Acceptance criteria:
|
|
104
|
+
- Activates Frontend Specialist for web UI, responsive, accessibility, component, or client-performance risk.
|
|
105
|
+
- Requires user flow, UI states, accessibility notes, and browser evidence.
|
|
106
|
+
- Coordinates with UX/UI, QA, and SDET for Playwright-visible behavior.
|
|
107
|
+
|
|
108
|
+
### Story ROLE-008: Activate Backend Specialist Profile
|
|
109
|
+
As a parent agent, I want a Backend Specialist profile so that services, APIs, data flow, concurrency, and failure modes are reviewed by the right capability.
|
|
110
|
+
|
|
111
|
+
Acceptance criteria:
|
|
112
|
+
- Activates Backend Specialist for API contracts, domain services, persistence, transactions, or server reliability risk.
|
|
113
|
+
- Requires API contract, data flow, failure modes, and service test evidence.
|
|
114
|
+
- Coordinates with Security, SRE, DBA, and Architect when impact areas overlap.
|
|
115
|
+
|
|
116
|
+
### Story ROLE-009: Activate Mobile Specialist Profile
|
|
117
|
+
As a parent agent, I want a Mobile Specialist profile so that mobile runtime, device, offline, permissions, and store-readiness constraints are not treated as generic web work.
|
|
118
|
+
|
|
119
|
+
Acceptance criteria:
|
|
120
|
+
- Activates Mobile Specialist for native, hybrid, offline, permissions, device capability, or app-store release impact.
|
|
121
|
+
- Requires device matrix, mobile flow, offline behavior, and release constraints.
|
|
122
|
+
- Records mobile screenshots, recordings, or device test evidence.
|
|
123
|
+
|
|
124
|
+
### Story ROLE-010: Activate AI Evaluation Profile
|
|
125
|
+
As a parent agent, I want an AI Evaluation / Prompt Quality profile so that prompt, model, and provider-routing changes are evaluated with explicit rubrics and regression evidence.
|
|
126
|
+
|
|
127
|
+
Acceptance criteria:
|
|
128
|
+
- Activates AI Evaluation for system prompt, role prompt, model routing, provider fallback, or LLM output quality changes.
|
|
129
|
+
- Requires eval objective, dataset or cases, rubric, model behavior summary, and regression risk.
|
|
130
|
+
- Supports model comparison and human-calibrated review for high-risk outputs.
|
|
131
|
+
|
|
132
|
+
### Story ROLE-011: Activate Support / Customer Operations Profile
|
|
133
|
+
As a Release Manager, I want Support / Customer Operations activated for customer-visible releases so that support readiness and feedback loops are ready before go-live.
|
|
134
|
+
|
|
135
|
+
Acceptance criteria:
|
|
136
|
+
- Activates Support for customer-visible releases, known issues, workarounds, support workflow changes, or feedback intake needs.
|
|
137
|
+
- Requires customer impact, known issues, support runbook, and feedback loop.
|
|
138
|
+
- Includes support readiness in release-readiness evidence.
|
|
139
|
+
|
|
75
140
|
## Epic 3: Multi-Model Provider Layer
|
|
76
141
|
|
|
77
142
|
### Story MODEL-001: Define Provider Interface
|
|
@@ -218,6 +283,15 @@ Acceptance criteria:
|
|
|
218
283
|
- Highlights unresolved risks and follow-up items.
|
|
219
284
|
- Can be used as PR body input.
|
|
220
285
|
|
|
286
|
+
### Story ART-004: Maintain Prompt Registry
|
|
287
|
+
As an agent, I want generated prompts stored by artifact type so that future agents can preserve project conventions and trace AI-generated work back to its prompt intent.
|
|
288
|
+
|
|
289
|
+
Acceptance criteria:
|
|
290
|
+
- `orchestra init` creates `.generated-prompts/` with stack-agnostic register files for code, UI, services, tests, CI/CD, docs, diagrams, and evals.
|
|
291
|
+
- Existing register files are not overwritten unless `--force` is used.
|
|
292
|
+
- Register files document the before/after protocol, substantial-change rules, entry format, task, role, key decisions, evidence, and prompt summary.
|
|
293
|
+
- AI-assisted development rules require reading the relevant register before substantial generation and updating it after substantial changes.
|
|
294
|
+
|
|
221
295
|
## Epic 8: File Ownership and Locking
|
|
222
296
|
|
|
223
297
|
### Story LOCK-001: Assign File Ownership
|
|
@@ -443,3 +517,341 @@ Acceptance criteria:
|
|
|
443
517
|
- Records risk, severity, owner, expiration, compensating controls, and approval.
|
|
444
518
|
- Links risk acceptance to release decision.
|
|
445
519
|
- Flags expired risk acceptances.
|
|
520
|
+
|
|
521
|
+
## Epic 15: Dynamic Skills and Context Loading
|
|
522
|
+
|
|
523
|
+
### Story SKILL-001: Define Skill Manifest
|
|
524
|
+
As a parent agent, I want each skill to expose structured metadata so that the orchestrator can decide what to load without reading every skill file.
|
|
525
|
+
|
|
526
|
+
Acceptance criteria:
|
|
527
|
+
- Manifest includes id, name, summary, triggers, roles, capabilities, risk areas, entry file, assets, evidence types, and load budget.
|
|
528
|
+
- Unknown skill IDs and missing entry files fail validation.
|
|
529
|
+
- Skill metadata is available to CLI, web, VS Code, and future middleware adapters.
|
|
530
|
+
|
|
531
|
+
### Story SKILL-002: Select Skills from Task Context
|
|
532
|
+
As a parent agent, I want to select skills from task signals so that agents receive only the instructions needed for the current work.
|
|
533
|
+
|
|
534
|
+
Acceptance criteria:
|
|
535
|
+
- Selection uses task goal, touched paths, active roles, requested outputs, capabilities, and risk areas.
|
|
536
|
+
- Explains selected and skipped skills with rationale.
|
|
537
|
+
- Supports explicit user or project overrides.
|
|
538
|
+
|
|
539
|
+
### Story SKILL-003: Scaffold Built-in Skills
|
|
540
|
+
As an administrator, I want built-in skills for common delivery work so that teams can reuse consistent procedures without bloating main MD files.
|
|
541
|
+
|
|
542
|
+
Acceptance criteria:
|
|
543
|
+
- Provides prompt-registry, diagram-export, static-analysis, pr-review, playwright-evidence, backlog-sync, release-readiness, and model-evaluation skills.
|
|
544
|
+
- Each skill has a focused `SKILL.md` plus optional assets, templates, or scripts.
|
|
545
|
+
- Skills stay stack-agnostic unless explicitly scoped by project config.
|
|
546
|
+
|
|
547
|
+
### Story SKILL-004: Record Loaded Skills in Evidence and Handoffs
|
|
548
|
+
As a reviewer, I want loaded skills recorded in workflow artifacts so that I can audit why an agent used specific instructions.
|
|
549
|
+
|
|
550
|
+
Acceptance criteria:
|
|
551
|
+
- Task context includes selected skill IDs and rationale.
|
|
552
|
+
- Handoffs and final summaries include materially used skills.
|
|
553
|
+
- Evidence events can link to skill-driven commands, scripts, checks, or generated artifacts.
|
|
554
|
+
|
|
555
|
+
### Story SKILL-005: Support Middleware Injection for Non-Skill LLMs
|
|
556
|
+
As an administrator, I want Open Orchestra to inject selected skill text for LLMs that do not support native skills so that dynamic context loading works across providers.
|
|
557
|
+
|
|
558
|
+
Acceptance criteria:
|
|
559
|
+
- Parent orchestrator loads selected skill text and injects only that text into the child prompt.
|
|
560
|
+
- Full skill catalog is never embedded in the base prompt.
|
|
561
|
+
- Provider output records which skills were injected.
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
### Story SKILL-007: Define Source of Truth Catalog
|
|
565
|
+
As a parent agent, I want a configured source-of-truth catalog so that agents and subagents know which local files, workflow artifacts, and official docs are authoritative for each task.
|
|
566
|
+
|
|
567
|
+
Acceptance criteria:
|
|
568
|
+
- Catalog groups sources by project instructions, backlog, architecture, codebase, quality/security, DevOps/runtime, vendor docs, and agent memory.
|
|
569
|
+
- Skill selection can reference source groups without loading every source eagerly.
|
|
570
|
+
- Conflicting sources are surfaced as blockers or decisions instead of silently resolved.
|
|
571
|
+
|
|
572
|
+
### Story SKILL-008: Record Agent Lessons Learned
|
|
573
|
+
As a parent agent, I want reusable tool, syntax, escaping, permission, and workflow failures recorded so that agents do not repeat the same mistakes.
|
|
574
|
+
|
|
575
|
+
Acceptance criteria:
|
|
576
|
+
- Lessons are stored as append-only JSONL with task, actor, operation, failed action, error signature, root cause, fix, prevention, applicable tools, and verification.
|
|
577
|
+
- Agents search relevant lessons before repeating risky operations.
|
|
578
|
+
- Lessons never store secrets, raw credentials, or sensitive customer data.
|
|
579
|
+
- Repeated lessons can be promoted into skills or always-loaded rules.
|
|
580
|
+
|
|
581
|
+
### Story SKILL-006: Enforce Main Instruction File Budget
|
|
582
|
+
As a maintainer, I want main MD files kept context-bounded so that long-term agent instructions remain fast, readable, and maintainable.
|
|
583
|
+
|
|
584
|
+
Acceptance criteria:
|
|
585
|
+
- Main files contain core rules, skill index, and activation rules only.
|
|
586
|
+
- Detailed procedures move to skills or supporting docs.
|
|
587
|
+
- Validation warns when primary instruction files exceed configured size or section budgets.
|
|
588
|
+
|
|
589
|
+
### Story SKILL-009: Manage Generated Instruction File Updates
|
|
590
|
+
As a maintainer, I want generated MD/MDC instruction sections updated through managed blocks and declarative profile imports so that Open Orchestra can refresh runtime adapters without overwriting user-authored documentation or inflating always-loaded context.
|
|
591
|
+
|
|
592
|
+
Acceptance criteria:
|
|
593
|
+
- Generated sections use explicit start/end markers with generator, version, source manifest, target, block ID, and content hash metadata.
|
|
594
|
+
- Generators support `--dry-run`, `--check`, and `--force` behavior.
|
|
595
|
+
- Rerunning without source changes produces no diff.
|
|
596
|
+
- Manual edits inside managed blocks are detected as drift and reported before overwrite.
|
|
597
|
+
- User-authored content outside managed blocks is preserved.
|
|
598
|
+
- Profiles and skills can declare imports using Open Orchestra syntax, for example `@orchestra/import <profile-or-skill-id>`.
|
|
599
|
+
- Import resolution validates missing references, prevents cycles, and renders target-compatible output for generic, Claude, Cursor, Codex, and VS Code runtimes.
|
|
600
|
+
- Main instruction files keep only the import index or resolved minimal context needed by the selected target.
|
|
601
|
+
|
|
602
|
+
## Epic 16: Consent-Based Telemetry
|
|
603
|
+
|
|
604
|
+
### Story TEL-001: Configure Explicit Telemetry Consent
|
|
605
|
+
As a user, I want telemetry disabled by default and enabled only through explicit consent so that prompt and workflow data are never collected silently.
|
|
606
|
+
|
|
607
|
+
Acceptance criteria:
|
|
608
|
+
- Default telemetry mode is `off`.
|
|
609
|
+
- CLI supports telemetry status, enable, and disable commands.
|
|
610
|
+
- Consent state records timestamp, actor, selected collection level, and policy version.
|
|
611
|
+
- Telemetry status is visible in config and local workflow context.
|
|
612
|
+
|
|
613
|
+
### Story TEL-002: Define Telemetry Collection Levels
|
|
614
|
+
As a user, I want separate telemetry levels so that I can share metadata, prompt summaries, prompt samples, or eval datasets with different consent boundaries.
|
|
615
|
+
|
|
616
|
+
Acceptance criteria:
|
|
617
|
+
- Supports `off`, `metadata`, `prompt-summary`, `prompt-sample`, and `eval-dataset` levels.
|
|
618
|
+
- Prompt sample and eval dataset modes require explicit opt-in distinct from metadata.
|
|
619
|
+
- Each exported record includes the active telemetry level and consent reference.
|
|
620
|
+
- Collection level can be downgraded or disabled without deleting local workflow data.
|
|
621
|
+
|
|
622
|
+
### Story TEL-003: Redact Sensitive Data Locally
|
|
623
|
+
As a privacy owner, I want telemetry redacted before export or submission so that secrets, PII, local paths, and sensitive customer data are not transmitted.
|
|
624
|
+
|
|
625
|
+
Acceptance criteria:
|
|
626
|
+
- Redaction runs locally before export or submit.
|
|
627
|
+
- Secret-like values, tokens, keys, emails, and configured PII patterns are masked.
|
|
628
|
+
- Raw `.env`, credentials, stack traces with secrets, and private customer data are blocked.
|
|
629
|
+
- Redaction report lists fields changed without revealing original sensitive values.
|
|
630
|
+
|
|
631
|
+
### Story TEL-004: Export Reviewable Telemetry Dataset
|
|
632
|
+
As a user, I want telemetry exported locally before submission so that I can inspect exactly what would be shared.
|
|
633
|
+
|
|
634
|
+
Acceptance criteria:
|
|
635
|
+
- `orchestra telemetry export` writes JSONL under local runtime state.
|
|
636
|
+
- Export includes task type, selected roles, selected skills, source groups, provider/model metadata, quality outcome, and allowed prompt summary/sample fields.
|
|
637
|
+
- Export supports `--dry-run` and produces a review summary.
|
|
638
|
+
- Export never submits data automatically.
|
|
639
|
+
|
|
640
|
+
### Story TEL-005: Submit Telemetry with Audit Trail
|
|
641
|
+
As a user, I want telemetry submission to be explicit and auditable so that shared data can be traced back to consent.
|
|
642
|
+
|
|
643
|
+
Acceptance criteria:
|
|
644
|
+
- `orchestra telemetry submit --file <path>` requires telemetry enabled and compatible collection level.
|
|
645
|
+
- Submission records endpoint, file hash, consent reference, timestamp, and result.
|
|
646
|
+
- Failed submissions keep the local export and do not retry indefinitely without user action.
|
|
647
|
+
- User can request deletion/export references for submitted datasets.
|
|
648
|
+
|
|
649
|
+
### Story TEL-006: Curate Eval Dataset from Approved Prompts
|
|
650
|
+
As an AI Evaluation Engineer, I want approved prompts and outcomes curated into eval datasets so that model routing and future fine-tuning decisions use consented, high-quality examples.
|
|
651
|
+
|
|
652
|
+
Acceptance criteria:
|
|
653
|
+
- Dataset items require explicit consent and review status.
|
|
654
|
+
- Each item includes prompt summary or prompt sample, expected behavior, selected skills, source groups, model/provider, outcome, and quality labels.
|
|
655
|
+
- Dataset excludes secrets, PII, and customer-sensitive data after redaction.
|
|
656
|
+
- Dataset can be exported separately from operational telemetry.
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
## Epic 17: Standalone Web Console
|
|
660
|
+
|
|
661
|
+
### Story WEB-001: Bundle Standalone Console Client
|
|
662
|
+
As a user, I want the standalone console client bundled from shared code so that the web UI can grow without inline scripts or duplicated contracts.
|
|
663
|
+
|
|
664
|
+
Acceptance criteria:
|
|
665
|
+
- Build uses `tsc` for Node/CLI outputs and `esbuild` for browser bundle output.
|
|
666
|
+
- Server serves the generated browser bundle from `/assets/web-console.js`.
|
|
667
|
+
- Shared chart/data contracts are reused by the browser bundle and tests.
|
|
668
|
+
- Package dry-run includes the generated bundle.
|
|
669
|
+
|
|
670
|
+
### Story WEB-002: Expose Skills, Sources, and Lessons APIs
|
|
671
|
+
As a web or IDE client, I want stable JSON APIs for skills, source-of-truth, and lessons so that clients can render orchestration context without parsing CLI output.
|
|
672
|
+
|
|
673
|
+
Acceptance criteria:
|
|
674
|
+
- Exposes skills list, validate, plan, and render endpoints.
|
|
675
|
+
- Exposes source-of-truth list endpoint.
|
|
676
|
+
- Exposes lessons list, add, and promote endpoints with JSON contracts.
|
|
677
|
+
- Mutation endpoints use POST and validate required fields.
|
|
678
|
+
- Tests cover success and error responses.
|
|
679
|
+
|
|
680
|
+
### Story WEB-003: Render Skills in Standalone Console
|
|
681
|
+
As a user, I want a Skills panel in the standalone console so that I can inspect selected skills and rendered target context for a task.
|
|
682
|
+
|
|
683
|
+
Acceptance criteria:
|
|
684
|
+
- UI lists available skills and source groups.
|
|
685
|
+
- UI can select a task and display planned skills with rationale.
|
|
686
|
+
- UI can preview render output for generic, Claude, Cursor, Codex, and VS Code targets.
|
|
687
|
+
- UI handles empty task state and API errors cleanly.
|
|
688
|
+
|
|
689
|
+
### Story WEB-004: Render Source of Truth and Lessons in Standalone Console
|
|
690
|
+
As a user, I want the standalone console to show source-of-truth and lessons so that agents and humans can understand what context is authoritative and what failures have been learned.
|
|
691
|
+
|
|
692
|
+
Acceptance criteria:
|
|
693
|
+
- UI lists source groups and locations.
|
|
694
|
+
- UI lists local lessons with operation and error signature.
|
|
695
|
+
- UI supports adding a lesson with required fields.
|
|
696
|
+
- UI supports promoting lessons to a reviewable artifact.
|
|
697
|
+
|
|
698
|
+
## Epic 18: Setup Agents Feature Harvest
|
|
699
|
+
|
|
700
|
+
### Story UPD-001: Detect Stale Generated Instruction Files
|
|
701
|
+
As a maintainer, I want Open Orchestra to detect stale generated instruction files without touching user-authored files so that runtime adapters can be safely refreshed.
|
|
702
|
+
|
|
703
|
+
Acceptance criteria:
|
|
704
|
+
- Stale detection uses managed block markers, generator version, source manifest, target, block ID, and content hash.
|
|
705
|
+
- Files without Open Orchestra markers are skipped and reported as user-owned.
|
|
706
|
+
- Known generated files are derived from catalogs/manifests instead of hand-maintained maps.
|
|
707
|
+
- CLI reports fresh, stale, drifted, missing, and user-owned files separately.
|
|
708
|
+
- Tests cover stale, fresh, missing marker, and catalog drift scenarios.
|
|
709
|
+
|
|
710
|
+
### Story UPD-002: Add Generated Instruction Metadata Frontmatter
|
|
711
|
+
As a maintainer, I want generated MD/MDC files to include stable metadata so that humans and tools can understand provenance and update eligibility.
|
|
712
|
+
|
|
713
|
+
Acceptance criteria:
|
|
714
|
+
- Generated files include metadata for generator, version, target, source manifest, content hash, and updated timestamp.
|
|
715
|
+
- Cursor MDC frontmatter and Markdown comment metadata use target-compatible syntax.
|
|
716
|
+
- Metadata is idempotent on rerun when source content is unchanged.
|
|
717
|
+
- Metadata never overwrites user-authored frontmatter outside managed sections.
|
|
718
|
+
- Tests cover Markdown and MDC output formats.
|
|
719
|
+
|
|
720
|
+
### Story UPD-003: Apply Instruction Updates with Dry Run and Drift Gates
|
|
721
|
+
As a user, I want instruction updates to support dry-run, check, apply, and force modes so that I can refresh generated files without losing manual edits.
|
|
722
|
+
|
|
723
|
+
Acceptance criteria:
|
|
724
|
+
- CLI supports checking planned file changes without writing.
|
|
725
|
+
- CLI supports dry-run output with per-file diff summary.
|
|
726
|
+
- Apply mode updates only safe generated blocks.
|
|
727
|
+
- Drifted blocks are blocked unless force is supplied.
|
|
728
|
+
- Update results are exposed as JSON for web and extension clients.
|
|
729
|
+
|
|
730
|
+
### Story DET-001: Auto-Detect Project Profiles and Skills
|
|
731
|
+
As a parent agent, I want Open Orchestra to detect project signals so that relevant roles and skills are suggested automatically for each codebase.
|
|
732
|
+
|
|
733
|
+
Acceptance criteria:
|
|
734
|
+
- Detects Playwright, GitHub Actions, Docker/Compose, Terraform/IaC, package managers, frontend source layout, Python, and API/service signals.
|
|
735
|
+
- Detection output maps signals to recommended roles, skills, and source groups.
|
|
736
|
+
- Users can review and accept detected profiles before applying changes.
|
|
737
|
+
- Detection never enables tools or telemetry without explicit user action.
|
|
738
|
+
- Tests cover representative Node, Python, frontend, Playwright, and DevOps fixtures.
|
|
739
|
+
|
|
740
|
+
### Story REL-001: Formalize Candidate Release Workflow
|
|
741
|
+
As a release owner, I want a candidate release workflow so that production releases only proceed when stories, QA evidence, changelog, rollback, and smoke tests are ready.
|
|
742
|
+
|
|
743
|
+
Acceptance criteria:
|
|
744
|
+
- Candidate release collects stories from local workflow state and GitHub issues when available.
|
|
745
|
+
- Story readiness gate checks acceptance criteria, QA evidence, reviews, docs, dependencies, rollback plan, and unresolved blockers.
|
|
746
|
+
- Release plan generates changelog from approved stories only.
|
|
747
|
+
- Tag/release actions require explicit user approval.
|
|
748
|
+
- Post-release smoke test and rollback evidence can be attached.
|
|
749
|
+
|
|
750
|
+
### Story PRR-001: Strengthen Pull Request Review Workflow
|
|
751
|
+
As a reviewer, I want PR review to detect architectural scope, risk, conflicts, and evidence gaps so that risky changes get the right specialist review before merge.
|
|
752
|
+
|
|
753
|
+
Acceptance criteria:
|
|
754
|
+
- PR review summarizes behavior, risk, files changed, test evidence, and unresolved questions.
|
|
755
|
+
- Architectural scope triggers route to Architect, Security, DevOps, DBA, UX, or QA when needed.
|
|
756
|
+
- Review checklist adapts by file type and detected stack.
|
|
757
|
+
- Merge remains blocked until explicit human approval is recorded.
|
|
758
|
+
- Tests cover PR summary generation, risk routing, and required-review blockers.
|
|
759
|
+
|
|
760
|
+
### Story DIA-001: Add Real Diagram Lint and Evidence
|
|
761
|
+
As an architect, I want diagram exports to run a real Mermaid lint/render check so that diagrams are validated before they are shared as architecture evidence.
|
|
762
|
+
|
|
763
|
+
Acceptance criteria:
|
|
764
|
+
- Diagram skill can run lint-only mode without side effects.
|
|
765
|
+
- Mermaid validation uses real tool exit codes when available and reports installation guidance when missing.
|
|
766
|
+
- Diagram type decision matrix recommends diagram style by question/domain.
|
|
767
|
+
- Render/lint evidence is attached to the workflow.
|
|
768
|
+
- Tests cover lint success, lint failure, missing tool, and evidence generation.
|
|
769
|
+
|
|
770
|
+
### Story HLT-001: Add Local Health Checks
|
|
771
|
+
As a user, I want Open Orchestra to report local health checks so that CLI, package, browser, Playwright, Git, GitHub auth, and workflow readiness problems are actionable.
|
|
772
|
+
|
|
773
|
+
Acceptance criteria:
|
|
774
|
+
- Health check command reports installed CLI version, package root, Node/npm, Git, GitHub auth, Playwright/browser availability, and workflow validity.
|
|
775
|
+
- Health checks produce actionable messages and remediation commands.
|
|
776
|
+
- Web console can consume health status through JSON API.
|
|
777
|
+
- Checks avoid network calls unless explicitly requested or already authenticated.
|
|
778
|
+
- Tests cover healthy, missing optional tool, and invalid workflow states.
|
|
779
|
+
|
|
780
|
+
### Story MCP-001: Evaluate MCP OAuth Proxy Integration
|
|
781
|
+
As an integration user, I want Open Orchestra to evaluate an MCP OAuth proxy pattern so that HTTP MCP servers can be used from tools that only support stdio or need token injection.
|
|
782
|
+
|
|
783
|
+
Acceptance criteria:
|
|
784
|
+
- Research notes compare stdio proxy, direct HTTP, and tool-native OAuth behavior.
|
|
785
|
+
- Prototype stores tokens only in approved local secret storage or explicitly configured secure paths.
|
|
786
|
+
- Proxy refresh behavior is documented and tested without real credentials.
|
|
787
|
+
- Integration remains opt-in and does not alter MCP config without user approval.
|
|
788
|
+
- Security review covers token storage, refresh, logs, and revocation.
|
|
789
|
+
|
|
790
|
+
## Epic 19: Runtime Subagent Orchestration
|
|
791
|
+
|
|
792
|
+
### Story ORCH-011: Add Delegation Decision Engine
|
|
793
|
+
As a parent agent, I want Open Orchestra to decide when work should stay local or be delegated so that subagents are used only when they reduce risk or unblock parallel progress.
|
|
794
|
+
|
|
795
|
+
Acceptance criteria:
|
|
796
|
+
- Delegation decision evaluates task complexity, impacted paths, risk areas, role fit, dependencies, locks, urgency, and available context.
|
|
797
|
+
- Decision output recommends local execution, single-role delegation, parallel delegation, review-only delegation, or no delegation.
|
|
798
|
+
- Decision includes rationale, required context bundle, expected outputs, disjoint write scopes, and blocking conditions.
|
|
799
|
+
- Decision is recorded in task context and events before subagent work starts.
|
|
800
|
+
- Tests cover local-only, single delegate, parallel delegates, review delegate, blocked-by-lock, and insufficient-context cases.
|
|
801
|
+
|
|
802
|
+
### Story HAND-002: Render Portable Subagent Protocol
|
|
803
|
+
As a user, I want Open Orchestra to render a subagent protocol from the active role catalog and task graph so that any LLM runtime can understand role routing without loading large generated rules.
|
|
804
|
+
|
|
805
|
+
Acceptance criteria:
|
|
806
|
+
- Protocol lists active roles, rule or skill references, task-to-role routing, conflict precedence, and handoff requirements.
|
|
807
|
+
- Render targets support generic, Claude, Cursor, Codex, and VS Code output.
|
|
808
|
+
- Output is generated from role/task/skill metadata, not hardcoded per platform.
|
|
809
|
+
- Main instruction files can import or reference the protocol through managed blocks without overwriting user content.
|
|
810
|
+
- Tests cover target rendering, role filtering, conflict precedence, and idempotent managed-block output.
|
|
811
|
+
|
|
812
|
+
### Story ROLE-003: Add Role Collaboration Flow Catalog
|
|
813
|
+
As a parent agent, I want role-to-role collaboration flows modeled as data so that handoffs are consistent across product, architecture, development, QA, security, DevOps, and release work.
|
|
814
|
+
|
|
815
|
+
Acceptance criteria:
|
|
816
|
+
- Catalog defines domain-agnostic chains such as Product -> Analyst, Analyst -> Architect, Architect -> Developer, Developer -> QA, QA -> Release, and risk-owner review flows.
|
|
817
|
+
- Each flow declares trigger conditions, required artifacts, required context, exit criteria, and optional reviewers.
|
|
818
|
+
- Task context exposes recommended collaboration flow for a task.
|
|
819
|
+
- Handoff generation can include flow-specific required fields.
|
|
820
|
+
- Tests cover flow selection, missing artifact detection, and multi-reviewer flows.
|
|
821
|
+
|
|
822
|
+
### Story WFLOW-001: Add Portable Workflow Template Catalog
|
|
823
|
+
As a user, I want reusable workflow templates that are not tied to a single vendor or IDE so that common agent workflows can run across CLI, web, VS Code, Cursor, Claude, and Codex.
|
|
824
|
+
|
|
825
|
+
Acceptance criteria:
|
|
826
|
+
- Workflow templates cover implementation, QA test plan, PR review, release readiness, incident/runbook, architecture decision, static analysis, and Playwright evidence.
|
|
827
|
+
- Templates declare roles, triggers, inputs, outputs, evidence requirements, gates, and compatible skills.
|
|
828
|
+
- Workflows render to Markdown for human/LLM execution and JSON for clients.
|
|
829
|
+
- Templates can be selected from task metadata and risk areas.
|
|
830
|
+
- Tests cover template validation, task-based selection, target rendering, and evidence requirements.
|
|
831
|
+
|
|
832
|
+
### Story ROLE-004: Expand Domain-Agnostic Specialist Profiles
|
|
833
|
+
As a parent agent, I want a richer domain-neutral specialist profile catalog so that delegation decisions can assign work to the right expert without assuming a specific platform.
|
|
834
|
+
|
|
835
|
+
Acceptance criteria:
|
|
836
|
+
- Profiles include product manager, product owner, business analyst, architect, tech lead, developer, frontend, backend, mobile, QA, SDET, UX/UI, accessibility, security, DevOps, SRE, DBA/data, release manager, technical writer, and compliance/privacy.
|
|
837
|
+
- Each profile declares activation criteria, capabilities, risk areas, expected evidence, handoff fields, and blocking authority.
|
|
838
|
+
- Profiles remain stack-agnostic and reference skills/source groups instead of vendor-specific implementation details.
|
|
839
|
+
- Role activation and execution planning use these profiles without increasing always-loaded instruction size.
|
|
840
|
+
- Tests cover activation metadata, risk owner mapping, execution-plan routing, and rendered protocol references.
|
|
841
|
+
|
|
842
|
+
### Story DOC-002: Document Runtime LLM Flow
|
|
843
|
+
As a user, I want a practical guide that explains how to use Open Orchestra from Claude, Codex, Cursor, VS Code, or another LLM runtime so that I understand which model is acting as the parent agent and how Open Orchestra coordinates context, skills, plans, evidence, and future provider routing.
|
|
844
|
+
|
|
845
|
+
Acceptance criteria:
|
|
846
|
+
- Guide explains that the active LLM runtime is the parent agent today, while Open Orchestra acts as the local control plane.
|
|
847
|
+
- Guide includes startup flow for a new task: init, health, task/context/plan, skills plan, skills render by target, evidence, gates, and summary.
|
|
848
|
+
- Guide provides copy-paste prompt examples for Claude, Codex, Cursor, and generic LLM runtimes.
|
|
849
|
+
- Guide clarifies current limitations: no real provider execution yet beyond fake/provider-routing primitives, and no automatic subagent spawning until delegation runtime stories are implemented.
|
|
850
|
+
- Guide explains model/provider routing concepts and how future multi-model delegation should work by role.
|
|
851
|
+
- README links to the guide from the quick-start or usage section.
|
|
852
|
+
- Tests or documentation checks verify that referenced CLI commands exist in the help text.
|
|
853
|
+
|
|
854
|
+
Technical refinement:
|
|
855
|
+
- Keep the guide stack-agnostic and runtime-neutral.
|
|
856
|
+
- Cross-link skill loading strategy, orchestra MVP, model routing commands, and new runtime subagent orchestration backlog items.
|
|
857
|
+
- Avoid promising real provider execution until implemented.
|