@jterrats/open-orchestra 1.0.2 → 1.0.3

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 (145) 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/roles/core-roles.js +10 -5
  25. package/dist/roles/core-roles.js.map +1 -1
  26. package/dist/skills-catalog.js +67 -0
  27. package/dist/skills-catalog.js.map +1 -1
  28. package/dist/skills-commands.d.ts +1 -0
  29. package/dist/skills-commands.js +37 -1
  30. package/dist/skills-commands.js.map +1 -1
  31. package/dist/skills-planning.d.ts +2 -1
  32. package/dist/skills-planning.js +79 -11
  33. package/dist/skills-planning.js.map +1 -1
  34. package/dist/skills.d.ts +1 -1
  35. package/dist/skills.js +1 -1
  36. package/dist/skills.js.map +1 -1
  37. package/dist/task-graph-commands.js +36 -8
  38. package/dist/task-graph-commands.js.map +1 -1
  39. package/dist/types/metrics.d.ts +2 -0
  40. package/dist/types/skills.d.ts +9 -0
  41. package/dist/types/tasks.d.ts +8 -1
  42. package/dist/types.d.ts +2 -2
  43. package/dist/types.js.map +1 -1
  44. package/dist/web-api.js +80 -7
  45. package/dist/web-api.js.map +1 -1
  46. package/dist/workflow-approval-service.js +13 -0
  47. package/dist/workflow-approval-service.js.map +1 -1
  48. package/dist/workflow-evidence-service.js +37 -2
  49. package/dist/workflow-evidence-service.js.map +1 -1
  50. package/dist/workflow-gates.js +56 -1
  51. package/dist/workflow-gates.js.map +1 -1
  52. package/dist/workflow-phase-planner.js +51 -9
  53. package/dist/workflow-phase-planner.js.map +1 -1
  54. package/dist/workflow-run-commands.d.ts +1 -0
  55. package/dist/workflow-run-commands.js +11 -6
  56. package/dist/workflow-run-commands.js.map +1 -1
  57. package/dist/workflow-services.js +24 -0
  58. package/dist/workflow-services.js.map +1 -1
  59. package/dist/workflow-task-service.js +27 -2
  60. package/dist/workflow-task-service.js.map +1 -1
  61. package/docs/adoption-guide.md +22 -1
  62. package/docs/advisory-supervisor-architecture.md +206 -0
  63. package/docs/architecture.md +47 -41
  64. package/docs/autonomous-workflow.md +2 -2
  65. package/docs/backlog/ac-evidence-bugfix-stories-20260517.md +76 -0
  66. package/docs/backlog/dev-best-practices-hardening-story.md +69 -0
  67. package/docs/backlog/docs-public-internal-package-hygiene-story.md +62 -0
  68. package/docs/backlog/prompt-bank-registry-epic.md +159 -0
  69. package/docs/backlog/site-docs-manifest-story.md +56 -0
  70. package/docs/dev-team-specialist-role-profiles.md +1 -1
  71. package/docs/diagrams/diagram-master-prompt.md +207 -0
  72. package/docs/diagrams/enterprise-set/README.md +22 -0
  73. package/docs/diagrams/enterprise-set/lead-to-account-swimlanes.svg +38 -0
  74. package/docs/diagrams/enterprise-set/product-implementation-timeline.svg +45 -0
  75. package/docs/diagrams/enterprise-set/salesforce-enterprise-architecture.svg +54 -0
  76. package/docs/diagrams/experiments/pixel-v2-review.md +124 -0
  77. package/docs/diagrams/experiments/roadmap/diagram.mmd +14 -0
  78. package/docs/diagrams/experiments/roadmap/diagram.svg +48 -0
  79. package/docs/diagrams/experiments/roadmap/experiment.md +44 -0
  80. package/docs/diagrams/experiments/sfdc-implementation/diagram.mmd +54 -0
  81. package/docs/diagrams/experiments/sfdc-implementation/diagram.svg +72 -0
  82. package/docs/diagrams/experiments/sfdc-implementation/experiment.md +41 -0
  83. package/docs/diagrams/experiments/swimlane/diagram.mmd +40 -0
  84. package/docs/diagrams/experiments/swimlane/diagram.svg +70 -0
  85. package/docs/diagrams/experiments/swimlane/experiment.md +50 -0
  86. package/docs/diagrams/experiments/timeline/diagram.mmd +9 -0
  87. package/docs/diagrams/experiments/timeline/diagram.svg +29 -0
  88. package/docs/diagrams/experiments/timeline/experiment.md +34 -0
  89. package/docs/diagrams/final-artifact-hygiene.md +40 -0
  90. package/docs/diagrams/mermaid-target-strategy.md +106 -0
  91. package/docs/diagrams/payment-gateway/architecture.md +57 -0
  92. package/docs/diagrams/payment-gateway/architecture.mmd +39 -0
  93. package/docs/diagrams/payment-gateway/architecture.svg +171 -0
  94. package/docs/diagrams/prompt-bank.md +48 -0
  95. package/docs/diagrams/salesforce-integration/architecture.md +56 -0
  96. package/docs/diagrams/salesforce-integration/architecture.mmd +26 -0
  97. package/docs/diagrams/salesforce-integration/architecture.svg +123 -0
  98. package/docs/diagrams/source-fidelity-review.md +116 -0
  99. package/docs/diagrams/state-uml-recreated.drawio +336 -0
  100. package/docs/diagrams/state-uml-recreated.prompt.md +114 -0
  101. package/docs/diagrams/state-uml-recreated.prompt.v10.md +52 -0
  102. package/docs/diagrams/state-uml-recreated.prompt.v11.md +52 -0
  103. package/docs/diagrams/state-uml-recreated.prompt.v12.md +50 -0
  104. package/docs/diagrams/state-uml-recreated.prompt.v14.md +91 -0
  105. package/docs/diagrams/state-uml-recreated.prompt.v2.md +31 -0
  106. package/docs/diagrams/state-uml-recreated.prompt.v3.md +36 -0
  107. package/docs/diagrams/state-uml-recreated.prompt.v4.md +35 -0
  108. package/docs/diagrams/state-uml-recreated.prompt.v5.md +35 -0
  109. package/docs/diagrams/state-uml-recreated.prompt.v6.md +39 -0
  110. package/docs/diagrams/state-uml-recreated.prompt.v7.md +37 -0
  111. package/docs/diagrams/state-uml-recreated.prompt.v8.md +41 -0
  112. package/docs/diagrams/state-uml-recreated.prompt.v9.md +32 -0
  113. package/docs/diagrams/state-uml-recreated.svg +159 -0
  114. package/docs/diagrams/v14-stress-test/README.md +33 -0
  115. package/docs/diagrams/v14-stress-test/stress-test.svg +114 -0
  116. package/docs/external-artifact-import-bridge.md +56 -0
  117. package/docs/{setup-agents-applicability-review.md → external-baseline-applicability-review.md} +37 -40
  118. package/docs/{setup-agents-dogfooding-findings.md → external-baseline-dogfooding-findings.md} +10 -9
  119. package/docs/multi-agent-orchestrator-backlog.md +1 -1
  120. package/docs/orchestra-mvp.md +19 -0
  121. package/docs/persona-workflows.md +42 -0
  122. package/docs/release-test-matrix.md +21 -9
  123. package/docs/reports/ac-evidence-backfill-20260517.md +256 -0
  124. package/docs/reports/ac-evolution-reconciliation-20260517.md +366 -0
  125. package/docs/reports/ac-failure-evidence-20260517.md +115 -0
  126. package/docs/reports/ac-history-dry-run-20260517.md +434 -0
  127. package/docs/runtime-llm-flow.md +8 -0
  128. package/docs/site-content-workflow.md +96 -0
  129. package/docs/site-manifest.json +143 -0
  130. package/docs/skill-loading-strategy.md +18 -7
  131. package/docs/story-mapping-adoption-review.md +99 -0
  132. package/docs/workspace-repo-strategy.md +63 -0
  133. package/package.json +3 -1
  134. package/rules/agent-collaboration.mdc +2 -0
  135. package/rules/code-review-engineering.mdc +2 -0
  136. package/rules/delivery-quality-gates.mdc +12 -0
  137. package/rules/development-engineering.mdc +3 -0
  138. package/rules/diagram-quality.mdc +35 -0
  139. package/rules/module-boundaries.mdc +71 -0
  140. package/rules/testing-discipline.mdc +13 -0
  141. package/skills/collection-standards/SKILL.md +2 -0
  142. package/skills/diagram-export/SKILL.md +30 -0
  143. package/skills/qa-evidence-pack/SKILL.md +110 -0
  144. package/skills/qa-evidence-pack/manifest.json +60 -0
  145. package/docs/setup-agents-bridge.md +0 -61
@@ -10,68 +10,72 @@ the project site.
10
10
  flowchart LR
11
11
  subgraph entry["Entry surfaces"]
12
12
  human["Human operator"]
13
- agent["Codex / Claude / Cursor"]
14
- ide["VS Code control center"]
13
+ runtime["Agent runtimes"]
14
+ ide["IDE control center"]
15
15
  web["Local web console"]
16
16
  end
17
17
 
18
- subgraph cli["CLI contract"]
19
- commands["orchestra commands"]
20
- manifest["command manifest"]
21
- json["JSON output contracts"]
18
+ subgraph contract["Runtime and CLI contract"]
19
+ bootstrap["Runtime bootstrap"]
20
+ commands["orchestra CLI"]
21
+ manifest["Command manifest"]
22
+ api["JSON contracts"]
22
23
  end
23
24
 
24
- subgraph core["Workflow services"]
25
- tasks["task registry"]
26
- workflow["autonomous workflow"]
27
- gates["review gates"]
28
- memory["role-scoped memory"]
29
- skills["skills and prompts"]
30
- release["release readiness"]
25
+ subgraph workflow["Workflow core"]
26
+ intake["Task registry"]
27
+ phases["PM to release phases"]
28
+ gates["Human review gates"]
29
+ skills["Skills and memory"]
30
+ readiness["Release readiness"]
31
31
  end
32
32
 
33
- subgraph state["State and integrations"]
34
- files[".agent-workflow files"]
35
- providers["model providers"]
36
- trackers["tracker adapters / MCP"]
37
- evidence["evidence artifacts"]
33
+ subgraph state["Local state and adapters"]
34
+ files[".agent-workflow state"]
35
+ providers["Model providers"]
36
+ trackers["Tracker adapters"]
37
+ evidence["Evidence packs"]
38
+ content["Docs manifest"]
38
39
  end
39
40
 
40
- subgraph outputs["Delivery outputs"]
41
- docs["docs and site"]
42
- npm["npm package"]
43
- tags["release tags"]
44
- reports["handoff reports"]
41
+ subgraph delivery["Delivery outputs"]
42
+ site["Public site"]
43
+ package["npm package"]
44
+ reports["Handoffs and reports"]
45
+ release["CI release tags"]
45
46
  end
46
47
 
47
48
  human --> commands
48
- agent --> commands
49
- ide --> commands
50
- web --> commands
49
+ runtime --> bootstrap
50
+ ide --> api
51
+ web --> api
52
+ bootstrap --> commands
51
53
  commands --> manifest
52
- commands --> json
53
- manifest --> workflow
54
- json --> workflow
55
- workflow --> tasks
56
- workflow --> gates
57
- workflow --> memory
58
- workflow --> skills
59
- workflow --> release
60
- tasks --> files
54
+ api --> manifest
55
+ manifest --> phases
56
+ phases --> intake
57
+ phases --> gates
58
+ phases --> skills
59
+ phases --> readiness
60
+ intake --> files
61
61
  gates --> evidence
62
- memory --> files
63
62
  skills --> files
64
- workflow --> providers
65
- workflow --> trackers
66
- release --> docs
67
- release --> npm
68
- release --> tags
63
+ phases --> providers
64
+ phases --> trackers
65
+ readiness --> evidence
66
+ content --> site
67
+ readiness --> site
68
+ readiness --> package
69
+ readiness --> release
69
70
  evidence --> reports
70
71
  ```
71
72
 
72
73
  The site renders the same source from
73
74
  [`site/public/architecture.mmd`](../site/public/architecture.mmd) through the
74
75
  React + Vite public site with pan, zoom, reset, and fullscreen controls.
76
+ The documentation and served Mermaid source must be updated together. See
77
+ [Public Site Content Workflow](site-content-workflow.md) for the generated
78
+ content contract and diagram QA expectations.
75
79
 
76
80
  ## How To Read It
77
81
 
@@ -97,6 +101,8 @@ React + Vite public site with pan, zoom, reset, and fullscreen controls.
97
101
  ## Related Docs
98
102
 
99
103
  - [MVP guide](orchestra-mvp.md)
104
+ - [Advisory supervisor architecture](advisory-supervisor-architecture.md)
100
105
  - [Persona workflows](persona-workflows.md)
101
106
  - [Runtime adapters](runtime-adapters.md)
107
+ - [Public site content workflow](site-content-workflow.md)
102
108
  - [Traceability flow](traceability-flow.md)
@@ -34,7 +34,7 @@ PM → PO [gate] → Architect [sizing gate] → Developer → QA [gate] → Rel
34
34
  | Phase | Role | Output | Human checkpoint |
35
35
  | ----------- | --------------- | -------------------------------------------------------------------- | --------------------------------------------------------- |
36
36
  | `pm` | product_manager | Product framing, trade-offs, sequencing, and success metrics | None by default |
37
- | `po` | product_owner | Refined scope, acceptance criteria, assumptions, and release value | `po→architect` when `--gates phase` or `--gates all` |
37
+ | `po` | product_owner | User-validated scope, definitions, acceptance criteria, assumptions, non-goals, priority, and release value | `po→architect` when `--gates phase` or `--gates all` |
38
38
  | `architect` | architect | Technical approach, affected boundaries, sizing decision, and risks | Architect sizing gate is always required |
39
39
  | `developer` | developer | Code/docs changes, implementation notes, and Developer to QA handoff | Optional clarification to PO or Architect |
40
40
  | `qa` | qa | Test plan, validation evidence, gaps, and QA recommendation | `qa→release` when `--gates phase` or `--gates all` |
@@ -64,7 +64,7 @@ the active role from continuing safely.
64
64
 
65
65
  | Situation | Use | Why |
66
66
  | ------------------------------------------------------------------- | ------------- | --------------------------------------------------------------------- |
67
- | PO acceptance criteria need human confirmation before design starts | Gate | This is a planned phase boundary |
67
+ | PO/BA stories, definitions, acceptance criteria, or assumptions need user confirmation before design starts | Gate | This is a planned phase boundary |
68
68
  | QA evidence is complete but release risk needs sign-off | Gate | This determines whether Release may proceed |
69
69
  | Developer needs to know whether empty input is valid | Clarification | The active phase is blocked by a product or architecture question |
70
70
  | QA finds ambiguous expected behavior while writing tests | Clarification | The answer should unblock QA without inventing a new phase boundary |
@@ -0,0 +1,76 @@
1
+ # AC Evidence Bugfix Stories
2
+
3
+ Date: 2026-05-17
4
+ Source task: AC-EVIDENCE-BACKFILL-20260517
5
+
6
+ These bugfix stories come from the reconciled acceptance-criteria evidence batch.
7
+ They are current failures, not historical superseded criteria.
8
+
9
+ ## BUG-DOCS-GENERATED-SITE-AC-20260517
10
+
11
+ Title: Fix docs adoption test after generated site content migration
12
+
13
+ As a product user evaluating first-run onboarding, I want the public site,
14
+ README, and adoption docs to consistently prove the first visible value path so
15
+ that documentation tests validate the real source of rendered content.
16
+
17
+ Acceptance criteria:
18
+
19
+ - `node --test test/docs-adoption.test.js` passes.
20
+ - The test validates `First visible value` in the generated site content source
21
+ or rendered site output instead of requiring literal copy in `site/src/App.jsx`.
22
+ - README, adoption guide, core command surface, and site content still point to
23
+ `orchestra workflow run --task DEMO-001 --gates none`.
24
+ - The governed production path remains documented.
25
+
26
+ ## BUG-SITE-ARCH-DIAGRAM-RENDER-20260517
27
+
28
+ Title: Fix project site architecture diagram render
29
+
30
+ As a site visitor, I want the architecture viewer to render its SVG on desktop
31
+ and mobile so that the product architecture can be inspected visually.
32
+
33
+ Acceptance criteria:
34
+
35
+ - `npm run site:build` passes.
36
+ - `npm run test:e2e -- e2e/project-site.spec.js` passes.
37
+ - `[data-architecture-diagram] svg` becomes visible on desktop and mobile.
38
+ - Architecture controls remain interactive: zoom, pan, reset, node drag, and
39
+ group drag.
40
+ - No console or page errors are emitted during diagram render.
41
+
42
+ ## BUG-WEB-OPS-READINESS-COPY-20260517
43
+
44
+ Title: Restore release readiness state in task detail
45
+
46
+ As an operator using the web console, I want task detail to show release
47
+ readiness state consistently so that I can understand whether a task is ready or
48
+ what remains unresolved.
49
+
50
+ Acceptance criteria:
51
+
52
+ - `npm run test:e2e -- e2e/web-console.spec.js` passes the WEB-OPS scenario.
53
+ - Task detail for `OPS-E2E` shows an explicit positive release readiness state
54
+ or the E2E is updated to assert the current accepted copy.
55
+ - Task detail still shows acceptance criteria, Definition of Ready, Definition
56
+ of Done, handoffs, reviews, and evidence.
57
+ - Negative readiness state for `COST-E2E` still surfaces missing backlog item
58
+ and release-readiness remediation.
59
+
60
+ ## BUG-WEB-LIFECYCLE-BLOCK-GATE-20260517
61
+
62
+ Title: Restore web lifecycle block gate control after request changes
63
+
64
+ As a release reviewer using the web console, I want to approve, request changes,
65
+ or block a workflow gate from the same lifecycle surface so that gate decisions
66
+ remain auditable and actionable.
67
+
68
+ Acceptance criteria:
69
+
70
+ - `npm run test:e2e -- e2e/web-console.spec.js` passes the WEB-LIFECYCLE scenario.
71
+ - After a `Request Changes` decision, the gate decision surface still exposes a
72
+ valid block path or the workflow state transition intentionally removes block
73
+ and the test documents the accepted behavior.
74
+ - Gate history records `changes`, `block`, and `approve` decisions when those
75
+ actions are available.
76
+ - Resume continues from the approved gate and completes the lifecycle.
@@ -0,0 +1,69 @@
1
+ # Story: Harden developer best practices for module boundaries and god-file prevention
2
+
3
+ Backlog Item ID: DEV-BEST-PRACTICES-HARDENING
4
+
5
+ ## User Story
6
+
7
+ As a technical lead, I want Open Orchestra developer guidance to enforce
8
+ pre-write god-file checks and clean module boundaries, so that new code follows
9
+ domain/model/service/adapters separation and command files stay nearly
10
+ logicless.
11
+
12
+ ## Background
13
+
14
+ As the project grows, large command and service files can accumulate parsing,
15
+ business rules, storage access, formatting, and integration orchestration in the
16
+ same place. This increases regression risk and makes agent-generated changes
17
+ harder to review.
18
+
19
+ Developer standards should force agents to check file size and responsibility
20
+ before writing code. If a change would grow a god file or add business logic to
21
+ an adapter, the agent should create or reuse the correct domain/model/service
22
+ module instead.
23
+
24
+ ## Acceptance Criteria
25
+
26
+ - Developer rules require a pre-write file-size and responsibility check before
27
+ adding code to an existing file.
28
+ - Rules define god-file risk thresholds and require extraction when a change
29
+ would materially increase a large or multi-responsibility file.
30
+ - Rules define expected boundaries:
31
+ - `model/types`: data contracts and narrow public types;
32
+ - `domain`: pure invariants, policy, and business decisions;
33
+ - `service/use-case`: orchestration of workflows and dependencies;
34
+ - `commands`: CLI adapter for parsing input, calling services, formatting
35
+ output, and converting errors;
36
+ - `web/api`: HTTP/UI adapter behavior;
37
+ - `storage/repository`: persistence and file I/O.
38
+ - Command modules are documented as logicless adapters and must not contain deep
39
+ business rules, multi-step workflow policy, direct persistence logic, or
40
+ duplicated hardcoded collections when a domain/service source of truth exists.
41
+ - Review guidance requires reviewers to flag command/service files that are
42
+ growing without a boundary decision.
43
+ - QA or static validation includes a lightweight check or documented checklist
44
+ for large files, new exports, and adapter logic creep.
45
+ - Existing collection standards are referenced so repeated hardcoded values are
46
+ extracted into typed/configurable sources of truth.
47
+
48
+ ## Non-Goals
49
+
50
+ - Refactoring every existing large file in one change.
51
+ - Blocking emergency hotfixes when a follow-up debt task is explicitly created.
52
+ - Introducing a heavy architecture framework.
53
+
54
+ ## Suggested Implementation
55
+
56
+ - Add or update a focused rule file for module boundaries and god-file
57
+ prevention.
58
+ - Reference the rule from developer-facing standards and relevant skills.
59
+ - Add a checklist to code review/QA standards.
60
+ - Add a small validation command or test only if it can be low-noise and
61
+ maintainable.
62
+
63
+ ## T-Shirt Size
64
+
65
+ S
66
+
67
+ ## Suggested Owners
68
+
69
+ Architect, Developer, QA.
@@ -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,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.