ai-sdlc 0.2.1-alpha.1 → 0.3.0-alpha.10

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 (88) hide show
  1. package/README.md +78 -6
  2. package/dist/agents/implementation.d.ts +30 -1
  3. package/dist/agents/implementation.d.ts.map +1 -1
  4. package/dist/agents/implementation.js +110 -23
  5. package/dist/agents/implementation.js.map +1 -1
  6. package/dist/agents/review.d.ts +49 -1
  7. package/dist/agents/review.d.ts.map +1 -1
  8. package/dist/agents/review.js +318 -46
  9. package/dist/agents/review.js.map +1 -1
  10. package/dist/agents/rework.d.ts.map +1 -1
  11. package/dist/agents/rework.js +3 -1
  12. package/dist/agents/rework.js.map +1 -1
  13. package/dist/agents/verification.d.ts.map +1 -1
  14. package/dist/agents/verification.js +26 -12
  15. package/dist/agents/verification.js.map +1 -1
  16. package/dist/cli/batch-processor.d.ts +64 -0
  17. package/dist/cli/batch-processor.d.ts.map +1 -0
  18. package/dist/cli/batch-processor.js +85 -0
  19. package/dist/cli/batch-processor.js.map +1 -0
  20. package/dist/cli/batch-validator.d.ts +80 -0
  21. package/dist/cli/batch-validator.d.ts.map +1 -0
  22. package/dist/cli/batch-validator.js +121 -0
  23. package/dist/cli/batch-validator.js.map +1 -0
  24. package/dist/cli/commands.d.ts +11 -0
  25. package/dist/cli/commands.d.ts.map +1 -1
  26. package/dist/cli/commands.js +772 -46
  27. package/dist/cli/commands.js.map +1 -1
  28. package/dist/cli/daemon.d.ts.map +1 -1
  29. package/dist/cli/daemon.js +5 -0
  30. package/dist/cli/daemon.js.map +1 -1
  31. package/dist/cli/dependency-resolver.d.ts +49 -0
  32. package/dist/cli/dependency-resolver.d.ts.map +1 -0
  33. package/dist/cli/dependency-resolver.js +133 -0
  34. package/dist/cli/dependency-resolver.js.map +1 -0
  35. package/dist/cli/epic-processor.d.ts +16 -0
  36. package/dist/cli/epic-processor.d.ts.map +1 -0
  37. package/dist/cli/epic-processor.js +361 -0
  38. package/dist/cli/epic-processor.js.map +1 -0
  39. package/dist/cli/formatting.d.ts +15 -0
  40. package/dist/cli/formatting.d.ts.map +1 -1
  41. package/dist/cli/formatting.js +19 -0
  42. package/dist/cli/formatting.js.map +1 -1
  43. package/dist/cli/progress-dashboard.d.ts +58 -0
  44. package/dist/cli/progress-dashboard.d.ts.map +1 -0
  45. package/dist/cli/progress-dashboard.js +216 -0
  46. package/dist/cli/progress-dashboard.js.map +1 -0
  47. package/dist/cli/runner.d.ts.map +1 -1
  48. package/dist/cli/runner.js +17 -2
  49. package/dist/cli/runner.js.map +1 -1
  50. package/dist/cli/table-renderer.d.ts.map +1 -1
  51. package/dist/cli/table-renderer.js +5 -1
  52. package/dist/cli/table-renderer.js.map +1 -1
  53. package/dist/core/client.d.ts +19 -1
  54. package/dist/core/client.d.ts.map +1 -1
  55. package/dist/core/client.js +191 -5
  56. package/dist/core/client.js.map +1 -1
  57. package/dist/core/config.d.ts +13 -1
  58. package/dist/core/config.d.ts.map +1 -1
  59. package/dist/core/config.js +117 -0
  60. package/dist/core/config.js.map +1 -1
  61. package/dist/core/git-utils.d.ts +19 -0
  62. package/dist/core/git-utils.d.ts.map +1 -1
  63. package/dist/core/git-utils.js +58 -0
  64. package/dist/core/git-utils.js.map +1 -1
  65. package/dist/core/kanban.d.ts +125 -1
  66. package/dist/core/kanban.d.ts.map +1 -1
  67. package/dist/core/kanban.js +363 -4
  68. package/dist/core/kanban.js.map +1 -1
  69. package/dist/core/process-manager.d.ts +15 -0
  70. package/dist/core/process-manager.d.ts.map +1 -0
  71. package/dist/core/process-manager.js +132 -0
  72. package/dist/core/process-manager.js.map +1 -0
  73. package/dist/core/story.d.ts +24 -0
  74. package/dist/core/story.d.ts.map +1 -1
  75. package/dist/core/story.js +78 -0
  76. package/dist/core/story.js.map +1 -1
  77. package/dist/core/worktree.d.ts +111 -2
  78. package/dist/core/worktree.d.ts.map +1 -1
  79. package/dist/core/worktree.js +310 -2
  80. package/dist/core/worktree.js.map +1 -1
  81. package/dist/index.js +38 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/types/index.d.ts +184 -0
  84. package/dist/types/index.d.ts.map +1 -1
  85. package/dist/types/index.js +23 -0
  86. package/dist/types/index.js.map +1 -1
  87. package/package.json +2 -2
  88. package/templates/story.md +5 -0
package/README.md CHANGED
@@ -9,6 +9,7 @@ Agent-first SDLC workflow manager using Claude Agent SDK. A Kanban-style board w
9
9
  - **Kanban-style story management** (Backlog → Ready → In Progress → Done)
10
10
  - **AI-powered agents** for each workflow stage (refine, research, plan, implement, review)
11
11
  - **Full SDLC automation** with `--auto --story` - takes a story from idea to reviewed code
12
+ - **Epic processing** with `--epic` - parallel execution of related stories with dependency resolution
12
13
  - **TDD Mode** - Optional Test-Driven Development with Red-Green-Refactor cycles
13
14
  - **Resume workflows** after interruption with `--continue`
14
15
  - **Daemon mode** - Watch for and process new stories with `--watch`
@@ -45,9 +46,11 @@ ai-sdlc run --auto --story implement-user-authentication
45
46
  | `ai-sdlc run` | Process next recommended action |
46
47
  | `ai-sdlc run --auto` | Process all pending actions |
47
48
  | `ai-sdlc run --auto --story <id>` | Full SDLC for one story |
49
+ | `ai-sdlc run --batch <ids>` | Full SDLC for multiple stories sequentially (comma-separated) |
48
50
  | `ai-sdlc run --story <id> --step <phase>` | Run specific phase (refine/research/plan/implement/review) |
49
51
  | `ai-sdlc run --continue` | Resume after interruption |
50
52
  | `ai-sdlc run --watch` | Daemon mode - watch for new stories |
53
+ | `ai-sdlc run --epic <epic-id>` | Process all stories in an epic with parallel execution |
51
54
  | `ai-sdlc details <id>` | Show story details |
52
55
  | `ai-sdlc config [key] [value]` | View/set configuration |
53
56
 
@@ -66,25 +69,94 @@ Refine → Research → Plan → Implement → Review → Create PR → Done
66
69
  - `[V]` Reviews complete
67
70
  - `[!]` Blocked
68
71
 
72
+ ## Epic Processing
73
+
74
+ Process multiple related stories in parallel with automatic dependency resolution. Epics use git worktrees for isolation and execute independent stories concurrently.
75
+
76
+ **Label Format:** Stories are grouped using `epic-{epic-id}` labels (e.g., `epic-ticketing-integration`)
77
+
78
+ **Basic Usage:**
79
+ ```bash
80
+ # Process all stories in an epic (uses default concurrency: 3)
81
+ ai-sdlc run --epic ticketing-integration
82
+
83
+ # Dry run - show execution plan without running
84
+ ai-sdlc run --epic ticketing-integration --dry-run
85
+
86
+ # Adjust concurrency limit
87
+ ai-sdlc run --epic ticketing-integration --max-concurrent 5
88
+
89
+ # Keep worktrees for debugging
90
+ ai-sdlc run --epic ticketing-integration --keep-worktrees
91
+ ```
92
+
93
+ **Dependency Management:**
94
+ Add dependencies to story frontmatter to control execution order:
95
+ ```yaml
96
+ ---
97
+ id: S-0075
98
+ dependencies: [S-0073, S-0074]
99
+ labels: [epic-ticketing-integration]
100
+ ---
101
+ ```
102
+
103
+ **Features:**
104
+ - **Automatic parallelization** - Independent stories run concurrently
105
+ - **Dependency resolution** - Stories wait for dependencies to complete
106
+ - **Real-time dashboard** - Live progress tracking for all stories
107
+ - **Failure handling** - Failed stories don't block independent work
108
+ - **Worktree isolation** - Each story runs in its own git worktree
109
+
110
+ **Requirements:**
111
+ - Worktrees must be enabled in `.ai-sdlc.json`: `"worktree": { "enabled": true }`
112
+ - Stories must have matching `epic-{epic-id}` label
113
+
114
+ **Configuration:**
115
+ ```json
116
+ {
117
+ "epic": {
118
+ "maxConcurrent": 3,
119
+ "keepWorktrees": false,
120
+ "continueOnFailure": true
121
+ },
122
+ "worktree": {
123
+ "enabled": true
124
+ }
125
+ }
126
+ ```
127
+
69
128
  ## Configuration
70
129
 
71
- Settings in `.ai-sdlc.json`:
130
+ Configure ai-sdlc behavior via a `.ai-sdlc.json` file in your project root. If no configuration file exists, ai-sdlc uses sensible defaults.
131
+
132
+ **Key configuration areas:**
133
+ - **Stage gates** - Control approval requirements before implementation and PR creation
134
+ - **Timeouts** - Configure operation timeouts (agent, build, test)
135
+ - **Retry policies** - Control automatic retry behavior for review and implementation failures
136
+ - **TDD mode** - Enable test-driven development with red-green-refactor cycles
137
+ - **Worktree isolation** - Use git worktrees for parallel story development
138
+ - **Environment variable overrides** - Use `AI_SDLC_*` variables for CI/CD or temporary changes
139
+
140
+ **Minimal example** (uses all defaults):
141
+ ```json
142
+ {}
143
+ ```
72
144
 
145
+ **Basic customization**:
73
146
  ```json
74
147
  {
75
148
  "sdlcFolder": ".ai-sdlc",
76
149
  "stageGates": {
77
- "requireApprovalBeforeImplementation": false,
78
- "requireApprovalBeforePR": false
150
+ "requireApprovalBeforeImplementation": true
79
151
  },
80
- "tdd": {
81
- "enabled": false
152
+ "timeouts": {
153
+ "agentTimeout": 1800000
82
154
  },
83
155
  "theme": "auto"
84
156
  }
85
157
  ```
86
158
 
87
- **TDD Mode**: Enable per-story with `tdd_enabled: true` in frontmatter, or globally via config.
159
+ 📖 **[Complete Configuration Reference](docs/configuration.md)** - Detailed documentation of all configuration options, validation rules, environment variables, and 5 complete example configurations.
88
160
 
89
161
  ## Authentication
90
162
 
@@ -104,6 +104,22 @@ export interface RetryAttemptOptions {
104
104
  reworkContext?: string;
105
105
  onProgress?: AgentProgressCallback;
106
106
  }
107
+ /**
108
+ * Outcome type for retry attempts
109
+ */
110
+ export type AttemptOutcome = 'failed_tests' | 'failed_build' | 'no_change';
111
+ /**
112
+ * Result from a single retry attempt
113
+ */
114
+ export interface AttemptHistoryEntry {
115
+ attempt: number;
116
+ testFailures: number;
117
+ buildFailures: number;
118
+ testSnippet: string;
119
+ buildSnippet: string;
120
+ changesSummary: string;
121
+ outcome: AttemptOutcome;
122
+ }
107
123
  /**
108
124
  * Attempt implementation with retry logic
109
125
  *
@@ -134,6 +150,18 @@ export declare function captureCurrentDiffHash(workingDir: string): string;
134
150
  * @returns True if changes occurred (hashes are different)
135
151
  */
136
152
  export declare function hasChangesOccurred(previousHash: string, currentHash: string): boolean;
153
+ /**
154
+ * Extract list of changed files from git diff
155
+ * @param workingDir The working directory
156
+ * @returns Comma-separated list of changed files, or descriptive message
157
+ */
158
+ export declare function extractChangedFiles(workingDir: string): string;
159
+ /**
160
+ * Build formatted retry history section for agent prompts
161
+ * @param history Array of attempt history entries
162
+ * @returns Formatted string for inclusion in retry prompts
163
+ */
164
+ export declare function buildRetryHistorySection(history: AttemptHistoryEntry[]): string;
137
165
  /**
138
166
  * Sanitize test output to remove ANSI escape sequences and potential injection patterns
139
167
  * @param output Test output string
@@ -158,7 +186,8 @@ export declare function detectMissingDependencies(output: string): string[];
158
186
  * @param buildOutput Build output
159
187
  * @param attemptNumber Current attempt number (1-indexed)
160
188
  * @param maxRetries Maximum number of retries
189
+ * @param attemptHistory Optional history of previous attempts
161
190
  * @returns Prompt string for retry attempt
162
191
  */
163
- export declare function buildRetryPrompt(testOutput: string, buildOutput: string, attemptNumber: number, maxRetries: number): string;
192
+ export declare function buildRetryPrompt(testOutput: string, buildOutput: string, attemptNumber: number, maxRetries: number, attemptHistory?: AttemptHistoryEntry[]): string;
164
193
  //# sourceMappingURL=implementation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { spawn, spawnSync } from 'child_process';
2
2
  import path from 'path';
3
- import { parseStory, writeStory, updateStoryStatus, updateStoryField, resetImplementationRetryCount, incrementImplementationRetryCount, getEffectiveMaxImplementationRetries, } from '../core/story.js';
3
+ import { ProcessManager } from '../core/process-manager.js';
4
+ import { parseStory, writeStory, updateStoryStatus, updateStoryField, incrementImplementationRetryCount, getEffectiveMaxImplementationRetries, incrementTotalRecoveryAttempts, } from '../core/story.js';
4
5
  import { runAgentQuery } from '../core/client.js';
5
6
  import { getLogger } from '../core/logger.js';
6
7
  import { loadConfig, DEFAULT_TDD_CONFIG } from '../core/config.js';
@@ -61,6 +62,7 @@ export async function runSingleTest(testFile, workingDir, testTimeout) {
61
62
  cwd: workingDir,
62
63
  stdio: ['pipe', 'pipe', 'pipe'],
63
64
  });
65
+ ProcessManager.getInstance().registerChild(child);
64
66
  const timeoutId = setTimeout(() => {
65
67
  killed = true;
66
68
  child.kill('SIGTERM');
@@ -108,6 +110,7 @@ export async function runAllTests(workingDir, testTimeout) {
108
110
  cwd: workingDir,
109
111
  stdio: ['pipe', 'pipe', 'pipe'],
110
112
  });
113
+ ProcessManager.getInstance().registerChild(child);
111
114
  const timeoutId = setTimeout(() => {
112
115
  killed = true;
113
116
  child.kill('SIGTERM');
@@ -570,7 +573,7 @@ severity issues - these must be resolved. Review the specific feedback and make
570
573
  }
571
574
  // Add retry context if this is a retry attempt
572
575
  if (attemptNumber > 1 && lastVerification) {
573
- prompt += '\n\n' + buildRetryPrompt(lastVerification.testsOutput, lastVerification.buildOutput, attemptNumber, maxRetries);
576
+ prompt += '\n\n' + buildRetryPrompt(lastVerification.testsOutput, lastVerification.buildOutput, attemptNumber, maxRetries, attemptHistory);
574
577
  }
575
578
  else {
576
579
  prompt += `
@@ -610,6 +613,31 @@ ${implementationResult}
610
613
  updatedStory.content += '\n\n' + implementationNotes;
611
614
  await writeStory(updatedStory);
612
615
  changesMade.push(attemptNumber > 1 ? `Added retry ${attemptNumber - 1} notes` : 'Added implementation notes');
616
+ // PRE-FLIGHT CHECK: Capture diff hash BEFORE verification to detect no-change scenarios early
617
+ const currentDiffHash = captureCurrentDiffHash(workingDir);
618
+ const changesSummary = extractChangedFiles(workingDir);
619
+ // Check for no-change scenario BEFORE running verification (saves ~30 seconds)
620
+ if (attemptNumber > 1 && lastDiffHash && lastDiffHash === currentDiffHash) {
621
+ changesMade.push('No changes detected since last attempt - skipping verification');
622
+ // Record this no-change attempt in history
623
+ attemptHistory.push({
624
+ attempt: attemptNumber,
625
+ testFailures: 0,
626
+ buildFailures: 0,
627
+ testSnippet: '',
628
+ buildSnippet: '',
629
+ changesSummary: 'No changes detected',
630
+ outcome: 'no_change',
631
+ });
632
+ return {
633
+ success: false,
634
+ story: parseStory(storyPath),
635
+ changesMade,
636
+ error: 'No progress detected - agent made no file changes',
637
+ };
638
+ }
639
+ // Update lastDiffHash for next iteration
640
+ lastDiffHash = currentDiffHash;
613
641
  changesMade.push('Running verification before marking complete...');
614
642
  const verification = await verifyImplementation(updatedStory, workingDir);
615
643
  await updateStoryField(updatedStory, 'last_test_run', {
@@ -618,8 +646,7 @@ ${implementationResult}
618
646
  timestamp: verification.timestamp,
619
647
  });
620
648
  if (verification.passed) {
621
- // Success! Reset retry count and return success
622
- await resetImplementationRetryCount(updatedStory);
649
+ // Success! Return success - retry count will be reset by review agent on APPROVED
623
650
  changesMade.push('Verification passed - implementation successful');
624
651
  // Send success progress callback
625
652
  if (onProgress) {
@@ -633,10 +660,10 @@ ${implementationResult}
633
660
  }
634
661
  // Verification failed - check for retry conditions
635
662
  lastVerification = verification;
636
- // Capture current diff hash for no-change detection
637
- const currentDiffHash = captureCurrentDiffHash(workingDir);
638
663
  // Track retry attempt
639
664
  await incrementImplementationRetryCount(updatedStory);
665
+ // Increment global recovery counter
666
+ await incrementTotalRecoveryAttempts(updatedStory);
640
667
  // Extract first 100 chars of test and build output for history
641
668
  const testSnippet = verification.testsOutput.substring(0, 100).replace(/\n/g, ' ');
642
669
  const buildSnippet = verification.buildOutput.substring(0, 100).replace(/\n/g, ' ');
@@ -646,6 +673,8 @@ ${implementationResult}
646
673
  verification.buildOutput.includes('Error') ||
647
674
  verification.buildOutput.includes('failed'));
648
675
  const buildFailures = hasBuildErrors ? 1 : 0;
676
+ // Determine outcome based on what failed
677
+ const outcome = hasBuildErrors ? 'failed_build' : 'failed_tests';
649
678
  // Record this attempt in history with both test and build failures
650
679
  attemptHistory.push({
651
680
  attempt: attemptNumber,
@@ -653,6 +682,8 @@ ${implementationResult}
653
682
  buildFailures,
654
683
  testSnippet,
655
684
  buildSnippet,
685
+ changesSummary,
686
+ outcome,
656
687
  });
657
688
  // Add structured retry entry to changes array
658
689
  if (attemptNumber > 1) {
@@ -661,17 +692,6 @@ ${implementationResult}
661
692
  else {
662
693
  changesMade.push(`Attempt ${attemptNumber}: ${verification.failures} test(s) failing`);
663
694
  }
664
- // Check for no-change scenario (agent made no progress)
665
- // Only check after first failure (attemptNumber > 1)
666
- // Check this BEFORE max retries to fail fast on identical changes
667
- if (attemptNumber > 1 && lastDiffHash && lastDiffHash === currentDiffHash) {
668
- return {
669
- success: false,
670
- story: parseStory(storyPath),
671
- changesMade,
672
- error: `Implementation blocked: No progress detected on retry attempt ${attemptNumber - 1}. Agent made identical changes. Stopping retries early.\n\nLast test output:\n${truncateTestOutput(verification.testsOutput, 1000)}`,
673
- };
674
- }
675
695
  // Check if we've reached max retries
676
696
  if (attemptHistory.length > maxRetries) {
677
697
  const attemptSummary = attemptHistory
@@ -702,7 +722,6 @@ ${implementationResult}
702
722
  error: `Implementation blocked after ${attemptNumber} attempts:\n${attemptSummary}\n\nLast test output:\n${truncateTestOutput(verification.testsOutput, 5000)}`,
703
723
  };
704
724
  }
705
- lastDiffHash = currentDiffHash;
706
725
  // Continue to next retry attempt - send progress update
707
726
  if (onProgress) {
708
727
  onProgress({ type: 'assistant_message', content: `Retry ${attemptNumber} failed: ${verification.failures} test(s) failing, attempting retry ${attemptNumber + 1}...` });
@@ -841,8 +860,6 @@ export async function runImplementationAgent(storyPath, sdlcRoot, options = {})
841
860
  });
842
861
  if (!verification.passed) {
843
862
  // TDD final verification failed - this is unexpected since TDD should ensure all tests pass
844
- // Reset retry count since this is the first failure at this stage
845
- await resetImplementationRetryCount(tddResult.story);
846
863
  return {
847
864
  success: false,
848
865
  story: parseStory(currentStoryPath),
@@ -850,8 +867,7 @@ export async function runImplementationAgent(storyPath, sdlcRoot, options = {})
850
867
  error: `TDD implementation blocked: ${verification.failures} test(s) failing after completing all cycles.\nThis is unexpected - TDD cycles should ensure all tests pass.\n\nTest output:\n${truncateTestOutput(verification.testsOutput, 1000)}`,
851
868
  };
852
869
  }
853
- // Success - reset retry count
854
- await resetImplementationRetryCount(tddResult.story);
870
+ // Success - retry count will be reset by review agent on APPROVED
855
871
  await updateStoryField(tddResult.story, 'implementation_complete', true);
856
872
  changesMade.push('Marked implementation_complete: true');
857
873
  return {
@@ -992,6 +1008,72 @@ export function captureCurrentDiffHash(workingDir) {
992
1008
  export function hasChangesOccurred(previousHash, currentHash) {
993
1009
  return previousHash !== currentHash;
994
1010
  }
1011
+ /**
1012
+ * Extract list of changed files from git diff
1013
+ * @param workingDir The working directory
1014
+ * @returns Comma-separated list of changed files, or descriptive message
1015
+ */
1016
+ export function extractChangedFiles(workingDir) {
1017
+ try {
1018
+ validateWorkingDir(workingDir);
1019
+ const result = spawnSync('git', ['diff', 'HEAD', '--name-only'], {
1020
+ cwd: workingDir,
1021
+ shell: false,
1022
+ encoding: 'utf-8',
1023
+ stdio: ['ignore', 'pipe', 'pipe'],
1024
+ });
1025
+ if (result.status === 0 && result.stdout) {
1026
+ const files = result.stdout.trim().split('\n').filter(Boolean);
1027
+ if (files.length === 0) {
1028
+ return 'No changes detected';
1029
+ }
1030
+ return files.join(', ');
1031
+ }
1032
+ return 'No changes detected';
1033
+ }
1034
+ catch {
1035
+ return 'Unable to determine changes';
1036
+ }
1037
+ }
1038
+ /**
1039
+ * Build formatted retry history section for agent prompts
1040
+ * @param history Array of attempt history entries
1041
+ * @returns Formatted string for inclusion in retry prompts
1042
+ */
1043
+ export function buildRetryHistorySection(history) {
1044
+ if (!history || history.length === 0) {
1045
+ return '';
1046
+ }
1047
+ const recentHistory = history.slice(-3);
1048
+ let section = `PREVIOUS ATTEMPT HISTORY (Last ${recentHistory.length} attempts):
1049
+
1050
+ `;
1051
+ for (const entry of recentHistory) {
1052
+ const outcomeLabel = entry.outcome === 'failed_tests'
1053
+ ? 'Tests failed'
1054
+ : entry.outcome === 'failed_build'
1055
+ ? 'Build failed'
1056
+ : 'No changes made';
1057
+ section += `Attempt ${entry.attempt}: ${entry.changesSummary} -> ${outcomeLabel}\n`;
1058
+ const errors = [];
1059
+ if (entry.testSnippet && entry.testSnippet.trim()) {
1060
+ errors.push(entry.testSnippet.trim());
1061
+ }
1062
+ if (entry.buildSnippet && entry.buildSnippet.trim()) {
1063
+ errors.push(entry.buildSnippet.trim());
1064
+ }
1065
+ const errorsToShow = errors.slice(0, 2);
1066
+ if (errorsToShow.length > 0) {
1067
+ for (const err of errorsToShow) {
1068
+ section += ` - ${err.substring(0, 100)}\n`;
1069
+ }
1070
+ }
1071
+ }
1072
+ section += `
1073
+ **IMPORTANT: Do NOT repeat the same fixes. Try a different approach.**
1074
+ `;
1075
+ return section;
1076
+ }
995
1077
  /**
996
1078
  * Sanitize test output to remove ANSI escape sequences and potential injection patterns
997
1079
  * @param output Test output string
@@ -1077,9 +1159,10 @@ export function detectMissingDependencies(output) {
1077
1159
  * @param buildOutput Build output
1078
1160
  * @param attemptNumber Current attempt number (1-indexed)
1079
1161
  * @param maxRetries Maximum number of retries
1162
+ * @param attemptHistory Optional history of previous attempts
1080
1163
  * @returns Prompt string for retry attempt
1081
1164
  */
1082
- export function buildRetryPrompt(testOutput, buildOutput, attemptNumber, maxRetries) {
1165
+ export function buildRetryPrompt(testOutput, buildOutput, attemptNumber, maxRetries, attemptHistory) {
1083
1166
  const truncatedTestOutput = truncateTestOutput(testOutput);
1084
1167
  const truncatedBuildOutput = truncateTestOutput(buildOutput);
1085
1168
  // Detect if this is a dependency issue
@@ -1135,6 +1218,10 @@ This is NOT a code bug - the packages need to be installed. Before making any co
1135
1218
 
1136
1219
  `;
1137
1220
  }
1221
+ if (attemptHistory && attemptHistory.length > 0) {
1222
+ prompt += buildRetryHistorySection(attemptHistory);
1223
+ prompt += '\n';
1224
+ }
1138
1225
  if (buildOutput && buildOutput.trim().length > 0) {
1139
1226
  prompt += `Build Output:
1140
1227
  \`\`\`
@@ -1 +1 @@
1
- {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../src/agents/implementation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Story, AgentResult, ReviewResult, ReviewIssue, TDDTestCycle } from '../types/index.js';
1
+ import { Story, AgentResult, ReviewResult, ReviewIssue, TDDTestCycle, ContentType } from '../types/index.js';
2
2
  /**
3
3
  * Validate TDD cycles for completeness
4
4
  *
@@ -43,6 +43,9 @@ export declare function deriveIndividualPassFailFromPerspectives(issues: ReviewI
43
43
  /**
44
44
  * Get source code changes from git diff
45
45
  *
46
+ * Compares current branch HEAD against the base branch (main/master) merge-base
47
+ * to detect all source code changes in the feature branch, not just the most recent commit.
48
+ *
46
49
  * Returns list of source files that have been modified (excludes tests and story files).
47
50
  * Uses spawnSync for security (prevents command injection).
48
51
  *
@@ -50,9 +53,54 @@ export declare function deriveIndividualPassFailFromPerspectives(issues: ReviewI
50
53
  * @returns Array of source file paths that have changed, or ['unknown'] if git fails
51
54
  */
52
55
  export declare function getSourceCodeChanges(workingDir: string): string[];
56
+ /**
57
+ * Get configuration file changes from git diff
58
+ *
59
+ * Compares current branch HEAD against the base branch merge-base.
60
+ *
61
+ * Detects changes to configuration files including:
62
+ * - .claude/ directory (Agent SDK skills, CLAUDE.md)
63
+ * - .github/ directory (workflows, actions, issue templates)
64
+ * - Root config files (tsconfig.json, package.json, .gitignore, vitest.config.ts, etc.)
65
+ *
66
+ * Uses spawnSync for security (prevents command injection).
67
+ *
68
+ * @param workingDir - Working directory to run git diff in
69
+ * @returns Array of configuration file paths that have changed, or ['unknown'] if git fails
70
+ */
71
+ export declare function getConfigurationChanges(workingDir: string): string[];
72
+ /**
73
+ * Get documentation file changes from git diff
74
+ *
75
+ * Compares current branch HEAD against the base branch merge-base.
76
+ *
77
+ * Detects changes to documentation files including:
78
+ * - Markdown files (.md) anywhere in the project (excluding story files)
79
+ * - docs/ directory (any file type)
80
+ *
81
+ * Uses spawnSync for security (prevents command injection).
82
+ *
83
+ * @param workingDir - Working directory to run git diff in
84
+ * @returns Array of documentation file paths that have changed, or ['unknown'] if git fails
85
+ */
86
+ export declare function getDocumentationChanges(workingDir: string): string[];
87
+ /**
88
+ * Determine the effective content type for validation
89
+ *
90
+ * Resolves the final content type based on story frontmatter fields:
91
+ * 1. If requires_source_changes === false, treat as 'configuration'
92
+ * 2. If requires_source_changes === true, treat as 'code'
93
+ * 3. Otherwise, use content_type field (default: 'code' for backward compatibility)
94
+ *
95
+ * @param story - Story with frontmatter to analyze
96
+ * @returns The effective content type to use for validation
97
+ */
98
+ export declare function determineEffectiveContentType(story: Story): ContentType;
53
99
  /**
54
100
  * Check if test files exist in git diff
55
101
  *
102
+ * Compares current branch HEAD against the base branch merge-base.
103
+ *
56
104
  * Returns true if any test files have been modified/added, false otherwise.
57
105
  * Uses spawnSync for security (prevents command injection).
58
106
  *