@jterrats/open-orchestra 0.5.4 → 0.5.7
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/dist/assets/web-console.js +35 -5
- package/dist/autonomous-phase-lifecycle.js +3 -2
- package/dist/autonomous-phase-lifecycle.js.map +1 -1
- package/dist/autonomous-run-state.d.ts +4 -1
- package/dist/autonomous-run-state.js +8 -2
- package/dist/autonomous-run-state.js.map +1 -1
- package/dist/autonomous-run-store.d.ts +3 -1
- package/dist/autonomous-run-store.js +8 -1
- package/dist/autonomous-run-store.js.map +1 -1
- package/dist/autonomous-workflow-constants.js +5 -1
- package/dist/autonomous-workflow-constants.js.map +1 -1
- package/dist/benchmark.js +101 -9
- package/dist/benchmark.js.map +1 -1
- package/dist/cli.js +16 -1
- package/dist/cli.js.map +1 -1
- package/dist/collaboration-flows.js +5 -29
- package/dist/collaboration-flows.js.map +1 -1
- package/dist/command-manifest.js +7 -2
- package/dist/command-manifest.js.map +1 -1
- package/dist/commands.d.ts +5 -2
- package/dist/commands.js +64 -24
- package/dist/commands.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/cursor-canvas.d.ts +20 -0
- package/dist/cursor-canvas.js +119 -0
- package/dist/cursor-canvas.js.map +1 -0
- package/dist/defaults.d.ts +4 -0
- package/dist/defaults.js +4 -0
- package/dist/defaults.js.map +1 -1
- package/dist/delegation-decision.js +2 -10
- package/dist/delegation-decision.js.map +1 -1
- package/dist/doc-sync.d.ts +25 -0
- package/dist/doc-sync.js +79 -0
- package/dist/doc-sync.js.map +1 -0
- package/dist/gemini-provider.d.ts +3 -6
- package/dist/gemini-provider.js +14 -38
- package/dist/gemini-provider.js.map +1 -1
- package/dist/metrics-commands.js +16 -2
- package/dist/metrics-commands.js.map +1 -1
- package/dist/model-providers.d.ts +5 -12
- package/dist/model-providers.js +23 -64
- package/dist/model-providers.js.map +1 -1
- package/dist/network-policy.d.ts +2 -0
- package/dist/network-policy.js +6 -0
- package/dist/network-policy.js.map +1 -0
- package/dist/ollama-provider.d.ts +3 -6
- package/dist/ollama-provider.js +14 -38
- package/dist/ollama-provider.js.map +1 -1
- package/dist/package-update-check.d.ts +1 -0
- package/dist/package-update-check.js +4 -0
- package/dist/package-update-check.js.map +1 -1
- package/dist/phase-executor.js +305 -9
- package/dist/phase-executor.js.map +1 -1
- package/dist/phase-playbooks.d.ts +11 -0
- package/dist/phase-playbooks.js +200 -0
- package/dist/phase-playbooks.js.map +1 -0
- package/dist/planning-commands.js +18 -35
- package/dist/planning-commands.js.map +1 -1
- package/dist/policy-commands.d.ts +2 -0
- package/dist/policy-commands.js +29 -0
- package/dist/policy-commands.js.map +1 -0
- package/dist/policy-defaults.d.ts +2 -0
- package/dist/policy-defaults.js +42 -0
- package/dist/policy-defaults.js.map +1 -0
- package/dist/policy.d.ts +20 -0
- package/dist/policy.js +155 -0
- package/dist/policy.js.map +1 -0
- package/dist/prompt-registry-validation.d.ts +3 -0
- package/dist/prompt-registry-validation.js +24 -21
- package/dist/prompt-registry-validation.js.map +1 -1
- package/dist/provider-utils.d.ts +21 -0
- package/dist/provider-utils.js +45 -0
- package/dist/provider-utils.js.map +1 -0
- package/dist/refresh-generated.d.ts +23 -0
- package/dist/refresh-generated.js +103 -0
- package/dist/refresh-generated.js.map +1 -0
- package/dist/role-aliases.d.ts +2 -0
- package/dist/role-aliases.js +20 -0
- package/dist/role-aliases.js.map +1 -0
- package/dist/runtime-adapters.d.ts +2 -1
- package/dist/runtime-adapters.js +16 -0
- package/dist/runtime-adapters.js.map +1 -1
- package/dist/runtime-commands.js +8 -3
- package/dist/runtime-commands.js.map +1 -1
- package/dist/runtime-execution-adapters.js +40 -0
- package/dist/runtime-execution-adapters.js.map +1 -1
- package/dist/runtime-execution-renderer.d.ts +4 -3
- package/dist/runtime-execution-renderer.js +35 -9
- package/dist/runtime-execution-renderer.js.map +1 -1
- package/dist/runtime-execution.d.ts +6 -1
- package/dist/runtime-execution.js +43 -1
- package/dist/runtime-execution.js.map +1 -1
- package/dist/skills-catalog.js +1 -0
- package/dist/skills-catalog.js.map +1 -1
- package/dist/skills-commands.d.ts +1 -0
- package/dist/skills-commands.js +24 -0
- package/dist/skills-commands.js.map +1 -1
- package/dist/skills-planning.js +7 -18
- package/dist/skills-planning.js.map +1 -1
- package/dist/subagent-protocol.js +2 -13
- package/dist/subagent-protocol.js.map +1 -1
- package/dist/task-graph-commands.js +1 -11
- package/dist/task-graph-commands.js.map +1 -1
- package/dist/task-text.d.ts +8 -0
- package/dist/task-text.js +18 -0
- package/dist/task-text.js.map +1 -0
- package/dist/types/metrics.d.ts +2 -0
- package/dist/types/model-config.d.ts +18 -4
- package/dist/types/runtime.d.ts +27 -0
- package/dist/types/skills.d.ts +7 -0
- package/dist/types/tasks.d.ts +4 -0
- package/dist/types/workflow-run.d.ts +18 -0
- package/dist/types.d.ts +12 -4
- package/dist/types.js.map +1 -1
- package/dist/web-api-read-routes.js +14 -2
- package/dist/web-api-read-routes.js.map +1 -1
- package/dist/web-api.js +6 -0
- package/dist/web-api.js.map +1 -1
- package/dist/workflow-approval-service.js +11 -4
- package/dist/workflow-approval-service.js.map +1 -1
- package/dist/workflow-approval-utils.js +13 -3
- package/dist/workflow-approval-utils.js.map +1 -1
- package/dist/workflow-event-query.d.ts +2 -0
- package/dist/workflow-event-query.js +6 -0
- package/dist/workflow-event-query.js.map +1 -0
- package/dist/workflow-evidence-service.js +10 -8
- package/dist/workflow-evidence-service.js.map +1 -1
- package/dist/workflow-gates.d.ts +1 -0
- package/dist/workflow-gates.js +48 -11
- package/dist/workflow-gates.js.map +1 -1
- package/dist/workflow-markdown.d.ts +6 -0
- package/dist/workflow-markdown.js +25 -0
- package/dist/workflow-markdown.js.map +1 -0
- package/dist/workflow-phase-planner.d.ts +19 -0
- package/dist/workflow-phase-planner.js +133 -0
- package/dist/workflow-phase-planner.js.map +1 -0
- package/dist/workflow-run-commands.d.ts +1 -0
- package/dist/workflow-run-commands.js +266 -23
- package/dist/workflow-run-commands.js.map +1 -1
- package/dist/workflow-services.d.ts +6 -1
- package/dist/workflow-services.js +72 -26
- package/dist/workflow-services.js.map +1 -1
- package/dist/workflow-templates.d.ts +2 -1
- package/dist/workflow-templates.js +6 -16
- package/dist/workflow-templates.js.map +1 -1
- package/dist/workspace-validator.js +24 -2
- package/dist/workspace-validator.js.map +1 -1
- package/dist/workspace.js +6 -0
- package/dist/workspace.js.map +1 -1
- package/docs/autonomous-workflow.md +71 -2
- package/docs/benchmark.md +2 -2
- package/docs/core-command-surface.md +3 -0
- package/docs/orchestra-mvp.md +3 -0
- package/docs/runtime-adapters.md +21 -0
- package/docs/skill-loading-strategy.md +1 -0
- package/package.json +1 -1
- package/skills/doc-sync/SKILL.md +2 -0
package/dist/phase-executor.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import { readFile } from "node:fs/promises";
|
|
1
|
+
import { chmod, readFile } from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { ensureDir, resolveWorkflowPath } from "./fs-utils.js";
|
|
4
|
+
import { loadPhasePlaybook } from "./phase-playbooks.js";
|
|
5
|
+
import { markdownListOrNone } from "./workflow-markdown.js";
|
|
4
6
|
import { renderSkills } from "./skills.js";
|
|
5
7
|
import { appendEvent, readEvents, writeArtifact } from "./workspace.js";
|
|
8
|
+
import { checkArchitectSizing } from "./autonomous-phase-lifecycle.js";
|
|
6
9
|
import { checkUsageBudget, completeWithProviderFallback, getTaskContext, getWorkflowConfig, recordDecision, recordModelProvenance, } from "./workflow-services.js";
|
|
10
|
+
import { generatePlaywrightTestPlan } from "./workflow-summary-service.js";
|
|
7
11
|
const DEFAULT_ARCHITECT_SIZING = "m [3 points]";
|
|
12
|
+
const DEFAULT_ARCHITECT_SIZING_LABEL = "m";
|
|
13
|
+
const DEFAULT_ARCHITECT_POINTS = 3;
|
|
14
|
+
const DEFAULT_DEVELOPER_POINTS = 3;
|
|
8
15
|
export async function phaseExecutionMode(root, role) {
|
|
9
16
|
const routing = await phaseRouting(root, role);
|
|
10
17
|
return routing.provider === "none" ? "deterministic" : "llm";
|
|
@@ -16,6 +23,14 @@ export async function executePhaseWithLlm({ root, run, phase, phaseIndex, }) {
|
|
|
16
23
|
}
|
|
17
24
|
const routing = await phaseRouting(root, phase.role);
|
|
18
25
|
if (routing.provider === "none") {
|
|
26
|
+
const output = defaultStructuredOutput(phase);
|
|
27
|
+
await generateQaE2eArtifactsIfApplicable({ root, run, phase, output });
|
|
28
|
+
if (phase.role === "architect") {
|
|
29
|
+
await recordArchitectSizingIfMissing(root, run.taskId, output);
|
|
30
|
+
}
|
|
31
|
+
if (phase.role === "developer") {
|
|
32
|
+
await recordDeveloperPointsIfMissing(root, run.taskId, output);
|
|
33
|
+
}
|
|
19
34
|
return {
|
|
20
35
|
mode: "deterministic",
|
|
21
36
|
outcome: { kind: "done", notes: phase.summary },
|
|
@@ -31,6 +46,7 @@ export async function executePhaseWithLlm({ root, run, phase, phaseIndex, }) {
|
|
|
31
46
|
});
|
|
32
47
|
const response = result.response;
|
|
33
48
|
const output = parsePhaseOutput(response.content);
|
|
49
|
+
await generateQaE2eArtifactsIfApplicable({ root, run, phase, output });
|
|
34
50
|
const artifact = await writePhaseArtifact({
|
|
35
51
|
root,
|
|
36
52
|
run,
|
|
@@ -67,13 +83,17 @@ export async function executePhaseWithLlm({ root, run, phase, phaseIndex, }) {
|
|
|
67
83
|
},
|
|
68
84
|
});
|
|
69
85
|
if (phase.role === "architect") {
|
|
70
|
-
await
|
|
86
|
+
await recordArchitectSizingIfMissing(root, run.taskId, output);
|
|
87
|
+
}
|
|
88
|
+
if (phase.role === "developer") {
|
|
89
|
+
await recordDeveloperPointsIfMissing(root, run.taskId, output);
|
|
71
90
|
}
|
|
72
91
|
const outcome = phaseOutcome(phase, output);
|
|
73
92
|
return { mode: "llm", artifact, output, outcome };
|
|
74
93
|
}
|
|
75
94
|
export async function buildPhasePrompt({ root, run, phase, phaseIndex, }) {
|
|
76
95
|
const context = await getTaskContext(run.taskId, root);
|
|
96
|
+
const observations = observationDecisions(context.decisions);
|
|
77
97
|
const skills = await renderSkills({
|
|
78
98
|
target: "generic",
|
|
79
99
|
taskId: run.taskId,
|
|
@@ -81,11 +101,16 @@ export async function buildPhasePrompt({ root, run, phase, phaseIndex, }) {
|
|
|
81
101
|
root,
|
|
82
102
|
});
|
|
83
103
|
const priorHandoff = await latestHandoffContent(root, run.taskId);
|
|
104
|
+
const playbook = await loadPhasePlaybook(root, phase.phase);
|
|
84
105
|
const fakeResponse = defaultStructuredOutput(phase);
|
|
85
106
|
return {
|
|
86
107
|
system: [
|
|
87
108
|
`You are the ${phase.role} phase agent for Open Orchestra.`,
|
|
88
109
|
skills.content,
|
|
110
|
+
workflowRunModeProtocol(run.mode ?? "new", observations),
|
|
111
|
+
"Phase playbook:",
|
|
112
|
+
playbook.content,
|
|
113
|
+
...(playbook.warning ? [`Warning: ${playbook.warning}`] : []),
|
|
89
114
|
].join("\n\n"),
|
|
90
115
|
user: [
|
|
91
116
|
"Use the task context and prior handoff to produce structured phase output.",
|
|
@@ -93,6 +118,7 @@ export async function buildPhasePrompt({ root, run, phase, phaseIndex, }) {
|
|
|
93
118
|
`Phase index: ${phaseIndex}`,
|
|
94
119
|
`Phase: ${phase.phase}`,
|
|
95
120
|
`Role: ${phase.role}`,
|
|
121
|
+
`Workflow mode: ${run.mode ?? "new"}`,
|
|
96
122
|
"",
|
|
97
123
|
"Task context JSON:",
|
|
98
124
|
JSON.stringify(context, null, 2),
|
|
@@ -107,9 +133,49 @@ export async function buildPhasePrompt({ root, run, phase, phaseIndex, }) {
|
|
|
107
133
|
].join("\n"),
|
|
108
134
|
};
|
|
109
135
|
}
|
|
136
|
+
function workflowRunModeProtocol(mode, observations) {
|
|
137
|
+
if (mode === "redo") {
|
|
138
|
+
return [
|
|
139
|
+
"Workflow redo protocol:",
|
|
140
|
+
"- Treat every OBSERVATION as mandatory rework input.",
|
|
141
|
+
"- Phase output must address each observation with quote, accept/reject/defer, reasoning, and evidence.",
|
|
142
|
+
"- Accepted observations require corrected output; rejected or deferred observations require explicit rationale.",
|
|
143
|
+
"",
|
|
144
|
+
"Mandatory observations:",
|
|
145
|
+
observations.length > 0
|
|
146
|
+
? observations.map((item) => `- ${item}`).join("\n")
|
|
147
|
+
: "- None recorded.",
|
|
148
|
+
].join("\n");
|
|
149
|
+
}
|
|
150
|
+
if (mode === "sign-off") {
|
|
151
|
+
return [
|
|
152
|
+
"Workflow sign-off protocol:",
|
|
153
|
+
"- Validate prior output without silently clearing unresolved OBSERVATION items.",
|
|
154
|
+
"- If any observation remains unresolved, return verdict fail or include a blocking finding.",
|
|
155
|
+
"",
|
|
156
|
+
"Open observations:",
|
|
157
|
+
observations.length > 0
|
|
158
|
+
? observations.map((item) => `- ${item}`).join("\n")
|
|
159
|
+
: "- None recorded.",
|
|
160
|
+
].join("\n");
|
|
161
|
+
}
|
|
162
|
+
return "Workflow mode: new. Produce first-pass phase output against current context.";
|
|
163
|
+
}
|
|
164
|
+
function observationDecisions(decisions) {
|
|
165
|
+
return decisions
|
|
166
|
+
.map((decision) => ({
|
|
167
|
+
title: String(decision.metadata.title ?? decision.summary),
|
|
168
|
+
decision: String(decision.metadata.decision ?? ""),
|
|
169
|
+
}))
|
|
170
|
+
.filter((decision) => decision.title.startsWith("OBSERVATION:") ||
|
|
171
|
+
decision.decision.startsWith("OBSERVATION:"))
|
|
172
|
+
.map((decision) => decision.decision
|
|
173
|
+
? `${decision.title} — ${decision.decision}`
|
|
174
|
+
: decision.title);
|
|
175
|
+
}
|
|
110
176
|
export function parsePhaseOutput(content) {
|
|
111
177
|
const parsed = JSON.parse(extractJson(content));
|
|
112
|
-
|
|
178
|
+
const output = {
|
|
113
179
|
summary: stringOrDefault(parsed.summary, "Phase completed"),
|
|
114
180
|
notes: stringOrDefault(parsed.notes, parsed.summary ?? "Phase completed"),
|
|
115
181
|
verdict: parsed.verdict === "fail" ? "fail" : "pass",
|
|
@@ -117,16 +183,164 @@ export function parsePhaseOutput(content) {
|
|
|
117
183
|
? parsed.findings.map((finding) => String(finding))
|
|
118
184
|
: [],
|
|
119
185
|
decisions: Array.isArray(parsed.decisions)
|
|
120
|
-
? parsed.decisions
|
|
186
|
+
? parsed.decisions
|
|
187
|
+
.map((decision) => structuredItemToString(decision, "decision"))
|
|
188
|
+
.filter((decision) => decision.length > 0)
|
|
121
189
|
: [],
|
|
122
190
|
evidence: Array.isArray(parsed.evidence)
|
|
123
|
-
? parsed.evidence
|
|
191
|
+
? parsed.evidence
|
|
192
|
+
.map((item) => structuredItemToString(item, "evidence"))
|
|
193
|
+
.filter((item) => item.length > 0)
|
|
124
194
|
: [],
|
|
125
195
|
handoff: stringOrDefault(parsed.handoff, parsed.notes ?? "Phase handoff ready"),
|
|
126
|
-
sizing:
|
|
127
|
-
? parsed.sizing
|
|
128
|
-
: DEFAULT_ARCHITECT_SIZING,
|
|
196
|
+
sizing: normalizeArchitectSizing(parsed.sizing),
|
|
129
197
|
};
|
|
198
|
+
const architecturalConcerns = normalizeArchitecturalConcerns(parsed.architecturalConcerns);
|
|
199
|
+
if (architecturalConcerns !== undefined) {
|
|
200
|
+
output.architecturalConcerns = architecturalConcerns;
|
|
201
|
+
}
|
|
202
|
+
const developerPoints = normalizeDeveloperPoints(parsed.developerPoints);
|
|
203
|
+
if (developerPoints !== undefined) {
|
|
204
|
+
output.developerPoints = developerPoints;
|
|
205
|
+
}
|
|
206
|
+
return output;
|
|
207
|
+
}
|
|
208
|
+
async function generateQaE2eArtifactsIfApplicable({ root, run, phase, output, }) {
|
|
209
|
+
if (phase.phase !== "qa") {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
const context = await getTaskContext(run.taskId, root);
|
|
213
|
+
if (!needsExecutableE2eArtifacts(context)) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
const commands = await e2eCommandsForTask(root, context.task);
|
|
217
|
+
if (commands.length === 0) {
|
|
218
|
+
output.findings.push("No project E2E script was found, so QA could not generate an executable runner.");
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
const directory = path.join("runs", run.taskId, phase.phase);
|
|
222
|
+
await ensureDir(resolveWorkflowPath(root, directory));
|
|
223
|
+
const plan = await generatePlaywrightTestPlan(run.taskId, root);
|
|
224
|
+
const planArtifact = await writeArtifact(root, directory, `${run.id}-${phase.phase}-e2e-plan.md`, renderGeneratedE2ePlan(plan, commands));
|
|
225
|
+
const runnerArtifact = await writeArtifact(root, directory, `${run.id}-${phase.phase}-e2e.sh`, renderGeneratedE2eRunner(commands));
|
|
226
|
+
await chmod(path.join(root, runnerArtifact), 0o755);
|
|
227
|
+
output.evidence.push(`Generated E2E plan: ${planArtifact}`, `Generated executable E2E runner: ${runnerArtifact}`);
|
|
228
|
+
await appendEvent(root, {
|
|
229
|
+
type: "EVIDENCE_ADDED",
|
|
230
|
+
taskId: run.taskId,
|
|
231
|
+
actor: phase.role,
|
|
232
|
+
summary: "QA generated executable E2E artifacts",
|
|
233
|
+
artifacts: [planArtifact, runnerArtifact],
|
|
234
|
+
metadata: {
|
|
235
|
+
runId: run.id,
|
|
236
|
+
phase: phase.phase,
|
|
237
|
+
commands,
|
|
238
|
+
},
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
function needsExecutableE2eArtifacts(context) {
|
|
242
|
+
if (context.workflowTemplates.some((selection) => selection.template.id === "playwright-evidence")) {
|
|
243
|
+
return true;
|
|
244
|
+
}
|
|
245
|
+
const taskText = [
|
|
246
|
+
context.task.title,
|
|
247
|
+
context.task.goal,
|
|
248
|
+
...(context.task.acceptanceCriteria ?? []),
|
|
249
|
+
...(context.task.risks ?? []),
|
|
250
|
+
...(context.task.paths ?? []),
|
|
251
|
+
]
|
|
252
|
+
.join(" ")
|
|
253
|
+
.toLowerCase();
|
|
254
|
+
return /\b(e2e|end-to-end|playwright|browser|web|ui|site|cli)\b/.test(taskText);
|
|
255
|
+
}
|
|
256
|
+
async function e2eCommandsForTask(root, task) {
|
|
257
|
+
const scripts = await packageScripts(root);
|
|
258
|
+
const taskText = [
|
|
259
|
+
task.title,
|
|
260
|
+
task.goal,
|
|
261
|
+
...(task.acceptanceCriteria ?? []),
|
|
262
|
+
...(task.paths ?? []),
|
|
263
|
+
]
|
|
264
|
+
.join(" ")
|
|
265
|
+
.toLowerCase();
|
|
266
|
+
const commands = [];
|
|
267
|
+
if (scripts.has("test:e2e:init") &&
|
|
268
|
+
/\b(cli|init|onboarding)\b/.test(taskText)) {
|
|
269
|
+
commands.push("npm run test:e2e:init");
|
|
270
|
+
}
|
|
271
|
+
if (scripts.has("test:e2e") &&
|
|
272
|
+
/\b(e2e|end-to-end|playwright|browser|web|ui|site)\b/.test(taskText)) {
|
|
273
|
+
commands.push("npm run test:e2e");
|
|
274
|
+
}
|
|
275
|
+
if (commands.length === 0 && /\b(e2e|end-to-end)\b/.test(taskText)) {
|
|
276
|
+
for (const script of [...scripts].filter((name) => name.startsWith("test:e2e"))) {
|
|
277
|
+
commands.push(`npm run ${script}`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
return [...new Set(commands)];
|
|
281
|
+
}
|
|
282
|
+
async function packageScripts(root) {
|
|
283
|
+
try {
|
|
284
|
+
const pkg = JSON.parse(await readFile(path.join(root, "package.json"), "utf8"));
|
|
285
|
+
return new Set(Object.entries(pkg.scripts ?? {})
|
|
286
|
+
.filter(([, value]) => typeof value === "string")
|
|
287
|
+
.map(([name]) => name));
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
return new Set();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
function renderGeneratedE2ePlan(plan, commands) {
|
|
294
|
+
return [
|
|
295
|
+
`# Generated E2E Plan: ${plan.taskId}`,
|
|
296
|
+
"",
|
|
297
|
+
`- Title: ${plan.title}`,
|
|
298
|
+
`- Target user: ${plan.targetUser}`,
|
|
299
|
+
`- Executable runner: ./${plan.taskId}-qa-e2e.sh`,
|
|
300
|
+
"",
|
|
301
|
+
"## Commands",
|
|
302
|
+
...commands.map((command) => `- ${command}`),
|
|
303
|
+
"",
|
|
304
|
+
"## Scenarios",
|
|
305
|
+
...plan.scenarios.flatMap((scenario) => [
|
|
306
|
+
`### ${scenario.name}`,
|
|
307
|
+
`- Source: ${scenario.source}`,
|
|
308
|
+
`- Page object: ${scenario.pageObject}`,
|
|
309
|
+
`- Selectors: ${scenario.selectors.join("; ")}`,
|
|
310
|
+
`- Assertions: ${scenario.assertions.join("; ")}`,
|
|
311
|
+
`- Evidence: ${scenario.evidence.join(", ")}`,
|
|
312
|
+
"",
|
|
313
|
+
]),
|
|
314
|
+
"## Fixtures",
|
|
315
|
+
...markdownListOrNone(plan.fixtures),
|
|
316
|
+
"",
|
|
317
|
+
"## Notes",
|
|
318
|
+
...markdownListOrNone(plan.notes),
|
|
319
|
+
"",
|
|
320
|
+
].join("\n");
|
|
321
|
+
}
|
|
322
|
+
function renderGeneratedE2eRunner(commands) {
|
|
323
|
+
return [
|
|
324
|
+
"#!/usr/bin/env sh",
|
|
325
|
+
"set -eu",
|
|
326
|
+
"",
|
|
327
|
+
...commands.flatMap((command) => [`echo "+ ${command}"`, command, ""]),
|
|
328
|
+
].join("\n");
|
|
329
|
+
}
|
|
330
|
+
function structuredItemToString(value, fallbackKind) {
|
|
331
|
+
if (typeof value === "string") {
|
|
332
|
+
return value.trim();
|
|
333
|
+
}
|
|
334
|
+
if (isRecord(value)) {
|
|
335
|
+
const summary = stringOrDefault(value.summary, "");
|
|
336
|
+
const pathValue = stringOrDefault(value.path, "");
|
|
337
|
+
const kind = stringOrDefault(value.kind, fallbackKind);
|
|
338
|
+
if (summary || pathValue) {
|
|
339
|
+
return [kind, summary, pathValue].filter(Boolean).join(": ");
|
|
340
|
+
}
|
|
341
|
+
return JSON.stringify(value);
|
|
342
|
+
}
|
|
343
|
+
return String(value).trim();
|
|
130
344
|
}
|
|
131
345
|
async function phaseRouting(root, role) {
|
|
132
346
|
const config = await getWorkflowConfig(root);
|
|
@@ -141,7 +355,11 @@ function phaseOutcome(phase, output) {
|
|
|
141
355
|
}
|
|
142
356
|
return { kind: "done", notes: output.notes };
|
|
143
357
|
}
|
|
144
|
-
async function
|
|
358
|
+
async function recordArchitectSizingIfMissing(root, taskId, output) {
|
|
359
|
+
const existingSizing = await checkArchitectSizing(root, taskId);
|
|
360
|
+
if (existingSizing.found) {
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
145
363
|
await recordDecision({
|
|
146
364
|
task: taskId,
|
|
147
365
|
owner: "architect",
|
|
@@ -152,6 +370,74 @@ async function recordArchitectSizing(root, taskId, output) {
|
|
|
152
370
|
status: "accepted",
|
|
153
371
|
}, root);
|
|
154
372
|
}
|
|
373
|
+
function normalizeArchitectSizing(value) {
|
|
374
|
+
if (typeof value !== "string") {
|
|
375
|
+
return DEFAULT_ARCHITECT_SIZING;
|
|
376
|
+
}
|
|
377
|
+
const match = /^\s*(xs|s|m|l|xl)\b/i.exec(value);
|
|
378
|
+
if (!match) {
|
|
379
|
+
return DEFAULT_ARCHITECT_SIZING;
|
|
380
|
+
}
|
|
381
|
+
const label = match[1]?.toLowerCase();
|
|
382
|
+
const pointsMatch = /\[(\d+)\s*points?\]/i.exec(value);
|
|
383
|
+
const points = pointsMatch && Number.isFinite(Number(pointsMatch[1]))
|
|
384
|
+
? Number(pointsMatch[1])
|
|
385
|
+
: label === DEFAULT_ARCHITECT_SIZING_LABEL
|
|
386
|
+
? DEFAULT_ARCHITECT_POINTS
|
|
387
|
+
: undefined;
|
|
388
|
+
return points === undefined ? label : `${label} [${points} points]`;
|
|
389
|
+
}
|
|
390
|
+
async function recordDeveloperPointsIfMissing(root, taskId, output) {
|
|
391
|
+
const existingPoints = await checkDeveloperPoints(root, taskId);
|
|
392
|
+
if (existingPoints !== undefined) {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
const architectSizing = await checkArchitectSizing(root, taskId);
|
|
396
|
+
const points = output.developerPoints ??
|
|
397
|
+
(architectSizing.found ? architectSizing.points : undefined) ??
|
|
398
|
+
DEFAULT_DEVELOPER_POINTS;
|
|
399
|
+
await recordDecision({
|
|
400
|
+
task: taskId,
|
|
401
|
+
owner: "developer",
|
|
402
|
+
title: "Implementation story points",
|
|
403
|
+
context: output.summary,
|
|
404
|
+
decision: `${points} points`,
|
|
405
|
+
consequences: output.handoff,
|
|
406
|
+
status: "accepted",
|
|
407
|
+
}, root);
|
|
408
|
+
}
|
|
409
|
+
async function checkDeveloperPoints(root, taskId) {
|
|
410
|
+
const events = await readEvents(root);
|
|
411
|
+
for (const event of events) {
|
|
412
|
+
if (event.type === "DECISION_RECORDED" &&
|
|
413
|
+
event.taskId === taskId &&
|
|
414
|
+
event.actor === "developer" &&
|
|
415
|
+
typeof event.metadata.points === "number") {
|
|
416
|
+
return event.metadata.points;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
return undefined;
|
|
420
|
+
}
|
|
421
|
+
function normalizeDeveloperPoints(value) {
|
|
422
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0) {
|
|
423
|
+
return undefined;
|
|
424
|
+
}
|
|
425
|
+
return Math.round(value);
|
|
426
|
+
}
|
|
427
|
+
function normalizeArchitecturalConcerns(value) {
|
|
428
|
+
if (!isRecord(value)) {
|
|
429
|
+
return undefined;
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
inherited: stringArray(value.inherited),
|
|
433
|
+
selfImposed: stringArray(value.selfImposed),
|
|
434
|
+
};
|
|
435
|
+
}
|
|
436
|
+
function stringArray(value) {
|
|
437
|
+
return Array.isArray(value)
|
|
438
|
+
? value.map((item) => String(item).trim()).filter((item) => item.length > 0)
|
|
439
|
+
: [];
|
|
440
|
+
}
|
|
155
441
|
async function writePhaseArtifact({ root, run, phase, response, output, fallbackUsed, }) {
|
|
156
442
|
const directory = path.join("runs", run.taskId, phase.phase);
|
|
157
443
|
await ensureDir(resolveWorkflowPath(root, directory));
|
|
@@ -200,6 +486,13 @@ function defaultStructuredOutput(phase) {
|
|
|
200
486
|
if (phase.role === "architect") {
|
|
201
487
|
output.sizing = DEFAULT_ARCHITECT_SIZING;
|
|
202
488
|
}
|
|
489
|
+
if (phase.role === "developer") {
|
|
490
|
+
output.developerPoints = DEFAULT_DEVELOPER_POINTS;
|
|
491
|
+
output.architecturalConcerns = {
|
|
492
|
+
inherited: [],
|
|
493
|
+
selfImposed: [],
|
|
494
|
+
};
|
|
495
|
+
}
|
|
203
496
|
return output;
|
|
204
497
|
}
|
|
205
498
|
function extractJson(content) {
|
|
@@ -215,4 +508,7 @@ function extractJson(content) {
|
|
|
215
508
|
function stringOrDefault(value, fallback) {
|
|
216
509
|
return typeof value === "string" && value.trim() ? value : fallback;
|
|
217
510
|
}
|
|
511
|
+
function isRecord(value) {
|
|
512
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
513
|
+
}
|
|
218
514
|
//# sourceMappingURL=phase-executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase-executor.js","sourceRoot":"","sources":["../src/phase-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"phase-executor.js","sourceRoot":"","sources":["../src/phase-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PhasePlaybook } from "./types/skills.js";
|
|
2
|
+
export declare const DEFAULT_PLAYBOOKS_DIR = ".agent-workflow/playbooks";
|
|
3
|
+
export declare const DEFAULT_PHASE_PLAYBOOKS: Record<string, string>;
|
|
4
|
+
export declare function initPhasePlaybooks(root: string, options?: {
|
|
5
|
+
force?: boolean;
|
|
6
|
+
}): Promise<string[]>;
|
|
7
|
+
export declare function loadPhasePlaybook(root: string, phase: string): Promise<PhasePlaybook>;
|
|
8
|
+
export declare function loadPhasePlaybookForRole(root: string, role: string): Promise<PhasePlaybook | undefined>;
|
|
9
|
+
export declare function loadPhasePlaybooksForRoles(root: string, roles: string[]): Promise<Record<string, PhasePlaybook>>;
|
|
10
|
+
export declare function phaseForRole(role: string): string | undefined;
|
|
11
|
+
export declare function renderPhasePlaybookMarkdown(playbook: PhasePlaybook, headingLevel?: number): string;
|