whitesmith 0.0.2 → 0.0.4

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 (50) hide show
  1. package/README.md +286 -88
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +90 -2
  4. package/dist/cli.js.map +1 -1
  5. package/dist/comment.d.ts.map +1 -1
  6. package/dist/comment.js +18 -11
  7. package/dist/comment.js.map +1 -1
  8. package/dist/git.d.ts +5 -3
  9. package/dist/git.d.ts.map +1 -1
  10. package/dist/git.js +20 -29
  11. package/dist/git.js.map +1 -1
  12. package/dist/harnesses/pi.d.ts.map +1 -1
  13. package/dist/harnesses/pi.js +22 -6
  14. package/dist/harnesses/pi.js.map +1 -1
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/orchestrator.d.ts +31 -3
  20. package/dist/orchestrator.d.ts.map +1 -1
  21. package/dist/orchestrator.js +214 -10
  22. package/dist/orchestrator.js.map +1 -1
  23. package/dist/prompts.d.ts +52 -0
  24. package/dist/prompts.d.ts.map +1 -1
  25. package/dist/prompts.js +197 -0
  26. package/dist/prompts.js.map +1 -1
  27. package/dist/providers/github-ci.d.ts +40 -0
  28. package/dist/providers/github-ci.d.ts.map +1 -1
  29. package/dist/providers/github-ci.js +463 -213
  30. package/dist/providers/github-ci.js.map +1 -1
  31. package/dist/providers/index.d.ts +1 -1
  32. package/dist/providers/index.d.ts.map +1 -1
  33. package/dist/review.d.ts +48 -0
  34. package/dist/review.d.ts.map +1 -0
  35. package/dist/review.js +221 -0
  36. package/dist/review.js.map +1 -0
  37. package/dist/types.d.ts +4 -0
  38. package/dist/types.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/cli.ts +116 -3
  41. package/src/comment.ts +20 -14
  42. package/src/git.ts +23 -30
  43. package/src/harnesses/pi.ts +27 -6
  44. package/src/index.ts +9 -1
  45. package/src/orchestrator.ts +253 -14
  46. package/src/prompts.ts +239 -0
  47. package/src/providers/github-ci.ts +513 -217
  48. package/src/providers/index.ts +1 -1
  49. package/src/review.ts +290 -0
  50. package/src/types.ts +4 -0
@@ -3,6 +3,7 @@ import { TaskManager } from './task-manager.js';
3
3
  import { GitManager } from './git.js';
4
4
  import { buildInvestigatePrompt, buildImplementPrompt } from './prompts.js';
5
5
  import { isAutoWorkEnabled } from './auto-work.js';
6
+ import { performReview } from './review.js';
6
7
  /**
7
8
  * Main orchestrator for whitesmith.
8
9
  *
@@ -38,6 +39,9 @@ export class Orchestrator {
38
39
  console.log(`Agent command: ${this.config.agentCmd}`);
39
40
  console.log(`Provider: ${this.config.provider}`);
40
41
  console.log(`Model: ${this.config.model}`);
42
+ if (this.config.issueNumber !== undefined) {
43
+ console.log(`Target issue: #${this.config.issueNumber}`);
44
+ }
41
45
  console.log('');
42
46
  // Skip agent validation and label creation in dry-run mode
43
47
  if (!this.config.dryRun) {
@@ -48,6 +52,11 @@ export class Orchestrator {
48
52
  // Ensure labels exist
49
53
  await this.issues.ensureLabels(Object.values(LABELS));
50
54
  }
55
+ // Delegate to single-issue mode if --issue is set
56
+ if (this.config.issueNumber !== undefined) {
57
+ await this.runForIssue(this.config.issueNumber);
58
+ return;
59
+ }
51
60
  for (let i = 1; i <= this.config.maxIterations; i++) {
52
61
  console.log('');
53
62
  console.log(`=== Iteration ${i}/${this.config.maxIterations} ===`);
@@ -102,6 +111,123 @@ export class Orchestrator {
102
111
  console.log('');
103
112
  console.log('=== Iteration limit reached ===');
104
113
  }
114
+ /**
115
+ * Run the full pipeline for a single issue.
116
+ *
117
+ * Re-fetches the issue after each action to get updated labels, then decides
118
+ * the next action based on the current state. Loops until idle or the
119
+ * iteration limit is reached.
120
+ */
121
+ async runForIssue(issueNumber) {
122
+ console.log(`Running single-issue mode for issue #${issueNumber}`);
123
+ for (let i = 1; i <= this.config.maxIterations; i++) {
124
+ console.log('');
125
+ console.log(`=== Iteration ${i}/${this.config.maxIterations} ===`);
126
+ // Make sure we're on main with latest
127
+ await this.git.fetch();
128
+ await this.git.checkoutMain();
129
+ // Re-fetch the issue to get current labels
130
+ const issue = await this.issues.getIssue(issueNumber);
131
+ // Determine the action based on the issue's current state
132
+ const action = await this.decideActionForIssue(issue);
133
+ console.log(`Action: ${action.type}`);
134
+ if (this.config.dryRun) {
135
+ switch (action.type) {
136
+ case 'reconcile':
137
+ console.log(`Would reconcile issue #${action.issue.number}: ${action.issue.title}`);
138
+ break;
139
+ case 'auto-approve':
140
+ console.log(`Would auto-approve task PR for issue #${action.issue.number}: ${action.issue.title}`);
141
+ break;
142
+ case 'investigate':
143
+ console.log(`Would investigate issue #${action.issue.number}: ${action.issue.title}`);
144
+ break;
145
+ case 'implement':
146
+ console.log(`Would implement task ${action.task.id}: ${action.task.title} (issue #${action.issue.number})`);
147
+ break;
148
+ case 'idle':
149
+ console.log('Nothing to do. Issue is either completed or no actions are applicable.');
150
+ break;
151
+ }
152
+ return;
153
+ }
154
+ switch (action.type) {
155
+ case 'reconcile':
156
+ await this.reconcile(action.issue);
157
+ break;
158
+ case 'auto-approve':
159
+ await this.autoApprove(action.issue);
160
+ break;
161
+ case 'investigate':
162
+ await this.investigate(action.issue);
163
+ break;
164
+ case 'implement':
165
+ await this.implement(action.task, action.issue);
166
+ break;
167
+ case 'idle':
168
+ console.log('Nothing to do. Issue is either completed or no actions are applicable.');
169
+ return;
170
+ }
171
+ if (!this.config.noSleep && i < this.config.maxIterations) {
172
+ console.log('Sleeping 5s...');
173
+ await new Promise((r) => setTimeout(r, 5000));
174
+ }
175
+ }
176
+ console.log('');
177
+ console.log('=== Iteration limit reached ===');
178
+ }
179
+ /**
180
+ * Decide the next action for a single issue based on its current labels.
181
+ */
182
+ async decideActionForIssue(issue) {
183
+ const labels = issue.labels;
184
+ // Handle stale investigating label (crashed previous run)
185
+ if (labels.includes(LABELS.INVESTIGATING)) {
186
+ console.log(`Issue #${issue.number} has stale '${LABELS.INVESTIGATING}' label, clearing it`);
187
+ await this.issues.removeLabel(issue.number, LABELS.INVESTIGATING);
188
+ // Treat as uninvestigated — re-investigate
189
+ return { type: 'investigate', issue };
190
+ }
191
+ // tasks-accepted: check if all tasks are done (reconcile) or implement next task
192
+ if (labels.includes(LABELS.TASKS_ACCEPTED)) {
193
+ const allDone = await this.allTasksCompletedOnBranch(issue.number);
194
+ if (allDone) {
195
+ return { type: 'reconcile', issue };
196
+ }
197
+ // Find an available task to implement
198
+ const implementAction = await this.findAvailableTask([issue]);
199
+ if (implementAction) {
200
+ return implementAction;
201
+ }
202
+ return { type: 'idle' };
203
+ }
204
+ // tasks-proposed: check if PR was already merged (tasks on main) → transition inline
205
+ if (labels.includes(LABELS.TASKS_PROPOSED)) {
206
+ if (this.tasks.hasRemainingTasks(issue.number)) {
207
+ // Tasks exist on main = investigate PR was merged
208
+ console.log(`Issue #${issue.number}: tasks PR merged, transitioning to tasks-accepted`);
209
+ await this.issues.removeLabel(issue.number, LABELS.TASKS_PROPOSED);
210
+ await this.issues.addLabel(issue.number, LABELS.TASKS_ACCEPTED);
211
+ // Find an available task to implement
212
+ const implementAction = await this.findAvailableTask([issue]);
213
+ if (implementAction) {
214
+ return implementAction;
215
+ }
216
+ return { type: 'idle' };
217
+ }
218
+ // PR not yet merged — auto-approve if auto-work is enabled
219
+ if (isAutoWorkEnabled(this.config, issue)) {
220
+ return { type: 'auto-approve', issue };
221
+ }
222
+ return { type: 'idle' };
223
+ }
224
+ // completed: nothing to do
225
+ if (labels.includes(LABELS.COMPLETED)) {
226
+ return { type: 'idle' };
227
+ }
228
+ // No whitesmith labels — investigate
229
+ return { type: 'investigate', issue };
230
+ }
105
231
  /**
106
232
  * Check whether all tasks for an issue have been completed on the issue branch.
107
233
  * Works without checking out the branch by inspecting the remote via git ls-tree.
@@ -120,11 +246,19 @@ export class Orchestrator {
120
246
  */
121
247
  async decideAction() {
122
248
  // Priority 1: Reconcile — issues with tasks-accepted where all tasks are done
249
+ // but no PR exists yet (safety net for crash recovery).
123
250
  const acceptedIssues = await this.issues.listIssues({ labels: [LABELS.TASKS_ACCEPTED] });
124
251
  for (const issue of acceptedIssues) {
125
252
  const allDone = await this.allTasksCompletedOnBranch(issue.number);
126
253
  if (allDone) {
127
- return { type: 'reconcile', issue };
254
+ // Only reconcile if no PR exists yet — if a PR is already open,
255
+ // the issue is waiting for merge and there's nothing more to do.
256
+ const branch = `issue/${issue.number}`;
257
+ const existingPR = await this.issues.getPRForBranch(branch);
258
+ if (!existingPR || existingPR.state === 'closed') {
259
+ return { type: 'reconcile', issue };
260
+ }
261
+ // PR exists and is open or merged — skip
128
262
  }
129
263
  }
130
264
  // Priority 2: Auto-approve — merge task PRs for issues with auto-work enabled
@@ -195,13 +329,16 @@ export class Orchestrator {
195
329
  return null;
196
330
  }
197
331
  /**
198
- * Phase 1: Reconcile — mark issue as completed, close it.
199
- * Also serves as safety net: creates PR if all tasks are done but no PR exists
332
+ * Phase 1: Reconcile — safety net for crash recovery.
333
+ * Creates PR if all tasks are done on the issue branch but no PR exists
200
334
  * (e.g. agent crashed after last task push but before PR creation).
335
+ *
336
+ * Does NOT close the issue — that happens when the PR is merged and the
337
+ * CLI `reconcile` command detects that task files are gone from main.
201
338
  */
202
339
  async reconcile(issue) {
203
340
  console.log(`Reconciling issue #${issue.number}: ${issue.title}`);
204
- console.log('All tasks completed. Marking issue as done.');
341
+ console.log('All tasks completed on branch. Ensuring PR exists.');
205
342
  // Safety net: ensure a PR exists for the issue branch
206
343
  const branch = `issue/${issue.number}`;
207
344
  const branchExists = await this.issues.remoteBranchExists(branch);
@@ -221,15 +358,15 @@ export class Orchestrator {
221
358
  });
222
359
  console.log(`Safety net PR created: ${prUrl}`);
223
360
  }
361
+ else {
362
+ console.log(`PR already exists: ${existingPR.url}`);
363
+ }
224
364
  }
225
- await this.issues.addLabel(issue.number, LABELS.COMPLETED);
226
- await this.issues.removeLabel(issue.number, LABELS.TASKS_ACCEPTED);
227
- await this.issues.comment(issue.number, `✅ All tasks for this issue have been implemented and merged. Closing.`);
228
- await this.issues.closeIssue(issue.number);
229
- console.log(`Issue #${issue.number} closed.`);
365
+ console.log(`Issue #${issue.number} awaiting PR merge.`);
230
366
  }
231
367
  /**
232
- * Phase 1.5: Auto-approve — merge the task-proposal PR when auto-work is enabled
368
+ * Phase 1.5: Auto-approve — merge the task-proposal PR when auto-work is enabled.
369
+ * When review is enabled, runs a review first and only merges if approved.
233
370
  */
234
371
  async autoApprove(issue) {
235
372
  console.log(`Auto-approving task PR for issue #${issue.number}: ${issue.title}`);
@@ -239,6 +376,23 @@ export class Orchestrator {
239
376
  console.log(`No open PR found for branch '${branch}', skipping auto-approve`);
240
377
  return;
241
378
  }
379
+ // Run review before merging (if review is enabled)
380
+ if (this.config.review) {
381
+ let reviewResult = null;
382
+ try {
383
+ reviewResult = await this.reviewTaskProposal(issue.number);
384
+ }
385
+ catch (error) {
386
+ console.error('Review failed:', error instanceof Error ? error.message : error);
387
+ }
388
+ if (reviewResult && reviewResult.verdict === 'request_changes') {
389
+ console.log(`Review requested changes for task PR #${pr.number}. Skipping auto-merge.`);
390
+ await this.issues.comment(issue.number, `🔍 Review of task PR #${pr.number} requested changes. Auto-merge skipped — please review manually.`);
391
+ // Remove tasks-proposed so auto-approve doesn't retry every iteration
392
+ await this.issues.removeLabel(issue.number, LABELS.TASKS_PROPOSED);
393
+ return;
394
+ }
395
+ }
242
396
  await this.issues.mergePR(pr.number);
243
397
  console.log(`Merged PR #${pr.number}: ${pr.url}`);
244
398
  await this.issues.removeLabel(issue.number, LABELS.TASKS_PROPOSED);
@@ -332,6 +486,17 @@ export class Orchestrator {
332
486
  await this.issues.addLabel(issue.number, LABELS.TASKS_PROPOSED);
333
487
  await this.issues.comment(issue.number, `📋 Tasks have been generated. Review the PR: ${prUrl}`);
334
488
  console.log(`PR created: ${prUrl}`);
489
+ // Queue review of the task proposal (skip if auto-work — auto-approve will review)
490
+ if (this.config.review && !isAutoWorkEnabled(this.config, issue)) {
491
+ await this.git.checkoutMain();
492
+ try {
493
+ await this.reviewTaskProposal(issue.number);
494
+ }
495
+ catch (error) {
496
+ console.error('Review failed:', error instanceof Error ? error.message : error);
497
+ }
498
+ return; // Already on main after review
499
+ }
335
500
  }
336
501
  }
337
502
  catch (error) {
@@ -416,6 +581,17 @@ export class Orchestrator {
416
581
  });
417
582
  }
418
583
  console.log(`PR created: ${prUrl}`);
584
+ // Queue review of the implementation PR
585
+ if (this.config.review) {
586
+ await this.git.checkoutMain();
587
+ try {
588
+ await this.reviewImplementationPR(issue.number);
589
+ }
590
+ catch (error) {
591
+ console.error('Review failed:', error instanceof Error ? error.message : error);
592
+ }
593
+ return; // Already on main after review
594
+ }
419
595
  }
420
596
  else {
421
597
  console.log(`Task ${task.id} committed. ${remainingTasks.length} task(s) remaining for issue #${issue.number}.`);
@@ -428,5 +604,33 @@ export class Orchestrator {
428
604
  // Return to main
429
605
  await this.git.checkoutMain();
430
606
  }
607
+ /**
608
+ * Review a task proposal (investigate PR).
609
+ * Posts the review as a comment on the task proposal PR.
610
+ * Returns the review result so callers can check the verdict.
611
+ */
612
+ async reviewTaskProposal(issueNumber) {
613
+ console.log(`Reviewing task proposal for issue #${issueNumber}...`);
614
+ return performReview({ type: 'issue-tasks', issueNumber }, {
615
+ workDir: this.config.workDir,
616
+ repo: this.config.repo,
617
+ logFile: this.config.logFile,
618
+ post: !this.config.noPush,
619
+ }, this.issues, this.agent);
620
+ }
621
+ /**
622
+ * Review an implementation PR (all tasks completed for an issue).
623
+ * Posts the review as a comment on the implementation PR.
624
+ * Returns the review result so callers can check the verdict.
625
+ */
626
+ async reviewImplementationPR(issueNumber) {
627
+ console.log(`Reviewing implementation for issue #${issueNumber}...`);
628
+ return performReview({ type: 'issue-tasks-completed', issueNumber }, {
629
+ workDir: this.config.workDir,
630
+ repo: this.config.repo,
631
+ logFile: this.config.logFile,
632
+ post: !this.config.noPush,
633
+ }, this.issues, this.agent);
634
+ }
431
635
  }
432
636
  //# sourceMappingURL=orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -4,6 +4,58 @@ import type { Issue, Task } from './types.js';
4
4
  * The agent reads the issue, understands the codebase, and generates task files.
5
5
  */
6
6
  export declare function buildInvestigatePrompt(issue: Issue, issueTasksDir: string): string;
7
+ export interface ReviewTaskProposalArgs {
8
+ issueNumber: number;
9
+ issueTitle: string;
10
+ issueBody: string;
11
+ issueUrl: string;
12
+ tasks: Array<{
13
+ id: string;
14
+ title: string;
15
+ content: string;
16
+ filePath: string;
17
+ }>;
18
+ taskPRUrl?: string;
19
+ responseFile: string;
20
+ }
21
+ /**
22
+ * Build the prompt for reviewing a task proposal.
23
+ * Ensures proposed tasks are detailed, precise, and properly cover the issue.
24
+ */
25
+ export declare function buildReviewTaskProposalPrompt(args: ReviewTaskProposalArgs): string;
26
+ export interface ReviewImplementationPRArgs {
27
+ prNumber: number;
28
+ prTitle: string;
29
+ prBody: string;
30
+ prBranch: string;
31
+ prUrl: string;
32
+ parentIssue?: {
33
+ number: number;
34
+ title: string;
35
+ body: string;
36
+ url: string;
37
+ };
38
+ responseFile: string;
39
+ }
40
+ /**
41
+ * Build the prompt for reviewing an implementation PR.
42
+ * Performs a detailed code review looking for bugs, quality issues, etc.
43
+ */
44
+ export declare function buildReviewImplementationPRPrompt(args: ReviewImplementationPRArgs): string;
45
+ export interface ReviewTaskCompletionArgs {
46
+ issueNumber: number;
47
+ issueTitle: string;
48
+ issueBody: string;
49
+ issueUrl: string;
50
+ implPRUrl?: string;
51
+ implBranch: string;
52
+ responseFile: string;
53
+ }
54
+ /**
55
+ * Build the prompt for reviewing completed tasks.
56
+ * Ensures the tasks were followed properly and checks for bugs or potential issues.
57
+ */
58
+ export declare function buildReviewTaskCompletionPrompt(args: ReviewTaskCompletionArgs): string;
7
59
  /**
8
60
  * Build the prompt for the "implement" phase.
9
61
  * The agent implements a specific task and deletes the task file.
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA8DlF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAwCrE"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA8DlF;AAID,MAAM,WAAW,sBAAsB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CA+DlF;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,0BAA0B,GAAG,MAAM,CA+D1F;AAED,MAAM,WAAW,wBAAwB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CA0DtF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAwCrE"}
package/dist/prompts.js CHANGED
@@ -65,6 +65,203 @@ git commit -m "tasks(#${issue.number}): generate implementation tasks"
65
65
  Do NOT push. Do NOT create a PR. The orchestrator will handle that.
66
66
  `;
67
67
  }
68
+ /**
69
+ * Build the prompt for reviewing a task proposal.
70
+ * Ensures proposed tasks are detailed, precise, and properly cover the issue.
71
+ */
72
+ export function buildReviewTaskProposalPrompt(args) {
73
+ const taskList = args.tasks
74
+ .map((t) => `### Task ${t.id}: ${t.title}\n\n**File:** \`${t.filePath}\`\n\n${t.content}`)
75
+ .join('\n\n---\n\n');
76
+ return `# Review: Task Proposal for Issue #${args.issueNumber}
77
+
78
+ ## Issue
79
+ **Title:** ${args.issueTitle}
80
+ **URL:** ${args.issueUrl}
81
+
82
+ ### Description
83
+ ${args.issueBody}
84
+ ${args.taskPRUrl ? `\n**Task PR:** ${args.taskPRUrl}\n` : ''}
85
+ ## Proposed Tasks
86
+
87
+ ${taskList || '_No task files found._'}
88
+
89
+ ## Your Job
90
+
91
+ You are reviewing the proposed task breakdown for the issue above. Your goal is to ensure
92
+ the tasks are **detailed enough**, **precise**, and **complete** so that another AI agent
93
+ can implement them without ambiguity.
94
+
95
+ ### Review Criteria
96
+
97
+ 1. **Coverage**: Do the tasks fully address the issue? Are there missing aspects?
98
+ 2. **Clarity**: Is each task description clear and unambiguous? Could an AI agent implement it without asking questions?
99
+ 3. **Granularity**: Are tasks the right size? Not too large (hard to review) or too small (unnecessary overhead).
100
+ 4. **Acceptance Criteria**: Does each task have clear, verifiable acceptance criteria?
101
+ 5. **Dependencies**: Are task dependencies correct? Could any tasks be parallelized?
102
+ 6. **Implementation Notes**: Are there enough hints about which files/modules to modify?
103
+ 7. **Consistency**: Do the tasks follow the existing codebase patterns and conventions?
104
+
105
+ ### Instructions
106
+
107
+ 1. **Explore the codebase** to understand the architecture and verify the tasks make sense.
108
+ 2. **Read each task file** carefully.
109
+ 3. **Write your review** to \`${args.responseFile}\`.
110
+
111
+ Your review MUST start with a verdict line as the very first line:
112
+
113
+ \`\`\`
114
+ VERDICT: APPROVE
115
+ \`\`\`
116
+
117
+ or:
118
+
119
+ \`\`\`
120
+ VERDICT: REQUEST_CHANGES
121
+ \`\`\`
122
+
123
+ Followed by:
124
+ - An overall assessment explaining your verdict
125
+ - Per-task feedback (if any issues found)
126
+ - Suggestions for improvement
127
+ - Any missing tasks or concerns
128
+
129
+ Use markdown formatting. Be constructive and specific.
130
+
131
+ Do NOT modify any files other than \`${args.responseFile}\`.
132
+ Do NOT commit, push, or create PRs.
133
+ `;
134
+ }
135
+ /**
136
+ * Build the prompt for reviewing an implementation PR.
137
+ * Performs a detailed code review looking for bugs, quality issues, etc.
138
+ */
139
+ export function buildReviewImplementationPRPrompt(args) {
140
+ const issueContext = args.parentIssue
141
+ ? `\n## Parent Issue\n**#${args.parentIssue.number}:** ${args.parentIssue.title}\n**URL:** ${args.parentIssue.url}\n\n### Issue Description\n${args.parentIssue.body}\n`
142
+ : '';
143
+ return `# Review: Pull Request #${args.prNumber}
144
+
145
+ ## Pull Request
146
+ **Title:** ${args.prTitle}
147
+ **URL:** ${args.prUrl}
148
+ **Branch:** ${args.prBranch}
149
+
150
+ ### PR Description
151
+ ${args.prBody}
152
+ ${issueContext}
153
+ ## Your Job
154
+
155
+ You are performing a detailed code review of this pull request. You are on the PR branch
156
+ (\`${args.prBranch}\`) and have full access to the codebase.
157
+
158
+ ### Review Criteria
159
+
160
+ 1. **Correctness**: Does the code work as intended? Are there any bugs or logic errors?
161
+ 2. **Edge Cases**: Are edge cases handled? Could inputs cause crashes or unexpected behavior?
162
+ 3. **Security**: Are there any security concerns (injection, data leaks, etc.)?
163
+ 4. **Performance**: Are there any performance issues or inefficiencies?
164
+ 5. **Code Quality**: Is the code clean, readable, and well-structured?
165
+ 6. **Conventions**: Does it follow the existing codebase patterns and style?
166
+ 7. **Tests**: Are there adequate tests? Are existing tests still passing?
167
+ 8. **Error Handling**: Are errors handled gracefully?
168
+ 9. **Documentation**: Are changes documented where needed?
169
+ 10. **Completeness**: Does it fully address the issue/task requirements?
170
+
171
+ ### Instructions
172
+
173
+ 1. **Examine the diff** by running \`git diff main...HEAD\` to see all changes.
174
+ 2. **Explore the codebase** to understand how the changes fit in.
175
+ 3. **Read the changed files** in full context.
176
+ 4. **Write your review** to \`${args.responseFile}\`.
177
+
178
+ Your review MUST start with a verdict line as the very first line:
179
+
180
+ \`\`\`
181
+ VERDICT: APPROVE
182
+ \`\`\`
183
+
184
+ or:
185
+
186
+ \`\`\`
187
+ VERDICT: REQUEST_CHANGES
188
+ \`\`\`
189
+
190
+ Followed by:
191
+ - An overall assessment explaining your verdict
192
+ - Specific issues found (with file paths and line references)
193
+ - Suggestions for improvement
194
+ - Any potential bugs or concerns
195
+
196
+ Use markdown formatting. Be thorough but constructive.
197
+
198
+ Do NOT modify any files other than \`${args.responseFile}\`.
199
+ Do NOT commit, push, or create PRs.
200
+ `;
201
+ }
202
+ /**
203
+ * Build the prompt for reviewing completed tasks.
204
+ * Ensures the tasks were followed properly and checks for bugs or potential issues.
205
+ */
206
+ export function buildReviewTaskCompletionPrompt(args) {
207
+ return `# Review: Task Completion for Issue #${args.issueNumber}
208
+
209
+ ## Issue
210
+ **Title:** ${args.issueTitle}
211
+ **URL:** ${args.issueUrl}
212
+ ${args.implPRUrl ? `**Implementation PR:** ${args.implPRUrl}\n` : ''}
213
+ ### Issue Description
214
+ ${args.issueBody}
215
+
216
+ ## Your Job
217
+
218
+ You are reviewing the completed implementation for this issue. All tasks have been
219
+ implemented on the \`${args.implBranch}\` branch (you are currently on it).
220
+
221
+ ### Review Criteria
222
+
223
+ 1. **Task Adherence**: Were the original tasks followed? Check the git log for task commits.
224
+ 2. **Completeness**: Is the issue fully addressed? Are there any missing pieces?
225
+ 3. **Bugs**: Are there any bugs or logic errors in the implementation?
226
+ 4. **Edge Cases**: Are edge cases handled properly?
227
+ 5. **Regressions**: Could any changes break existing functionality?
228
+ 6. **Code Quality**: Is the code clean, well-structured, and following conventions?
229
+ 7. **Tests**: Are there adequate tests for the new functionality?
230
+ 8. **Security**: Any security concerns?
231
+ 9. **Performance**: Any performance issues?
232
+
233
+ ### Instructions
234
+
235
+ 1. **Examine the full diff** by running \`git diff main...HEAD\` to see all changes.
236
+ 2. **Check the git log** with \`git log main..HEAD --oneline\` to see all task commits.
237
+ 3. **Read the original task files** on main with \`git show main:tasks/${args.issueNumber}/\` (if they exist).
238
+ 4. **Explore the changed code** in full context.
239
+ 5. **Write your review** to \`${args.responseFile}\`.
240
+
241
+ Your review MUST start with a verdict line as the very first line:
242
+
243
+ \`\`\`
244
+ VERDICT: APPROVE
245
+ \`\`\`
246
+
247
+ or:
248
+
249
+ \`\`\`
250
+ VERDICT: REQUEST_CHANGES
251
+ \`\`\`
252
+
253
+ Followed by:
254
+ - An overall assessment explaining your verdict
255
+ - Whether each task was properly completed
256
+ - Any bugs, issues, or concerns found
257
+ - Suggestions for improvement
258
+
259
+ Use markdown formatting. Be thorough but constructive.
260
+
261
+ Do NOT modify any files other than \`${args.responseFile}\`.
262
+ Do NOT commit, push, or create PRs.
263
+ `;
264
+ }
68
265
  /**
69
266
  * Build the prompt for the "implement" phase.
70
267
  * The agent implements a specific task and deletes the task file.