ai-sdlc 0.2.0-alpha.4 → 0.2.0-alpha.5

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.
@@ -31,6 +31,13 @@ export const DEFAULT_TDD_CONFIG = {
31
31
  requireApprovalPerCycle: false,
32
32
  requirePassingTestsForComplete: true,
33
33
  };
34
+ /**
35
+ * Default implementation configuration
36
+ */
37
+ export const DEFAULT_IMPLEMENTATION_CONFIG = {
38
+ maxRetries: 3,
39
+ maxRetriesUpperBound: 10,
40
+ };
34
41
  export const DEFAULT_CONFIG = {
35
42
  sdlcFolder: '.ai-sdlc',
36
43
  stageGates: {
@@ -51,6 +58,7 @@ export const DEFAULT_CONFIG = {
51
58
  autoCompleteOnApproval: true,
52
59
  autoRestartOnRejection: true,
53
60
  },
61
+ implementation: { ...DEFAULT_IMPLEMENTATION_CONFIG },
54
62
  defaultLabels: [],
55
63
  theme: 'auto',
56
64
  // Test and build commands - auto-detected from package.json if present
@@ -251,6 +259,10 @@ export function loadConfig(workingDir = process.cwd()) {
251
259
  ...DEFAULT_CONFIG.reviewConfig,
252
260
  ...userConfig.reviewConfig,
253
261
  },
262
+ implementation: {
263
+ ...DEFAULT_IMPLEMENTATION_CONFIG,
264
+ ...userConfig.implementation,
265
+ },
254
266
  timeouts: {
255
267
  ...DEFAULT_TIMEOUTS,
256
268
  ...userConfig.timeouts,
@@ -288,6 +300,19 @@ export function loadConfig(workingDir = process.cwd()) {
288
300
  console.warn(`Invalid AI_SDLC_MAX_RETRIES value "${process.env.AI_SDLC_MAX_RETRIES}" (must be 0-10), ignoring`);
289
301
  }
290
302
  }
303
+ if (process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES) {
304
+ const maxRetries = parseInt(process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES, 10);
305
+ // Security: Limit to 0-10 range to prevent resource exhaustion
306
+ if (!isNaN(maxRetries) && maxRetries >= 0 && maxRetries <= 10) {
307
+ console.log(`Environment override: implementation.maxRetries set to ${maxRetries}`);
308
+ config.implementation.maxRetries = maxRetries;
309
+ // If user sets maxRetries via env, raise upper bound to allow it
310
+ config.implementation.maxRetriesUpperBound = Math.max(config.implementation.maxRetriesUpperBound, maxRetries);
311
+ }
312
+ else {
313
+ console.warn(`Invalid AI_SDLC_IMPLEMENTATION_MAX_RETRIES value "${process.env.AI_SDLC_IMPLEMENTATION_MAX_RETRIES}" (must be 0-10), ignoring`);
314
+ }
315
+ }
291
316
  if (process.env.AI_SDLC_AUTO_COMPLETE) {
292
317
  const value = process.env.AI_SDLC_AUTO_COMPLETE;
293
318
  if (value === 'true' || value === 'false') {
@@ -310,6 +335,8 @@ export function loadConfig(workingDir = process.cwd()) {
310
335
  }
311
336
  // Validate review config
312
337
  config.reviewConfig = validateReviewConfig(config.reviewConfig);
338
+ // Validate implementation config
339
+ config.implementation = validateImplementationConfig(config.implementation);
313
340
  return config;
314
341
  }
315
342
  /**
@@ -407,4 +434,44 @@ export function updateReviewConfig(reviewConfig, workingDir = process.cwd()) {
407
434
  saveConfig(config, workingDir);
408
435
  return config;
409
436
  }
437
+ /**
438
+ * Validate implementation configuration
439
+ */
440
+ export function validateImplementationConfig(implementationConfig) {
441
+ const validated = { ...implementationConfig };
442
+ // Handle Infinity as valid "no limit" value
443
+ if (validated.maxRetries === Infinity) {
444
+ return validated;
445
+ }
446
+ // Ensure maxRetries is within valid bounds
447
+ if (validated.maxRetries < 0) {
448
+ console.warn(`Warning: implementation.maxRetries cannot be negative, using 0`);
449
+ validated.maxRetries = 0;
450
+ }
451
+ // Only apply upper bound check for finite values
452
+ if (Number.isFinite(validated.maxRetries) && Number.isFinite(validated.maxRetriesUpperBound)) {
453
+ if (validated.maxRetries > validated.maxRetriesUpperBound) {
454
+ console.warn(`Warning: implementation.maxRetries (${validated.maxRetries}) exceeds upper bound (${validated.maxRetriesUpperBound}), capping at ${validated.maxRetriesUpperBound}`);
455
+ validated.maxRetries = validated.maxRetriesUpperBound;
456
+ }
457
+ }
458
+ // Log unusual values
459
+ if (validated.maxRetries === 0) {
460
+ console.warn('Warning: implementation.maxRetries is set to 0 - implementation retry is disabled');
461
+ }
462
+ return validated;
463
+ }
464
+ /**
465
+ * Update implementation configuration
466
+ */
467
+ export function updateImplementationConfig(implementationConfig, workingDir = process.cwd()) {
468
+ const config = loadConfig(workingDir);
469
+ config.implementation = {
470
+ ...config.implementation,
471
+ ...implementationConfig,
472
+ };
473
+ config.implementation = validateImplementationConfig(config.implementation);
474
+ saveConfig(config, workingDir);
475
+ return config;
476
+ }
410
477
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,6 @@ export declare function getStoriesInFolder(sdlcRoot: string, folder: KanbanFolde
20
20
  * In new architecture, uses findAllStories() and groups by status
21
21
  */
22
22
  export declare function getAllStories(sdlcRoot: string): Map<KanbanFolder, Story[]>;
23
- /**
24
- * Find a story by ID using O(1) direct path lookup
25
- * Falls back to searching old folder structure for backwards compatibility
26
- */
27
- export declare function findStoryById(sdlcRoot: string, storyId: string): Story | null;
28
23
  /**
29
24
  * Find a story by slug across all folders
30
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../../src/core/kanban.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,eAAe,EAA0B,YAAY,EAA+D,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAK3K;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CA4BxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAalF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,CAclF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAiC1E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAsC7E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAO7D;AAeD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CA6M7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAItD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAa5E"}
1
+ {"version":3,"file":"kanban.d.ts","sourceRoot":"","sources":["../../src/core/kanban.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,eAAe,EAA0B,YAAY,EAA+D,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAK3K;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,CA4BxD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,KAAK,EAAE,CAalF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,CAclF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAiC1E;AAKD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAO7D;AAeD;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CA6M7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAItD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAa5E"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import { glob } from 'glob';
4
- import { KANBAN_FOLDERS, ReviewDecision, BLOCKED_DIR, STORIES_FOLDER, STORY_FILENAME } from '../types/index.js';
4
+ import { KANBAN_FOLDERS, ReviewDecision, STORIES_FOLDER, STORY_FILENAME } from '../types/index.js';
5
5
  import { parseStory, isAtMaxRetries, canRetryRefinement, getLatestReviewAttempt, moveToBlocked, getEffectiveMaxRetries, sanitizeReasonText } from './story.js';
6
6
  import { loadConfig } from './config.js';
7
7
  import { determineTargetPhase } from '../agents/rework.js';
@@ -102,48 +102,8 @@ export function getAllStories(sdlcRoot) {
102
102
  }
103
103
  return stories;
104
104
  }
105
- /**
106
- * Find a story by ID using O(1) direct path lookup
107
- * Falls back to searching old folder structure for backwards compatibility
108
- */
109
- export function findStoryById(sdlcRoot, storyId) {
110
- // O(1) direct path construction for new architecture
111
- const storyPath = path.join(sdlcRoot, STORIES_FOLDER, storyId, STORY_FILENAME);
112
- if (fs.existsSync(storyPath)) {
113
- try {
114
- return parseStory(storyPath);
115
- }
116
- catch (err) {
117
- // Story file exists but is malformed, fall through to search
118
- }
119
- }
120
- // Fallback: search old folder structure for backwards compatibility
121
- // Search kanban folders first
122
- for (const folder of KANBAN_FOLDERS) {
123
- const stories = getStoriesInFolder(sdlcRoot, folder);
124
- const found = stories.find(s => s.frontmatter.id === storyId);
125
- if (found)
126
- return found;
127
- }
128
- // Also search blocked folder
129
- const blockedFolder = path.join(sdlcRoot, BLOCKED_DIR);
130
- if (fs.existsSync(blockedFolder)) {
131
- const blockedFiles = fs.readdirSync(blockedFolder).filter(f => f.endsWith('.md'));
132
- for (const file of blockedFiles) {
133
- const filePath = path.join(blockedFolder, file);
134
- try {
135
- const story = parseStory(filePath);
136
- if (story.frontmatter.id === storyId) {
137
- return story;
138
- }
139
- }
140
- catch (err) {
141
- continue;
142
- }
143
- }
144
- }
145
- return null;
146
- }
105
+ // findStoryById has been moved to story.ts and is now imported above
106
+ // This consolidates story lookup logic in one place (DRY principle)
147
107
  /**
148
108
  * Find a story by slug across all folders
149
109
  */
@@ -1 +1 @@
1
- {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/core/kanban.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kanban.js","sourceRoot":"","sources":["../../src/core/kanban.ts"],"names":[],"mappings":"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"}
@@ -117,12 +117,57 @@ export declare function markStoryComplete(story: Story): Story;
117
117
  * Snapshot max_retries from config to story frontmatter (for mid-cycle config change protection)
118
118
  */
119
119
  export declare function snapshotMaxRetries(story: Story, config: Config): Story;
120
+ /**
121
+ * Get the current implementation retry count for a story
122
+ */
123
+ export declare function getImplementationRetryCount(story: Story): number;
124
+ /**
125
+ * Get the effective maximum implementation retries for a story (story-specific or config default)
126
+ * Story-specific overrides are capped at the upper bound to prevent resource exhaustion
127
+ */
128
+ export declare function getEffectiveMaxImplementationRetries(story: Story, config: Config): number;
129
+ /**
130
+ * Check if a story has reached its maximum implementation retry limit.
131
+ * maxRetries represents the number of RETRY attempts allowed after the initial attempt.
132
+ * So with maxRetries=1, you get 1 initial attempt + 1 retry = 2 total attempts.
133
+ */
134
+ export declare function isAtMaxImplementationRetries(story: Story, config: Config): boolean;
135
+ /**
136
+ * Reset implementation retry count to 0
137
+ */
138
+ export declare function resetImplementationRetryCount(story: Story): Story;
139
+ /**
140
+ * Increment the implementation retry count for a story
141
+ */
142
+ export declare function incrementImplementationRetryCount(story: Story): Story;
120
143
  /**
121
144
  * Sanitize user-controlled text for safe display and storage.
122
145
  * Removes ANSI escape sequences, control characters, and potential injection vectors.
123
146
  * Truncates to 200 characters maximum.
124
147
  */
125
148
  export declare function sanitizeReasonText(text: string): string;
149
+ /**
150
+ * Find a story by ID using O(1) direct path lookup
151
+ * Falls back to searching old folder structure for backwards compatibility
152
+ *
153
+ * This function is the internal lookup mechanism. Use getStory() for external access.
154
+ *
155
+ * @param sdlcRoot - Root directory of the SDLC workspace
156
+ * @param storyId - Story ID (e.g., 'S-0001')
157
+ * @returns Story object or null if not found
158
+ */
159
+ export declare function findStoryById(sdlcRoot: string, storyId: string): Story | null;
160
+ /**
161
+ * Retrieves a story by ID, resolving its current location across all folders.
162
+ * This is the single source of truth for story lookup - use this instead of
163
+ * directly calling parseStory() with cached paths.
164
+ *
165
+ * @param sdlcRoot - Root directory of the SDLC workspace
166
+ * @param storyId - Story ID (e.g., 'S-0001')
167
+ * @returns Fully parsed Story object with current path and metadata
168
+ * @throws Error if story ID not found in any folder
169
+ */
170
+ export declare function getStory(sdlcRoot: string, storyId: string): Story;
126
171
  /**
127
172
  * Unblock a story and set status back to in-progress
128
173
  * In the new architecture, this only updates frontmatter - file path remains unchanged
@@ -1 +1 @@
1
- {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/core/story.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAoB,aAAa,EAAE,MAAM,EAAqE,MAAM,mBAAmB,CAAC;AAErL;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CA+BlD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAG7C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,GAAG,KAAK,CAK7E;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAkCjF;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA2BrE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAI9C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACtC,KAAK,CA+FP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/D,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACzB,KAAK,CAKP;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CA2BrF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,KAAK,CAsBP;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAK7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,WAAW,GACvC,KAAK,CAgBP;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CASnE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,KAAK,CAGP;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAWpG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAOvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAelE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,GAAG,KAAK,CAgB/E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,GAAG,IAAI,CAKzE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAQrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAOtE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2BvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACnC,KAAK,CAgEP"}
1
+ {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../src/core/story.ts"],"names":[],"mappings":"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"}
@@ -475,6 +475,62 @@ export function snapshotMaxRetries(story, config) {
475
475
  }
476
476
  return story;
477
477
  }
478
+ /**
479
+ * Get the current implementation retry count for a story
480
+ */
481
+ export function getImplementationRetryCount(story) {
482
+ return story.frontmatter.implementation_retry_count || 0;
483
+ }
484
+ /**
485
+ * Get the effective maximum implementation retries for a story (story-specific or config default)
486
+ * Story-specific overrides are capped at the upper bound to prevent resource exhaustion
487
+ */
488
+ export function getEffectiveMaxImplementationRetries(story, config) {
489
+ const storyMax = story.frontmatter.max_implementation_retries;
490
+ const configMax = config.implementation.maxRetries;
491
+ const upperBound = config.implementation.maxRetriesUpperBound;
492
+ if (storyMax !== undefined) {
493
+ // Cap story override at upper bound
494
+ return Math.min(storyMax, upperBound);
495
+ }
496
+ return configMax;
497
+ }
498
+ /**
499
+ * Check if a story has reached its maximum implementation retry limit.
500
+ * maxRetries represents the number of RETRY attempts allowed after the initial attempt.
501
+ * So with maxRetries=1, you get 1 initial attempt + 1 retry = 2 total attempts.
502
+ */
503
+ export function isAtMaxImplementationRetries(story, config) {
504
+ const currentRetryCount = getImplementationRetryCount(story);
505
+ const maxRetries = getEffectiveMaxImplementationRetries(story, config);
506
+ // Infinity means no limit
507
+ if (!Number.isFinite(maxRetries)) {
508
+ return false;
509
+ }
510
+ // Use > instead of >= because maxRetries is the number of retries allowed,
511
+ // not the total number of attempts. With maxRetries=1, we allow 1 retry
512
+ // (so 2 total attempts before being considered "at max").
513
+ return currentRetryCount > maxRetries;
514
+ }
515
+ /**
516
+ * Reset implementation retry count to 0
517
+ */
518
+ export function resetImplementationRetryCount(story) {
519
+ story.frontmatter.implementation_retry_count = 0;
520
+ story.frontmatter.updated = new Date().toISOString().split('T')[0];
521
+ writeStory(story);
522
+ return story;
523
+ }
524
+ /**
525
+ * Increment the implementation retry count for a story
526
+ */
527
+ export function incrementImplementationRetryCount(story) {
528
+ const currentCount = story.frontmatter.implementation_retry_count || 0;
529
+ story.frontmatter.implementation_retry_count = currentCount + 1;
530
+ story.frontmatter.updated = new Date().toISOString().split('T')[0];
531
+ writeStory(story);
532
+ return story;
533
+ }
478
534
  /**
479
535
  * Sanitize user-controlled text for safe display and storage.
480
536
  * Removes ANSI escape sequences, control characters, and potential injection vectors.
@@ -506,37 +562,100 @@ export function sanitizeReasonText(text) {
506
562
  return sanitized.trim();
507
563
  }
508
564
  /**
509
- * Unblock a story and set status back to in-progress
510
- * In the new architecture, this only updates frontmatter - file path remains unchanged
565
+ * Find a story by ID using O(1) direct path lookup
566
+ * Falls back to searching old folder structure for backwards compatibility
511
567
  *
512
- * @param storyId - Story ID to unblock
513
- * @param sdlcRoot - Root path of the .ai-sdlc folder
514
- * @param options - Optional configuration { resetRetries?: boolean }
515
- * @returns The unblocked story
568
+ * This function is the internal lookup mechanism. Use getStory() for external access.
569
+ *
570
+ * @param sdlcRoot - Root directory of the SDLC workspace
571
+ * @param storyId - Story ID (e.g., 'S-0001')
572
+ * @returns Story object or null if not found
516
573
  */
517
- export function unblockStory(storyId, sdlcRoot, options) {
518
- // In new architecture, try direct path lookup first
574
+ export function findStoryById(sdlcRoot, storyId) {
575
+ // O(1) direct path construction for new architecture
519
576
  const storyPath = path.join(sdlcRoot, STORIES_FOLDER, storyId, STORY_FILENAME);
520
- let foundStory = null;
521
577
  if (fs.existsSync(storyPath)) {
522
- // Found in new structure
523
- foundStory = parseStory(storyPath);
578
+ try {
579
+ return parseStory(storyPath);
580
+ }
581
+ catch (err) {
582
+ // Story file exists but is malformed, fall through to search
583
+ }
524
584
  }
525
- else {
526
- // Fallback: search for story in old blocked folder (backwards compatibility)
527
- const blockedFolder = path.join(sdlcRoot, BLOCKED_DIR);
528
- if (fs.existsSync(blockedFolder)) {
529
- const blockedFiles = fs.readdirSync(blockedFolder).filter(f => f.endsWith('.md'));
530
- for (const file of blockedFiles) {
531
- const filePath = path.join(blockedFolder, file);
585
+ // Fallback: search old folder structure for backwards compatibility
586
+ // Search kanban folders first
587
+ const KANBAN_FOLDERS = ['backlog', 'ready', 'in-progress', 'done'];
588
+ for (const folder of KANBAN_FOLDERS) {
589
+ const folderPath = path.join(sdlcRoot, folder);
590
+ if (!fs.existsSync(folderPath)) {
591
+ continue;
592
+ }
593
+ const files = fs.readdirSync(folderPath).filter(f => f.endsWith('.md'));
594
+ for (const file of files) {
595
+ const filePath = path.join(folderPath, file);
596
+ try {
597
+ const story = parseStory(filePath);
598
+ if (story.frontmatter.id === storyId) {
599
+ return story;
600
+ }
601
+ }
602
+ catch (err) {
603
+ continue;
604
+ }
605
+ }
606
+ }
607
+ // Also search blocked folder
608
+ const blockedFolder = path.join(sdlcRoot, BLOCKED_DIR);
609
+ if (fs.existsSync(blockedFolder)) {
610
+ const blockedFiles = fs.readdirSync(blockedFolder).filter(f => f.endsWith('.md'));
611
+ for (const file of blockedFiles) {
612
+ const filePath = path.join(blockedFolder, file);
613
+ try {
532
614
  const story = parseStory(filePath);
533
615
  if (story.frontmatter.id === storyId) {
534
- foundStory = story;
535
- break;
616
+ return story;
536
617
  }
537
618
  }
619
+ catch (err) {
620
+ continue;
621
+ }
538
622
  }
539
623
  }
624
+ return null;
625
+ }
626
+ /**
627
+ * Retrieves a story by ID, resolving its current location across all folders.
628
+ * This is the single source of truth for story lookup - use this instead of
629
+ * directly calling parseStory() with cached paths.
630
+ *
631
+ * @param sdlcRoot - Root directory of the SDLC workspace
632
+ * @param storyId - Story ID (e.g., 'S-0001')
633
+ * @returns Fully parsed Story object with current path and metadata
634
+ * @throws Error if story ID not found in any folder
635
+ */
636
+ export function getStory(sdlcRoot, storyId) {
637
+ const story = findStoryById(sdlcRoot, storyId);
638
+ if (!story) {
639
+ const newStructurePath = path.join(sdlcRoot, STORIES_FOLDER, storyId, STORY_FILENAME);
640
+ throw new Error(`Story not found: ${storyId}\n` +
641
+ `Searched in: ${newStructurePath}\n` +
642
+ `Also searched old folder structure (backlog, in-progress, done, blocked).\n` +
643
+ `The story may have been deleted or the ID is incorrect.`);
644
+ }
645
+ return story;
646
+ }
647
+ /**
648
+ * Unblock a story and set status back to in-progress
649
+ * In the new architecture, this only updates frontmatter - file path remains unchanged
650
+ *
651
+ * @param storyId - Story ID to unblock
652
+ * @param sdlcRoot - Root path of the .ai-sdlc folder
653
+ * @param options - Optional configuration { resetRetries?: boolean }
654
+ * @returns The unblocked story
655
+ */
656
+ export function unblockStory(storyId, sdlcRoot, options) {
657
+ // Use the centralized getStory() function for lookup
658
+ const foundStory = findStoryById(sdlcRoot, storyId);
540
659
  if (!foundStory) {
541
660
  throw new Error(`Story ${storyId} not found`);
542
661
  }