@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.
Files changed (159) hide show
  1. package/dist/assets/web-console.js +35 -5
  2. package/dist/autonomous-phase-lifecycle.js +3 -2
  3. package/dist/autonomous-phase-lifecycle.js.map +1 -1
  4. package/dist/autonomous-run-state.d.ts +4 -1
  5. package/dist/autonomous-run-state.js +8 -2
  6. package/dist/autonomous-run-state.js.map +1 -1
  7. package/dist/autonomous-run-store.d.ts +3 -1
  8. package/dist/autonomous-run-store.js +8 -1
  9. package/dist/autonomous-run-store.js.map +1 -1
  10. package/dist/autonomous-workflow-constants.js +5 -1
  11. package/dist/autonomous-workflow-constants.js.map +1 -1
  12. package/dist/benchmark.js +101 -9
  13. package/dist/benchmark.js.map +1 -1
  14. package/dist/cli.js +16 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/collaboration-flows.js +5 -29
  17. package/dist/collaboration-flows.js.map +1 -1
  18. package/dist/command-manifest.js +7 -2
  19. package/dist/command-manifest.js.map +1 -1
  20. package/dist/commands.d.ts +5 -2
  21. package/dist/commands.js +64 -24
  22. package/dist/commands.js.map +1 -1
  23. package/dist/constants.d.ts +1 -0
  24. package/dist/constants.js +4 -0
  25. package/dist/constants.js.map +1 -1
  26. package/dist/cursor-canvas.d.ts +20 -0
  27. package/dist/cursor-canvas.js +119 -0
  28. package/dist/cursor-canvas.js.map +1 -0
  29. package/dist/defaults.d.ts +4 -0
  30. package/dist/defaults.js +4 -0
  31. package/dist/defaults.js.map +1 -1
  32. package/dist/delegation-decision.js +2 -10
  33. package/dist/delegation-decision.js.map +1 -1
  34. package/dist/doc-sync.d.ts +25 -0
  35. package/dist/doc-sync.js +79 -0
  36. package/dist/doc-sync.js.map +1 -0
  37. package/dist/gemini-provider.d.ts +3 -6
  38. package/dist/gemini-provider.js +14 -38
  39. package/dist/gemini-provider.js.map +1 -1
  40. package/dist/metrics-commands.js +16 -2
  41. package/dist/metrics-commands.js.map +1 -1
  42. package/dist/model-providers.d.ts +5 -12
  43. package/dist/model-providers.js +23 -64
  44. package/dist/model-providers.js.map +1 -1
  45. package/dist/network-policy.d.ts +2 -0
  46. package/dist/network-policy.js +6 -0
  47. package/dist/network-policy.js.map +1 -0
  48. package/dist/ollama-provider.d.ts +3 -6
  49. package/dist/ollama-provider.js +14 -38
  50. package/dist/ollama-provider.js.map +1 -1
  51. package/dist/package-update-check.d.ts +1 -0
  52. package/dist/package-update-check.js +4 -0
  53. package/dist/package-update-check.js.map +1 -1
  54. package/dist/phase-executor.js +305 -9
  55. package/dist/phase-executor.js.map +1 -1
  56. package/dist/phase-playbooks.d.ts +11 -0
  57. package/dist/phase-playbooks.js +200 -0
  58. package/dist/phase-playbooks.js.map +1 -0
  59. package/dist/planning-commands.js +18 -35
  60. package/dist/planning-commands.js.map +1 -1
  61. package/dist/policy-commands.d.ts +2 -0
  62. package/dist/policy-commands.js +29 -0
  63. package/dist/policy-commands.js.map +1 -0
  64. package/dist/policy-defaults.d.ts +2 -0
  65. package/dist/policy-defaults.js +42 -0
  66. package/dist/policy-defaults.js.map +1 -0
  67. package/dist/policy.d.ts +20 -0
  68. package/dist/policy.js +155 -0
  69. package/dist/policy.js.map +1 -0
  70. package/dist/prompt-registry-validation.d.ts +3 -0
  71. package/dist/prompt-registry-validation.js +24 -21
  72. package/dist/prompt-registry-validation.js.map +1 -1
  73. package/dist/provider-utils.d.ts +21 -0
  74. package/dist/provider-utils.js +45 -0
  75. package/dist/provider-utils.js.map +1 -0
  76. package/dist/refresh-generated.d.ts +23 -0
  77. package/dist/refresh-generated.js +103 -0
  78. package/dist/refresh-generated.js.map +1 -0
  79. package/dist/role-aliases.d.ts +2 -0
  80. package/dist/role-aliases.js +20 -0
  81. package/dist/role-aliases.js.map +1 -0
  82. package/dist/runtime-adapters.d.ts +2 -1
  83. package/dist/runtime-adapters.js +16 -0
  84. package/dist/runtime-adapters.js.map +1 -1
  85. package/dist/runtime-commands.js +8 -3
  86. package/dist/runtime-commands.js.map +1 -1
  87. package/dist/runtime-execution-adapters.js +40 -0
  88. package/dist/runtime-execution-adapters.js.map +1 -1
  89. package/dist/runtime-execution-renderer.d.ts +4 -3
  90. package/dist/runtime-execution-renderer.js +35 -9
  91. package/dist/runtime-execution-renderer.js.map +1 -1
  92. package/dist/runtime-execution.d.ts +6 -1
  93. package/dist/runtime-execution.js +43 -1
  94. package/dist/runtime-execution.js.map +1 -1
  95. package/dist/skills-catalog.js +1 -0
  96. package/dist/skills-catalog.js.map +1 -1
  97. package/dist/skills-commands.d.ts +1 -0
  98. package/dist/skills-commands.js +24 -0
  99. package/dist/skills-commands.js.map +1 -1
  100. package/dist/skills-planning.js +7 -18
  101. package/dist/skills-planning.js.map +1 -1
  102. package/dist/subagent-protocol.js +2 -13
  103. package/dist/subagent-protocol.js.map +1 -1
  104. package/dist/task-graph-commands.js +1 -11
  105. package/dist/task-graph-commands.js.map +1 -1
  106. package/dist/task-text.d.ts +8 -0
  107. package/dist/task-text.js +18 -0
  108. package/dist/task-text.js.map +1 -0
  109. package/dist/types/metrics.d.ts +2 -0
  110. package/dist/types/model-config.d.ts +18 -4
  111. package/dist/types/runtime.d.ts +27 -0
  112. package/dist/types/skills.d.ts +7 -0
  113. package/dist/types/tasks.d.ts +4 -0
  114. package/dist/types/workflow-run.d.ts +18 -0
  115. package/dist/types.d.ts +12 -4
  116. package/dist/types.js.map +1 -1
  117. package/dist/web-api-read-routes.js +14 -2
  118. package/dist/web-api-read-routes.js.map +1 -1
  119. package/dist/web-api.js +6 -0
  120. package/dist/web-api.js.map +1 -1
  121. package/dist/workflow-approval-service.js +11 -4
  122. package/dist/workflow-approval-service.js.map +1 -1
  123. package/dist/workflow-approval-utils.js +13 -3
  124. package/dist/workflow-approval-utils.js.map +1 -1
  125. package/dist/workflow-event-query.d.ts +2 -0
  126. package/dist/workflow-event-query.js +6 -0
  127. package/dist/workflow-event-query.js.map +1 -0
  128. package/dist/workflow-evidence-service.js +10 -8
  129. package/dist/workflow-evidence-service.js.map +1 -1
  130. package/dist/workflow-gates.d.ts +1 -0
  131. package/dist/workflow-gates.js +48 -11
  132. package/dist/workflow-gates.js.map +1 -1
  133. package/dist/workflow-markdown.d.ts +6 -0
  134. package/dist/workflow-markdown.js +25 -0
  135. package/dist/workflow-markdown.js.map +1 -0
  136. package/dist/workflow-phase-planner.d.ts +19 -0
  137. package/dist/workflow-phase-planner.js +133 -0
  138. package/dist/workflow-phase-planner.js.map +1 -0
  139. package/dist/workflow-run-commands.d.ts +1 -0
  140. package/dist/workflow-run-commands.js +266 -23
  141. package/dist/workflow-run-commands.js.map +1 -1
  142. package/dist/workflow-services.d.ts +6 -1
  143. package/dist/workflow-services.js +72 -26
  144. package/dist/workflow-services.js.map +1 -1
  145. package/dist/workflow-templates.d.ts +2 -1
  146. package/dist/workflow-templates.js +6 -16
  147. package/dist/workflow-templates.js.map +1 -1
  148. package/dist/workspace-validator.js +24 -2
  149. package/dist/workspace-validator.js.map +1 -1
  150. package/dist/workspace.js +6 -0
  151. package/dist/workspace.js.map +1 -1
  152. package/docs/autonomous-workflow.md +71 -2
  153. package/docs/benchmark.md +2 -2
  154. package/docs/core-command-surface.md +3 -0
  155. package/docs/orchestra-mvp.md +3 -0
  156. package/docs/runtime-adapters.md +21 -0
  157. package/docs/skill-loading-strategy.md +1 -0
  158. package/package.json +1 -1
  159. package/skills/doc-sync/SKILL.md +2 -0
@@ -7,6 +7,7 @@ import { assertProviderAllowed, assertVendorFallbackAllowed, createModelProvider
7
7
  import { appendEvent, loadWorkspace, readEvents, writeArtifact, } from "./workspace.js";
8
8
  import { validateReadiness } from "./validation.js";
9
9
  import { getWorkflowGate } from "./workflow-gates.js";
10
+ import { rolesForRiskAreas } from "./role-aliases.js";
10
11
  import { planSkillsForTask } from "./skills.js";
11
12
  import { getTelemetryConsent } from "./telemetry.js";
12
13
  import { latestDelegationDecision } from "./delegation-decision.js";
@@ -17,6 +18,7 @@ import { queryMemory, recordMemoryEvent } from "./memory.js";
17
18
  import { applyContextBudget, DEFAULT_CONTEXT_TOKEN_BUDGET, } from "./context-budget.js";
18
19
  import { selectWorkflowTemplates } from "./workflow-templates.js";
19
20
  import { findStoredApprovalForProposal } from "./workflow-approval-service.js";
21
+ import { listWorkflowEventsByType } from "./workflow-event-query.js";
20
22
  import { aggregateUsage, aggregateUsageBy, budgetEstimateWarningsForBudgets, budgetViolations, emptyUsageBreakdown, projectUsageCost, } from "./workflow-budget-utils.js";
21
23
  import { SIZING_LABELS } from "./types.js";
22
24
  export { addEvidence, addPlaywrightEvidence, listEvidence, listReviews, recordReview, } from "./workflow-evidence-service.js";
@@ -242,6 +244,8 @@ function applyTaskUpdate(next, current, input, changedFields) {
242
244
  setTaskField(next, current, "testStrategy", input.testStrategy, changedFields);
243
245
  setTaskField(next, current, "status", input.status, changedFields);
244
246
  setTaskField(next, current, "blockedReason", input.blockedReason, changedFields);
247
+ setTaskField(next, current, "claimedAt", input.claimedAt, changedFields);
248
+ setTaskField(next, current, "doneAt", input.doneAt, changedFields);
245
249
  appendTaskField(next, "acceptanceCriteria", input.acceptanceCriteria, changedFields);
246
250
  appendTaskField(next, "assumptions", input.assumptions, changedFields);
247
251
  appendTaskField(next, "risks", input.risks, changedFields);
@@ -586,8 +590,9 @@ export async function recordDecision(input, root = process.cwd()) {
586
590
  "",
587
591
  ].join("\n");
588
592
  const artifact = await writeArtifact(root, "decisions", fileName, content);
589
- // Extract sizing/points from decision text when owner is architect
590
- // Expected format: "<sizing> [N points]" e.g. "m [5 points]" or just "m"
593
+ // Extract sizing/points from decision text for estimation decisions.
594
+ // Architect format: "<sizing> [N points]" e.g. "m [5 points]" or just "m".
595
+ // Developer format: "N points" for implementation effort.
591
596
  const sizingMetadata = {};
592
597
  if (input.owner === "architect") {
593
598
  const sizingMatch = /^\s*(xs|s|m|l|xl)\b/i.exec(input.decision);
@@ -602,6 +607,12 @@ export async function recordDecision(input, root = process.cwd()) {
602
607
  }
603
608
  }
604
609
  }
610
+ else if (input.owner === "developer") {
611
+ const pointsMatch = /\b(\d+)\s*points?\b/i.exec(input.decision);
612
+ if (pointsMatch) {
613
+ sizingMetadata.points = parseInt(pointsMatch[1], 10);
614
+ }
615
+ }
605
616
  await appendEvent(root, {
606
617
  type: "DECISION_RECORDED",
607
618
  taskId: input.task,
@@ -611,13 +622,15 @@ export async function recordDecision(input, root = process.cwd()) {
611
622
  metadata: {
612
623
  status: input.status,
613
624
  title: input.title,
625
+ decision: input.decision,
626
+ consequences: input.consequences,
614
627
  ...sizingMetadata,
615
628
  },
616
629
  });
617
630
  return { ...input, artifact };
618
631
  }
619
632
  export async function listDecisions(taskId, root = process.cwd()) {
620
- return filterEvents("DECISION_RECORDED", taskId, root);
633
+ return listWorkflowEventsByType("DECISION_RECORDED", taskId, root);
621
634
  }
622
635
  export async function getTaskContext(taskId, root = process.cwd(), options = {}) {
623
636
  const workspace = await loadWorkspace(root);
@@ -966,20 +979,7 @@ function normalizePath(value) {
966
979
  return value.replaceAll("\\", "/").replace(/\/+$/, "");
967
980
  }
968
981
  function riskReviewSteps(impactAreas) {
969
- const roleByImpact = {
970
- security: "security",
971
- sre: "sre",
972
- dba: "dba",
973
- data: "data_engineer",
974
- devops: "devops",
975
- compliance: "compliance_privacy",
976
- accessibility: "accessibility_reviewer",
977
- ux: "ux_ui_designer",
978
- };
979
- const roles = impactAreas
980
- .map((area) => roleByImpact[area])
981
- .filter((role) => Boolean(role));
982
- return [...new Set(roles)].map((role) => ({
982
+ return rolesForRiskAreas(impactAreas).map((role) => ({
983
983
  id: `risk-${role}`,
984
984
  role,
985
985
  action: "Review risk impact and approve, block, or record accepted risk.",
@@ -1092,13 +1092,63 @@ export async function completeWithProviderFallback(routing, prompt, { failingPro
1092
1092
  }
1093
1093
  failedProviders.push({
1094
1094
  provider: providerId,
1095
- reason: error instanceof Error ? error.message : String(error),
1095
+ reason: sanitizeProviderError(error),
1096
1096
  });
1097
1097
  }
1098
1098
  }
1099
- throw new Error(`all providers failed: ${failedProviders
1100
- .map((failure) => failure.provider)
1101
- .join(", ")}`);
1099
+ throw new ProviderFallbackError(failedProviders);
1100
+ }
1101
+ export class ProviderFallbackError extends Error {
1102
+ failures;
1103
+ constructor(failures) {
1104
+ super(providerFailureSummary(failures));
1105
+ this.name = "ProviderFallbackError";
1106
+ this.failures = failures;
1107
+ }
1108
+ }
1109
+ export function providerFailuresFromError(error) {
1110
+ return error instanceof ProviderFallbackError ? error.failures : [];
1111
+ }
1112
+ function providerFailureSummary(failures) {
1113
+ const providers = failures.map((failure) => failure.provider).join(", ");
1114
+ const details = failures
1115
+ .map((failure) => `${failure.provider}: ${failure.reason}`)
1116
+ .join("; ");
1117
+ return `all providers failed: ${providers}${details ? ` (${details})` : ""}`;
1118
+ }
1119
+ function sanitizeProviderError(error) {
1120
+ const messages = [];
1121
+ if (error instanceof Error) {
1122
+ messages.push(error.message);
1123
+ const cause = error.cause;
1124
+ if (cause instanceof Error && cause.message !== error.message) {
1125
+ messages.push(cause.message);
1126
+ }
1127
+ else if (isErrorCauseRecord(cause)) {
1128
+ const code = typeof cause.code === "string" && cause.code.trim()
1129
+ ? cause.code
1130
+ : undefined;
1131
+ const hostname = typeof cause.hostname === "string" && cause.hostname.trim()
1132
+ ? cause.hostname
1133
+ : undefined;
1134
+ if (code || hostname) {
1135
+ messages.push([code, hostname].filter(Boolean).join(" "));
1136
+ }
1137
+ }
1138
+ }
1139
+ else {
1140
+ messages.push(String(error));
1141
+ }
1142
+ return redactProviderError(messages.filter(Boolean).join(": "));
1143
+ }
1144
+ function isErrorCauseRecord(value) {
1145
+ return typeof value === "object" && value !== null;
1146
+ }
1147
+ function redactProviderError(message) {
1148
+ return message
1149
+ .replace(/(x-goog-api-key|api[_-]?key|authorization)\s*[:=]\s*\S+/gi, "$1=[REDACTED]")
1150
+ .replace(/Bearer\s+[A-Za-z0-9._~+/=-]+/g, "Bearer [REDACTED]")
1151
+ .replace(/AIza[0-9A-Za-z_-]{20,}/g, "[REDACTED_API_KEY]");
1102
1152
  }
1103
1153
  function isProviderTimeoutError(error) {
1104
1154
  if (!(error instanceof Error)) {
@@ -1236,7 +1286,7 @@ export async function recordModelProvenance(input, root = process.cwd()) {
1236
1286
  return record;
1237
1287
  }
1238
1288
  export async function listModelProvenance(taskId, root = process.cwd()) {
1239
- const events = await filterEvents("MODEL_PROVENANCE_RECORDED", taskId, root);
1289
+ const events = await listWorkflowEventsByType("MODEL_PROVENANCE_RECORDED", taskId, root);
1240
1290
  return events.map((event) => event.metadata);
1241
1291
  }
1242
1292
  export async function getUsageReport(taskId, root = process.cwd()) {
@@ -1390,10 +1440,6 @@ async function writeBudgetEscalationProposal(root, taskId, proposal) {
1390
1440
  ].join("\n");
1391
1441
  return writeArtifact(root, "approvals", `${taskId}-budget-fallback.md`, content);
1392
1442
  }
1393
- async function filterEvents(type, taskId, root) {
1394
- const events = (await readEvents(root)).filter((event) => event.type === type);
1395
- return taskId ? events.filter((event) => event.taskId === taskId) : events;
1396
- }
1397
1443
  async function mutateTasks(base, update) {
1398
1444
  return updateJsonFile(path.join(base, FILES.tasks), [], update);
1399
1445
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-services.js","sourceRoot":"","sources":["../src/workflow-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-services.js","sourceRoot":"","sources":["../src/workflow-services.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { EventEntry, RenderedWorkflowTemplate, SkillRenderTarget, Task, WorkflowTemplate, WorkflowTemplateSelection } from "./types.js";
1
+ import type { EventEntry, PhasePlaybook, RenderedWorkflowTemplate, SkillRenderTarget, Task, WorkflowTemplate, WorkflowTemplateSelection } from "./types.js";
2
2
  export declare function listWorkflowTemplates(): WorkflowTemplate[];
3
3
  export declare function validateWorkflowTemplates(): string[];
4
4
  export declare function selectWorkflowTemplates(task: Task, events?: EventEntry[]): WorkflowTemplateSelection[];
@@ -8,4 +8,5 @@ export declare function renderWorkflowTemplates(input: {
8
8
  events?: EventEntry[];
9
9
  templates?: WorkflowTemplateSelection[];
10
10
  contextBudget?: RenderedWorkflowTemplate["contextBudget"];
11
+ phasePlaybook?: PhasePlaybook;
11
12
  }): RenderedWorkflowTemplate;
@@ -1,3 +1,5 @@
1
+ import { renderPhasePlaybookMarkdown } from "./phase-playbooks.js";
2
+ import { taskSearchText } from "./task-text.js";
1
3
  const DEFAULT_WORKFLOW_TEMPLATES = [
2
4
  template("implementation", "Implementation", "Implement a scoped code change with unit tests and review handoff.", ["implement", "develop", "code", "feature", "fix"], ["developer", "tech_lead", "qa"], ["maintainability"], ["goal", "scope", "acceptance criteria", "changed paths"], ["code diff", "unit tests", "developer handoff"], ["command", "file"], ["architecture", "qa-release"], ["static-analysis", "prompt-registry"]),
3
5
  template("qa-test-plan", "QA Test Plan", "Create and execute a QA plan from acceptance criteria and risks.", ["qa", "test", "validation", "regression"], ["qa", "sdet", "developer"], ["quality"], ["acceptance criteria", "changed behavior", "known gaps"], ["qa plan", "test results", "defects"], ["command", "report"], ["qa-release"], ["static-analysis"]),
@@ -43,7 +45,7 @@ export function renderWorkflowTemplates(input) {
43
45
  target: input.target,
44
46
  ...(input.task ? { taskId: input.task.id } : {}),
45
47
  selected,
46
- content: renderTemplatesMarkdown(selected, input.target, input.task),
48
+ content: renderTemplatesMarkdown(selected, input.target, input.task, input.phasePlaybook),
47
49
  ...(input.contextBudget ? { contextBudget: input.contextBudget } : {}),
48
50
  };
49
51
  }
@@ -64,7 +66,7 @@ function template(id, name, summary, triggers, roles, riskAreas, inputs, outputs
64
66
  };
65
67
  }
66
68
  function scoreTemplate(item, task) {
67
- const text = taskText(task);
69
+ const text = taskSearchText(task);
68
70
  let score = item.roles.includes(task.ownerRole) ? 3 : 0;
69
71
  score += item.triggers.filter((trigger) => text.includes(trigger)).length;
70
72
  score +=
@@ -88,12 +90,13 @@ function missingEvidence(item, events) {
88
90
  .map((event) => String(event.metadata.type ?? "")));
89
91
  return item.evidenceRequirements.filter((type) => !evidenceTypes.has(type));
90
92
  }
91
- function renderTemplatesMarkdown(selections, target, task) {
93
+ function renderTemplatesMarkdown(selections, target, task, phasePlaybook) {
92
94
  return [
93
95
  "# Open Orchestra Workflow Templates (" + target + ")",
94
96
  "",
95
97
  task ? "Task: " + task.id + " - " + task.title : "Task: none",
96
98
  "",
99
+ ...(phasePlaybook ? [renderPhasePlaybookMarkdown(phasePlaybook), ""] : []),
97
100
  ...selections.flatMap((item) => [
98
101
  "## " + item.template.name,
99
102
  "",
@@ -126,17 +129,4 @@ function defaultSteps(id) {
126
129
  ]);
127
130
  return [steps.get(id) ?? "Execute the workflow and record evidence."];
128
131
  }
129
- function taskText(task) {
130
- return [
131
- task.title,
132
- task.goal,
133
- task.scope,
134
- ...(task.acceptanceCriteria ?? []),
135
- ...(task.risks ?? []),
136
- ...(task.paths ?? []),
137
- ]
138
- .filter(Boolean)
139
- .join(" ")
140
- .toLowerCase();
141
- }
142
132
  //# sourceMappingURL=workflow-templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-templates.js","sourceRoot":"","sources":["../src/workflow-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-templates.js","sourceRoot":"","sources":["../src/workflow-templates.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export async function validateWorkspace(root = process.cwd(), options = {}) {
19
19
  const roleIds = await validateRoleFile(root, issues);
20
20
  const taskIds = await validateTaskFile(root, roleIds, issues);
21
21
  await validateLockFile(root, taskIds, roleIds, issues);
22
- await validateConfigFile(root, issues);
22
+ await validateConfigFile(root, roleIds, issues);
23
23
  await validateEventLog(root, issues);
24
24
  for (const issue of await validatePromptRegistryCoverage(root, options.promptRegistry ?? {})) {
25
25
  issues.push({ severity: issue.severity, message: issue.message });
@@ -88,7 +88,7 @@ async function validateLockFile(root, taskIds, roleIds, issues) {
88
88
  });
89
89
  }
90
90
  }
91
- async function validateConfigFile(root, issues) {
91
+ async function validateConfigFile(root, roleIds, issues) {
92
92
  try {
93
93
  const config = await readJson(resolveWorkflowPath(root, FILES.config), {});
94
94
  if (typeof config.version !== "number") {
@@ -127,6 +127,7 @@ async function validateConfigFile(root, issues) {
127
127
  });
128
128
  }
129
129
  }
130
+ validateArchitectureChallengeConfig(config, roleIds, issues);
130
131
  }
131
132
  catch (error) {
132
133
  issues.push({
@@ -135,6 +136,27 @@ async function validateConfigFile(root, issues) {
135
136
  });
136
137
  }
137
138
  }
139
+ function validateArchitectureChallengeConfig(config, roleIds, issues) {
140
+ const challenge = config.workflow?.architectureChallenge;
141
+ if (!challenge?.enabled) {
142
+ return;
143
+ }
144
+ if (challenge.role !== undefined &&
145
+ (typeof challenge.role !== "string" || challenge.role.trim() === "")) {
146
+ issues.push({
147
+ severity: "error",
148
+ message: "config.json: workflow.architectureChallenge.role must be a non-empty role id",
149
+ });
150
+ return;
151
+ }
152
+ const role = challenge.role?.trim() ?? "reviewer_critic";
153
+ if (!roleIds.has(role)) {
154
+ issues.push({
155
+ severity: "error",
156
+ message: `config.json: workflow.architectureChallenge.role references unknown role: ${role}`,
157
+ });
158
+ }
159
+ }
138
160
  async function validateEventLog(root, issues) {
139
161
  const eventPath = resolveWorkflowPath(root, FILES.events);
140
162
  if (!(await exists(eventPath))) {