opencastle 0.29.0 → 0.30.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.
@@ -1,8 +1,34 @@
1
- import { readFile } from 'node:fs/promises';
1
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
2
2
  import { existsSync } from 'node:fs';
3
3
  import { resolve } from 'node:path';
4
+ import { stringify } from 'yaml';
4
5
  import { c, confirm, closePrompts } from './prompt.js';
5
6
  import { runPromptStep } from './plan.js';
7
+ export function parseComplexityAssessment(prdContent) {
8
+ const sectionMatch = prdContent.match(/## Complexity Assessment\s+([\s\S]*?)(?=\n## |\n# |$)/);
9
+ if (!sectionMatch)
10
+ return null;
11
+ const sectionContent = sectionMatch[1];
12
+ const jsonMatch = sectionContent.match(/```json\s*([\s\S]*?)```/);
13
+ if (!jsonMatch)
14
+ return null;
15
+ try {
16
+ const parsed = JSON.parse(jsonMatch[1].trim());
17
+ // Validate required fields
18
+ if (typeof parsed.total_tasks !== 'number' ||
19
+ typeof parsed.total_phases !== 'number' ||
20
+ !Array.isArray(parsed.domains) ||
21
+ !parsed.complexity ||
22
+ !parsed.recommended_strategy ||
23
+ !Array.isArray(parsed.convoy_groups)) {
24
+ return null;
25
+ }
26
+ return parsed;
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
6
32
  const HELP = `
7
33
  opencastle pipeline [options]
8
34
 
@@ -10,9 +36,10 @@ const HELP = `
10
36
 
11
37
  Step 1 — Generate PRD (generate-prd)
12
38
  Step 2 — Validate PRD (validate-prd)
13
- Step 3 — Generate convoy spec (generate-convoy, using PRD as BDO)
14
- Step 4 — Validate convoy spec (validate-convoy)
15
- Step 5 — Fix convoy spec (fix-convoy, up to 2 retries if invalid)
39
+ Step 3 — Fix PRD (fix-prd, up to 2 retries if invalid)
40
+ Step 4 — Generate convoy spec (generate-convoy, using PRD as BDO)
41
+ Step 5 — Validate convoy spec (validate-convoy)
42
+ Step 6 — Fix convoy spec (fix-convoy, up to 2 retries if invalid)
16
43
 
17
44
  Options:
18
45
  --text, -t <text> Feature prompt text (required, unless --prd is set)
@@ -127,7 +154,7 @@ export default async function pipeline({ args, pkgRoot }) {
127
154
  process.exit(1);
128
155
  }
129
156
  }
130
- const totalSteps = opts.skipValidation ? 3 : 5;
157
+ const totalSteps = opts.skipValidation ? 3 : 6;
131
158
  const sharedOpts = {
132
159
  adapterName: opts.adapter ?? undefined,
133
160
  verbose: opts.verbose,
@@ -180,16 +207,208 @@ export default async function pipeline({ args, pkgRoot }) {
180
207
  process.exit(1);
181
208
  }
182
209
  if (!result.isValid) {
183
- console.log(c.red(` ✗ PRD validation failed.\n`));
184
- console.log(result.errors ?? result.rawOutput);
185
- console.log(c.dim(`\n Fix the PRD at ${relPath(prdPath)} and re-run with:\n`) +
186
- ` opencastle pipeline --prd ${relPath(prdPath)}${opts.adapter ? ` --adapter ${opts.adapter}` : ''}\n`);
187
- process.exit(1);
210
+ let prdValidationErrors = result.errors ?? result.rawOutput;
211
+ console.log(c.yellow(` ⚠ PRD has validation issues — attempting auto-fix…\n`));
212
+ console.log(c.dim(prdValidationErrors));
213
+ console.log();
214
+ // ── Step 3: Fix PRD (up to 2 retries) ──────────────────────────────────
215
+ const MAX_PRD_FIX_RETRIES = 2;
216
+ let fixedPrdContent = prdContent;
217
+ let prdFixed = false;
218
+ for (let attempt = 1; attempt <= MAX_PRD_FIX_RETRIES; attempt++) {
219
+ const label = `Fix PRD attempt ${attempt}/${MAX_PRD_FIX_RETRIES}…`;
220
+ console.log(stepLabel(3, totalSteps, label));
221
+ try {
222
+ await runPromptStep({
223
+ ...sharedOpts,
224
+ template: 'fix-prd',
225
+ goalText: fixedPrdContent,
226
+ contextText: prdValidationErrors,
227
+ outputPath: prdPath, // overwrite in place
228
+ });
229
+ }
230
+ catch (err) {
231
+ console.error(`\n ✗ Step 3 (attempt ${attempt}) failed: ${err instanceof Error ? err.message : String(err)}`);
232
+ process.exit(1);
233
+ }
234
+ console.log(c.dim(` Re-validating after fix…`));
235
+ fixedPrdContent = await readFile(prdPath, 'utf8');
236
+ let revalidation;
237
+ try {
238
+ revalidation = await runPromptStep({
239
+ ...sharedOpts,
240
+ template: 'validate-prd',
241
+ goalText: fixedPrdContent,
242
+ });
243
+ }
244
+ catch (err) {
245
+ console.error(`\n ✗ Re-validation failed: ${err instanceof Error ? err.message : String(err)}`);
246
+ process.exit(1);
247
+ }
248
+ if (revalidation.isValid) {
249
+ console.log(c.green(` ✓ PRD fixed and validated\n`));
250
+ prdFixed = true;
251
+ break;
252
+ }
253
+ prdValidationErrors = revalidation.errors ?? revalidation.rawOutput;
254
+ if (attempt < MAX_PRD_FIX_RETRIES) {
255
+ console.log(c.yellow(` ⚠ Still has issues after fix attempt ${attempt} — retrying…\n`));
256
+ console.log(c.dim(prdValidationErrors));
257
+ console.log();
258
+ }
259
+ }
260
+ if (!prdFixed) {
261
+ console.log(c.red(`\n ✗ Could not auto-fix the PRD after ${MAX_PRD_FIX_RETRIES} attempts.\n`));
262
+ console.log(` Remaining issues:\n`);
263
+ console.log(prdValidationErrors);
264
+ console.log(c.dim(`\n The PRD has been saved to ${relPath(prdPath)} with the best available fixes.\n`) +
265
+ c.dim(` Review the remaining issues above and edit the file manually, then re-run with:\n`) +
266
+ ` opencastle pipeline --prd ${relPath(prdPath)}${opts.adapter ? ` --adapter ${opts.adapter}` : ''}\n`);
267
+ process.exit(1);
268
+ }
269
+ }
270
+ else {
271
+ console.log(c.green(` ✓ PRD is valid\n`));
272
+ }
273
+ }
274
+ // ── Complexity-aware strategy decision ────────────────────────────────────
275
+ const prdContentForComplexity = await readFile(prdPath, 'utf8');
276
+ const complexity = parseComplexityAssessment(prdContentForComplexity);
277
+ if (complexity) {
278
+ if (complexity.recommended_strategy === 'chain' && complexity.convoy_groups.length > 1) {
279
+ console.log(c.cyan(` ℹ`) +
280
+ ` Complexity: ${complexity.complexity} | Strategy: chain | ${complexity.convoy_groups.length} convoy groups\n`);
281
+ console.log(` Chain plan:`);
282
+ for (let i = 0; i < complexity.convoy_groups.length; i++) {
283
+ const g = complexity.convoy_groups[i];
284
+ const depStr = g.depends_on.length > 0 ? ` → depends on: ${g.depends_on.join(', ')}` : '';
285
+ console.log(` ${i + 1}. ${g.name.padEnd(20)} (phases: ${g.phases.join(', ')})${depStr}`);
286
+ }
287
+ console.log();
288
+ const convoyDir = resolve(process.cwd(), '.opencastle', 'convoys');
289
+ await mkdir(convoyDir, { recursive: true });
290
+ const genBaseStep = opts.skipValidation ? 2 : 4;
291
+ const groupSpecPaths = [];
292
+ const totalGroupSteps = (opts.skipValidation ? 2 : 3) + complexity.convoy_groups.length * (opts.skipValidation ? 1 : 2);
293
+ for (let i = 0; i < complexity.convoy_groups.length; i++) {
294
+ const group = complexity.convoy_groups[i];
295
+ const groupStep = genBaseStep + i * (opts.skipValidation ? 1 : 2);
296
+ console.log(stepLabel(groupStep, totalGroupSteps, `Generating convoy spec for group: ${group.name}…`));
297
+ const chainContext = JSON.stringify({
298
+ mode: 'chain_subset',
299
+ group_name: group.name,
300
+ group_description: group.description,
301
+ group_phases: group.phases,
302
+ depends_on_groups: group.depends_on,
303
+ total_groups: complexity.convoy_groups.length,
304
+ group_index: i + 1,
305
+ });
306
+ const groupSpecPath = resolve(convoyDir, `${group.name}.convoy.yml`);
307
+ let groupResult;
308
+ try {
309
+ groupResult = await runPromptStep({
310
+ ...sharedOpts,
311
+ template: 'generate-convoy',
312
+ filePath: prdPath,
313
+ contextText: chainContext,
314
+ outputPath: groupSpecPath,
315
+ });
316
+ }
317
+ catch (err) {
318
+ console.error(`\n ✗ Step ${groupStep} failed: ${err instanceof Error ? err.message : String(err)}`);
319
+ process.exit(1);
320
+ }
321
+ const resolvedGroupSpecPath = groupResult.outputPath ?? groupSpecPath;
322
+ groupSpecPaths.push(resolvedGroupSpecPath);
323
+ console.log(c.green(` ✓ Group spec written to ${relPath(resolvedGroupSpecPath)}\n`));
324
+ if (!opts.skipValidation) {
325
+ const valStep = groupStep + 1;
326
+ console.log(stepLabel(valStep, totalGroupSteps, `Validating spec: ${group.name}…`));
327
+ const groupSpecContent = await readFile(resolvedGroupSpecPath, 'utf8');
328
+ let groupValidation;
329
+ try {
330
+ groupValidation = await runPromptStep({
331
+ ...sharedOpts,
332
+ template: 'validate-convoy',
333
+ goalText: groupSpecContent,
334
+ });
335
+ }
336
+ catch (err) {
337
+ console.error(`\n ✗ Validation failed for group ${group.name}: ${err instanceof Error ? err.message : String(err)}`);
338
+ process.exit(1);
339
+ }
340
+ if (!groupValidation.isValid) {
341
+ console.log(c.yellow(` ⚠ Spec has issues — attempting one auto-fix…\n`));
342
+ console.log(c.dim(groupValidation.errors ?? groupValidation.rawOutput));
343
+ console.log();
344
+ try {
345
+ await runPromptStep({
346
+ ...sharedOpts,
347
+ template: 'fix-convoy',
348
+ goalText: groupSpecContent,
349
+ contextText: groupValidation.errors ?? groupValidation.rawOutput,
350
+ outputPath: resolvedGroupSpecPath,
351
+ });
352
+ }
353
+ catch (err) {
354
+ console.error(`\n ✗ Fix failed for group ${group.name}: ${err instanceof Error ? err.message : String(err)}`);
355
+ process.exit(1);
356
+ }
357
+ console.log(c.dim(` Applied fix for ${group.name}\n`));
358
+ }
359
+ else {
360
+ console.log(c.green(` ✓ Spec valid\n`));
361
+ }
362
+ }
363
+ }
364
+ // Build master pipeline spec (version 2)
365
+ const featureNameMatch = prdContentForComplexity.match(/^# (.+?)\s*(?:—|-)?\s*PRD/m);
366
+ const featureName = featureNameMatch
367
+ ? featureNameMatch[1].trim().toLowerCase().replace(/[^a-z0-9]+/g, '-')
368
+ : 'feature';
369
+ const branchMatch = prdContentForComplexity.match(/`feat\/([^`]+)`/);
370
+ const branch = branchMatch ? `feat/${branchMatch[1]}` : `feat/${featureName}`;
371
+ const masterSpec = {
372
+ name: featureNameMatch ? featureNameMatch[1].trim() : 'Feature Pipeline',
373
+ version: 2,
374
+ branch,
375
+ on_failure: 'stop',
376
+ depends_on_convoy: groupSpecPaths.map(p => relPath(p)),
377
+ };
378
+ const masterSpecPath = resolve(convoyDir, `${featureName}-pipeline.convoy.yml`);
379
+ await writeFile(masterSpecPath, stringify(masterSpec), 'utf8');
380
+ console.log(c.green(` ✓ Generated convoy chain:\n`));
381
+ for (const p of groupSpecPaths) {
382
+ console.log(` ${relPath(p)}`);
383
+ }
384
+ console.log(` ${relPath(masterSpecPath)} ${c.dim('(master)')}`);
385
+ console.log();
386
+ console.log(` ${c.dim('Preview:')} npx opencastle run -f ${relPath(masterSpecPath)} --dry-run\n` +
387
+ ` ${c.dim('Execute:')} npx opencastle run -f ${relPath(masterSpecPath)}\n`);
388
+ try {
389
+ const shouldRun = await confirm('Run the convoy chain now?', true);
390
+ if (shouldRun) {
391
+ closePrompts();
392
+ const runModule = await import('./run.js');
393
+ const runArgs = ['-f', masterSpecPath];
394
+ if (opts.adapter)
395
+ runArgs.push('-a', opts.adapter);
396
+ if (opts.verbose)
397
+ runArgs.push('--verbose');
398
+ await runModule.default({ args: runArgs, pkgRoot });
399
+ }
400
+ }
401
+ finally {
402
+ closePrompts();
403
+ }
404
+ return;
405
+ }
406
+ else {
407
+ console.log(c.cyan(` ℹ`) + ` Complexity: ${complexity.complexity} | Strategy: single\n`);
188
408
  }
189
- console.log(c.green(` ✓ PRD is valid\n`));
190
409
  }
191
- // ── Step 3: Generate convoy spec ──────────────────────────────────────────
192
- const genStep = opts.skipValidation ? 2 : 3;
410
+ // ── Step 4: Generate convoy spec ──────────────────────────────────────────
411
+ const genStep = opts.skipValidation ? 2 : 4;
193
412
  console.log(stepLabel(genStep, totalSteps, 'Generating convoy spec…'));
194
413
  let specPath;
195
414
  try {
@@ -210,8 +429,8 @@ export default async function pipeline({ args, pkgRoot }) {
210
429
  await printFinalSummary(prdPath, specPath, opts, pkgRoot);
211
430
  return;
212
431
  }
213
- // ── Step 4: Validate convoy spec ──────────────────────────────────────────
214
- console.log(stepLabel(4, totalSteps, 'Validating convoy spec…'));
432
+ // ── Step 5: Validate convoy spec ──────────────────────────────────────────
433
+ console.log(stepLabel(5, totalSteps, 'Validating convoy spec…'));
215
434
  const specContent = await readFile(specPath, 'utf8');
216
435
  let validationErrors;
217
436
  {
@@ -224,7 +443,7 @@ export default async function pipeline({ args, pkgRoot }) {
224
443
  });
225
444
  }
226
445
  catch (err) {
227
- console.error(`\n ✗ Step 4 failed: ${err instanceof Error ? err.message : String(err)}`);
446
+ console.error(`\n ✗ Step 5 failed: ${err instanceof Error ? err.message : String(err)}`);
228
447
  process.exit(1);
229
448
  }
230
449
  if (result.isValid) {
@@ -237,12 +456,12 @@ export default async function pipeline({ args, pkgRoot }) {
237
456
  console.log(c.dim(validationErrors));
238
457
  console.log();
239
458
  }
240
- // ── Step 5: Fix convoy spec (up to 2 retries) ─────────────────────────────
459
+ // ── Step 6: Fix convoy spec (up to 2 retries) ─────────────────────────────
241
460
  const MAX_FIX_RETRIES = 2;
242
461
  let fixedSpecContent = specContent;
243
462
  for (let attempt = 1; attempt <= MAX_FIX_RETRIES; attempt++) {
244
463
  const label = `Fix attempt ${attempt}/${MAX_FIX_RETRIES}…`;
245
- console.log(stepLabel(5, totalSteps, label));
464
+ console.log(stepLabel(6, totalSteps, label));
246
465
  let fixResult;
247
466
  try {
248
467
  fixResult = await runPromptStep({
@@ -254,7 +473,7 @@ export default async function pipeline({ args, pkgRoot }) {
254
473
  });
255
474
  }
256
475
  catch (err) {
257
- console.error(`\n ✗ Step 5 (attempt ${attempt}) failed: ${err instanceof Error ? err.message : String(err)}`);
476
+ console.error(`\n ✗ Step 6 (attempt ${attempt}) failed: ${err instanceof Error ? err.message : String(err)}`);
258
477
  process.exit(1);
259
478
  }
260
479
  console.log(c.dim(` Re-validating after fix…`));
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/cli/pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/cli/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pipeline.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.test.d.ts","sourceRoot":"","sources":["../../src/cli/pipeline.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,178 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { parseComplexityAssessment } from './pipeline.js';
3
+ const SINGLE_PRD = `# My Feature — PRD
4
+
5
+ ## Overview
6
+ Some overview.
7
+
8
+ ## Risks & Open Questions
9
+ None identified.
10
+
11
+ ## Complexity Assessment
12
+
13
+ \`\`\`json
14
+ {
15
+ "total_tasks": 4,
16
+ "total_phases": 2,
17
+ "domains": ["api", "frontend"],
18
+ "estimated_duration_minutes": 60,
19
+ "complexity": "medium",
20
+ "recommended_strategy": "single",
21
+ "chain_rationale": "",
22
+ "convoy_groups": [
23
+ {
24
+ "name": "full-implementation",
25
+ "description": "All phases in a single convoy",
26
+ "phases": [1, 2],
27
+ "depends_on": []
28
+ }
29
+ ]
30
+ }
31
+ \`\`\`
32
+ `;
33
+ const CHAIN_PRD = `# Big Feature — PRD
34
+
35
+ ## Overview
36
+ Big feature.
37
+
38
+ ## Risks & Open Questions
39
+ None identified.
40
+
41
+ ## Complexity Assessment
42
+
43
+ \`\`\`json
44
+ {
45
+ "total_tasks": 12,
46
+ "total_phases": 4,
47
+ "domains": ["database", "api", "frontend", "testing"],
48
+ "estimated_duration_minutes": 240,
49
+ "complexity": "high",
50
+ "recommended_strategy": "chain",
51
+ "chain_rationale": "Database schema changes have no frontend dependencies and can be validated independently.",
52
+ "convoy_groups": [
53
+ {
54
+ "name": "database-setup",
55
+ "description": "Schema changes and migrations",
56
+ "phases": [1],
57
+ "depends_on": []
58
+ },
59
+ {
60
+ "name": "api-integration",
61
+ "description": "API routes and server logic",
62
+ "phases": [2],
63
+ "depends_on": ["database-setup"]
64
+ },
65
+ {
66
+ "name": "frontend-testing",
67
+ "description": "UI components and test suite",
68
+ "phases": [3, 4],
69
+ "depends_on": ["api-integration"]
70
+ }
71
+ ]
72
+ }
73
+ \`\`\`
74
+ `;
75
+ const NO_SECTION_PRD = `# Feature — PRD
76
+
77
+ ## Overview
78
+ Plain prd with no complexity section.
79
+
80
+ ## Risks & Open Questions
81
+ None.
82
+ `;
83
+ const MALFORMED_JSON_PRD = `# Feature — PRD
84
+
85
+ ## Complexity Assessment
86
+
87
+ \`\`\`json
88
+ { "total_tasks": 3, "broken":
89
+ \`\`\`
90
+ `;
91
+ const UNFENCED_JSON_PRD = `# Feature — PRD
92
+
93
+ ## Complexity Assessment
94
+
95
+ The complexity is medium.
96
+
97
+ total_tasks: 3, total_phases: 2
98
+ `;
99
+ const OTHER_JSON_PRD = `# Feature — PRD
100
+
101
+ ## Overview
102
+ Some feature with json-like content: \`{"key": "value"}\`
103
+
104
+ Another block:
105
+ \`\`\`json
106
+ {"not": "complexity"}
107
+ \`\`\`
108
+
109
+ ## Complexity Assessment
110
+
111
+ \`\`\`json
112
+ {
113
+ "total_tasks": 6,
114
+ "total_phases": 3,
115
+ "domains": ["api", "frontend"],
116
+ "complexity": "medium",
117
+ "recommended_strategy": "single",
118
+ "convoy_groups": [
119
+ {
120
+ "name": "impl",
121
+ "description": "All phases",
122
+ "phases": [1, 2, 3],
123
+ "depends_on": []
124
+ }
125
+ ]
126
+ }
127
+ \`\`\`
128
+ `;
129
+ describe('parseComplexityAssessment', () => {
130
+ it('returns null when PRD has no Complexity Assessment section', () => {
131
+ expect(parseComplexityAssessment(NO_SECTION_PRD)).toBeNull();
132
+ });
133
+ it('returns null when JSON is malformed', () => {
134
+ expect(parseComplexityAssessment(MALFORMED_JSON_PRD)).toBeNull();
135
+ });
136
+ it('parses a valid single strategy assessment', () => {
137
+ const result = parseComplexityAssessment(SINGLE_PRD);
138
+ expect(result).not.toBeNull();
139
+ expect(result?.recommended_strategy).toBe('single');
140
+ expect(result?.complexity).toBe('medium');
141
+ expect(result?.total_tasks).toBe(4);
142
+ expect(result?.total_phases).toBe(2);
143
+ expect(result?.domains).toEqual(['api', 'frontend']);
144
+ expect(result?.convoy_groups).toHaveLength(1);
145
+ expect(result?.convoy_groups[0].name).toBe('full-implementation');
146
+ });
147
+ it('parses a valid chain strategy assessment with multiple groups', () => {
148
+ const result = parseComplexityAssessment(CHAIN_PRD);
149
+ expect(result).not.toBeNull();
150
+ expect(result?.recommended_strategy).toBe('chain');
151
+ expect(result?.complexity).toBe('high');
152
+ expect(result?.convoy_groups).toHaveLength(3);
153
+ expect(result?.convoy_groups[0].name).toBe('database-setup');
154
+ expect(result?.convoy_groups[1].depends_on).toEqual(['database-setup']);
155
+ expect(result?.convoy_groups[2].phases).toEqual([3, 4]);
156
+ });
157
+ it('handles missing optional fields gracefully', () => {
158
+ const prd = `# Feature — PRD\n\n## Complexity Assessment\n\n\`\`\`json\n{\n "total_tasks": 3,\n "total_phases": 1,\n "domains": ["api"],\n "complexity": "low",\n "recommended_strategy": "single",\n "convoy_groups": [{"name": "all", "description": "All", "phases": [1], "depends_on": []}]\n}\n\`\`\`\n`;
159
+ const result = parseComplexityAssessment(prd);
160
+ expect(result).not.toBeNull();
161
+ expect(result?.estimated_duration_minutes).toBeUndefined();
162
+ expect(result?.chain_rationale).toBeUndefined();
163
+ });
164
+ it('returns null when JSON block is not fenced properly', () => {
165
+ expect(parseComplexityAssessment(UNFENCED_JSON_PRD)).toBeNull();
166
+ });
167
+ it('correctly extracts JSON even when PRD has other JSON-like content elsewhere', () => {
168
+ const result = parseComplexityAssessment(OTHER_JSON_PRD);
169
+ expect(result).not.toBeNull();
170
+ expect(result?.total_tasks).toBe(6);
171
+ expect(result?.recommended_strategy).toBe('single');
172
+ });
173
+ it('returns null when required fields are missing from JSON', () => {
174
+ const prd = `# Feature — PRD\n\n## Complexity Assessment\n\n\`\`\`json\n{"total_tasks": 3}\n\`\`\`\n`;
175
+ expect(parseComplexityAssessment(prd)).toBeNull();
176
+ });
177
+ });
178
+ //# sourceMappingURL=pipeline.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.test.js","sourceRoot":"","sources":["../../src/cli/pipeline.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencastle",
3
- "version": "0.29.0",
3
+ "version": "0.30.0",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration framework for AI coding assistants",
6
6
  "bin": {
@@ -339,7 +339,7 @@ export function evaluateReviewLevel(
339
339
  ): ReviewLevel {
340
340
  const panelPaths = heuristics?.panel_paths ?? ['auth/', 'security/', 'migrations/', 'rls/']
341
341
  const panelAgents = heuristics?.panel_agents ?? ['security-expert', 'database-engineer']
342
- const autoPassAgents = heuristics?.auto_pass_agents ?? ['documentation-writer', 'copywriter']
342
+ const autoPassAgents = heuristics?.auto_pass_agents ?? ['documentation-writer']
343
343
  const autoPassMaxLines = heuristics?.auto_pass_max_lines ?? 10
344
344
  const autoPassMaxFiles = heuristics?.auto_pass_max_files ?? 2
345
345