ridgeline 0.7.21 → 0.8.2

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 (169) hide show
  1. package/dist/agents/core/builder.md +15 -0
  2. package/dist/catalog/build-catalog.js +2 -1
  3. package/dist/catalog/build-catalog.js.map +1 -1
  4. package/dist/catalog/classify.js +2 -1
  5. package/dist/catalog/classify.js.map +1 -1
  6. package/dist/catalog/pack-sprites.js +3 -2
  7. package/dist/catalog/pack-sprites.js.map +1 -1
  8. package/dist/catalog/vision-describe.js +3 -2
  9. package/dist/catalog/vision-describe.js.map +1 -1
  10. package/dist/cli.js +112 -44
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/build.js +0 -1
  13. package/dist/commands/build.js.map +1 -1
  14. package/dist/commands/check.d.ts +1 -5
  15. package/dist/commands/check.js +2 -60
  16. package/dist/commands/check.js.map +1 -1
  17. package/dist/commands/create.d.ts +0 -1
  18. package/dist/commands/create.js +0 -18
  19. package/dist/commands/create.js.map +1 -1
  20. package/dist/commands/design.d.ts +0 -1
  21. package/dist/commands/design.js +1 -2
  22. package/dist/commands/design.js.map +1 -1
  23. package/dist/commands/qa-workflow.js +6 -5
  24. package/dist/commands/qa-workflow.js.map +1 -1
  25. package/dist/commands/refine.d.ts +0 -1
  26. package/dist/commands/refine.js +0 -1
  27. package/dist/commands/refine.js.map +1 -1
  28. package/dist/commands/research.d.ts +2 -1
  29. package/dist/commands/research.js +2 -2
  30. package/dist/commands/research.js.map +1 -1
  31. package/dist/commands/retrospective.d.ts +0 -1
  32. package/dist/commands/retrospective.js +1 -2
  33. package/dist/commands/retrospective.js.map +1 -1
  34. package/dist/commands/shape.d.ts +30 -1
  35. package/dist/commands/shape.js +16 -5
  36. package/dist/commands/shape.js.map +1 -1
  37. package/dist/commands/spec.d.ts +2 -1
  38. package/dist/commands/spec.js +2 -1
  39. package/dist/commands/spec.js.map +1 -1
  40. package/dist/commands/ui.d.ts +7 -0
  41. package/dist/commands/ui.js +96 -0
  42. package/dist/commands/ui.js.map +1 -0
  43. package/dist/config.js +2 -2
  44. package/dist/config.js.map +1 -1
  45. package/dist/engine/claude/claude.exec.d.ts +11 -0
  46. package/dist/engine/claude/claude.exec.js +73 -36
  47. package/dist/engine/claude/claude.exec.js.map +1 -1
  48. package/dist/engine/claude/stable.prompt.d.ts +31 -0
  49. package/dist/engine/claude/stable.prompt.js +137 -0
  50. package/dist/engine/claude/stable.prompt.js.map +1 -0
  51. package/dist/engine/claude/stream.display.d.ts +1 -1
  52. package/dist/engine/claude/stream.display.js +2 -1
  53. package/dist/engine/claude/stream.display.js.map +1 -1
  54. package/dist/engine/detect/index.d.ts +15 -0
  55. package/dist/engine/detect/index.js +160 -0
  56. package/dist/engine/detect/index.js.map +1 -0
  57. package/dist/engine/discovery/agent.registry.d.ts +5 -6
  58. package/dist/engine/discovery/agent.registry.js +20 -54
  59. package/dist/engine/discovery/agent.registry.js.map +1 -1
  60. package/dist/engine/discovery/skill.check.d.ts +3 -3
  61. package/dist/engine/discovery/skill.check.js +4 -4
  62. package/dist/engine/discovery/skill.check.js.map +1 -1
  63. package/dist/engine/index.d.ts +0 -1
  64. package/dist/engine/index.js +1 -3
  65. package/dist/engine/index.js.map +1 -1
  66. package/dist/engine/pipeline/build.exec.js +19 -6
  67. package/dist/engine/pipeline/build.exec.js.map +1 -1
  68. package/dist/engine/pipeline/ensemble.exec.d.ts +41 -3
  69. package/dist/engine/pipeline/ensemble.exec.js +295 -94
  70. package/dist/engine/pipeline/ensemble.exec.js.map +1 -1
  71. package/dist/engine/pipeline/phase.sequence.js +97 -4
  72. package/dist/engine/pipeline/phase.sequence.js.map +1 -1
  73. package/dist/engine/pipeline/pipeline.shared.d.ts +7 -0
  74. package/dist/engine/pipeline/pipeline.shared.js +21 -3
  75. package/dist/engine/pipeline/pipeline.shared.js.map +1 -1
  76. package/dist/engine/pipeline/refine.exec.d.ts +0 -1
  77. package/dist/engine/pipeline/refine.exec.js +1 -2
  78. package/dist/engine/pipeline/refine.exec.js.map +1 -1
  79. package/dist/engine/pipeline/research.exec.d.ts +2 -1
  80. package/dist/engine/pipeline/research.exec.js +53 -7
  81. package/dist/engine/pipeline/research.exec.js.map +1 -1
  82. package/dist/engine/pipeline/review.exec.d.ts +2 -1
  83. package/dist/engine/pipeline/review.exec.js +14 -6
  84. package/dist/engine/pipeline/review.exec.js.map +1 -1
  85. package/dist/engine/pipeline/sensors.collect.d.ts +6 -0
  86. package/dist/engine/pipeline/sensors.collect.js +34 -0
  87. package/dist/engine/pipeline/sensors.collect.js.map +1 -0
  88. package/dist/engine/pipeline/specialist.verdict.d.ts +19 -0
  89. package/dist/engine/pipeline/specialist.verdict.js +189 -0
  90. package/dist/engine/pipeline/specialist.verdict.js.map +1 -0
  91. package/dist/engine/pipeline/specify.exec.d.ts +2 -1
  92. package/dist/engine/pipeline/specify.exec.js +159 -7
  93. package/dist/engine/pipeline/specify.exec.js.map +1 -1
  94. package/dist/sensors/a11y.d.ts +36 -0
  95. package/dist/sensors/a11y.js +134 -0
  96. package/dist/sensors/a11y.js.map +1 -0
  97. package/dist/sensors/contrast.d.ts +3 -0
  98. package/dist/sensors/contrast.js +117 -0
  99. package/dist/sensors/contrast.js.map +1 -0
  100. package/dist/sensors/index.d.ts +27 -0
  101. package/dist/sensors/index.js +3 -0
  102. package/dist/sensors/index.js.map +1 -0
  103. package/dist/sensors/playwright.d.ts +69 -0
  104. package/dist/sensors/playwright.js +266 -0
  105. package/dist/sensors/playwright.js.map +1 -0
  106. package/dist/sensors/vision.d.ts +18 -0
  107. package/dist/sensors/vision.js +125 -0
  108. package/dist/sensors/vision.js.map +1 -0
  109. package/dist/stores/feedback.format.js +9 -0
  110. package/dist/stores/feedback.format.js.map +1 -1
  111. package/dist/stores/feedback.parse.js +2 -0
  112. package/dist/stores/feedback.parse.js.map +1 -1
  113. package/dist/stores/settings.d.ts +7 -1
  114. package/dist/stores/settings.js +10 -1
  115. package/dist/stores/settings.js.map +1 -1
  116. package/dist/stores/trajectory.d.ts +9 -2
  117. package/dist/stores/trajectory.js +6 -0
  118. package/dist/stores/trajectory.js.map +1 -1
  119. package/dist/types.d.ts +36 -3
  120. package/dist/ui/color.d.ts +16 -0
  121. package/dist/ui/color.js +46 -0
  122. package/dist/ui/color.js.map +1 -0
  123. package/dist/ui/contrast.d.ts +2 -0
  124. package/dist/ui/contrast.js +94 -0
  125. package/dist/ui/contrast.js.map +1 -0
  126. package/dist/ui/dashboard/client.d.ts +1 -0
  127. package/dist/ui/dashboard/client.js +281 -0
  128. package/dist/ui/dashboard/client.js.map +1 -0
  129. package/dist/ui/dashboard/css.d.ts +1 -0
  130. package/dist/ui/dashboard/css.js +341 -0
  131. package/dist/ui/dashboard/css.js.map +1 -0
  132. package/dist/ui/dashboard/events.d.ts +15 -0
  133. package/dist/ui/dashboard/events.js +40 -0
  134. package/dist/ui/dashboard/events.js.map +1 -0
  135. package/dist/ui/dashboard/favicon.d.ts +2 -0
  136. package/dist/ui/dashboard/favicon.js +20 -0
  137. package/dist/ui/dashboard/favicon.js.map +1 -0
  138. package/dist/ui/dashboard/hex.d.ts +7 -0
  139. package/dist/ui/dashboard/hex.js +16 -0
  140. package/dist/ui/dashboard/hex.js.map +1 -0
  141. package/dist/ui/dashboard/html.d.ts +7 -0
  142. package/dist/ui/dashboard/html.js +69 -0
  143. package/dist/ui/dashboard/html.js.map +1 -0
  144. package/dist/ui/dashboard/server.d.ts +26 -0
  145. package/dist/ui/dashboard/server.js +257 -0
  146. package/dist/ui/dashboard/server.js.map +1 -0
  147. package/dist/ui/dashboard/snapshot.d.ts +29 -0
  148. package/dist/ui/dashboard/snapshot.js +71 -0
  149. package/dist/ui/dashboard/snapshot.js.map +1 -0
  150. package/dist/ui/dashboard/tokens.d.ts +19 -0
  151. package/dist/ui/dashboard/tokens.js +25 -0
  152. package/dist/ui/dashboard/tokens.js.map +1 -0
  153. package/dist/ui/dashboard/watcher.d.ts +13 -0
  154. package/dist/ui/dashboard/watcher.js +238 -0
  155. package/dist/ui/dashboard/watcher.js.map +1 -0
  156. package/dist/ui/output.js +3 -2
  157. package/dist/ui/output.js.map +1 -1
  158. package/dist/ui/preflight.d.ts +21 -0
  159. package/dist/ui/preflight.js +159 -0
  160. package/dist/ui/preflight.js.map +1 -0
  161. package/dist/ui/spinner.d.ts +0 -6
  162. package/dist/ui/spinner.js +25 -6
  163. package/dist/ui/spinner.js.map +1 -1
  164. package/dist/ui/transcript.js +2 -3
  165. package/dist/ui/transcript.js.map +1 -1
  166. package/dist/utils/flavour-removed.d.ts +12 -0
  167. package/dist/utils/flavour-removed.js +44 -0
  168. package/dist/utils/flavour-removed.js.map +1 -0
  169. package/package.json +16 -3
@@ -1,6 +1,40 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invokePlanner = exports.invokeEnsemble = exports.SYNTHESIZER_STALL_TIMEOUT_MS = exports.extractJSON = void 0;
36
+ exports.invokePlanner = exports.appendSkipAuditNote = exports.selectSpecialists = exports.invokeEnsemble = exports.SYNTHESIZER_STALL_TIMEOUT_MS = exports.extractJSON = void 0;
37
+ const fs = __importStar(require("node:fs"));
4
38
  const claude_exec_1 = require("../claude/claude.exec");
5
39
  const stream_display_1 = require("../claude/stream.display");
6
40
  const phases_1 = require("../../stores/phases");
@@ -8,10 +42,12 @@ const output_1 = require("../../ui/output");
8
42
  const spinner_1 = require("../../ui/spinner");
9
43
  const transcript_1 = require("../../ui/transcript");
10
44
  const agent_registry_1 = require("../discovery/agent.registry");
11
- const flavour_resolve_1 = require("../discovery/flavour.resolve");
12
45
  const plan_exec_1 = require("./plan.exec");
13
46
  const pipeline_shared_1 = require("./pipeline.shared");
14
47
  const prompt_document_1 = require("./prompt.document");
48
+ const trajectory_1 = require("../../stores/trajectory");
49
+ const settings_1 = require("../../stores/settings");
50
+ const specialist_verdict_1 = require("./specialist.verdict");
15
51
  // ---------------------------------------------------------------------------
16
52
  // Robust JSON extraction — handles markdown fences and surrounding text
17
53
  // ---------------------------------------------------------------------------
@@ -22,14 +58,12 @@ const prompt_document_1 = require("./prompt.document");
22
58
  */
23
59
  const extractJSON = (raw) => {
24
60
  const trimmed = raw.trim();
25
- // 1. Try direct parse first (happy path)
26
61
  try {
27
62
  return JSON.parse(trimmed);
28
63
  }
29
64
  catch {
30
- // continue to extraction strategies
65
+ // continue
31
66
  }
32
- // 2. Strip markdown fences: ```json ... ``` or ``` ... ```
33
67
  const fenceMatch = trimmed.match(/```(?:json)?\s*\n?([\s\S]*?)```/);
34
68
  if (fenceMatch) {
35
69
  try {
@@ -39,7 +73,6 @@ const extractJSON = (raw) => {
39
73
  // continue
40
74
  }
41
75
  }
42
- // 3. Find the outermost { ... } in the string
43
76
  const firstBrace = trimmed.indexOf("{");
44
77
  const lastBrace = trimmed.lastIndexOf("}");
45
78
  if (firstBrace !== -1 && lastBrace > firstBrace) {
@@ -55,6 +88,24 @@ const extractJSON = (raw) => {
55
88
  exports.extractJSON = extractJSON;
56
89
  /** Synthesizers may go quiet during large Write calls; allow more headroom than the default 5 min. */
57
90
  exports.SYNTHESIZER_STALL_TIMEOUT_MS = 8 * 60 * 1000;
91
+ const isTimeoutMessage = (msg) => {
92
+ const lower = msg.toLowerCase();
93
+ return lower.includes("timed out") || lower.includes("timeout") || lower.includes("stall");
94
+ };
95
+ const logSpecialistFailure = (buildDir, perspective, reason, detail, stage) => {
96
+ if (!buildDir)
97
+ return;
98
+ try {
99
+ (0, trajectory_1.logTrajectory)(buildDir, "specialist_fail", null, `Specialist ${perspective} failed: ${detail}`, {
100
+ reason,
101
+ specialist: perspective,
102
+ stage,
103
+ });
104
+ }
105
+ catch {
106
+ // trajectory is best-effort
107
+ }
108
+ };
58
109
  /** Run the optional two-round annotation pass where specialists review each other's drafts. */
59
110
  const runAnnotationPass = async (config, successful) => {
60
111
  if (!config.isTwoRound || !config.buildAnnotationPrompt || successful.length < 2) {
@@ -74,7 +125,7 @@ const runAnnotationPass = async (config, successful) => {
74
125
  model: config.model,
75
126
  allowedTools: [],
76
127
  cwd: process.cwd(),
77
- timeoutMs: config.timeoutMinutes * 60 * 1000,
128
+ timeoutMs: (config.specialistTimeoutSeconds ?? settings_1.DEFAULT_SPECIALIST_TIMEOUT_SECONDS) * 1000,
78
129
  onStderr: (0, pipeline_shared_1.createStderrHandler)(`${perspective}-annotate`),
79
130
  }).then((result) => {
80
131
  const elapsed = (0, spinner_1.formatElapsed)(Date.now() - startTime);
@@ -115,25 +166,33 @@ const buildSynthPrompt = (config, successful, annotations) => {
115
166
  }
116
167
  return prompt;
117
168
  };
118
- const invokeEnsemble = async (config) => {
119
- // 1. Validate pre-resolved specialists
120
- const specialists = config.specialists;
121
- if (specialists.length === 0) {
122
- throw new Error(`No specialist agents found for ${config.label}`);
169
+ /** Parse all successful specialists' skeletons and decide whether synthesis should be skipped. */
170
+ const detectAgreement = (config, successful) => {
171
+ if (!config.stage || !config.onAgreementSkip || successful.length < 2) {
172
+ return { isAgreed: false, hadMalformed: false, verdicts: [] };
123
173
  }
124
- // 2. Spawn specialists in parallel
125
- const spinner = (0, spinner_1.startSpinner)(config.label);
126
- const specialistPromises = specialists.map(({ perspective, overlay }) => {
174
+ const stage = config.stage;
175
+ const verdicts = successful.map((s) => (0, specialist_verdict_1.parseSpecialistVerdict)(stage, config.skeletonSource ? config.skeletonSource(s.result, s.draft) : s.result.result));
176
+ const hadMalformed = verdicts.some((v) => v === null);
177
+ if (hadMalformed) {
178
+ (0, output_1.printWarn)(`[ridgeline] WARN: one or more specialist verdicts did not parse; running synthesis`);
179
+ return { isAgreed: false, hadMalformed: true, verdicts };
180
+ }
181
+ return { isAgreed: (0, specialist_verdict_1.skeletonsAgree)(verdicts), hadMalformed: false, verdicts };
182
+ };
183
+ const dispatchSpecialists = async (config, spinner) => {
184
+ const specialistTimeoutMs = (config.specialistTimeoutSeconds ?? settings_1.DEFAULT_SPECIALIST_TIMEOUT_SECONDS) * 1000;
185
+ const isStructured = config.isStructured !== false;
186
+ const promises = config.specialists.map(({ perspective, overlay }) => {
127
187
  const systemPrompt = config.buildSpecialistPrompt(overlay);
128
188
  const startTime = Date.now();
129
- const isStructured = config.isStructured !== false;
130
189
  return (0, claude_exec_1.invokeClaude)({
131
190
  systemPrompt,
132
191
  userPrompt: config.specialistUserPrompt,
133
192
  model: config.model,
134
193
  allowedTools: config.specialistTools ?? [],
135
194
  cwd: process.cwd(),
136
- timeoutMs: config.timeoutMinutes * 60 * 1000,
195
+ timeoutMs: specialistTimeoutMs,
137
196
  jsonSchema: isStructured ? config.specialistSchema : undefined,
138
197
  onStderr: (0, pipeline_shared_1.createStderrHandler)(perspective),
139
198
  networkAllowlist: config.networkAllowlist,
@@ -144,64 +203,64 @@ const invokeEnsemble = async (config) => {
144
203
  spinner.printAbove(line);
145
204
  (0, transcript_1.appendTranscript)(line);
146
205
  return { perspective, result };
206
+ }, (err) => {
207
+ const message = err instanceof Error ? err.message : String(err);
208
+ const reason = isTimeoutMessage(message) ? "timeout" : "error";
209
+ (0, output_1.printError)(`Specialist ${perspective} failed (${reason}): ${message}`);
210
+ logSpecialistFailure(config.buildDir, perspective, reason, message, config.stage);
211
+ throw err;
147
212
  });
148
213
  });
149
- const settled = await Promise.allSettled(specialistPromises);
150
- // 3. Collect successful proposals
214
+ return Promise.allSettled(promises);
215
+ };
216
+ const collectSuccessful = (config, settled) => {
151
217
  const successful = [];
152
218
  const isStructured = config.isStructured !== false;
153
219
  for (const outcome of settled) {
154
- if (outcome.status === "fulfilled") {
155
- const { perspective, result } = outcome.value;
156
- if (isStructured) {
157
- try {
158
- const draft = (0, exports.extractJSON)(result.result);
159
- successful.push({ perspective, result, draft });
160
- }
161
- catch {
162
- const preview = result.result.length > 300
163
- ? result.result.slice(0, 300) + "..."
164
- : result.result;
165
- (0, output_1.printError)(`Failed to parse ${perspective} specialist output as JSON. Preview:\n${preview}`);
166
- }
167
- }
168
- else {
169
- successful.push({ perspective, result, draft: result.result });
170
- }
220
+ if (outcome.status !== "fulfilled")
221
+ continue;
222
+ const { perspective, result } = outcome.value;
223
+ if (!isStructured) {
224
+ successful.push({ perspective, result, draft: result.result });
225
+ continue;
171
226
  }
172
- else {
173
- (0, output_1.printError)(`Specialist failed: ${outcome.reason}`);
227
+ try {
228
+ const draft = (0, exports.extractJSON)(result.result);
229
+ successful.push({ perspective, result, draft });
230
+ }
231
+ catch {
232
+ const preview = result.result.length > 300
233
+ ? result.result.slice(0, 300) + "..."
234
+ : result.result;
235
+ (0, output_1.printError)(`Failed to parse ${perspective} specialist output as JSON. Preview:\n${preview}`);
236
+ logSpecialistFailure(config.buildDir, perspective, "error", "malformed JSON output", config.stage);
174
237
  }
175
238
  }
176
- // 4. Threshold check
177
- const minRequired = Math.ceil(specialists.length / 2);
178
- if (successful.length < minRequired) {
179
- spinner.stop();
180
- throw new Error(`${config.label} requires at least ${minRequired} of ${specialists.length} specialist proposals to succeed, got ${successful.length}. ` +
181
- "Check Claude authentication and try again.");
182
- }
183
- if (successful.length < specialists.length) {
184
- (0, output_1.printInfo)(`Continuing with ${successful.length} of ${specialists.length} proposals`);
185
- }
186
- // 5. Two-round annotation pass (optional)
187
- const annotations = await runAnnotationPass(config, successful);
188
- // 6. Budget guard
189
- const specialistCost = successful.reduce((sum, s) => sum + s.result.costUsd, 0);
190
- const annotationCost = annotations.reduce((sum, a) => sum + a.result.costUsd, 0);
191
- const preSynthCost = specialistCost + annotationCost;
192
- if (config.maxBudgetUsd !== null && preSynthCost >= config.maxBudgetUsd) {
193
- spinner.stop();
194
- throw new Error(`Pre-synthesis cost ($${preSynthCost.toFixed(2)}) already exceeds budget ($${config.maxBudgetUsd.toFixed(2)}). ` +
195
- "Skipping synthesis to avoid further cost.");
196
- }
197
- // 7. Synthesize
198
- spinner.stop();
239
+ return successful;
240
+ };
241
+ const aggregateResult = (successful, annotations, preSynthCost, synthResult) => {
242
+ const specialistResults = successful.map((s) => s.result);
243
+ const annotationResults = annotations.map((a) => a.result);
244
+ const specialistWallMs = Math.max(...specialistResults.map((r) => r.durationMs));
245
+ const annotationWallMs = annotationResults.length > 0
246
+ ? Math.max(...annotationResults.map((r) => r.durationMs))
247
+ : 0;
248
+ const totalDurationMs = specialistWallMs + annotationWallMs + synthResult.durationMs;
249
+ return {
250
+ specialistNames: successful.map((s) => s.perspective),
251
+ specialistResults,
252
+ ...(annotationResults.length > 0 ? { annotationResults } : {}),
253
+ synthesizerResult: synthResult,
254
+ totalCostUsd: preSynthCost + synthResult.costUsd,
255
+ totalDurationMs,
256
+ };
257
+ };
258
+ const runSynthesizer = async (config, successful, annotations) => {
199
259
  (0, output_1.printInfo)("Synthesizing from specialist proposals...");
200
260
  const { onStdout, flush } = (0, stream_display_1.createDisplayCallbacks)({ projectRoot: process.cwd(), dimText: true });
201
261
  const synthUserPrompt = buildSynthPrompt(config, successful.map(({ perspective, draft }) => ({ perspective, draft })), annotations);
202
- let synthResult;
203
262
  try {
204
- synthResult = await (0, claude_exec_1.invokeClaude)({
263
+ return await (0, claude_exec_1.invokeClaude)({
205
264
  systemPrompt: config.synthesizerPrompt,
206
265
  userPrompt: synthUserPrompt,
207
266
  model: config.model,
@@ -216,27 +275,85 @@ const invokeEnsemble = async (config) => {
216
275
  finally {
217
276
  flush();
218
277
  }
219
- // 8. Post-synthesis verification
220
- if (config.verify) {
221
- config.verify();
278
+ };
279
+ const logSkip = (buildDir, count, stage) => {
280
+ if (!buildDir)
281
+ return;
282
+ try {
283
+ (0, trajectory_1.logTrajectory)(buildDir, "synthesis_skipped", null, `synthesis skipped: ${count} specialists agreed on structured verdict (${stage})`, { stage });
284
+ }
285
+ catch {
286
+ // trajectory is best-effort
222
287
  }
223
- // 9. Aggregate results
224
- const specialistResults = successful.map((s) => s.result);
225
- const annotationResults = annotations.map((a) => a.result);
226
- const totalCostUsd = preSynthCost + synthResult.costUsd;
227
- const specialistWallMs = Math.max(...specialistResults.map((r) => r.durationMs));
228
- const annotationWallMs = annotationResults.length > 0 ? Math.max(...annotationResults.map((r) => r.durationMs)) : 0;
229
- const totalDurationMs = specialistWallMs + annotationWallMs + synthResult.durationMs;
230
- return {
231
- specialistNames: successful.map((s) => s.perspective),
232
- specialistResults,
233
- ...(annotationResults.length > 0 ? { annotationResults } : {}),
234
- synthesizerResult: synthResult,
235
- totalCostUsd,
236
- totalDurationMs,
237
- };
288
+ };
289
+ const invokeEnsemble = async (config) => {
290
+ const specialists = config.specialists;
291
+ if (specialists.length === 0) {
292
+ throw new Error(`No specialist agents found for ${config.label}`);
293
+ }
294
+ const spinner = (0, spinner_1.startSpinner)(config.label);
295
+ const settled = await dispatchSpecialists(config, spinner);
296
+ const successful = collectSuccessful(config, settled);
297
+ if (successful.length === 0) {
298
+ spinner.stop();
299
+ throw new Error(`${config.label} had all ${specialists.length} specialists fail. ` +
300
+ "Check Claude authentication and try again.");
301
+ }
302
+ if (successful.length < specialists.length) {
303
+ (0, output_1.printWarn)(`Continuing with ${successful.length} of ${specialists.length} specialist proposals`);
304
+ }
305
+ const annotations = await runAnnotationPass(config, successful);
306
+ const specialistCost = successful.reduce((sum, s) => sum + s.result.costUsd, 0);
307
+ const annotationCost = annotations.reduce((sum, a) => sum + a.result.costUsd, 0);
308
+ const preSynthCost = specialistCost + annotationCost;
309
+ if (config.maxBudgetUsd !== null && preSynthCost >= config.maxBudgetUsd) {
310
+ spinner.stop();
311
+ throw new Error(`Pre-synthesis cost ($${preSynthCost.toFixed(2)}) already exceeds budget ($${config.maxBudgetUsd.toFixed(2)}). ` +
312
+ "Skipping synthesis to avoid further cost.");
313
+ }
314
+ const agreement = detectAgreement(config, successful);
315
+ if (agreement.isAgreed && config.onAgreementSkip) {
316
+ spinner.stop();
317
+ const count = successful.length;
318
+ const stage = config.stage;
319
+ (0, output_1.printInfo)(`Synthesis skipped: ${count} specialists agreed on structured verdict (${stage})`);
320
+ logSkip(config.buildDir, count, stage);
321
+ const synthResult = await config.onAgreementSkip(successful);
322
+ if (config.verify)
323
+ config.verify();
324
+ return aggregateResult(successful, annotations, preSynthCost, synthResult);
325
+ }
326
+ spinner.stop();
327
+ const synthResult = await runSynthesizer(config, successful, annotations);
328
+ if (config.verify)
329
+ config.verify();
330
+ return aggregateResult(successful, annotations, preSynthCost, synthResult);
238
331
  };
239
332
  exports.invokeEnsemble = invokeEnsemble;
333
+ /**
334
+ * Cap a registered specialist list to the configured ensemble size.
335
+ * Default size: 2; thorough mode: 3.
336
+ */
337
+ const selectSpecialists = (all, { isThorough }) => {
338
+ const size = isThorough ? 3 : 2;
339
+ return all.slice(0, size);
340
+ };
341
+ exports.selectSpecialists = selectSpecialists;
342
+ /**
343
+ * Append the audit note that marks an agreement-based synthesis skip.
344
+ * Idempotent when applied more than once to the same artifact.
345
+ */
346
+ const appendSkipAuditNote = (filepath, count, stage) => {
347
+ if (!fs.existsSync(filepath)) {
348
+ fs.writeFileSync(filepath, "");
349
+ }
350
+ const message = `synthesis skipped: ${count} specialists agreed on structured verdict (${stage})`;
351
+ const existing = fs.readFileSync(filepath, "utf-8");
352
+ if (existing.includes(message))
353
+ return;
354
+ fs.appendFileSync(filepath, `\n\n${message}\n`);
355
+ };
356
+ exports.appendSkipAuditNote = appendSkipAuditNote;
240
357
  // ---------------------------------------------------------------------------
241
358
  // Planner ensemble — thin wrapper over invokeEnsemble
242
359
  // ---------------------------------------------------------------------------
@@ -270,13 +387,36 @@ const SPECIALIST_PROPOSAL_SCHEMA = JSON.stringify({
270
387
  },
271
388
  },
272
389
  tradeoffs: { type: "string", description: "What this approach sacrifices" },
390
+ _skeleton: {
391
+ type: "object",
392
+ description: "Compact agreement-detection skeleton used to decide whether synthesis can be skipped.",
393
+ properties: {
394
+ phaseList: {
395
+ type: "array",
396
+ items: {
397
+ type: "object",
398
+ properties: {
399
+ id: { type: "string", description: "e.g., '01-scaffold'" },
400
+ slug: { type: "string" },
401
+ },
402
+ required: ["id", "slug"],
403
+ },
404
+ },
405
+ depGraph: {
406
+ type: "array",
407
+ items: {
408
+ type: "array",
409
+ items: { type: "string" },
410
+ minItems: 2,
411
+ maxItems: 2,
412
+ },
413
+ },
414
+ },
415
+ required: ["phaseList", "depGraph"],
416
+ },
273
417
  },
274
- required: ["perspective", "summary", "phases", "tradeoffs"],
418
+ required: ["perspective", "summary", "phases", "tradeoffs", "_skeleton"],
275
419
  });
276
- /**
277
- * Build a planner specialist system prompt by concatenating shared context,
278
- * the specialist's personality overlay, and a JSON output directive.
279
- */
280
420
  const buildPlannerSpecialistPrompt = (context, overlay) => {
281
421
  const jsonDirective = [
282
422
  "",
@@ -295,22 +435,23 @@ const buildPlannerSpecialistPrompt = (context, overlay) => {
295
435
  "- `rationale`: Why this phase boundary exists",
296
436
  "",
297
437
  "Also include your `perspective` label, a `summary` of your approach, and the `tradeoffs` of your plan.",
438
+ "",
439
+ "Finally include a `_skeleton` field summarizing your plan:",
440
+ "- `phaseList`: array of { id, slug } entries in sequential order; id is `NN-<slug>` (two-digit index).",
441
+ "- `depGraph`: array of [from, to] id pairs describing cross-phase dependencies.",
442
+ "The `_skeleton` is used for ensemble agreement detection; keep it faithful to the main plan.",
298
443
  ].join("\n");
299
444
  return `${context}\n\n${overlay}${jsonDirective}`;
300
445
  };
301
- /** Assemble the user prompt for a planner specialist (no output directory). */
302
446
  const assemblePlannerSpecialistUserPrompt = (config) => {
303
447
  const doc = new prompt_document_1.PromptDocument();
304
448
  (0, plan_exec_1.appendBaseUserPrompt)(doc, config);
305
449
  doc.instruction("Output Format", "IMPORTANT: Respond with ONLY a JSON object. No prose, no markdown, no commentary. Just the JSON.");
306
450
  return doc.render();
307
451
  };
308
- /** Assemble the user prompt for the planner synthesizer, including all proposals. */
309
452
  const assemblePlannerSynthesizerUserPrompt = (config, drafts) => {
310
453
  const doc = new prompt_document_1.PromptDocument();
311
- // Include original inputs
312
454
  (0, plan_exec_1.appendBaseUserPrompt)(doc, config);
313
- // Include each specialist proposal
314
455
  const proposalLines = [];
315
456
  for (const { perspective, draft } of drafts) {
316
457
  (0, pipeline_shared_1.formatProposalHeading)(proposalLines, perspective, draft.tradeoffs);
@@ -330,16 +471,57 @@ const assemblePlannerSynthesizerUserPrompt = (config, drafts) => {
330
471
  proposalLines.push("---\n");
331
472
  }
332
473
  doc.data("Specialist Proposals", proposalLines.join("\n"));
333
- // Output directory
334
474
  doc.instruction("Output Directory", `Write phase spec files to: ${config.phasesDir}\nUse the naming convention: 01-<slug>.md, 02-<slug>.md, etc.`);
335
475
  return doc.render();
336
476
  };
477
+ /** Write phase files directly from the first specialist's proposal when synthesis is skipped. */
478
+ const writePhasesFromProposal = async (config, proposal) => {
479
+ fs.mkdirSync(config.phasesDir, { recursive: true });
480
+ for (let i = 0; i < proposal.phases.length; i++) {
481
+ const phase = proposal.phases[i];
482
+ const id = `${String(i + 1).padStart(2, "0")}-${phase.slug}`;
483
+ const filepath = `${config.phasesDir}/${id}.md`;
484
+ const lines = [];
485
+ const depends = Array.isArray(phase.dependsOn)
486
+ ? phase.dependsOn
487
+ : null;
488
+ if (depends && depends.length > 0) {
489
+ lines.push("---");
490
+ lines.push(`depends_on: [${depends.join(", ")}]`);
491
+ lines.push("---");
492
+ lines.push("");
493
+ }
494
+ lines.push(`# Phase ${i + 1}: ${phase.title}`);
495
+ lines.push("");
496
+ lines.push("## Goal");
497
+ lines.push("");
498
+ lines.push(phase.goal.trim());
499
+ lines.push("");
500
+ lines.push("## Acceptance Criteria");
501
+ lines.push("");
502
+ for (let j = 0; j < phase.acceptanceCriteria.length; j++) {
503
+ lines.push(`${j + 1}. ${phase.acceptanceCriteria[j]}`);
504
+ }
505
+ lines.push("");
506
+ lines.push("## Spec Reference");
507
+ lines.push("");
508
+ lines.push(phase.specReference.trim());
509
+ lines.push("");
510
+ lines.push("## Rationale");
511
+ lines.push("");
512
+ lines.push(phase.rationale.trim());
513
+ lines.push("");
514
+ fs.writeFileSync(filepath, lines.join("\n"));
515
+ }
516
+ };
337
517
  const invokePlanner = async (config) => {
338
- const registry = (0, agent_registry_1.buildAgentRegistry)((0, flavour_resolve_1.resolveFlavour)(config.flavour));
518
+ const registry = (0, agent_registry_1.buildAgentRegistry)();
339
519
  const context = registry.getContext("planners") ?? "";
520
+ const availableSpecialists = registry.getSpecialists("planners");
521
+ const specialists = (0, exports.selectSpecialists)(availableSpecialists, { isThorough: config.isThorough });
340
522
  const ensemble = await (0, exports.invokeEnsemble)({
341
523
  label: "Planning",
342
- specialists: registry.getSpecialists("planners"),
524
+ specialists,
343
525
  buildSpecialistPrompt: (overlay) => buildPlannerSpecialistPrompt(context, overlay),
344
526
  specialistUserPrompt: assemblePlannerSpecialistUserPrompt(config),
345
527
  specialistSchema: SPECIALIST_PROPOSAL_SCHEMA,
@@ -348,9 +530,10 @@ const invokePlanner = async (config) => {
348
530
  synthesizerTools: ["Write", "Skill"],
349
531
  model: config.model,
350
532
  timeoutMinutes: config.timeoutMinutes,
533
+ specialistTimeoutSeconds: config.specialistTimeoutSeconds,
351
534
  maxBudgetUsd: config.maxBudgetUsd,
352
535
  stallTimeoutMs: exports.SYNTHESIZER_STALL_TIMEOUT_MS,
353
- isTwoRound: config.isDeepEnsemble,
536
+ isTwoRound: config.isThorough,
354
537
  buildAnnotationPrompt: (ownPerspective, otherDrafts) => {
355
538
  const sections = [
356
539
  `You are the ${ownPerspective} specialist. You have already submitted your proposal.`,
@@ -370,6 +553,24 @@ const invokePlanner = async (config) => {
370
553
  }
371
554
  return sections.join("\n");
372
555
  },
556
+ stage: "plan",
557
+ buildDir: config.buildDir,
558
+ onAgreementSkip: async (successful) => {
559
+ const [first] = successful;
560
+ await writePhasesFromProposal(config, first.draft);
561
+ const firstPhase = (0, phases_1.scanPhases)(config.phasesDir)[0];
562
+ if (firstPhase) {
563
+ (0, exports.appendSkipAuditNote)(firstPhase.filepath, successful.length, "plan");
564
+ }
565
+ return {
566
+ success: true,
567
+ result: JSON.stringify(first.draft),
568
+ durationMs: 0,
569
+ costUsd: 0,
570
+ usage: { inputTokens: 0, outputTokens: 0, cacheReadInputTokens: 0, cacheCreationInputTokens: 0 },
571
+ sessionId: `synthesis-skipped-${first.perspective}`,
572
+ };
573
+ },
373
574
  verify: () => {
374
575
  if ((0, phases_1.scanPhases)(config.phasesDir).length === 0) {
375
576
  throw new Error("Synthesizer did not generate any phase files");
@@ -1 +1 @@
1
- {"version":3,"file":"ensemble.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/ensemble.exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensemble.exec.js","sourceRoot":"","sources":["../../../src/engine/pipeline/ensemble.exec.ts"],"names":[],"mappings":"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"}