@jterrats/open-orchestra 1.0.6 → 1.0.8

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 (143) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/args.js +6 -2
  3. package/dist/args.js.map +1 -1
  4. package/dist/autonomous-run-state.js +12 -18
  5. package/dist/autonomous-run-state.js.map +1 -1
  6. package/dist/benchmark.js +6 -1
  7. package/dist/benchmark.js.map +1 -1
  8. package/dist/cli.js +5 -454
  9. package/dist/cli.js.map +1 -1
  10. package/dist/command-manifest.js +1 -0
  11. package/dist/command-manifest.js.map +1 -1
  12. package/dist/command-route-utils.d.ts +18 -0
  13. package/dist/command-route-utils.js +18 -0
  14. package/dist/command-route-utils.js.map +1 -0
  15. package/dist/command-routes-integrations.d.ts +2 -0
  16. package/dist/command-routes-integrations.js +82 -0
  17. package/dist/command-routes-integrations.js.map +1 -0
  18. package/dist/command-routes.d.ts +2 -0
  19. package/dist/command-routes.js +173 -0
  20. package/dist/command-routes.js.map +1 -0
  21. package/dist/commands.d.ts +1 -0
  22. package/dist/commands.js +5 -0
  23. package/dist/commands.js.map +1 -1
  24. package/dist/cursor-canvas.js +1 -1
  25. package/dist/cursor-canvas.js.map +1 -1
  26. package/dist/delivery-dashboard.js +8 -5
  27. package/dist/delivery-dashboard.js.map +1 -1
  28. package/dist/extensions.js +2 -1
  29. package/dist/extensions.js.map +1 -1
  30. package/dist/instruction-blocks.js +6 -1
  31. package/dist/instruction-blocks.js.map +1 -1
  32. package/dist/lesson-assist.js +1 -1
  33. package/dist/lesson-assist.js.map +1 -1
  34. package/dist/mcp-tool-adapter.js +2 -2
  35. package/dist/mcp-tool-adapter.js.map +1 -1
  36. package/dist/memory.js +1 -1
  37. package/dist/memory.js.map +1 -1
  38. package/dist/package-info.d.ts +7 -0
  39. package/dist/package-info.js +32 -0
  40. package/dist/package-info.js.map +1 -0
  41. package/dist/phase-executor.js +6 -22
  42. package/dist/phase-executor.js.map +1 -1
  43. package/dist/planning-commands.js +2 -10
  44. package/dist/planning-commands.js.map +1 -1
  45. package/dist/prompt-registry-validation.js +1 -1
  46. package/dist/prompt-registry-validation.js.map +1 -1
  47. package/dist/qa-coverage.js +2 -11
  48. package/dist/qa-coverage.js.map +1 -1
  49. package/dist/refresh-generated.js +6 -17
  50. package/dist/refresh-generated.js.map +1 -1
  51. package/dist/release-commands.js +5 -2
  52. package/dist/release-commands.js.map +1 -1
  53. package/dist/release-readiness.d.ts +7 -0
  54. package/dist/release-readiness.js +31 -1
  55. package/dist/release-readiness.js.map +1 -1
  56. package/dist/runtime-bootstrap-targets.d.ts +15 -0
  57. package/dist/runtime-bootstrap-targets.js +68 -0
  58. package/dist/runtime-bootstrap-targets.js.map +1 -0
  59. package/dist/runtime-budget-envelopes.d.ts +33 -0
  60. package/dist/runtime-budget-envelopes.js +93 -0
  61. package/dist/runtime-budget-envelopes.js.map +1 -0
  62. package/dist/runtime-commands.js +1 -1
  63. package/dist/runtime-commands.js.map +1 -1
  64. package/dist/runtime-execution-renderer.js +16 -52
  65. package/dist/runtime-execution-renderer.js.map +1 -1
  66. package/dist/runtime-execution.js +4 -2
  67. package/dist/runtime-execution.js.map +1 -1
  68. package/dist/runtime-guardrails.js +4 -0
  69. package/dist/runtime-guardrails.js.map +1 -1
  70. package/dist/runtime-parent-actions.d.ts +10 -0
  71. package/dist/runtime-parent-actions.js +63 -0
  72. package/dist/runtime-parent-actions.js.map +1 -0
  73. package/dist/runtime-renderer-lines.d.ts +5 -0
  74. package/dist/runtime-renderer-lines.js +58 -0
  75. package/dist/runtime-renderer-lines.js.map +1 -0
  76. package/dist/runtime-scheduler.d.ts +64 -0
  77. package/dist/runtime-scheduler.js +171 -0
  78. package/dist/runtime-scheduler.js.map +1 -0
  79. package/dist/runtime-spawn-bridge.js +20 -0
  80. package/dist/runtime-spawn-bridge.js.map +1 -1
  81. package/dist/runtime-spawn-quality.d.ts +2 -0
  82. package/dist/runtime-spawn-quality.js +11 -0
  83. package/dist/runtime-spawn-quality.js.map +1 -0
  84. package/dist/skills-catalog.js +69 -0
  85. package/dist/skills-catalog.js.map +1 -1
  86. package/dist/sonar-commands.d.ts +2 -0
  87. package/dist/sonar-commands.js +56 -0
  88. package/dist/sonar-commands.js.map +1 -0
  89. package/dist/sonar-insights.d.ts +63 -0
  90. package/dist/sonar-insights.js +144 -0
  91. package/dist/sonar-insights.js.map +1 -0
  92. package/dist/sonar-provider.d.ts +12 -0
  93. package/dist/sonar-provider.js +54 -0
  94. package/dist/sonar-provider.js.map +1 -0
  95. package/dist/telemetry-redaction.js +7 -4
  96. package/dist/telemetry-redaction.js.map +1 -1
  97. package/dist/tracker-adapters.js +7 -6
  98. package/dist/tracker-adapters.js.map +1 -1
  99. package/dist/types/model-config.d.ts +3 -0
  100. package/dist/types/runtime.d.ts +35 -0
  101. package/dist/types/workflow-run.d.ts +5 -2
  102. package/dist/types.d.ts +2 -1
  103. package/dist/types.js.map +1 -1
  104. package/dist/upgrade-commands.js +1 -11
  105. package/dist/upgrade-commands.js.map +1 -1
  106. package/dist/web-api-read-routes.js +19 -10
  107. package/dist/web-api-read-routes.js.map +1 -1
  108. package/dist/web-api.js +8 -6
  109. package/dist/web-api.js.map +1 -1
  110. package/dist/web-console/assets/index-CgSKcay8.js +11 -0
  111. package/dist/web-console/index.html +1 -1
  112. package/dist/workflow-markdown.d.ts +2 -1
  113. package/dist/workflow-markdown.js +11 -0
  114. package/dist/workflow-markdown.js.map +1 -1
  115. package/dist/workflow-run-commands.js +37 -2
  116. package/dist/workflow-run-commands.js.map +1 -1
  117. package/dist/workflow-services.d.ts +1 -0
  118. package/dist/workflow-services.js +67 -6
  119. package/dist/workflow-services.js.map +1 -1
  120. package/dist/workflow-task-service.js +11 -3
  121. package/dist/workflow-task-service.js.map +1 -1
  122. package/dist/workspace-init-artifacts.d.ts +8 -0
  123. package/dist/workspace-init-artifacts.js +53 -0
  124. package/dist/workspace-init-artifacts.js.map +1 -0
  125. package/dist/workspace-runtime-bootstrap.d.ts +10 -0
  126. package/dist/workspace-runtime-bootstrap.js +59 -0
  127. package/dist/workspace-runtime-bootstrap.js.map +1 -0
  128. package/dist/workspace.js +6 -107
  129. package/dist/workspace.js.map +1 -1
  130. package/docs/audio-video-transcription-skill.md +58 -0
  131. package/docs/autonomous-workflow.md +7 -0
  132. package/docs/command-contracts.md +11 -0
  133. package/docs/core-command-surface.md +6 -0
  134. package/docs/e2e-test-batteries.md +95 -0
  135. package/docs/generated-artifact-api-catalog.md +366 -0
  136. package/docs/release-test-matrix.md +16 -5
  137. package/docs/runtime-adapters.md +38 -1
  138. package/docs/site-manifest.json +3 -0
  139. package/docs/sonar-quality-gates.md +79 -5
  140. package/package.json +2 -1
  141. package/skills/audio-video-transcription/SKILL.md +129 -0
  142. package/skills/audio-video-transcription/manifest.json +61 -0
  143. package/dist/web-console/assets/index-BNESIVvk.js +0 -11
package/dist/workspace.js CHANGED
@@ -7,8 +7,9 @@ import { defaultSourceOfTruthCatalog } from "./knowledge-base.js";
7
7
  import { initPhasePlaybooks } from "./phase-playbooks.js";
8
8
  import { DEFAULT_ACTION_POLICY } from "./policy-defaults.js";
9
9
  import { initPromptRegistry, PROMPT_REGISTRY_DIR } from "./prompt-registry.js";
10
- import { getRuntimeAdapter } from "./runtime-adapters.js";
11
- import { renderRuntimeBootstrap, upsertRuntimeBootstrapBlock, } from "./runtime-bootstrap.js";
10
+ import { resolveInitRuntimeBootstrapTargets } from "./runtime-bootstrap-targets.js";
11
+ import { existingInitArtifacts, initGeneratedArtifacts, } from "./workspace-init-artifacts.js";
12
+ import { initAdvisoryRuntimeBootstrapFiles, initRuntimeBootstrapFiles, } from "./workspace-runtime-bootstrap.js";
12
13
  import { classifyWorkspace } from "./workspace-classification.js";
13
14
  import { appendJsonLine, ensureDir, exists, readJson, resolveWorkflowPath, writeJson, } from "./fs-utils.js";
14
15
  import { validateRoles, validateTasks } from "./validation.js";
@@ -18,7 +19,8 @@ export function workflowRoot(root = process.cwd()) {
18
19
  export async function inspectInitWorkspace({ root = process.cwd(), force = false, advisory = false, bootstrapTargetFile, runtimeTargets, } = {}) {
19
20
  const classification = await classifyWorkspace({ root, advisory });
20
21
  const workflowPath = workflowRoot(root);
21
- const generatedArtifacts = initGeneratedArtifacts({
22
+ const generatedArtifacts = await initGeneratedArtifacts({
23
+ root,
22
24
  advisory,
23
25
  ...(bootstrapTargetFile ? { bootstrapTargetFile } : {}),
24
26
  ...(runtimeTargets ? { runtimeTargets } : {}),
@@ -67,7 +69,7 @@ export async function initWorkspace({ root = process.cwd(), force = false, advis
67
69
  ...(bootstrapTargetFile ? { bootstrapTargetFile } : {}),
68
70
  ...(runtimeTargets ? { runtimeTargets } : {}),
69
71
  })
70
- : await initRuntimeBootstrapFiles(root, initBootstrapTargets(runtimeTargets));
72
+ : await initRuntimeBootstrapFiles(root, await resolveInitRuntimeBootstrapTargets({ root, runtimeTargets }));
71
73
  const advisoryArtifacts = advisory
72
74
  ? await writeAdvisoryArtifacts({ root, classification })
73
75
  : undefined;
@@ -96,46 +98,6 @@ export async function initWorkspace({ root = process.cwd(), force = false, advis
96
98
  });
97
99
  return base;
98
100
  }
99
- function initGeneratedArtifacts({ advisory, bootstrapTargetFile, runtimeTargets, }) {
100
- const workflowArtifacts = [
101
- WORKFLOW_DIR,
102
- ...DIRECTORIES.map((directory) => workflowArtifact(directory)),
103
- ...Object.values(FILES).map((file) => workflowArtifact(file)),
104
- ];
105
- const promptArtifacts = advisory ? [] : [PROMPT_REGISTRY_DIR];
106
- const advisoryArtifacts = advisory
107
- ? [
108
- workflowArtifact("advisory", "README.md"),
109
- workflowArtifact("advisory", "role-guides.md"),
110
- workflowArtifact("advisory", "decisions.md"),
111
- workflowArtifact("advisory", "conversion.md"),
112
- workflowArtifact("advisory", "project-task.json"),
113
- ]
114
- : [];
115
- const runtimeFiles = advisory
116
- ? [
117
- ...(bootstrapTargetFile ? [bootstrapTargetFile] : []),
118
- ...initBootstrapTargets(runtimeTargets, false).map((item) => item.file),
119
- ]
120
- : initBootstrapTargets(runtimeTargets).map((item) => item.file);
121
- return [
122
- ...new Set([
123
- ...workflowArtifacts,
124
- ...promptArtifacts,
125
- ...advisoryArtifacts,
126
- ...runtimeFiles,
127
- ]),
128
- ];
129
- }
130
- async function existingInitArtifacts(root, artifacts) {
131
- const existing = [];
132
- for (const artifact of artifacts) {
133
- if (await exists(path.join(root, artifact))) {
134
- existing.push(artifact);
135
- }
136
- }
137
- return existing;
138
- }
139
101
  function assertInitAllowed(classification, confirmUnknown) {
140
102
  if (classification.writePolicy === "blocked") {
141
103
  throw new Error(`workspace is unsafe for init: ${classification.reasons.join(", ")}. ${classification.recommendedAction}`);
@@ -144,69 +106,6 @@ function assertInitAllowed(classification, confirmUnknown) {
144
106
  throw new Error(`workspace requires explicit confirmation: ${classification.reasons.join(", ")}. ${classification.recommendedAction}`);
145
107
  }
146
108
  }
147
- async function initAdvisoryRuntimeBootstrapFile(root, bootstrapTargetFile) {
148
- const target = targetFromBootstrapFile(bootstrapTargetFile);
149
- return initRuntimeBootstrapFiles(root, [
150
- { file: bootstrapTargetFile, target },
151
- ]);
152
- }
153
- async function initAdvisoryRuntimeBootstrapFiles({ root, bootstrapTargetFile, runtimeTargets, }) {
154
- const targets = initBootstrapTargets(runtimeTargets, false);
155
- if (bootstrapTargetFile) {
156
- return [
157
- ...(await initAdvisoryRuntimeBootstrapFile(root, bootstrapTargetFile)),
158
- ...(await initRuntimeBootstrapFiles(root, targets)),
159
- ];
160
- }
161
- return initRuntimeBootstrapFiles(root, targets);
162
- }
163
- async function initRuntimeBootstrapFiles(root, targets = [
164
- { file: "ORCHESTRA.md", target: "generic" },
165
- { file: "AGENTS.md", target: "codex" },
166
- ]) {
167
- const changed = [];
168
- for (const item of targets) {
169
- const filePath = path.join(root, item.file);
170
- const existing = await readFile(filePath, "utf8").catch(() => "");
171
- const result = upsertRuntimeBootstrapBlock(existing, renderRuntimeBootstrap(item.target));
172
- if (result.changed && !result.drift) {
173
- await ensureDir(path.dirname(filePath));
174
- await writeFile(filePath, result.content, "utf8");
175
- changed.push(item.file);
176
- }
177
- }
178
- return changed;
179
- }
180
- function initBootstrapTargets(runtimeTargets, useProjectDefaults = true) {
181
- if (!runtimeTargets || runtimeTargets.length === 0) {
182
- return useProjectDefaults
183
- ? [
184
- { file: "ORCHESTRA.md", target: "generic" },
185
- { file: "AGENTS.md", target: "codex" },
186
- ]
187
- : [];
188
- }
189
- return runtimeTargets.flatMap((target) => getRuntimeAdapter(target).defaultInstructionFiles.map((file) => ({
190
- file,
191
- target,
192
- })));
193
- }
194
- function targetFromBootstrapFile(filePath) {
195
- const baseName = path.basename(filePath).toLowerCase();
196
- if (baseName === "claude.md") {
197
- return "claude";
198
- }
199
- if (baseName.includes("cursor")) {
200
- return "cursor";
201
- }
202
- if (baseName.includes("windsurf")) {
203
- return "windsurf";
204
- }
205
- if (baseName === "agents.md") {
206
- return "codex";
207
- }
208
- return "generic";
209
- }
210
109
  export async function loadWorkspace(root = process.cwd()) {
211
110
  const base = workflowRoot(root);
212
111
  if (!(await exists(base))) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EACL,WAAW,EACX,KAAK,EACL,YAAY,EACZ,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACL,cAAc,EACd,SAAS,EACT,MAAM,EACN,QAAQ,EACR,mBAAmB,EACnB,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAY/D,MAAM,UAAU,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACvC,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,KAAK,GAAG,KAAK,EACb,QAAQ,GAAG,KAAK,EAChB,mBAAmB,EACnB,cAAc,MAOZ,EAAE;IACJ,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC;QACtD,IAAI;QACJ,QAAQ;QACR,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,YAAY,EAAE,YAAY;QAC1B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACvC,KAAK;QACL,cAAc,EAAE,MAAM,MAAM,CAAC,YAAY,CAAC;QAC1C,iBAAiB,EAAE,MAAM,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,CAAC;QACxE,kBAAkB;QAClB,uBAAuB,EAAE,cAAc;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAClC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EACpB,KAAK,GAAG,KAAK,EACb,QAAQ,GAAG,KAAK,EAChB,cAAc,GAAG,KAAK,EACtB,mBAAmB,EACnB,cAAc,MAQZ,EAAE;IACJ,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,GAAG,YAAY,oLAAoL,CACpM,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QAC7C,GAAG,aAAa;QAChB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;QACvC,uBAAuB,EAAE,cAAc;KACxC,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACtE,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,EACpC,2BAA2B,EAAE,CAC9B,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,QAAQ;QAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;QACrC,CAAC,CAAC,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,QAAQ;QAC/B,CAAC,CAAC,MAAM,iCAAiC,CAAC;YACtC,IAAI;YACJ,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC;QACJ,CAAC,CAAC,MAAM,yBAAyB,CAC7B,IAAI,EACJ,MAAM,kCAAkC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CACnE,CAAC;IACN,MAAM,iBAAiB,GAAG,QAAQ;QAChC,CAAC,CAAC,MAAM,sBAAsB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QACxD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,WAAW,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,QAAQ;YACf,CAAC,CAAC,+CAA+C;YACjD,CAAC,CAAC,sCAAsC;QAC1C,SAAS,EAAE;YACT,YAAY;YACZ,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;YAC1C,GAAG,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC;YACnC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC;YACrC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC;YACpC,GAAG,cAAc;SAClB;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACvC,cAAc;YACd,cAAc;YACd,gBAAgB;YAChB,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,uBAAuB,EAAE,cAAc;SACxC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,cAAuC,EACvC,cAAuB;IAEvB,IAAI,cAAc,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,iCAAiC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,iBAAiB,EAAE,CAC1G,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,CAAC,WAAW,KAAK,kBAAkB,IAAI,CAAC,cAAc,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,6CAA6C,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,iBAAiB,EAAE,CACtH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IACtD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,GAAG,YAAY,4CAA4C,CAC5D,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,qBAAqB,CACjC,MAAM,QAAQ,CAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CACzD,CAAC;IACF,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAc,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,GAAG,IAAI;QACP,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM;KAChE,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAY,EACZ,KAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG;QACZ,EAAE,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACzD,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,QAAQ,EAAE,EAAE;QACZ,GAAG,KAAK;QACR,SAAS;KACV,CAAC;IACF,MAAM,cAAc,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,OAAe;IAEf,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,OAAO,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,QAAkB;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,QAAQ,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,58 @@
1
+ # Audio/Video Transcription Skill
2
+
3
+ Open Orchestra can treat recordings as workflow evidence through the
4
+ `audio-video-transcription` skill. The skill is loaded only when task text,
5
+ risks, evidence, or runtime prompts mention transcription, audio, video,
6
+ recordings, interviews, sprint reviews, support calls, subtitles, VTT, or SRT.
7
+
8
+ ## Privacy Defaults
9
+
10
+ - Media is sensitive by default.
11
+ - Local/offline transcription is the default path when an approved local engine
12
+ is available.
13
+ - External transcription providers require explicit policy opt-in before media
14
+ or raw transcript text leaves the workspace.
15
+ - Transcript artifacts must redact secrets, tokens, credentials, configured PII,
16
+ and regulated data markers before persistence.
17
+ - Regulated contexts should record consent and retention notes before release.
18
+
19
+ ## Evidence Contract
20
+
21
+ Every transcript evidence artifact should include:
22
+
23
+ - task id and actor;
24
+ - workflow-local source artifact or approved evidence reference;
25
+ - source hash;
26
+ - duration and language when available;
27
+ - engine/provider/model;
28
+ - timestamp;
29
+ - consent and retention notes when provided;
30
+ - redaction policy;
31
+ - acceptance-criteria mapping with timestamp ranges;
32
+ - decisions, risks, defects, action items, unresolved questions, and lesson
33
+ candidates.
34
+
35
+ Preferred outputs are Markdown for human review and JSON for tooling. VTT and
36
+ SRT are appropriate only when timestamp confidence is good enough for reviewers
37
+ to navigate the media.
38
+
39
+ ## Failure Handling
40
+
41
+ The skill should fail closed or produce degraded evidence for missing local
42
+ engines, unsupported codecs, oversized media, unreadable paths, policy-blocked
43
+ providers, redaction failures, partial transcripts, and missing regulated
44
+ consent data.
45
+
46
+ ## Example Task Signals
47
+
48
+ ```bash
49
+ orchestra task add \
50
+ --id QA-TRANSCRIPT-001 \
51
+ --title "Transcribe sprint review demo recording into QA evidence" \
52
+ --owner qa \
53
+ --paths ".agent-workflow/evidence/demo.mp4,docs/evidence/transcripts" \
54
+ --acceptance "recording transcript maps acceptance criteria to timestamps" \
55
+ --risks "privacy,security,governance,release"
56
+
57
+ orchestra skills plan --task QA-TRANSCRIPT-001
58
+ ```
@@ -128,6 +128,13 @@ after active delegation sessions complete or close. This prevents a parent
128
128
  agent from launching more subagents than the local runtime or SaaS tenant can
129
129
  handle.
130
130
 
131
+ Detached phase execution is full async. The workflow records the spawn request
132
+ and session metadata, then returns control to the parent agent. The parent can
133
+ continue conversation or other commands while child sessions run. Session
134
+ completion is reconciled through lifecycle events, runtime notifications, or an
135
+ explicit later `runtime sessions` check. Waiting is only appropriate when the
136
+ next parent action is truly blocked by that specific child result.
137
+
131
138
  Phase executor provenance is written to `.agent-workflow/workflow-runs.jsonl`
132
139
  and into handoff artifacts. It includes phase, role, runtime, executor type,
133
140
  delegation packet artifact when rendered, session id when known, fallback
@@ -37,3 +37,14 @@ Config migration is exposed as a public contract through
37
37
 
38
38
  Command-specific schemas can replace the generic reference when a command output
39
39
  is ready to be locked more tightly.
40
+
41
+ ## Generated Artifact APIs
42
+
43
+ Open Orchestra keeps generated artifact operations user-facing through
44
+ `orchestra init` and `orchestra refresh`. Lower-level commands such as
45
+ `runtime bootstrap`, `instructions block`, `protocol block`, `skills render`,
46
+ `workflow render`, and `playbooks scaffold` remain available as advanced APIs
47
+ for tests, integrations, and troubleshooting.
48
+
49
+ See [generated-artifact-api-catalog.md](generated-artifact-api-catalog.md) for
50
+ API tags, examples, representative JSON payloads, and safety semantics.
@@ -102,6 +102,12 @@ unless a specific workflow needs them.
102
102
  - Instruction management: `orchestra instructions apply`,
103
103
  `orchestra instructions block`, `orchestra instructions imports`,
104
104
  `orchestra instructions stale`.
105
+ - Generated artifact APIs: `orchestra runtime bootstrap`,
106
+ `orchestra protocol block`, `orchestra skills render`,
107
+ `orchestra workflow render`, and `orchestra playbooks scaffold`. Keep normal
108
+ user guidance centered on `orchestra init` and `orchestra refresh`; use
109
+ [generated-artifact-api-catalog.md](generated-artifact-api-catalog.md) for API
110
+ examples.
105
111
  - MCP OAuth proxy: `orchestra mcp oauth-proxy evaluate`,
106
112
  `orchestra mcp oauth-proxy start`, `orchestra mcp oauth-proxy token`.
107
113
  - Release mechanics: `orchestra release tag`, `orchestra release evidence`.
@@ -0,0 +1,95 @@
1
+ # End-to-End Test Batteries
2
+
3
+ Open Orchestra needs E2E coverage that proves installed-user journeys, browser
4
+ journeys, runtime delegation, and release gates work together. Unit tests can
5
+ prove helpers; E2E batteries must prove observable behavior from the public
6
+ entry points a user or CI runner actually executes.
7
+
8
+ ## Policy
9
+
10
+ - Every E2E scenario must run against an isolated temporary workspace unless it
11
+ is explicitly validating this repository's site or web console.
12
+ - Tests must validate command output, exit code, JSON contracts, filesystem
13
+ artifacts, workflow events, and release-readiness effects when applicable.
14
+ - Browser tests must validate visible UI state, persisted API effects, keyboard
15
+ or responsive behavior when relevant, and evidence artifacts for user-facing
16
+ flows.
17
+ - External provider, GitHub, Sonar, or network-dependent paths must be opt-in
18
+ and must report skipped or deferred evidence when offline.
19
+ - A release can ship only when P0 batteries pass or a release-manager accepted
20
+ risk records the unavailable environment and compensating evidence.
21
+
22
+ ## P0 Release-Blocking Batteries
23
+
24
+ | Battery | Scope | Command | Minimum Assertions | Evidence |
25
+ | --- | --- | --- | --- | --- |
26
+ | Source quality | Static checks, build, unit tests, workflow validation, secret scan, security audit | `npm run precommit` | exit code 0, no leaks, no audit blockers, workflow valid | command log |
27
+ | Local CLI onboarding | Current source CLI in `/tmp` workspaces | `ORCHESTRA_NODE_SCRIPT=$PWD/bin/orchestra.js npm run test:e2e:init` | `--version`, `init`, `status`, `validate`, first-use task, handoff, evidence, release readiness | stdout/stderr, JSON output, filesystem assertions |
28
+ | Installed CLI onboarding | Installed or packaged CLI in `/tmp` workspaces | `npm run test:e2e:init` after installing the candidate package | same assertions as local CLI onboarding, proving the packaged binary matches source behavior | stdout/stderr, JSON output, filesystem assertions, package version |
29
+ | Browser console | Web console task, cost, provider, delegation, recovery, evidence, workflow, accessibility, artifacts | `npm run test:e2e` | visible state, API persistence, evidence attachment, lifecycle transitions, responsive/keyboard behavior | Playwright report, screenshots/traces on failure |
30
+ | Public site | Documentation/site navigation, docs catalog, architecture viewer, mobile fit | `npm run test:e2e` | navigation order, local docs catalog search, no raw GitHub redirect for docs, mobile content fit | Playwright report |
31
+ | Runtime manual queue | Manual runtime delegation in a `/tmp` workspace | `npm run test:e2e:runtime` | two active sessions, third manual `spawn-request` materializes `queued`, artifact includes lifecycle commands, `runtime sessions` lists queued session | stdout/stderr, JSON output, artifact content |
32
+ | Init refresh environments | Simulated Codex, Claude, Cursor, generic workspaces | `node --test e2e/init-refresh-environments.test.js` | missing runtime guidance files regenerate on `init --force`, user content is preserved, managed blocks are updated only inside managed ranges | filesystem diff assertions |
33
+ | Workflow lifecycle CLI | CLI workflow run, gate, resume, QA failback, release readiness | `node --test e2e/workflow-lifecycle-cli.test.js` | task phases create handoffs, blocked QA routes back, routine gate resumes immediately, release readiness maps acceptance to evidence | JSON output, events, handoffs |
34
+
35
+ ## P1 High-Risk Regression Batteries
36
+
37
+ | Battery | Scope | Command | Minimum Assertions | Evidence |
38
+ | --- | --- | --- | --- | --- |
39
+ | Multi-squad runtime | Parallel squad delegation with queue and threshold policy | `node --test e2e/runtime-multi-squad.test.js` | independent sessions, non-blocking parent, queued sessions do not fall back to parent, completion order reconciles | JSON output, lifecycle events |
40
+ | Acceptance evidence | CLI, API, browser, and deferred integration evidence | `node --test e2e/acceptance-evidence.test.js` | evidence maps to named acceptance criteria, deferred external validation requires owner and rationale | evidence artifacts |
41
+ | Recovery and repair | Interrupted runs, stale locks, failed provider phases | `node --test e2e/recovery-cli.test.js` plus browser recovery coverage | recovery detects issue, repair requires confirmation, repaired state is observable | JSON output, before/after state |
42
+ | Docs/site content source | Site content generated from docs and manifest | `npm run site:build && npm run test:e2e -- --grep docs` | docs render as human-friendly catalog, no markdown-only dead ends, search works | Playwright report |
43
+ | Security-sensitive operations | File paths, shell execution, web writes, secrets, telemetry redaction | `node --test e2e/security-boundaries.test.js` | path traversal blocked, unsafe writes rejected, secret-like data redacted, no raw stack traces | command/API evidence |
44
+
45
+ ## P2 Extended Confidence Batteries
46
+
47
+ | Battery | Scope | Command | Minimum Assertions | Evidence |
48
+ | --- | --- | --- | --- | --- |
49
+ | Tracker and GitHub sync | Issue import/export and close readiness | opt-in CI job with network credentials | labels, comments, close gate, release readiness, no secret exposure | sanitized logs |
50
+ | Sonar quality loop | Local or remote Sonar import and release gate mapping | configured Sonar workflow or local compose job | insights imported, release readiness reflects quality gate, unavailable token is explicit | artifact import report |
51
+ | Provider-backed delegation | OpenAI, Gemini, Ollama, Claude/Cursor runtime bridges | opt-in provider E2E | budget checks, rate-limit/backpressure, lifecycle events, no direct API when disallowed | redacted provider provenance |
52
+ | Package release dry run | npm package contents and release check | `npm pack --dry-run --json && orchestra release check --json` | generated/private state excluded, version/tag policy valid, release readiness complete | package list, release report |
53
+
54
+ ## Required `/tmp` Fixture Patterns
55
+
56
+ Each temporary-workspace E2E must create its own root with a deterministic
57
+ prefix and must cleanly assert the following when relevant:
58
+
59
+ - workspace classification before and after `init`;
60
+ - generated `.agent-workflow` state and target runtime guidance files;
61
+ - command JSON shape and human stdout where users rely on it;
62
+ - event records for task, estimate, workflow, handoff, evidence, review, and
63
+ runtime lifecycle;
64
+ - artifact contents for handoffs, evidence, spawn requests, and generated
65
+ prompts;
66
+ - release-readiness output before and after required evidence exists.
67
+
68
+ CLI E2E must run in two modes before release: source mode through
69
+ `ORCHESTRA_NODE_SCRIPT=$PWD/bin/orchestra.js`, and installed-package mode through
70
+ the candidate package binary. A pass in source mode and a fail in installed mode
71
+ means the implementation is correct locally but the installed binary is stale or
72
+ the packaging/install path is wrong.
73
+
74
+ ## Implementation Order
75
+
76
+ 1. Keep `e2e/runtime-manual-queue.test.js` release-blocking as runtime
77
+ delegation evolves.
78
+ 2. Add `e2e/init-refresh-environments.test.js` for Codex, Claude, Cursor, and
79
+ generic project simulations.
80
+ 3. Add `e2e/workflow-lifecycle-cli.test.js` for workflow run, gate, failback,
81
+ resume, and release readiness.
82
+ 4. Add `e2e/runtime-multi-squad.test.js` for async background squad behavior.
83
+ 5. Add focused security and acceptance-evidence E2E only where unit tests cannot
84
+ prove the user-visible contract.
85
+
86
+ ## Definition Of Done
87
+
88
+ An E2E battery is complete only when it has:
89
+
90
+ - isolated fixtures;
91
+ - acceptance criteria listed in the test;
92
+ - assertions for all criteria;
93
+ - failure output that names the broken user contract;
94
+ - evidence expectations documented in the test or matrix;
95
+ - CI placement documented as P0, P1, or P2.