@jterrats/open-orchestra 0.4.2-beta.1 → 0.5.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +5 -3
- package/README.md +29 -5
- package/dist/advisory-artifacts.d.ts +20 -0
- package/dist/advisory-artifacts.js +136 -0
- package/dist/advisory-artifacts.js.map +1 -0
- package/dist/assets/web-console.js +436 -4
- package/dist/cli.js +16 -117
- package/dist/cli.js.map +1 -1
- package/dist/command-manifest.d.ts +6 -0
- package/dist/command-manifest.js +141 -43
- package/dist/command-manifest.js.map +1 -1
- package/dist/command-utils.d.ts +5 -0
- package/dist/command-utils.js +23 -0
- package/dist/command-utils.js.map +1 -1
- package/dist/commands.d.ts +7 -42
- package/dist/commands.js +214 -1356
- package/dist/commands.js.map +1 -1
- package/dist/constants.js +3 -0
- package/dist/constants.js.map +1 -1
- package/dist/context-budget.d.ts +4 -0
- package/dist/context-budget.js +119 -0
- package/dist/context-budget.js.map +1 -0
- package/dist/delivery-commands.d.ts +10 -0
- package/dist/delivery-commands.js +152 -0
- package/dist/delivery-commands.js.map +1 -0
- package/dist/github.d.ts +50 -1
- package/dist/github.js +234 -0
- package/dist/github.js.map +1 -1
- package/dist/health-checks.d.ts +1 -0
- package/dist/health-checks.js +11 -1
- package/dist/health-checks.js.map +1 -1
- package/dist/health-commands.js +2 -0
- package/dist/health-commands.js.map +1 -1
- package/dist/mcp-oauth-proxy.d.ts +32 -0
- package/dist/mcp-oauth-proxy.js +120 -0
- package/dist/mcp-oauth-proxy.js.map +1 -1
- package/dist/memory.d.ts +2 -1
- package/dist/memory.js +71 -10
- package/dist/memory.js.map +1 -1
- package/dist/package-update-check.d.ts +5 -1
- package/dist/package-update-check.js +20 -8
- package/dist/package-update-check.js.map +1 -1
- package/dist/planning-commands.d.ts +14 -0
- package/dist/planning-commands.js +372 -0
- package/dist/planning-commands.js.map +1 -0
- package/dist/release-candidate.d.ts +2 -0
- package/dist/release-candidate.js +9 -14
- package/dist/release-candidate.js.map +1 -1
- package/dist/release-commands.d.ts +2 -0
- package/dist/release-commands.js +58 -6
- package/dist/release-commands.js.map +1 -1
- package/dist/release-readiness.d.ts +49 -0
- package/dist/release-readiness.js +172 -0
- package/dist/release-readiness.js.map +1 -0
- package/dist/runtime-commands.js +11 -4
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-execution-renderer.js +2 -0
- package/dist/runtime-execution-renderer.js.map +1 -1
- package/dist/runtime-execution.d.ts +4 -2
- package/dist/runtime-execution.js +11 -4
- package/dist/runtime-execution.js.map +1 -1
- package/dist/setup-agents-import.d.ts +42 -0
- package/dist/setup-agents-import.js +335 -0
- package/dist/setup-agents-import.js.map +1 -0
- package/dist/skills-catalog-service.d.ts +2 -0
- package/dist/skills-catalog-service.js +8 -0
- package/dist/skills-catalog-service.js.map +1 -0
- package/dist/skills-catalog.d.ts +2 -0
- package/dist/skills-catalog.js +389 -0
- package/dist/skills-catalog.js.map +1 -0
- package/dist/skills-commands.js +1 -11
- package/dist/skills-commands.js.map +1 -1
- package/dist/skills-events.d.ts +9 -0
- package/dist/skills-events.js +50 -0
- package/dist/skills-events.js.map +1 -0
- package/dist/skills-memory.d.ts +18 -0
- package/dist/skills-memory.js +127 -0
- package/dist/skills-memory.js.map +1 -0
- package/dist/skills-planning.d.ts +2 -0
- package/dist/skills-planning.js +87 -0
- package/dist/skills-planning.js.map +1 -0
- package/dist/skills-render.d.ts +14 -0
- package/dist/skills-render.js +83 -0
- package/dist/skills-render.js.map +1 -0
- package/dist/skills-validation.d.ts +2 -0
- package/dist/skills-validation.js +49 -0
- package/dist/skills-validation.js.map +1 -0
- package/dist/skills.d.ts +6 -42
- package/dist/skills.js +6 -773
- package/dist/skills.js.map +1 -1
- package/dist/task-graph-commands.d.ts +14 -0
- package/dist/task-graph-commands.js +367 -0
- package/dist/task-graph-commands.js.map +1 -0
- package/dist/tool-commands.js +8 -0
- package/dist/tool-commands.js.map +1 -1
- package/dist/types/context.d.ts +12 -0
- package/dist/types/context.js +2 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/metrics.d.ts +114 -0
- package/dist/types/metrics.js +2 -0
- package/dist/types/metrics.js.map +1 -0
- package/dist/types/model-config.d.ts +212 -0
- package/dist/types/model-config.js +2 -0
- package/dist/types/model-config.js.map +1 -0
- package/dist/types/runtime.d.ts +93 -0
- package/dist/types/runtime.js +2 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/skills.d.ts +147 -0
- package/dist/types/skills.js +2 -0
- package/dist/types/skills.js.map +1 -0
- package/dist/types/tasks.d.ts +171 -0
- package/dist/types/tasks.js +2 -0
- package/dist/types/tasks.js.map +1 -0
- package/dist/types/workflow-run.d.ts +79 -0
- package/dist/types/workflow-run.js +2 -0
- package/dist/types/workflow-run.js.map +1 -0
- package/dist/types.d.ts +13 -798
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/upgrade-commands.d.ts +2 -0
- package/dist/upgrade-commands.js +65 -0
- package/dist/upgrade-commands.js.map +1 -0
- package/dist/web-api-read-routes.d.ts +5 -0
- package/dist/web-api-read-routes.js +37 -0
- package/dist/web-api-read-routes.js.map +1 -0
- package/dist/web-api.d.ts +1 -3
- package/dist/web-api.js +145 -44
- package/dist/web-api.js.map +1 -1
- package/dist/web-console-sections.d.ts +2 -0
- package/dist/web-console-sections.js +7 -0
- package/dist/web-console-sections.js.map +1 -0
- package/dist/web-console.js +23 -3
- package/dist/web-console.js.map +1 -1
- package/dist/workflow-approval-service.d.ts +9 -0
- package/dist/workflow-approval-service.js +126 -0
- package/dist/workflow-approval-service.js.map +1 -0
- package/dist/workflow-approval-utils.d.ts +10 -0
- package/dist/workflow-approval-utils.js +82 -0
- package/dist/workflow-approval-utils.js.map +1 -0
- package/dist/workflow-budget-utils.d.ts +7 -0
- package/dist/workflow-budget-utils.js +96 -0
- package/dist/workflow-budget-utils.js.map +1 -0
- package/dist/workflow-evidence-service.d.ts +7 -0
- package/dist/workflow-evidence-service.js +100 -0
- package/dist/workflow-evidence-service.js.map +1 -0
- package/dist/workflow-run-commands.d.ts +8 -0
- package/dist/workflow-run-commands.js +479 -0
- package/dist/workflow-run-commands.js.map +1 -0
- package/dist/workflow-services.d.ts +8 -18
- package/dist/workflow-services.js +30 -481
- package/dist/workflow-services.js.map +1 -1
- package/dist/workflow-summary-service.d.ts +4 -0
- package/dist/workflow-summary-service.js +82 -0
- package/dist/workflow-summary-service.js.map +1 -0
- package/dist/workflow-templates.d.ts +1 -0
- package/dist/workflow-templates.js +1 -0
- package/dist/workflow-templates.js.map +1 -1
- package/dist/workspace.d.ts +18 -1
- package/dist/workspace.js +72 -4
- package/dist/workspace.js.map +1 -1
- package/docs/command-contracts.md +22 -0
- package/docs/mcp-oauth-proxy-evaluation.md +14 -0
- package/docs/orchestra-mvp.md +158 -114
- package/docs/package-naming.md +20 -0
- package/docs/persona-workflows.md +209 -0
- package/docs/runtime-adapters.md +19 -14
- package/docs/runtime-llm-flow.md +29 -28
- package/docs/setup-agents-bridge.md +61 -0
- package/docs/traceability-flow.md +89 -0
- package/package.json +9 -7
package/AGENTS.md
CHANGED
|
@@ -150,7 +150,7 @@
|
|
|
150
150
|
- Mark breaking changes with `!` and a `BREAKING CHANGE:` footer.
|
|
151
151
|
- Keep PRs <400 lines. Review your own diff before requesting review.
|
|
152
152
|
|
|
153
|
-
<!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="1" target="codex" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="
|
|
153
|
+
<!-- open-orchestra:start block-id="runtime-bootstrap" generator="open-orchestra runtime bootstrap" version="1" target="codex" source-manifest="open-orchestra command-manifest,runtime-bootstrap" content-sha256="411e2d184a03aafe61fc4b71d49011f83a4f94d33d3a64cc4cd590a979d07319" updated-at="2026-05-10T05:17:06.513Z" -->
|
|
154
154
|
# Open Orchestra Runtime Bootstrap
|
|
155
155
|
|
|
156
156
|
Runtime target: Codex. Reference Open Orchestra from AGENTS.md so local CLI work follows workflow gates.
|
|
@@ -210,9 +210,11 @@ orchestra benchmark --task <ID>
|
|
|
210
210
|
```
|
|
211
211
|
|
|
212
212
|
## Active Work
|
|
213
|
-
-
|
|
214
|
-
- Run `orchestra task list --json` and identify
|
|
213
|
+
- At session start, run `orchestra health --json` before implementation or file edits.
|
|
214
|
+
- Run `orchestra task list --json --status pending,blocked,in_progress` and identify resumable work before creating a new task.
|
|
215
215
|
- For the active task, run context, delegation, plan, skills, protocol, and workflow render commands.
|
|
216
|
+
- Run `orchestra validate --pre-run --task <ID> --json` before implementation; resolve missing estimate, workflow run, evidence, or review checks.
|
|
217
|
+
- If a user accepts a smaller/advisory path, record it with `orchestra validate --pre-run --task <ID> --bypass --bypass-rationale "..."`.
|
|
216
218
|
|
|
217
219
|
## Task Loop
|
|
218
220
|
- `orchestra health` - Check local tools and workflow readiness.
|
package/README.md
CHANGED
|
@@ -4,19 +4,43 @@ Open Orchestra is a local-first, provider-agnostic framework for governed multi-
|
|
|
4
4
|
|
|
5
5
|
It coordinates agents through task graphs, durable workflow files, handoffs, reviews, evidence, gates, locks, model routing, model provenance, budget controls, and an autonomous multi-phase workflow engine. The public CLI is `orchestra`.
|
|
6
6
|
|
|
7
|
+
Package naming: install `@jterrats/open-orchestra`; run the CLI as
|
|
8
|
+
`orchestra`. The shorter `@jterrats/orchestra` package is not the canonical
|
|
9
|
+
published install target.
|
|
10
|
+
|
|
7
11
|
## Quick Start
|
|
8
12
|
|
|
9
13
|
```bash
|
|
10
|
-
npm install
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
node bin/orchestra.js roles list --json
|
|
14
|
+
npm install -g @jterrats/open-orchestra
|
|
15
|
+
orchestra init
|
|
16
|
+
orchestra status
|
|
17
|
+
orchestra roles list --json
|
|
15
18
|
```
|
|
16
19
|
|
|
20
|
+
When developing Open Orchestra from this repository, use `npm install`,
|
|
21
|
+
`npm run build`, and `node bin/orchestra.js ...` to exercise the local source.
|
|
22
|
+
|
|
17
23
|
For Claude, Codex, Cursor, VS Code, Windsurf, and generic LLM usage, see
|
|
18
24
|
[docs/runtime-llm-flow.md](docs/runtime-llm-flow.md) and
|
|
19
25
|
[docs/runtime-adapters.md](docs/runtime-adapters.md).
|
|
26
|
+
To start by job-to-be-done, use the
|
|
27
|
+
[persona workflows guide](docs/persona-workflows.md) for PO refinement,
|
|
28
|
+
developer execution, QA validation, tech lead oversight, and release
|
|
29
|
+
management.
|
|
30
|
+
For package naming rules, see [docs/package-naming.md](docs/package-naming.md).
|
|
31
|
+
|
|
32
|
+
## Supported Platforms
|
|
33
|
+
|
|
34
|
+
Open Orchestra supports current Node.js LTS/runtime releases on macOS, Linux,
|
|
35
|
+
and Windows. Repository scripts avoid Unix-only shell requirements for the
|
|
36
|
+
core quality and workflow gates; `npm run validate:workflow` runs through a
|
|
37
|
+
Node helper so it works in Windows shells as well as POSIX shells. The CI
|
|
38
|
+
dogfood path validates installed-package init and workflow validation on
|
|
39
|
+
`ubuntu-latest`, `macos-latest`, and `windows-latest`.
|
|
40
|
+
|
|
41
|
+
Known limitations: publish/release automation may still use GitHub-hosted
|
|
42
|
+
Linux shell steps, but local development, validation, and installed CLI
|
|
43
|
+
dogfooding are expected to be cross-platform.
|
|
20
44
|
|
|
21
45
|
## Autonomous Workflow
|
|
22
46
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { WorkspaceClassification } from "./types.js";
|
|
2
|
+
export interface AdvisoryArtifactsResult {
|
|
3
|
+
files: string[];
|
|
4
|
+
projectTask: {
|
|
5
|
+
id: string;
|
|
6
|
+
title: string;
|
|
7
|
+
ownerRole: string;
|
|
8
|
+
goal: string;
|
|
9
|
+
scope: string;
|
|
10
|
+
acceptanceCriteria: string[];
|
|
11
|
+
assumptions: string[];
|
|
12
|
+
risks: string[];
|
|
13
|
+
paths: string[];
|
|
14
|
+
testStrategy: string;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export declare function writeAdvisoryArtifacts({ root, classification, }: {
|
|
18
|
+
root: string;
|
|
19
|
+
classification: WorkspaceClassification;
|
|
20
|
+
}): Promise<AdvisoryArtifactsResult>;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { WORKFLOW_DIR } from "./constants.js";
|
|
2
|
+
import { defaultRoles } from "./defaults.js";
|
|
3
|
+
import { writeArtifact } from "./workspace.js";
|
|
4
|
+
const ADVISORY_DIRECTORY = "advisory";
|
|
5
|
+
export async function writeAdvisoryArtifacts({ root, classification, }) {
|
|
6
|
+
const projectTask = advisoryProjectTask();
|
|
7
|
+
const files = [
|
|
8
|
+
await writeArtifact(root, ADVISORY_DIRECTORY, "README.md", renderAdvisoryReadme(classification)),
|
|
9
|
+
await writeArtifact(root, ADVISORY_DIRECTORY, "role-guides.md", renderRoleGuides(defaultRoles)),
|
|
10
|
+
await writeArtifact(root, ADVISORY_DIRECTORY, "decisions.md", renderPortableDecisions()),
|
|
11
|
+
await writeArtifact(root, ADVISORY_DIRECTORY, "conversion.md", renderConversionGuide()),
|
|
12
|
+
await writeArtifact(root, ADVISORY_DIRECTORY, "project-task.json", `${JSON.stringify(projectTask, null, 2)}\n`),
|
|
13
|
+
];
|
|
14
|
+
return { files, projectTask };
|
|
15
|
+
}
|
|
16
|
+
function advisoryProjectTask() {
|
|
17
|
+
return {
|
|
18
|
+
id: "ADVISORY-CONVERSION",
|
|
19
|
+
title: "Convert advisory findings into a project task",
|
|
20
|
+
ownerRole: "product_owner",
|
|
21
|
+
goal: "Convert advisory findings into a project delivery task",
|
|
22
|
+
scope: "Advisory findings, decisions, role guides, and conversion path",
|
|
23
|
+
acceptanceCriteria: [
|
|
24
|
+
"Target project is confirmed",
|
|
25
|
+
"Backlog item and scope are approved",
|
|
26
|
+
"Risks and assumptions are reviewed",
|
|
27
|
+
"Evidence from advisory artifacts is linked",
|
|
28
|
+
],
|
|
29
|
+
assumptions: ["Target project repository is confirmed before conversion."],
|
|
30
|
+
risks: ["Advisory findings may require project-owner validation."],
|
|
31
|
+
paths: [".agent-workflow/advisory"],
|
|
32
|
+
testStrategy: "Review advisory artifacts and attach project evidence.",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function renderAdvisoryReadme(classification) {
|
|
36
|
+
return `# Advisory Workspace
|
|
37
|
+
|
|
38
|
+
This workspace was initialized in advisory mode. Open Orchestra created workflow
|
|
39
|
+
state and portable guidance under \`${WORKFLOW_DIR}/advisory\` without writing
|
|
40
|
+
root instruction files.
|
|
41
|
+
|
|
42
|
+
## Use This For
|
|
43
|
+
|
|
44
|
+
- Product and technical discovery before choosing a target repository.
|
|
45
|
+
- Reviewing requirements, risks, acceptance criteria, and delivery evidence.
|
|
46
|
+
- Preparing a project task that can be copied into a real project workspace.
|
|
47
|
+
|
|
48
|
+
## Safe Next Steps
|
|
49
|
+
|
|
50
|
+
1. Refine findings in \`${WORKFLOW_DIR}/advisory/decisions.md\`.
|
|
51
|
+
2. Review role-specific responsibilities in \`${WORKFLOW_DIR}/advisory/role-guides.md\`.
|
|
52
|
+
3. Follow \`${WORKFLOW_DIR}/advisory/conversion.md\` after the target repo is confirmed.
|
|
53
|
+
4. Convert \`${WORKFLOW_DIR}/advisory/project-task.json\` with \`orchestra advisory convert --json\`.
|
|
54
|
+
|
|
55
|
+
## Classification
|
|
56
|
+
|
|
57
|
+
- Kind: \`${classification.kind}\`
|
|
58
|
+
- Write policy: \`${classification.writePolicy}\`
|
|
59
|
+
- Signals: ${classification.signals.map((signal) => `\`${signal}\``).join(", ")}
|
|
60
|
+
`;
|
|
61
|
+
}
|
|
62
|
+
function renderConversionGuide() {
|
|
63
|
+
return `# Advisory Conversion
|
|
64
|
+
|
|
65
|
+
Use this checklist after the target project repository is confirmed.
|
|
66
|
+
|
|
67
|
+
## Convert To A Task
|
|
68
|
+
|
|
69
|
+
\`\`\`sh
|
|
70
|
+
orchestra advisory convert --json
|
|
71
|
+
\`\`\`
|
|
72
|
+
|
|
73
|
+
Optional flags:
|
|
74
|
+
|
|
75
|
+
- \`--file <file>\` converts a different project-task JSON file.
|
|
76
|
+
- \`--id <id>\` overrides the advisory task ID.
|
|
77
|
+
- \`--backlog <url>\` links the converted task to an external backlog item.
|
|
78
|
+
- \`--target-dir <dir>\` writes the task into a specific project workspace.
|
|
79
|
+
|
|
80
|
+
## Verify
|
|
81
|
+
|
|
82
|
+
\`\`\`sh
|
|
83
|
+
orchestra status --json
|
|
84
|
+
orchestra health --json
|
|
85
|
+
\`\`\`
|
|
86
|
+
|
|
87
|
+
Attach the advisory README, decisions, role guides, and this conversion result as evidence on the project task.
|
|
88
|
+
`;
|
|
89
|
+
}
|
|
90
|
+
function renderRoleGuides(roles) {
|
|
91
|
+
const advisoryRoles = roles.filter((role) => [
|
|
92
|
+
"product_owner",
|
|
93
|
+
"analyst",
|
|
94
|
+
"architect",
|
|
95
|
+
"developer",
|
|
96
|
+
"qa",
|
|
97
|
+
"security",
|
|
98
|
+
"release_manager",
|
|
99
|
+
"technical_writer",
|
|
100
|
+
].includes(role.id));
|
|
101
|
+
return `# Advisory Role Guides
|
|
102
|
+
|
|
103
|
+
${advisoryRoles.map(renderRoleGuide).join("\n\n")}
|
|
104
|
+
`;
|
|
105
|
+
}
|
|
106
|
+
function renderRoleGuide(role) {
|
|
107
|
+
const activates = (role.activationCriteria ?? ["requested by workflow"])
|
|
108
|
+
.slice(0, 3)
|
|
109
|
+
.map((item) => `- ${item}`)
|
|
110
|
+
.join("\n");
|
|
111
|
+
return `## ${role.name}
|
|
112
|
+
|
|
113
|
+
Focus: ${role.description}
|
|
114
|
+
|
|
115
|
+
Activation:
|
|
116
|
+
${activates}
|
|
117
|
+
`;
|
|
118
|
+
}
|
|
119
|
+
function renderPortableDecisions() {
|
|
120
|
+
return `# Portable Advisory Decisions
|
|
121
|
+
|
|
122
|
+
Use this file for decisions that should survive the move from advisory mode to a
|
|
123
|
+
project workspace.
|
|
124
|
+
|
|
125
|
+
## Decision Template
|
|
126
|
+
|
|
127
|
+
- Title:
|
|
128
|
+
- Context:
|
|
129
|
+
- Decision:
|
|
130
|
+
- Consequences:
|
|
131
|
+
- Evidence:
|
|
132
|
+
- Owner:
|
|
133
|
+
- Status: proposed
|
|
134
|
+
`;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=advisory-artifacts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advisory-artifacts.js","sourceRoot":"","sources":["../src/advisory-artifacts.ts"],"names":[],"mappings":"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"}
|