@jterrats/open-orchestra 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/AGENTS.md +7 -2
  2. package/CLAUDE.md +2 -2
  3. package/README.md +3 -0
  4. package/dist/args.js +12 -2
  5. package/dist/args.js.map +1 -1
  6. package/dist/assets/web-console.js +44 -0
  7. package/dist/autonomous-phase-lifecycle.js +23 -3
  8. package/dist/autonomous-phase-lifecycle.js.map +1 -1
  9. package/dist/autonomous-run-state.js +2 -0
  10. package/dist/autonomous-run-state.js.map +1 -1
  11. package/dist/benchmark.js +6 -0
  12. package/dist/benchmark.js.map +1 -1
  13. package/dist/cli.js +4 -1
  14. package/dist/cli.js.map +1 -1
  15. package/dist/command-manifest.js +4 -3
  16. package/dist/command-manifest.js.map +1 -1
  17. package/dist/command-utils.js +4 -5
  18. package/dist/command-utils.js.map +1 -1
  19. package/dist/commands.d.ts +1 -1
  20. package/dist/commands.js +1 -1
  21. package/dist/commands.js.map +1 -1
  22. package/dist/metrics-commands.js +8 -0
  23. package/dist/metrics-commands.js.map +1 -1
  24. package/dist/phase-playbooks.js +27 -1
  25. package/dist/phase-playbooks.js.map +1 -1
  26. package/dist/roles/core-roles.js +10 -5
  27. package/dist/roles/core-roles.js.map +1 -1
  28. package/dist/skills-catalog.js +136 -0
  29. package/dist/skills-catalog.js.map +1 -1
  30. package/dist/skills-commands.d.ts +1 -0
  31. package/dist/skills-commands.js +37 -1
  32. package/dist/skills-commands.js.map +1 -1
  33. package/dist/skills-planning.d.ts +2 -1
  34. package/dist/skills-planning.js +79 -11
  35. package/dist/skills-planning.js.map +1 -1
  36. package/dist/skills.d.ts +1 -1
  37. package/dist/skills.js +1 -1
  38. package/dist/skills.js.map +1 -1
  39. package/dist/task-graph-commands.js +36 -8
  40. package/dist/task-graph-commands.js.map +1 -1
  41. package/dist/types/metrics.d.ts +2 -0
  42. package/dist/types/skills.d.ts +9 -0
  43. package/dist/types/tasks.d.ts +8 -1
  44. package/dist/types.d.ts +2 -2
  45. package/dist/types.js.map +1 -1
  46. package/dist/web-api.js +80 -7
  47. package/dist/web-api.js.map +1 -1
  48. package/dist/workflow-approval-service.js +13 -0
  49. package/dist/workflow-approval-service.js.map +1 -1
  50. package/dist/workflow-evidence-service.js +37 -2
  51. package/dist/workflow-evidence-service.js.map +1 -1
  52. package/dist/workflow-gates.js +56 -1
  53. package/dist/workflow-gates.js.map +1 -1
  54. package/dist/workflow-phase-planner.js +86 -13
  55. package/dist/workflow-phase-planner.js.map +1 -1
  56. package/dist/workflow-run-commands.d.ts +1 -0
  57. package/dist/workflow-run-commands.js +11 -6
  58. package/dist/workflow-run-commands.js.map +1 -1
  59. package/dist/workflow-services.js +24 -0
  60. package/dist/workflow-services.js.map +1 -1
  61. package/dist/workflow-task-service.js +27 -2
  62. package/dist/workflow-task-service.js.map +1 -1
  63. package/docs/adoption-guide.md +22 -1
  64. package/docs/advisory-supervisor-architecture.md +206 -0
  65. package/docs/architecture.md +47 -41
  66. package/docs/autonomous-workflow.md +2 -2
  67. package/docs/backlog/ac-evidence-bugfix-stories-20260517.md +76 -0
  68. package/docs/backlog/chaos-testing-stack-strategy.md +146 -0
  69. package/docs/backlog/dev-best-practices-hardening-story.md +69 -0
  70. package/docs/backlog/docs-public-internal-package-hygiene-story.md +62 -0
  71. package/docs/backlog/project-persona-registry-epic.md +350 -0
  72. package/docs/backlog/prompt-bank-registry-epic.md +159 -0
  73. package/docs/backlog/site-docs-manifest-story.md +56 -0
  74. package/docs/dev-team-specialist-role-profiles.md +1 -1
  75. package/docs/diagrams/diagram-master-prompt.md +207 -0
  76. package/docs/diagrams/enterprise-set/README.md +22 -0
  77. package/docs/diagrams/enterprise-set/lead-to-account-swimlanes.svg +38 -0
  78. package/docs/diagrams/enterprise-set/product-implementation-timeline.svg +45 -0
  79. package/docs/diagrams/enterprise-set/salesforce-enterprise-architecture.svg +54 -0
  80. package/docs/diagrams/experiments/pixel-v2-review.md +124 -0
  81. package/docs/diagrams/experiments/roadmap/diagram.mmd +14 -0
  82. package/docs/diagrams/experiments/roadmap/diagram.svg +48 -0
  83. package/docs/diagrams/experiments/roadmap/experiment.md +44 -0
  84. package/docs/diagrams/experiments/sfdc-implementation/diagram.mmd +54 -0
  85. package/docs/diagrams/experiments/sfdc-implementation/diagram.svg +72 -0
  86. package/docs/diagrams/experiments/sfdc-implementation/experiment.md +41 -0
  87. package/docs/diagrams/experiments/swimlane/diagram.mmd +40 -0
  88. package/docs/diagrams/experiments/swimlane/diagram.svg +70 -0
  89. package/docs/diagrams/experiments/swimlane/experiment.md +50 -0
  90. package/docs/diagrams/experiments/timeline/diagram.mmd +9 -0
  91. package/docs/diagrams/experiments/timeline/diagram.svg +29 -0
  92. package/docs/diagrams/experiments/timeline/experiment.md +34 -0
  93. package/docs/diagrams/final-artifact-hygiene.md +40 -0
  94. package/docs/diagrams/mermaid-target-strategy.md +106 -0
  95. package/docs/diagrams/payment-gateway/architecture.md +57 -0
  96. package/docs/diagrams/payment-gateway/architecture.mmd +39 -0
  97. package/docs/diagrams/payment-gateway/architecture.svg +171 -0
  98. package/docs/diagrams/prompt-bank.md +48 -0
  99. package/docs/diagrams/salesforce-integration/architecture.md +56 -0
  100. package/docs/diagrams/salesforce-integration/architecture.mmd +26 -0
  101. package/docs/diagrams/salesforce-integration/architecture.svg +123 -0
  102. package/docs/diagrams/source-fidelity-review.md +116 -0
  103. package/docs/diagrams/state-uml-recreated.drawio +336 -0
  104. package/docs/diagrams/state-uml-recreated.prompt.md +114 -0
  105. package/docs/diagrams/state-uml-recreated.prompt.v10.md +52 -0
  106. package/docs/diagrams/state-uml-recreated.prompt.v11.md +52 -0
  107. package/docs/diagrams/state-uml-recreated.prompt.v12.md +50 -0
  108. package/docs/diagrams/state-uml-recreated.prompt.v14.md +91 -0
  109. package/docs/diagrams/state-uml-recreated.prompt.v2.md +31 -0
  110. package/docs/diagrams/state-uml-recreated.prompt.v3.md +36 -0
  111. package/docs/diagrams/state-uml-recreated.prompt.v4.md +35 -0
  112. package/docs/diagrams/state-uml-recreated.prompt.v5.md +35 -0
  113. package/docs/diagrams/state-uml-recreated.prompt.v6.md +39 -0
  114. package/docs/diagrams/state-uml-recreated.prompt.v7.md +37 -0
  115. package/docs/diagrams/state-uml-recreated.prompt.v8.md +41 -0
  116. package/docs/diagrams/state-uml-recreated.prompt.v9.md +32 -0
  117. package/docs/diagrams/state-uml-recreated.svg +159 -0
  118. package/docs/diagrams/v14-stress-test/README.md +33 -0
  119. package/docs/diagrams/v14-stress-test/stress-test.svg +114 -0
  120. package/docs/external-artifact-import-bridge.md +56 -0
  121. package/docs/{setup-agents-applicability-review.md → external-baseline-applicability-review.md} +37 -40
  122. package/docs/{setup-agents-dogfooding-findings.md → external-baseline-dogfooding-findings.md} +10 -9
  123. package/docs/multi-agent-orchestrator-backlog.md +1 -1
  124. package/docs/orchestra-mvp.md +19 -0
  125. package/docs/persona-workflows.md +42 -0
  126. package/docs/release-test-matrix.md +21 -9
  127. package/docs/reports/ac-evidence-backfill-20260517.md +256 -0
  128. package/docs/reports/ac-evolution-reconciliation-20260517.md +366 -0
  129. package/docs/reports/ac-failure-evidence-20260517.md +115 -0
  130. package/docs/reports/ac-history-dry-run-20260517.md +434 -0
  131. package/docs/runtime-llm-flow.md +8 -0
  132. package/docs/site-content-workflow.md +96 -0
  133. package/docs/site-manifest.json +143 -0
  134. package/docs/skill-loading-strategy.md +18 -7
  135. package/docs/story-mapping-adoption-review.md +99 -0
  136. package/docs/workspace-repo-strategy.md +63 -0
  137. package/package.json +3 -1
  138. package/rules/agent-collaboration.mdc +2 -0
  139. package/rules/code-review-engineering.mdc +2 -0
  140. package/rules/delivery-quality-gates.mdc +12 -0
  141. package/rules/development-engineering.mdc +3 -0
  142. package/rules/diagram-quality.mdc +35 -0
  143. package/rules/module-boundaries.mdc +71 -0
  144. package/rules/testing-discipline.mdc +13 -0
  145. package/skills/chaos-resilience-testing/SKILL.md +127 -0
  146. package/skills/chaos-resilience-testing/manifest.json +61 -0
  147. package/skills/collection-standards/SKILL.md +2 -0
  148. package/skills/diagram-export/SKILL.md +30 -0
  149. package/skills/qa-evidence-pack/SKILL.md +110 -0
  150. package/skills/qa-evidence-pack/manifest.json +60 -0
  151. package/docs/setup-agents-bridge.md +0 -61
@@ -0,0 +1,62 @@
1
+ # Story: Classify docs and tighten package documentation contents
2
+
3
+ Backlog Item ID: DOCS-PUBLIC-INTERNAL-PACKAGE-HYGIENE
4
+
5
+ ## User Story
6
+
7
+ As a release manager, I want documentation classified as public, internal,
8
+ backlog, experiment, or package-required so that the public site and npm package
9
+ ship only the documentation intended for users while internal planning artifacts
10
+ remain available in the repository.
11
+
12
+ ## Background
13
+
14
+ The public site does not currently render all files under `docs/`; it links to a
15
+ small subset and serves its own `site/public/architecture.mmd`. The npm package,
16
+ however, includes the full `docs/` tree through `package.json.files`. As
17
+ backlog, prompt-bank experiments, diagram experiments, and internal dogfooding
18
+ notes grow, package contents can become noisy.
19
+
20
+ Before final release, Open Orchestra should define which docs are:
21
+
22
+ - public user documentation;
23
+ - public package documentation;
24
+ - internal product/backlog material;
25
+ - experiment/provenance artifacts;
26
+ - site-only assets.
27
+
28
+ ## Acceptance Criteria
29
+
30
+ - Inventory all files under `docs/` and classify each as public, internal,
31
+ backlog, experiment, diagram artifact, or package-required.
32
+ - Identify which docs are linked from README.
33
+ - Identify which docs are linked from the public site.
34
+ - Identify which docs are required by runtime/package behavior.
35
+ - Decide whether `package.json.files` should include all docs or a narrower
36
+ allowlist.
37
+ - If narrowing package contents, update `package.json.files` and validate with
38
+ `npm pack --dry-run`.
39
+ - Preserve repository traceability for internal/backlog/experiment docs even if
40
+ they are excluded from npm.
41
+ - Document the classification policy so future docs land in the right location.
42
+
43
+ ## Non-Goals
44
+
45
+ - Redesigning the public site.
46
+ - Deleting historical evidence or backlog without an explicit archive decision.
47
+ - Moving docs into a SaaS registry.
48
+
49
+ ## Suggested Implementation
50
+
51
+ - Add a docs classification manifest or policy document.
52
+ - Optionally reorganize directories only when links can be updated safely.
53
+ - Update `package.json.files` if package hygiene requires it.
54
+ - Run `npm pack --dry-run` and verify expected docs are included/excluded.
55
+
56
+ ## T-Shirt Size
57
+
58
+ S
59
+
60
+ ## Suggested Owners
61
+
62
+ Technical Writer, Release Manager, Product Owner.
@@ -0,0 +1,350 @@
1
+ # Epic: Project persona registry and generated domain personas
2
+
3
+ Backlog Item ID: PERSONA-REGISTRY-EPIC-20260517
4
+
5
+ ## Epic Story
6
+
7
+ As a project owner, I want Open Orchestra to register, govern, and activate
8
+ project-specific personas through APIs and UI instead of manual markdown edits,
9
+ so that each project can orchestrate the right domain experts, reviewers, and
10
+ delivery roles for its own context.
11
+
12
+ ## Problem
13
+
14
+ Open Orchestra ships with software delivery roles, but real projects may need
15
+ domain personas that do not fit a fixed role catalog. A music production project
16
+ may need producers, mastering QA, and rights reviewers. A neural network project
17
+ may need ML researchers, MLOps, data stewards, and AI safety reviewers. A medical
18
+ project may need clinical SMEs, medical reviewers, privacy, compliance, and
19
+ regulatory reviewers.
20
+
21
+ Those personas should not require users to open or edit markdown files manually.
22
+ They also should not be blindly activated because a generated profile sounds
23
+ plausible. Projects need a registry, generation workflow, governance model, and
24
+ runtime activation rules.
25
+
26
+ ## MVP Outcome
27
+
28
+ - Local persona registry stored in project workflow state and exportable to
29
+ version-controlled artifacts.
30
+ - CLI/API operations to list, show, create, update, generate, approve,
31
+ deactivate, export, and import personas.
32
+ - Generated personas start as drafts and require human approval before runtime
33
+ activation.
34
+ - Runtime activation uses task signals, phase, required roles, risk level, and
35
+ persona triggers.
36
+ - Regulated or high-risk personas can advise and review, but cannot approve
37
+ regulated outcomes unless a human approver is configured.
38
+ - Web console can manage project personas without editing markdown files.
39
+ - Offline-first operation works from packaged baselines and local project
40
+ context; internet or SaaS enrichment is optional.
41
+
42
+ ## To-Be Outcome
43
+
44
+ - SaaS-backed persona registry with tenant isolation, versioning, approval
45
+ workflows, audit trails, quality scores, and reusable persona packs.
46
+ - Domain packs for software, music/audio, ML/AI, healthcare, data, security,
47
+ operations, education, legal/compliance, and other project types.
48
+ - Optional state-of-the-art refresh pipeline that proposes persona updates from
49
+ curated references, prompt bank entries, lessons learned, and approved domain
50
+ packs.
51
+ - Guarded supervisor can detect missing personas from project activity and
52
+ propose draft personas or capability changes.
53
+ - Runtime scheduler and budget policies constrain generation, enrichment, and
54
+ multi-agent activation.
55
+ - Chaos and resilience validation proves persona workflows degrade safely when
56
+ providers, registries, approvals, budgets, or context sources fail.
57
+
58
+ ## Persona Model
59
+
60
+ Minimum fields:
61
+
62
+ - `id`
63
+ - `displayName`
64
+ - `roleFamily`
65
+ - `domain`
66
+ - `purpose`
67
+ - `responsibilities`
68
+ - `activationTriggers`
69
+ - `workflowPhases`
70
+ - `requiredCapabilities`
71
+ - `optionalCapabilities`
72
+ - `requiredSkills`
73
+ - `authorityLevel`: advisory, reviewer, approver, executor
74
+ - `approvalConstraints`
75
+ - `evidenceExpectations`
76
+ - `securityConstraints`
77
+ - `regulatoryScope`
78
+ - `riskLevel`
79
+ - `sourcePolicy`: packaged, project, generated, imported, external
80
+ - `version`
81
+ - `status`: draft, active, deprecated, rejected
82
+ - `createdBy`
83
+ - `approvedBy`
84
+ - `provenance`
85
+
86
+ ## Proposed Child Stories
87
+
88
+ ### Story 1: Local Persona Registry API
89
+
90
+ As a project owner, I want a typed local persona registry API so that personas
91
+ can be managed without editing markdown files manually.
92
+
93
+ Acceptance criteria:
94
+
95
+ - Provides CLI/API operations: list, show, create, update, deactivate, approve,
96
+ reject, export, and import.
97
+ - Persists project personas in workflow state with schema validation and
98
+ deterministic IDs.
99
+ - Supports versioning and immutable approval provenance.
100
+ - Prevents duplicate active personas with the same project ID and role family.
101
+ - Exports approved personas to a portable version-controlled artifact.
102
+ - Rejects malformed, oversized, conflicting, or partially imported persona data
103
+ without corrupting the registry.
104
+ - Includes unit tests for create, update, approval, deactivation, import/export,
105
+ invalid schema, and duplicate prevention.
106
+
107
+ Suggested size: M.
108
+
109
+ Suggested owners: Architect, Developer, QA.
110
+
111
+ ### Story 2: Persona Generation Assistant
112
+
113
+ As a project owner, I want Open Orchestra to generate draft personas from project
114
+ needs and context so that I can define domain roles quickly without starting from
115
+ a blank file.
116
+
117
+ Acceptance criteria:
118
+
119
+ - Generates draft personas from a requested role, domain, task context,
120
+ workflow phase, existing roles, local standards, lessons learned, and approved
121
+ prompt bank entries.
122
+ - Uses offline packaged baselines first and optional external enrichment only
123
+ when enabled.
124
+ - Marks generated personas as draft and inactive by default.
125
+ - Records provenance: prompt id, context sources, model/provider when available,
126
+ generated timestamp, and reviewer requirements.
127
+ - Applies prompt-injection and secret redaction checks to context before
128
+ generation.
129
+ - Includes chaos/resilience tests for provider timeout, provider unavailable,
130
+ unsafe context, prompt registry unavailable, and budget exhaustion.
131
+ - Includes tests for draft status, provenance, source filtering, offline mode,
132
+ and blocked unsafe context.
133
+
134
+ Suggested size: L.
135
+
136
+ Suggested owners: Product Owner, Architect, Security, Developer, QA.
137
+
138
+ ### Story 3: Domain Persona Packs
139
+
140
+ As a project owner, I want reusable domain persona packs so that non-software
141
+ projects can bootstrap relevant expert profiles.
142
+
143
+ Acceptance criteria:
144
+
145
+ - Defines packaged baseline packs for software delivery, music/audio, ML/AI,
146
+ healthcare, data/analytics, security, operations, and compliance.
147
+ - Packs are compact metadata, not long prompt bodies.
148
+ - Each pack declares default personas, capabilities, activation triggers,
149
+ evidence expectations, and risk constraints.
150
+ - Healthcare and other regulated packs mark expert personas as human-approval
151
+ required for regulated decisions.
152
+ - Includes tests for pack loading, filtering by domain, and high-risk activation
153
+ constraints.
154
+
155
+ Suggested size: M.
156
+
157
+ Suggested owners: Product Manager, Architect, Compliance/Privacy, QA.
158
+
159
+ ### Story 4: Runtime Persona Activation
160
+
161
+ As a workflow runtime, I want to activate personas only when a task, phase, risk,
162
+ or required role needs them so that context stays bounded and relevant.
163
+
164
+ Acceptance criteria:
165
+
166
+ - Resolves active personas from task signals, required roles, optional roles,
167
+ phase, paths, domain, risk level, and explicit user request.
168
+ - Does not load every persona for every task.
169
+ - Returns activation rationale and skipped-persona rationale.
170
+ - Integrates with capability and skill resolution without duplicating
171
+ hardcoded role maps.
172
+ - Blocks unapproved, rejected, deprecated, or policy-ineligible personas.
173
+ - Includes chaos/resilience tests for corrupted registry state, missing
174
+ approvals, disabled persona packs, and provider-independent offline
175
+ activation.
176
+ - Includes tests for phase-scoped activation, domain triggers, no-match cases,
177
+ high-risk human approval, and capability resolution.
178
+
179
+ Suggested size: M.
180
+
181
+ Suggested owners: Architect, Developer, QA.
182
+
183
+ ### Story 5: Persona Governance and Safety Gates
184
+
185
+ As a security and compliance reviewer, I want persona creation and activation to
186
+ respect authority boundaries so that generated personas cannot approve unsafe or
187
+ regulated outcomes.
188
+
189
+ Acceptance criteria:
190
+
191
+ - Requires human approval before any generated persona becomes active.
192
+ - Requires explicit human approver mapping for regulated authority levels.
193
+ - Prevents generated medical, legal, financial, privacy, or regulatory personas
194
+ from issuing final approval unless policy allows a configured human approver.
195
+ - Records audit events for generation, approval, rejection, activation, and
196
+ deactivation.
197
+ - Adds security review when personas touch secrets, PII, PHI, financial data,
198
+ regulated decisions, network calls, or external references.
199
+ - Includes chaos/resilience tests for approval race conditions, missing approver
200
+ mappings, policy engine failure, audit write failure, and denied regulated
201
+ authority escalation.
202
+ - Includes tests for approval policy, audit events, blocked activation, and
203
+ unsafe authority escalation.
204
+
205
+ Suggested size: M.
206
+
207
+ Suggested owners: Security, Compliance/Privacy, Architect, QA.
208
+
209
+ ### Story 6: Web Console Persona Management
210
+
211
+ As a human user, I want to manage project personas in the web console so that I
212
+ can review and approve personas without editing local files.
213
+
214
+ Acceptance criteria:
215
+
216
+ - Adds a Personas management page or section with list, detail, create,
217
+ generate, edit draft, approve, reject, deactivate, export, and import flows.
218
+ - Shows persona status, authority level, domain, risk, triggers, capabilities,
219
+ evidence expectations, and approval state.
220
+ - Provides empty, loading, error, success, and recovery states.
221
+ - Uses tooltips for authority level, regulated scope, activation triggers, and
222
+ evidence expectations.
223
+ - Includes resilience coverage for API timeout, failed generation, rejected
224
+ approval, import validation failure, and stale registry data.
225
+ - Includes Playwright coverage for list, create draft, approve, reject, and
226
+ high-risk warning flows.
227
+
228
+ Suggested size: L.
229
+
230
+ Suggested owners: UX/UI Designer, Developer, QA, Technical Writer.
231
+
232
+ ### Story 7: Persona Documentation and User Guide
233
+
234
+ As a user, I want clear persona registry documentation so that I understand how
235
+ to define domain experts, generated personas, and approval constraints.
236
+
237
+ Acceptance criteria:
238
+
239
+ - Documents CLI and API usage for persona registry operations.
240
+ - Explains packaged personas, generated drafts, approval, activation, and
241
+ regulated-domain limits.
242
+ - Includes examples for software, music/audio, ML/AI, and healthcare projects.
243
+ - Documents offline-first behavior and optional SaaS/external enrichment.
244
+ - Updates the public site docs if persona management becomes user-facing.
245
+
246
+ Suggested size: S.
247
+
248
+ Suggested owners: Technical Writer, Product Owner, QA.
249
+
250
+ ## Epic Acceptance Criteria
251
+
252
+ - Persona registry avoids manual markdown editing for normal persona management.
253
+ - Persona generation produces draft, reviewable personas, not automatically
254
+ active authorities.
255
+ - Runtime activation is bounded by task need, phase, role, risk, and project
256
+ domain.
257
+ - Regulated domains require explicit human approval policies.
258
+ - Offline-first mode works without internet access.
259
+ - SaaS/external enrichment is optional and tenant-scoped when enabled.
260
+ - Child stories are independently estimable and testable.
261
+ - Chaos testing validates safe degradation for persona registry, runtime
262
+ activation, generation, governance, and web console flows.
263
+
264
+ ## Non-Goals
265
+
266
+ - Replacing built-in delivery roles in the first release.
267
+ - Building a full SaaS registry in the MVP.
268
+ - Allowing generated personas to approve regulated clinical, legal, financial,
269
+ or compliance outcomes without a configured human approver.
270
+ - Making internet access mandatory for persona generation.
271
+ - Storing raw prompts or sensitive project context by default.
272
+
273
+ ## Risks
274
+
275
+ - Generated personas may sound authoritative without enough domain validation.
276
+ - Prompt injection from lessons learned, issues, docs, or external references.
277
+ - Secret or sensitive data leakage during persona generation.
278
+ - Context bloat if runtime activation loads too many personas.
279
+ - Tenant and regulatory boundary violations in SaaS mode.
280
+ - Duplicate or conflicting personas if registry ownership is unclear.
281
+ - Workflow degradation if multiple agents generate or activate personas while
282
+ providers, approval stores, or prompt/context registries are unavailable.
283
+
284
+ ## Chaos And Resilience Testing
285
+
286
+ Persona features should load the `chaos-resilience-testing` skill for controlled
287
+ failure scenarios where they affect runtime behavior or authority. The goal is
288
+ not random fault injection in the first MVP; it is deterministic chaos-style
289
+ validation that proves the product fails closed, preserves auditability, and
290
+ keeps offline operation usable.
291
+
292
+ Minimum scenarios:
293
+
294
+ - provider timeout or unavailable model during persona generation;
295
+ - prompt bank, lessons, or external enrichment source unavailable;
296
+ - malformed, oversized, or partially imported persona registry data;
297
+ - concurrent approval/update attempts for the same persona;
298
+ - missing human approver mapping for regulated authority;
299
+ - budget envelope exhausted before or during generation;
300
+ - policy engine denies activation or fails closed;
301
+ - audit/event write failure during approval or activation;
302
+ - web console API timeout or stale registry response;
303
+ - offline mode with no external network access.
304
+
305
+ Expected behavior:
306
+
307
+ - generated personas remain `draft` unless approval succeeds;
308
+ - regulated personas cannot approve final outcomes without configured human
309
+ authority;
310
+ - runtime activation skips unsafe personas and records the rationale;
311
+ - unavailable optional sources degrade with explicit evidence instead of
312
+ blocking local workflows;
313
+ - failures produce QA evidence that maps back to the story acceptance criteria.
314
+
315
+ ## Suggested Epic Size
316
+
317
+ XL for full epic.
318
+
319
+ MVP slice: L.
320
+
321
+ Recommended first implementation order:
322
+
323
+ 1. Dynamic UX phase routing for user-facing work
324
+ (`UX-DYNAMIC-PHASE-ROUTING-20260517`) before the persona web console story.
325
+ 2. Local Persona Registry API.
326
+ 3. Runtime Persona Activation.
327
+ 4. Persona Governance and Safety Gates.
328
+ 5. Persona Generation Assistant.
329
+ 6. Web Console Persona Management.
330
+ 7. Domain Persona Packs.
331
+ 8. Documentation and user guide.
332
+
333
+ ## Related Workflow Story
334
+
335
+ `UX-DYNAMIC-PHASE-ROUTING-20260517` should add dynamic UX routing for
336
+ user-facing tasks before persona management UI is implemented. The current
337
+ workflow can recommend `ux_review` after implementation, but it does not yet
338
+ support a pre-architecture `ux_design` phase or BA/PO validation of UX artifacts
339
+ before architecture.
340
+
341
+ Expected target sequence for user-facing work:
342
+
343
+ ```txt
344
+ po/ba -> ux_design -> po_validation -> architect -> developer -> qa -> ux_review -> release
345
+ ```
346
+
347
+ The first implementation may keep this advisory when a task or global
348
+ `workflow.phaseSequence` is manually configured, but the phase planner should
349
+ make the recommendation explicit and explain why UX must provide design inputs
350
+ before architecture for UI-heavy work.
@@ -0,0 +1,159 @@
1
+ # Epic: Offline-first prompt bank registry and reference API
2
+
3
+ Backlog Item ID: PROMPT-BANK-REGISTRY-EPIC
4
+
5
+ ## Epic Story
6
+
7
+ As a platform owner, I want Open Orchestra to maintain a versioned prompt bank
8
+ that works offline from the repository and can optionally sync categorized
9
+ references from an external bucket/API, so that agents can retrieve high-quality
10
+ prompt guidance on demand without bloating skills or requiring internet access
11
+ for core operation.
12
+
13
+ ## Relationship
14
+
15
+ Parent/related epic: #333 Advisory supervisor for local findings and guarded
16
+ GitHub worker.
17
+
18
+ This epic complements the advisory/SaaS direction. The advisory supervisor can
19
+ produce findings that improve prompt bank entries, while the prompt bank
20
+ registry provides curated guidance that agents can retrieve safely during local
21
+ or SaaS-backed execution.
22
+
23
+ ## Problem
24
+
25
+ Skills should stay compact and role-scoped. If every diagram, QA, security,
26
+ architecture, or workflow reference is embedded directly into skills, agent
27
+ context becomes expensive and hard to govern. If references live only in a SaaS
28
+ or bucket, local/offline operation breaks.
29
+
30
+ Open Orchestra needs a hybrid model:
31
+
32
+ - a small canonical prompt bank in the repo for offline execution;
33
+ - external categorized references for richer examples and reusable patterns;
34
+ - an API/retrieval layer that returns only the minimum relevant guidance;
35
+ - guardrails that prevent raw prompt injection, secrets, or source-specific
36
+ content from becoming reusable rules.
37
+
38
+ ## MVP Outcome
39
+
40
+ - Local prompt bank manifest stored in the repo and packaged with the CLI.
41
+ - Prompt bank entries categorized by role, phase, skill, artifact type, runtime,
42
+ safety level, and offline eligibility.
43
+ - Retrieval command/API that resolves prompt entries by task intent, role, phase,
44
+ and runtime signals.
45
+ - Skills load compact baseline rules first and request prompt bank references
46
+ only when task context needs them.
47
+ - External bucket/API contract documented but optional.
48
+ - Offline mode uses local prompt bank only and degrades clearly when an external
49
+ reference is unavailable.
50
+
51
+ ## To-Be Outcome
52
+
53
+ - SaaS-backed prompt registry with tenant/project categorization, quality
54
+ scoring, usage telemetry, approval workflows, and API-based retrieval.
55
+ - Bucket-backed prompt artifacts with signed manifests, checksums, versioning,
56
+ retention policy, and safe caching.
57
+ - Advisory supervisor can propose prompt bank improvements as classified
58
+ findings, but human approval is required before promotion.
59
+ - Registry supports cross-runtime references for Codex, Claude, Cursor, Copilot,
60
+ generic agents, and local model runners.
61
+
62
+ ## Proposed Child Stories
63
+
64
+ ### Story 1: Local Prompt Bank Manifest
65
+
66
+ As an agent runtime, I want a local manifest of prompt bank entries so that I can
67
+ retrieve approved guidance without internet access.
68
+
69
+ Acceptance criteria:
70
+
71
+ - Defines entry schema with id, title, category, role, phase, skill, runtime,
72
+ artifact type, tags, version, source-free flag, safety level, checksum, and
73
+ path.
74
+ - Includes initial categories for diagrams, QA evidence, advisory findings,
75
+ security review, story mapping, and runtime coordination.
76
+ - Excludes source-specific PDF text, business labels, secrets, and raw user
77
+ prompts from reusable entries.
78
+ - Includes tests for schema validation and manifest loading.
79
+
80
+ ### Story 2: Prompt Bank Retrieval API
81
+
82
+ As a skill loader, I want to retrieve prompt bank entries by runtime need so that
83
+ skills stay small and context is loaded on demand.
84
+
85
+ Acceptance criteria:
86
+
87
+ - Provides CLI/API retrieval by role, phase, task intent, skill id, runtime, and
88
+ tags.
89
+ - Returns summaries first and full content only when requested.
90
+ - Enforces max entry count and max token/character budget.
91
+ - Supports offline-only mode.
92
+ - Emits evidence showing which entries were consulted.
93
+
94
+ ### Story 3: External Bucket/API Contract
95
+
96
+ As a platform operator, I want an external prompt registry contract so that rich
97
+ references can be stored outside the package without making the package depend
98
+ on SaaS.
99
+
100
+ Acceptance criteria:
101
+
102
+ - Documents bucket layout, manifest format, checksums, signed URLs or equivalent
103
+ access strategy, cache policy, and fallback behavior.
104
+ - Defines API endpoints for search, resolve, fetch, health, and version checks.
105
+ - Requires tenant/project scoping for SaaS mode.
106
+ - Requires redaction and prompt-injection checks before storing or serving
107
+ entries.
108
+
109
+ ### Story 4: Prompt Promotion Workflow
110
+
111
+ As a maintainer, I want prompt bank changes to go through review so that weak or
112
+ unsafe prompt guidance is not promoted automatically.
113
+
114
+ Acceptance criteria:
115
+
116
+ - Advisory findings can propose prompt entries but cannot promote them directly.
117
+ - Promotion requires classification, safety review, owner approval, and
118
+ validation evidence.
119
+ - Records provenance: source task, finding id, reviewer, reason, version, and
120
+ superseded entries.
121
+ - Supports deprecation and rollback of prompt entries.
122
+
123
+ ## Acceptance Criteria
124
+
125
+ - Epic documents offline-first and SaaS-ready architecture for prompt bank
126
+ retrieval.
127
+ - Local prompt bank remains the source of truth for core operation.
128
+ - External bucket/API is optional and never required for baseline skills.
129
+ - Prompt entries are categorized and retrievable by role, phase, skill, runtime,
130
+ artifact type, tags, and safety level.
131
+ - Retrieval is bounded to avoid context bloat.
132
+ - Source-specific text, secrets, raw user prompts, and prompt-injection content
133
+ are excluded or blocked from reusable prompt entries.
134
+ - Advisory supervisor integration is defined without allowing automatic
135
+ promotion.
136
+ - Child stories are independently executable.
137
+
138
+ ## Non-Goals
139
+
140
+ - Full SaaS implementation in the first story.
141
+ - Storing raw prompts/responses by default.
142
+ - Replacing existing skills with a remote-only prompt system.
143
+ - Making internet access mandatory for local workflows.
144
+
145
+ ## Risks
146
+
147
+ - Context bloat if retrieval is not aggressively bounded.
148
+ - Prompt injection through external registry entries.
149
+ - Secret leakage from raw prompts, lessons learned, or generated artifacts.
150
+ - Drift between local prompt bank and external registry.
151
+ - SaaS dependency creeping into offline workflows.
152
+
153
+ ## T-Shirt Size
154
+
155
+ L
156
+
157
+ ## Suggested Owners
158
+
159
+ Product Owner, Architect, Security, Developer, QA.
@@ -0,0 +1,56 @@
1
+ # Story: Public site consumes documentation manifest instead of hardcoded copy
2
+
3
+ Backlog Item ID: SITE-DOCS-MANIFEST
4
+
5
+ Parent: #340
6
+
7
+ ## User Story
8
+
9
+ As a documentation maintainer, I want the public site to render content from
10
+ versioned documentation or a docs manifest instead of duplicating copy in React
11
+ components, so that the site, README, and docs stay aligned with less manual
12
+ maintenance.
13
+
14
+ ## Background
15
+
16
+ The public site currently keeps much of its product copy and section metadata in
17
+ `site/src/App.jsx`. That creates duplicate maintenance when docs change. The
18
+ site should use documentation as the source of truth where possible, while React
19
+ components own layout, interaction, and visual presentation.
20
+
21
+ ## Acceptance Criteria
22
+
23
+ - Defines a public docs manifest or equivalent content source for site sections.
24
+ - Site content for quickstart, command surface, runtime adapters, release
25
+ readiness, architecture, and docs links is derived from versioned docs or
26
+ manifest entries instead of duplicated hardcoded copy.
27
+ - `site/src/App.jsx` keeps layout/component logic and no longer owns long-form
28
+ documentation copy.
29
+ - Site build fails or reports a clear validation error when the manifest points
30
+ to a missing doc.
31
+ - README/docs/site links stay consistent after the migration.
32
+ - Public site still builds with `npm run site:build`.
33
+ - The implementation avoids runtime network calls; content should be bundled at
34
+ build time or served from local static assets.
35
+
36
+ ## Non-Goals
37
+
38
+ - Building a full CMS.
39
+ - Rendering every internal or backlog doc on the public site.
40
+ - Redesigning the whole landing page.
41
+
42
+ ## Suggested Implementation
43
+
44
+ - Create a manifest such as `docs/site-manifest.json` or
45
+ `site/src/site-content.js` generated from docs.
46
+ - Prefer Markdown/frontmatter or a small typed JSON schema for section metadata.
47
+ - Add a validation script for manifest paths.
48
+ - Keep public/internal classification aligned with #340.
49
+
50
+ ## T-Shirt Size
51
+
52
+ S
53
+
54
+ ## Suggested Owners
55
+
56
+ Technical Writer, UX/UI Designer, Developer.
@@ -159,7 +159,7 @@ Expected evidence:
159
159
 
160
160
  ## Prompt Registry Integration
161
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:
162
+ The prompt registry pattern is now part of Open Orchestra as a stack-agnostic `.generated-prompts/` scaffold. Specialist roles should use it as follows:
163
163
 
164
164
  - Tech Lead reads `code.md`, `services.md`, and `docs.md` before coordinating implementation plans.
165
165
  - SDET reads `tests.md` before adding Playwright or regression coverage.