daedalus-cli 1.89.0 → 1.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ # [1.91.0](https://github.com/bgill55/daedalus/compare/v1.90.0...v1.91.0) (2026-07-30)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **loop:** sanitize Discord embed payload, resolve webhook from env/config, and fallback PR URL lookup ([a0e912c](https://github.com/bgill55/daedalus/commit/a0e912c464fc2893f17d1418687a632bc7fb17a6))
7
+
8
+
9
+ ### Features
10
+
11
+ * **config:** add FreeLLMAPI to DEFAULT_CONFIG and auto-discovery candidates ([0f07b5f](https://github.com/bgill55/daedalus/commit/0f07b5f5a9c1790c8b71f8803430b7ee6fa91b75))
12
+
13
+ # [1.90.0](https://github.com/bgill55/daedalus/compare/v1.89.0...v1.90.0) (2026-07-29)
14
+
15
+
16
+ ### Features
17
+
18
+ * add /shortcut command for custom slash-command aliases ([9e83e46](https://github.com/bgill55/daedalus/commit/9e83e46d2825856a30611322ff145ee6d07d1c95))
19
+
1
20
  # [1.89.0](https://github.com/bgill55/daedalus/compare/v1.88.0...v1.89.0) (2026-07-29)
2
21
 
3
22
 
package/README.md CHANGED
@@ -200,6 +200,7 @@ AI assistance without:
200
200
  | `/tui` | Toggle the Terminal User Interface (TUI) dashboard |
201
201
  | `/hunt` / `/bug` | Autonomously hunt down and fix a bug: reproduce, locate root cause, fix, verify |
202
202
  | `/stats` / `stats` | Display session analytics, token usage, index count, and router status |
203
+ | `/shortcut` / `/sc` | Manage custom slash-command aliases |
203
204
  | `/feedback` / `report` | Send bug reports or feature requests to the Daedalus team |
204
205
 
205
206
  <!-- END_COMMANDS_TABLE -->
@@ -4,6 +4,7 @@ export declare function getGitRepoInfo(cwd: string): {
4
4
  owner: string;
5
5
  repo: string;
6
6
  } | null;
7
+ export declare function resolveDiscordWebhook(config?: any): string | null;
7
8
  export declare function sendDiscordEmbed(webhookUrl: string, embed: any): Promise<boolean>;
8
9
  export declare function handleSpecCommand(args: string, ctx: CommandContext): Promise<void>;
9
10
  export declare function startLoopDaemon(ctx: ToolContext, config: any, router: any, sessionManager: any): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYlF;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBvF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,iBAqFxE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,iBAyMpG"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYlF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAsBjE;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAyCvF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,iBAoGxE;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,iBAyUpG"}
@@ -1,4 +1,6 @@
1
1
  import dotenv from 'dotenv';
2
+ import fs from 'fs';
3
+ import path from 'path';
2
4
  import { execSync } from 'child_process';
3
5
  import pc from 'picocolors';
4
6
  dotenv.config();
@@ -16,18 +18,65 @@ export function getGitRepoInfo(cwd) {
16
18
  }
17
19
  return null;
18
20
  }
21
+ export function resolveDiscordWebhook(config) {
22
+ if (process.env.DISCORD_WEBHOOK_URL && process.env.DISCORD_WEBHOOK_URL.trim()) {
23
+ return process.env.DISCORD_WEBHOOK_URL.trim();
24
+ }
25
+ if (config?.discordWebhook && typeof config.discordWebhook === 'string') {
26
+ return config.discordWebhook.trim();
27
+ }
28
+ if (config?.integrations?.discordWebhook && typeof config.integrations.discordWebhook === 'string') {
29
+ return config.integrations.discordWebhook.trim();
30
+ }
31
+ try {
32
+ const home = process.env.USERPROFILE || process.env.HOME || '';
33
+ const configPath = path.join(home, '.daedalus', 'config.json');
34
+ if (fs.existsSync(configPath)) {
35
+ const parsed = JSON.parse(fs.readFileSync(configPath, 'utf8'));
36
+ if (parsed.discordWebhook)
37
+ return String(parsed.discordWebhook).trim();
38
+ if (parsed.integrations?.discordWebhook)
39
+ return String(parsed.integrations.discordWebhook).trim();
40
+ }
41
+ }
42
+ catch {
43
+ // Ignore config read failures
44
+ }
45
+ return null;
46
+ }
19
47
  export async function sendDiscordEmbed(webhookUrl, embed) {
48
+ if (!webhookUrl)
49
+ return false;
20
50
  try {
51
+ const cleanEmbed = { ...embed };
52
+ // Clean up empty URL which breaks Discord API
53
+ if (!cleanEmbed.url || typeof cleanEmbed.url !== 'string' || !cleanEmbed.url.startsWith('http')) {
54
+ delete cleanEmbed.url;
55
+ }
56
+ // Clean up empty fields which break Discord API
57
+ if (Array.isArray(cleanEmbed.fields)) {
58
+ cleanEmbed.fields = cleanEmbed.fields
59
+ .filter((f) => f && f.name && f.value)
60
+ .map((f) => ({
61
+ name: String(f.name),
62
+ value: String(f.value).trim() || 'N/A',
63
+ inline: Boolean(f.inline),
64
+ }));
65
+ if (cleanEmbed.fields.length === 0) {
66
+ delete cleanEmbed.fields;
67
+ }
68
+ }
21
69
  const res = await fetch(webhookUrl, {
22
70
  method: 'POST',
23
71
  headers: { 'Content-Type': 'application/json' },
24
- body: JSON.stringify({ embeds: [embed] }),
72
+ body: JSON.stringify({ embeds: [cleanEmbed] }),
25
73
  });
26
74
  if (!res.ok) {
27
75
  const text = await res.text();
28
76
  console.error(pc.yellow(`[WARN] Discord webhook returned ${res.status}: ${text}`));
29
77
  return false;
30
78
  }
79
+ console.log(pc.green('✔ Sent Discord notification embed.'));
31
80
  return true;
32
81
  }
33
82
  catch (err) {
@@ -103,6 +152,20 @@ Include a summary, proposed file modifications/creations, and acceptance criteri
103
152
  if (createResp.ok) {
104
153
  const issueData = (await createResp.json());
105
154
  console.log(pc.green(`\n✔ Issue created successfully on GitHub: ${pc.bold(issueData.html_url)}`));
155
+ const discordWebhook = resolveDiscordWebhook(ctx.config);
156
+ if (discordWebhook) {
157
+ await sendDiscordEmbed(discordWebhook, {
158
+ title: `📋 New Spec Issue Queued: ${idea}`,
159
+ description: `Created issue **#${issueData.number}** and queued for autonomous loop processing.`,
160
+ url: issueData.html_url,
161
+ color: 3447003,
162
+ fields: [
163
+ { name: 'Repository', value: `${repoInfo.owner}/${repoInfo.repo}`, inline: true },
164
+ { name: 'Status', value: 'daedalus-todo', inline: true },
165
+ ],
166
+ timestamp: new Date().toISOString(),
167
+ });
168
+ }
106
169
  }
107
170
  else {
108
171
  const errText = await createResp.text();
@@ -123,7 +186,7 @@ export async function startLoopDaemon(ctx, config, router, sessionManager) {
123
186
  // Fallback
124
187
  }
125
188
  }
126
- const discordWebhook = process.env.DISCORD_WEBHOOK_URL;
189
+ const discordWebhook = resolveDiscordWebhook(config);
127
190
  if (!repoInfo || !token) {
128
191
  console.error(pc.red('[ERROR] Daemon requires a Git repository with GITHUB_TOKEN/GH_TOKEN or gh CLI authenticated.'));
129
192
  process.exit(1);
@@ -177,6 +240,20 @@ export async function startLoopDaemon(ctx, config, router, sessionManager) {
177
240
  labels: ['daedalus-in-progress'],
178
241
  }),
179
242
  });
243
+ // Send Discord Embed for work starting
244
+ if (discordWebhook) {
245
+ await sendDiscordEmbed(discordWebhook, {
246
+ title: `⚙️ Loop Work Started: Issue #${issue.number}`,
247
+ description: `Daedalus is implementing: **"${issue.title}"**`,
248
+ url: issue.html_url || `https://github.com/${repo.owner}/${repo.repo}/issues/${issue.number}`,
249
+ color: 3447003,
250
+ fields: [
251
+ { name: 'Repository', value: `${repo.owner}/${repo.repo}`, inline: true },
252
+ { name: 'Issue Link', value: issue.html_url || 'N/A', inline: true },
253
+ ],
254
+ timestamp: new Date().toISOString(),
255
+ });
256
+ }
180
257
  // 2. Run Orchestrator in auto-approve mode
181
258
  process.env.DAEDALUS_AUTO_APPROVE = 'true';
182
259
  console.log(pc.cyan(`Starting orchestration for Issue #${issue.number}...`));
@@ -207,13 +284,98 @@ export async function startLoopDaemon(ctx, config, router, sessionManager) {
207
284
  await sendDiscordEmbed(discordWebhook, {
208
285
  title: `❌ Build Failed: Issue #${issue.number}`,
209
286
  description: `Orchestrator failed to build: "${issue.title}". Workspace changes reverted.`,
287
+ url: issue.html_url,
210
288
  color: 16711680,
289
+ timestamp: new Date().toISOString(),
290
+ });
291
+ }
292
+ return;
293
+ }
294
+ // 3. Orchestration Passed — run self-review gate before committing
295
+ console.log(pc.cyan('\n[SELF-REVIEW] Running semantic review gate before commit...'));
296
+ const MAX_REVIEW_RETRIES = 2;
297
+ let reviewGatePassed = false;
298
+ for (let attempt = 0; attempt <= MAX_REVIEW_RETRIES; attempt++) {
299
+ // Get full diff of working tree against the base branch
300
+ let diffPatch = '';
301
+ try {
302
+ diffPatch = execSync('git diff HEAD', { cwd: sessionManager.projectRoot, encoding: 'utf8' }).trim();
303
+ if (!diffPatch) {
304
+ diffPatch = execSync('git diff --cached', { cwd: sessionManager.projectRoot, encoding: 'utf8' }).trim();
305
+ }
306
+ }
307
+ catch { /* no diff available */ }
308
+ if (!diffPatch) {
309
+ reviewGatePassed = true;
310
+ break;
311
+ }
312
+ // AI semantic review of the full diff
313
+ let findings = '';
314
+ try {
315
+ const aiRes = await router.chat.completions.create({
316
+ model: 'intelligence',
317
+ messages: [
318
+ {
319
+ role: 'system',
320
+ content: `You are an expert code reviewer. Analyze this git diff for show-stopping bugs: schema mismatches between JSON files and their parsers, unreachable code paths caused by incorrect empty-string detection (e.g. ''.split(' ') yields [''] not []), key normalization mismatches in add/remove operations, logic errors that compile clean.
321
+ Output ONLY "PASS" if no real bugs found, or a numbered list of bugs starting with "BUGS:". Be concise. Do not report style issues.`,
322
+ },
323
+ {
324
+ role: 'user',
325
+ content: `Review this diff:\n\`\`\`diff\n${diffPatch.slice(0, 8000)}\n\`\`\``,
326
+ },
327
+ ],
328
+ temperature: 0.1,
329
+ });
330
+ findings = aiRes.choices[0]?.message?.content?.trim() || 'PASS';
331
+ }
332
+ catch {
333
+ findings = 'PASS';
334
+ }
335
+ if (findings === 'PASS' || findings.startsWith('PASS')) {
336
+ console.log(pc.green(`[SELF-REVIEW] ✔ Semantic gate passed (attempt ${attempt + 1})`));
337
+ reviewGatePassed = true;
338
+ break;
339
+ }
340
+ console.log(pc.yellow(`\n[SELF-REVIEW] Found issues (attempt ${attempt + 1}/${MAX_REVIEW_RETRIES + 1}):\n${findings}`));
341
+ if (attempt < MAX_REVIEW_RETRIES) {
342
+ // Spawn a repair coder pass
343
+ console.log(pc.cyan('[SELF-REVIEW] Spawning repair pass...'));
344
+ try {
345
+ const { Orchestrator } = await import('./orchestrator.js');
346
+ const repairOrchestrator = new Orchestrator(router, [], ctx, sessionManager);
347
+ const repairGoal = `Fix the following show-stopping bugs found in a semantic code review. Apply targeted fixes ONLY to the files mentioned. Do not rewrite unrelated code.\n\nBUGS TO FIX:\n${findings}`;
348
+ await repairOrchestrator.run(repairGoal);
349
+ }
350
+ catch (repairErr) {
351
+ console.error(pc.red(`[SELF-REVIEW] Repair pass failed: ${repairErr.message}`));
352
+ }
353
+ }
354
+ }
355
+ if (!reviewGatePassed) {
356
+ console.error(pc.red(`\n✗ Self-review gate failed after ${MAX_REVIEW_RETRIES + 1} attempts. Reverting changes to keep codebase clean.`));
357
+ try {
358
+ execSync('git reset --hard && git clean -fd', { cwd: sessionManager.projectRoot });
359
+ }
360
+ catch { /* ignore */ }
361
+ await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/issues/${issue.number}`, {
362
+ method: 'PATCH',
363
+ headers: { Authorization: `token ${token}`, 'Content-Type': 'application/json', 'User-Agent': 'Daedalus-CLI' },
364
+ body: JSON.stringify({ labels: ['daedalus-todo', 'daedalus-failed'] }),
365
+ });
366
+ if (discordWebhook) {
367
+ await sendDiscordEmbed(discordWebhook, {
368
+ title: `⚠️ Review Gate Failed: Issue #${issue.number}`,
369
+ description: `Self-review gate failed after retries for: **"${issue.title}"**. Workspace changes reverted.`,
370
+ url: issue.html_url,
371
+ color: 16753920,
372
+ timestamp: new Date().toISOString(),
211
373
  });
212
374
  }
213
375
  return;
214
376
  }
215
- // 3. Orchestration Passed - push branch and open PR
216
- console.log(pc.green('\n✔ Orchestration completed successfully. Pushing changes...'));
377
+ // 4. Gate passed push branch and open PR
378
+ console.log(pc.green('\n✔ Self-review gate passed. Pushing changes...'));
217
379
  const branchName = `daedalus-issue-${issue.number}`;
218
380
  const cleanTitle = issue.title.replace(/"/g, "'");
219
381
  try {
@@ -245,11 +407,32 @@ export async function startLoopDaemon(ctx, config, router, sessionManager) {
245
407
  let prUrl = '';
246
408
  if (prResp.ok) {
247
409
  const prData = (await prResp.json());
248
- prUrl = prData.html_url;
410
+ prUrl = prData.html_url || '';
249
411
  console.log(pc.green(`✔ PR opened: ${prUrl}`));
250
412
  }
251
413
  else {
252
- console.error(pc.red(`Failed to open PR: ${await prResp.text()}`));
414
+ const errBody = await prResp.text();
415
+ console.error(pc.yellow(`PR creation notice: ${errBody.slice(0, 150)}`));
416
+ // Attempt to fetch existing PR for this head branch so prUrl is not empty
417
+ try {
418
+ const existingPrResp = await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/pulls?head=${repo.owner}:${branchName}&state=open`, {
419
+ headers: {
420
+ Authorization: `token ${token}`,
421
+ 'User-Agent': 'Daedalus-CLI',
422
+ },
423
+ });
424
+ if (existingPrResp.ok) {
425
+ const prs = (await existingPrResp.json());
426
+ if (prs.length > 0 && prs[0].html_url) {
427
+ prUrl = prs[0].html_url;
428
+ console.log(pc.green(`✔ Found existing PR: ${prUrl}`));
429
+ }
430
+ }
431
+ }
432
+ catch { /* ignore fallback fetch error */ }
433
+ if (!prUrl) {
434
+ prUrl = `https://github.com/${repo.owner}/${repo.repo}/pulls`;
435
+ }
253
436
  }
254
437
  // Move Issue to done
255
438
  await fetch(`https://api.github.com/repos/${repo.owner}/${repo.repo}/issues/${issue.number}`, {
@@ -263,16 +446,17 @@ export async function startLoopDaemon(ctx, config, router, sessionManager) {
263
446
  labels: ['daedalus-done'],
264
447
  }),
265
448
  });
266
- // 4. Send Discord Embed Notification
449
+ // 5. Send Discord Embed Notification
267
450
  if (discordWebhook) {
451
+ const issueUrl = issue.html_url || `https://github.com/${repo.owner}/${repo.repo}/issues/${issue.number}`;
268
452
  await sendDiscordEmbed(discordWebhook, {
269
- title: `🚀 Code Review Ready: Issue #${issue.number}`,
453
+ title: `🚀 PR Ready for Review: Issue #${issue.number}`,
270
454
  description: `Successfully built and verified: **"${issue.title}"**`,
271
455
  url: prUrl,
272
456
  color: 65280,
273
457
  fields: [
274
- { name: 'Issue Link', value: issue.html_url, inline: true },
275
- { name: 'Pull Request', value: prUrl, inline: true },
458
+ { name: 'Issue', value: `[#${issue.number}](${issueUrl})`, inline: true },
459
+ { name: 'Pull Request', value: `[View PR](${prUrl})`, inline: true },
276
460
  { name: 'Branch', value: branchName, inline: true },
277
461
  ],
278
462
  timestamp: new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agents/loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAY,WAAW,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;gBAEzB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,cAAc;YAOrG,YAAY;YAiBZ,sBAAsB;IA2C9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDlC,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,WAAW,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC;YAgCJ,UAAU;IAyHxB,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;YAsBN,iBAAiB;YAuFjB,WAAW;YAsIX,eAAe;IAwE7B,OAAO,CAAC,oBAAoB;IAmG5B,OAAO,CAAC,kBAAkB;IA6E1B,OAAO,CAAC,oBAAoB;YA8Cd,YAAY;YAgUZ,QAAQ;YAiKR,sBAAsB;IASpC,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,gBAAgB;CA2CzB"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAY,WAAW,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAevD,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAK3E,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAK;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAK;gBAEzB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,cAAc;YAOrG,YAAY;YAiBZ,sBAAsB;IA2C9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwDlC,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,WAAW,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC;YAgCJ,UAAU;IAyHxB,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,YAAY;YAsBN,iBAAiB;YAuFjB,WAAW;YAsIX,eAAe;IAwE7B,OAAO,CAAC,oBAAoB;IAmG5B,OAAO,CAAC,kBAAkB;IA6E1B,OAAO,CAAC,oBAAoB;YA8Cd,YAAY;YAmVZ,QAAQ;YAiKR,sBAAsB;IASpC,OAAO,CAAC,UAAU;IA2BlB,OAAO,CAAC,gBAAgB;CA2CzB"}
@@ -1141,7 +1141,7 @@ export class Orchestrator {
1141
1141
  else {
1142
1142
  console.log(`[${pc.red('FAILED')}] ${role.name}: ${task.error || 'verification failed'}`);
1143
1143
  }
1144
- // Post-task review if task touched files
1144
+ // Post-task review if task touched files — now BLOCKING for coder tasks
1145
1145
  if (success && this.sessionManager && task.role !== 'reviewer') {
1146
1146
  try {
1147
1147
  const reviewerRole = getAgentRole('reviewer');
@@ -1155,6 +1155,22 @@ export class Orchestrator {
1155
1155
  const reviewContext = `TASK: ${task.goal}\n\nAgent result:\n${result}${fileList}\n\nReview the files that were touched for this task. Use git_diff or list files modified recently. Check for syntax errors, correctness, and project health.`;
1156
1156
  const reviewTools = filterToolsForRole([...BUILTIN_TOOLS, ...mcpRegistry.getToolDefinitions()], 'reviewer');
1157
1157
  const review = await this.runAgent(reviewerRole, `Review files from task: ${task.goal}`, reviewContext, reviewTools);
1158
+ // Parse reviewer verdict
1159
+ const statusMatch = review.match(/STATUS:\s*(PASS|NEEDS_FIX|STOP)/i);
1160
+ const verdict = statusMatch?.[1]?.toUpperCase() || 'PASS';
1161
+ // BLOCKING: if reviewer found issues on a coder task, trigger a repair pass
1162
+ if ((verdict === 'NEEDS_FIX' || verdict === 'STOP') && (task.role === 'coder' || task.role === 'debugger')) {
1163
+ console.log(pc.yellow(`\n[REVIEWER] Found issues — triggering repair pass...`));
1164
+ const findingsMatch = review.match(/FINDINGS:([\s\S]*?)(?:RECOMMENDATION:|$)/i);
1165
+ const findings = findingsMatch?.[1]?.trim() || review;
1166
+ const repairGoal = `Fix the following reviewer findings in the files you just wrote for task: "${task.goal}"\n\nFINDINGS:\n${findings}\n\nApply targeted fixes only. Do not change unrelated code.`;
1167
+ const coderRole = getAgentRole('coder');
1168
+ if (coderRole) {
1169
+ const repairTools = filterToolsForRole([...BUILTIN_TOOLS, ...mcpRegistry.getToolDefinitions()], 'coder');
1170
+ await this.runAgent(coderRole, repairGoal, reviewContext, repairTools);
1171
+ console.log(pc.green(`[REPAIR] Repair pass complete.`));
1172
+ }
1173
+ }
1158
1174
  // Update project status from review
1159
1175
  try {
1160
1176
  const buildStatus = /build.*pass|no errors|pass/i.test(review) ? 'passing' : 'needs_attention';