@ginkoai/cli 2.0.5 → 2.1.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/dist/commands/epic/index.d.ts +29 -0
- package/dist/commands/epic/index.d.ts.map +1 -0
- package/dist/commands/epic/index.js +94 -0
- package/dist/commands/epic/index.js.map +1 -0
- package/dist/commands/epic/status.d.ts +40 -0
- package/dist/commands/epic/status.d.ts.map +1 -0
- package/dist/commands/epic/status.js +244 -0
- package/dist/commands/epic/status.js.map +1 -0
- package/dist/commands/graph/api-client.d.ts +209 -0
- package/dist/commands/graph/api-client.d.ts.map +1 -1
- package/dist/commands/graph/api-client.js +125 -0
- package/dist/commands/graph/api-client.js.map +1 -1
- package/dist/commands/graph/load.d.ts.map +1 -1
- package/dist/commands/graph/load.js +40 -2
- package/dist/commands/graph/load.js.map +1 -1
- package/dist/commands/migrate/index.d.ts +27 -0
- package/dist/commands/migrate/index.d.ts.map +1 -0
- package/dist/commands/migrate/index.js +76 -0
- package/dist/commands/migrate/index.js.map +1 -0
- package/dist/commands/migrate/status-migration.d.ts +58 -0
- package/dist/commands/migrate/status-migration.d.ts.map +1 -0
- package/dist/commands/migrate/status-migration.js +323 -0
- package/dist/commands/migrate/status-migration.js.map +1 -0
- package/dist/commands/sprint/index.d.ts.map +1 -1
- package/dist/commands/sprint/index.js +4 -0
- package/dist/commands/sprint/index.js.map +1 -1
- package/dist/commands/sprint/status.d.ts +42 -0
- package/dist/commands/sprint/status.d.ts.map +1 -0
- package/dist/commands/sprint/status.js +278 -0
- package/dist/commands/sprint/status.js.map +1 -0
- package/dist/commands/start/start-reflection.d.ts +39 -0
- package/dist/commands/start/start-reflection.d.ts.map +1 -1
- package/dist/commands/start/start-reflection.js +311 -91
- package/dist/commands/start/start-reflection.js.map +1 -1
- package/dist/commands/sync/sprint-syncer.d.ts +19 -12
- package/dist/commands/sync/sprint-syncer.d.ts.map +1 -1
- package/dist/commands/sync/sprint-syncer.js +58 -140
- package/dist/commands/sync/sprint-syncer.js.map +1 -1
- package/dist/commands/sync/sync-command.d.ts.map +1 -1
- package/dist/commands/sync/sync-command.js +6 -18
- package/dist/commands/sync/sync-command.js.map +1 -1
- package/dist/commands/task/index.d.ts +25 -0
- package/dist/commands/task/index.d.ts.map +1 -0
- package/dist/commands/task/index.js +100 -0
- package/dist/commands/task/index.js.map +1 -0
- package/dist/commands/task/status.d.ts +43 -0
- package/dist/commands/task/status.d.ts.map +1 -0
- package/dist/commands/task/status.js +301 -0
- package/dist/commands/task/status.js.map +1 -0
- package/dist/index.js +12 -29
- package/dist/index.js.map +1 -1
- package/dist/lib/context-loader-events.d.ts +1 -0
- package/dist/lib/context-loader-events.d.ts.map +1 -1
- package/dist/lib/context-loader-events.js +28 -41
- package/dist/lib/context-loader-events.js.map +1 -1
- package/dist/lib/output-formatter.d.ts +12 -4
- package/dist/lib/output-formatter.d.ts.map +1 -1
- package/dist/lib/output-formatter.js +186 -14
- package/dist/lib/output-formatter.js.map +1 -1
- package/dist/lib/pending-updates.d.ts +148 -0
- package/dist/lib/pending-updates.d.ts.map +1 -0
- package/dist/lib/pending-updates.js +301 -0
- package/dist/lib/pending-updates.js.map +1 -0
- package/dist/lib/sprint-loader.d.ts +86 -14
- package/dist/lib/sprint-loader.d.ts.map +1 -1
- package/dist/lib/sprint-loader.js +293 -98
- package/dist/lib/sprint-loader.js.map +1 -1
- package/dist/lib/state-cache.d.ts +142 -0
- package/dist/lib/state-cache.d.ts.map +1 -0
- package/dist/lib/state-cache.js +259 -0
- package/dist/lib/state-cache.js.map +1 -0
- package/dist/lib/task-graph-sync.d.ts +105 -0
- package/dist/lib/task-graph-sync.d.ts.map +1 -0
- package/dist/lib/task-graph-sync.js +178 -0
- package/dist/lib/task-graph-sync.js.map +1 -0
- package/dist/lib/task-parser.d.ts +107 -0
- package/dist/lib/task-parser.d.ts.map +1 -0
- package/dist/lib/task-parser.js +384 -0
- package/dist/lib/task-parser.js.map +1 -0
- package/dist/templates/ai-instructions-template.d.ts.map +1 -1
- package/dist/templates/ai-instructions-template.js +7 -5
- package/dist/templates/ai-instructions-template.js.map +1 -1
- package/dist/templates/epic-template.md +0 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +7 -5
- package/dist/types/config.js.map +1 -1
- package/dist/utils/synthesis.d.ts +4 -0
- package/dist/utils/synthesis.d.ts.map +1 -1
- package/dist/utils/synthesis.js +12 -18
- package/dist/utils/synthesis.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileType: utility
|
|
3
3
|
* @status: current
|
|
4
|
-
* @updated:
|
|
5
|
-
* @tags: [sprint, task-
|
|
6
|
-
* @related: [charter-loader.ts, start-reflection.ts, context-loader-events.ts]
|
|
4
|
+
* @updated: 2026-01-19
|
|
5
|
+
* @tags: [sprint, task-content, epic-015, session-context]
|
|
6
|
+
* @related: [charter-loader.ts, start-reflection.ts, context-loader-events.ts, task-extractor.ts]
|
|
7
7
|
* @priority: high
|
|
8
8
|
* @complexity: medium
|
|
9
9
|
* @dependencies: [fs-extra, path]
|
|
10
10
|
*/
|
|
11
11
|
/**
|
|
12
|
-
* Sprint Loader (EPIC-001 TASK-5)
|
|
12
|
+
* Sprint Loader (EPIC-001 TASK-5, EPIC-015 Sprint 2)
|
|
13
13
|
*
|
|
14
14
|
* Loads active sprint from filesystem (docs/sprints/SPRINT-*.md)
|
|
15
|
-
* and parses
|
|
15
|
+
* and parses task content (ID, title, metadata).
|
|
16
|
+
*
|
|
17
|
+
* EPIC-015 Sprint 2 Changes:
|
|
18
|
+
* - Status now comes from graph API, not file parsing
|
|
19
|
+
* - Removed checkbox status parsing ([x], [ ], [@], [Z])
|
|
20
|
+
* - Added content-only interfaces (TaskContent, SprintContent)
|
|
21
|
+
* - Backward compatibility: existing functions default state to 'todo'
|
|
16
22
|
*
|
|
17
23
|
* Provides AI partners with:
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
20
|
-
* -
|
|
21
|
-
* -
|
|
24
|
+
* - Task identification (ID, title)
|
|
25
|
+
* - Task metadata (effort, priority, files, dependencies)
|
|
26
|
+
* - Related knowledge (ADRs, patterns, gotchas)
|
|
27
|
+
* - Acceptance criteria
|
|
22
28
|
*/
|
|
23
29
|
import fs from 'fs-extra';
|
|
24
30
|
import path from 'path';
|
|
@@ -61,15 +67,28 @@ function parseFrontmatter(content) {
|
|
|
61
67
|
}
|
|
62
68
|
return frontmatter;
|
|
63
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Warn about deprecated CURRENT-SPRINT.md file
|
|
72
|
+
* EPIC-015 Sprint 3: CURRENT-SPRINT.md is deprecated in favor of graph-authoritative state
|
|
73
|
+
*/
|
|
74
|
+
function warnDeprecatedCurrentSprint(sprintsDir) {
|
|
75
|
+
const currentSprintPath = path.join(sprintsDir, 'CURRENT-SPRINT.md');
|
|
76
|
+
if (fs.existsSync(currentSprintPath)) {
|
|
77
|
+
console.warn('\n⚠️ DEPRECATED: CURRENT-SPRINT.md detected');
|
|
78
|
+
console.warn(' This file is no longer used. Sprint state now comes from the graph.');
|
|
79
|
+
console.warn(' You can safely delete: docs/sprints/CURRENT-SPRINT.md\n');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
64
82
|
/**
|
|
65
83
|
* Find active sprint file
|
|
66
84
|
*
|
|
67
85
|
* Priority:
|
|
68
|
-
* 1.
|
|
69
|
-
* 2. Check CURRENT-SPRINT.md for sprint reference → return that file
|
|
70
|
-
* 3. Fall back to scanning SPRINT-*.md files for first incomplete one
|
|
86
|
+
* 1. Scan SPRINT-*.md files for first incomplete one
|
|
71
87
|
* - Respects frontmatter `status` field: active > not_started > (skip paused/complete)
|
|
72
88
|
*
|
|
89
|
+
* EPIC-015 Sprint 3: CURRENT-SPRINT.md is deprecated. Sprint state now comes from
|
|
90
|
+
* the graph API, not from a local file. This function only scans actual sprint files.
|
|
91
|
+
*
|
|
73
92
|
* Valid status values:
|
|
74
93
|
* - active: Currently being worked on
|
|
75
94
|
* - not_started: Planned but not yet started
|
|
@@ -88,52 +107,10 @@ export async function findActiveSprint(projectRoot) {
|
|
|
88
107
|
if (!fs.existsSync(sprintsDir)) {
|
|
89
108
|
return null;
|
|
90
109
|
}
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// Check for "Between Sprints" or "No active sprint" status
|
|
96
|
-
if (currentContent.includes('Between Sprints') ||
|
|
97
|
-
currentContent.includes('No active sprint') ||
|
|
98
|
-
currentContent.match(/\*\*Status\*\*:\s*Between Sprints/i)) {
|
|
99
|
-
return null; // Explicitly between sprints
|
|
100
|
-
}
|
|
101
|
-
// Look for sprint reference: See: SPRINT-YYYY-MM-DD-name.md
|
|
102
|
-
const sprintRefMatch = currentContent.match(/See:\s*(SPRINT-[\w-]+\.md)/i);
|
|
103
|
-
if (sprintRefMatch) {
|
|
104
|
-
const referencedPath = path.join(sprintsDir, sprintRefMatch[1]);
|
|
105
|
-
if (fs.existsSync(referencedPath)) {
|
|
106
|
-
// Validate referenced sprint isn't complete before returning
|
|
107
|
-
const referencedContent = await fs.readFile(referencedPath, 'utf-8');
|
|
108
|
-
const refFrontmatter = parseFrontmatter(referencedContent);
|
|
109
|
-
const refStatus = refFrontmatter.status?.toLowerCase();
|
|
110
|
-
// If referenced sprint is complete, don't return it - fall through to scanning
|
|
111
|
-
if (refStatus !== 'complete') {
|
|
112
|
-
// Also check progress percentage
|
|
113
|
-
const refProgressMatch = referencedContent.match(/\*\*Progress:?\*\*:?\s*(\d+)%/);
|
|
114
|
-
const refProgress = refProgressMatch ? parseInt(refProgressMatch[1]) : 0;
|
|
115
|
-
if (refProgress < 100) {
|
|
116
|
-
return referencedPath;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// Fall through to scan for next active sprint
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// Look for **Last Completed**: SPRINT-XXX pattern (means between sprints)
|
|
123
|
-
if (currentContent.match(/\*\*Last Completed\*\*:/)) {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
// NEW: Check if CURRENT-SPRINT.md contains actual sprint content
|
|
127
|
-
// (not just a reference to another file)
|
|
128
|
-
// This supports the pattern where CURRENT-SPRINT.md IS the sprint file
|
|
129
|
-
const hasSprintContent = currentContent.includes('## Sprint Tasks') ||
|
|
130
|
-
currentContent.includes('### TASK-') ||
|
|
131
|
-
currentContent.match(/\*\*Sprint Goal\*\*:/);
|
|
132
|
-
if (hasSprintContent) {
|
|
133
|
-
return currentSprintPath;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
// Fall back: Get all sprint files sorted by date (newest first)
|
|
110
|
+
// EPIC-015 Sprint 3: Warn about deprecated CURRENT-SPRINT.md
|
|
111
|
+
warnDeprecatedCurrentSprint(sprintsDir);
|
|
112
|
+
// Get all sprint files sorted by date (newest first)
|
|
113
|
+
// Skip CURRENT-SPRINT.md as it's deprecated
|
|
137
114
|
const sprintFiles = (await fs.readdir(sprintsDir))
|
|
138
115
|
.filter(f => f.startsWith('SPRINT-') && f.endsWith('.md') && f !== 'CURRENT-SPRINT.md')
|
|
139
116
|
.sort()
|
|
@@ -195,22 +172,8 @@ export async function findActiveSprint(projectRoot) {
|
|
|
195
172
|
return null;
|
|
196
173
|
}
|
|
197
174
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
*
|
|
201
|
-
* @param symbol - Checkbox content: ' ', '@', 'Z', or 'x'
|
|
202
|
-
* @returns Task state enum
|
|
203
|
-
*/
|
|
204
|
-
function parseTaskState(symbol) {
|
|
205
|
-
const trimmed = symbol.trim();
|
|
206
|
-
if (trimmed === 'x' || trimmed === 'X')
|
|
207
|
-
return 'complete';
|
|
208
|
-
if (trimmed === '@')
|
|
209
|
-
return 'in_progress';
|
|
210
|
-
if (trimmed === 'Z' || trimmed === 'z')
|
|
211
|
-
return 'paused';
|
|
212
|
-
return 'todo';
|
|
213
|
-
}
|
|
175
|
+
// NOTE: parseTaskState function removed in EPIC-015 Sprint 2
|
|
176
|
+
// Status now comes from graph API, not markdown checkbox parsing
|
|
214
177
|
/**
|
|
215
178
|
* Detect acceptance criterion type from description (EPIC-004 Sprint 3 TASK-1)
|
|
216
179
|
*
|
|
@@ -334,17 +297,21 @@ function parseAcceptanceCriteria(lines, startIndex) {
|
|
|
334
297
|
return criteria;
|
|
335
298
|
}
|
|
336
299
|
/**
|
|
337
|
-
* Parse sprint markdown into task checklist
|
|
300
|
+
* Parse sprint markdown into task checklist (backward compatible)
|
|
301
|
+
*
|
|
302
|
+
* EPIC-015 Sprint 2: Status parsing removed. All tasks default to 'todo'.
|
|
303
|
+
* Status should be merged from graph API at runtime.
|
|
338
304
|
*
|
|
339
305
|
* Looks for:
|
|
340
306
|
* - Sprint name from title (# SPRINT: ...)
|
|
341
307
|
* - Tasks from ## Sprint Tasks or ### TASK-N sections
|
|
342
|
-
* -
|
|
343
|
-
* -
|
|
308
|
+
* - Task metadata (files, priority, effort, dependencies)
|
|
309
|
+
* - Related knowledge (ADRs, patterns, gotchas)
|
|
310
|
+
* - Acceptance criteria
|
|
344
311
|
*
|
|
345
312
|
* @param markdown - Sprint markdown content
|
|
346
313
|
* @param filePath - Path to sprint file
|
|
347
|
-
* @returns Parsed sprint checklist
|
|
314
|
+
* @returns Parsed sprint checklist (all tasks with state: 'todo')
|
|
348
315
|
*/
|
|
349
316
|
export function parseSprintChecklist(markdown, filePath) {
|
|
350
317
|
const lines = markdown.split('\n');
|
|
@@ -363,20 +330,20 @@ export function parseSprintChecklist(markdown, filePath) {
|
|
|
363
330
|
if (parsingTask?.id && parsingTask?.title) {
|
|
364
331
|
tasks.push(parsingTask);
|
|
365
332
|
}
|
|
366
|
-
// Start new task
|
|
333
|
+
// Start new task - state defaults to 'todo' (status comes from graph API)
|
|
367
334
|
parsingTask = {
|
|
368
335
|
id: taskHeaderMatch[1],
|
|
369
336
|
title: taskHeaderMatch[2].trim(),
|
|
370
337
|
effort: taskHeaderMatch[3]?.trim(),
|
|
371
|
-
state: 'todo', //
|
|
338
|
+
state: 'todo', // EPIC-015: Status comes from graph API, not file
|
|
372
339
|
files: [],
|
|
373
340
|
};
|
|
374
341
|
continue;
|
|
375
342
|
}
|
|
376
|
-
//
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
343
|
+
// NOTE: Status line parsing removed in EPIC-015 Sprint 2
|
|
344
|
+
// Status now comes from graph API, not markdown checkboxes
|
|
345
|
+
// Skip **Status:** lines but don't parse them
|
|
346
|
+
if (line.match(/\*\*Status:\*\*/i)) {
|
|
380
347
|
continue;
|
|
381
348
|
}
|
|
382
349
|
// Match task priority: **Priority:** HIGH
|
|
@@ -488,18 +455,20 @@ export function parseSprintChecklist(markdown, filePath) {
|
|
|
488
455
|
if (parsingTask?.id && parsingTask?.title) {
|
|
489
456
|
tasks.push(parsingTask);
|
|
490
457
|
}
|
|
491
|
-
//
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
const
|
|
495
|
-
const
|
|
496
|
-
|
|
497
|
-
const
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
//
|
|
501
|
-
const
|
|
502
|
-
|
|
458
|
+
// EPIC-015 Sprint 2: Progress calculation removed from file parsing
|
|
459
|
+
// All tasks default to 'todo' - actual status comes from graph API
|
|
460
|
+
// Progress should be calculated at runtime after merging with graph status
|
|
461
|
+
const complete = 0; // Will be calculated from graph status
|
|
462
|
+
const inProgress = 0; // Will be calculated from graph status
|
|
463
|
+
const paused = 0; // Will be calculated from graph status
|
|
464
|
+
const todo = tasks.length; // All tasks default to todo
|
|
465
|
+
// EPIC-015 Sprint 2: Current task selection simplified
|
|
466
|
+
// Without status, we just pick the first task (or undefined if none)
|
|
467
|
+
// Actual current task should be determined from graph status at runtime
|
|
468
|
+
const currentTask = tasks.length > 0 ? tasks[0] : undefined;
|
|
469
|
+
// EPIC-015 Sprint 2: Recent completions empty from file parsing
|
|
470
|
+
// Should be populated from graph status at runtime
|
|
471
|
+
const recentCompletions = [];
|
|
503
472
|
// Validate dependencies (EPIC-004 Sprint 4)
|
|
504
473
|
const dependencyWarnings = [];
|
|
505
474
|
const taskIds = new Set(tasks.map(t => t.id));
|
|
@@ -565,12 +534,235 @@ export function parseSprintChecklist(markdown, filePath) {
|
|
|
565
534
|
dependencyWarnings: dependencyWarnings.length > 0 ? dependencyWarnings : undefined,
|
|
566
535
|
};
|
|
567
536
|
}
|
|
537
|
+
// ============================================================================
|
|
538
|
+
// Content-Only Functions (EPIC-015 Sprint 2)
|
|
539
|
+
// These functions extract content without status - status comes from graph API
|
|
540
|
+
// ============================================================================
|
|
541
|
+
/**
|
|
542
|
+
* Parse sprint markdown into content-only structure (no status)
|
|
543
|
+
*
|
|
544
|
+
* EPIC-015 Sprint 2: New content-focused parsing function.
|
|
545
|
+
* Extracts task content (ID, title, metadata, relationships) without status.
|
|
546
|
+
* Status should be fetched from graph API and merged separately.
|
|
547
|
+
*
|
|
548
|
+
* @param markdown - Sprint markdown content
|
|
549
|
+
* @param filePath - Path to sprint file
|
|
550
|
+
* @returns Parsed sprint content (no status information)
|
|
551
|
+
*/
|
|
552
|
+
export function parseSprintContent(markdown, filePath) {
|
|
553
|
+
const lines = markdown.split('\n');
|
|
554
|
+
const tasks = [];
|
|
555
|
+
// Extract sprint name from title
|
|
556
|
+
const titleMatch = markdown.match(/^#\s+SPRINT:\s*(.+?)$/m);
|
|
557
|
+
const sprintName = titleMatch ? titleMatch[1].trim() : path.basename(filePath, '.md');
|
|
558
|
+
let parsingTask = null;
|
|
559
|
+
for (let i = 0; i < lines.length; i++) {
|
|
560
|
+
const line = lines[i];
|
|
561
|
+
// Match task headers: ### TASK-N: Title OR ### e008_s02_t01: Title (ADR-052)
|
|
562
|
+
const taskHeaderMatch = line.match(/^###\s+((?:TASK-\d+|e\d+_s\d+_t\d+|adhoc_\d+_s\d+_t\d+)):\s*(.+?)(?:\s*\((.+?)\))?$/i);
|
|
563
|
+
if (taskHeaderMatch) {
|
|
564
|
+
// Save previous task if exists
|
|
565
|
+
if (parsingTask?.id && parsingTask?.title) {
|
|
566
|
+
tasks.push(parsingTask);
|
|
567
|
+
}
|
|
568
|
+
// Start new task (content only - no status)
|
|
569
|
+
parsingTask = {
|
|
570
|
+
id: taskHeaderMatch[1],
|
|
571
|
+
title: taskHeaderMatch[2].trim(),
|
|
572
|
+
effort: taskHeaderMatch[3]?.trim(),
|
|
573
|
+
files: [],
|
|
574
|
+
};
|
|
575
|
+
continue;
|
|
576
|
+
}
|
|
577
|
+
// Skip status lines - status comes from graph API
|
|
578
|
+
if (line.match(/\*\*Status:\*\*/i)) {
|
|
579
|
+
continue;
|
|
580
|
+
}
|
|
581
|
+
// Match task priority
|
|
582
|
+
const priorityMatch = line.match(/\*\*Priority:\*\*\s*(.+)/i);
|
|
583
|
+
if (priorityMatch && parsingTask) {
|
|
584
|
+
parsingTask.priority = priorityMatch[1].trim();
|
|
585
|
+
continue;
|
|
586
|
+
}
|
|
587
|
+
// Match task dependencies
|
|
588
|
+
const dependsMatch = line.match(/\*\*Depends:\*\*\s*(.+)/i);
|
|
589
|
+
if (dependsMatch && parsingTask) {
|
|
590
|
+
const depsString = dependsMatch[1].trim();
|
|
591
|
+
const deps = depsString.split(/[,\s]+/)
|
|
592
|
+
.map(d => d.trim())
|
|
593
|
+
.filter(d => /^(?:TASK-\d+|t\d+|e\d+_s\d+_t\d+|adhoc_\d+_s\d+_t\d+)$/i.test(d));
|
|
594
|
+
if (deps.length > 0) {
|
|
595
|
+
parsingTask.dependsOn = deps;
|
|
596
|
+
}
|
|
597
|
+
continue;
|
|
598
|
+
}
|
|
599
|
+
// Match files section
|
|
600
|
+
if (line.match(/^\*\*Files:\*\*/) && parsingTask) {
|
|
601
|
+
let j = i + 1;
|
|
602
|
+
while (j < lines.length && lines[j].match(/^-\s+(Create|Modify):/)) {
|
|
603
|
+
const fileMatch = lines[j].match(/^-\s+(?:Create|Modify):\s+`([^`]+)`/);
|
|
604
|
+
if (fileMatch) {
|
|
605
|
+
parsingTask.files = parsingTask.files || [];
|
|
606
|
+
parsingTask.files.push(fileMatch[1]);
|
|
607
|
+
}
|
|
608
|
+
j++;
|
|
609
|
+
}
|
|
610
|
+
continue;
|
|
611
|
+
}
|
|
612
|
+
// Match acceptance criteria section
|
|
613
|
+
if (line.match(/^\*\*Acceptance:\*\*/) && parsingTask) {
|
|
614
|
+
const criteria = parseAcceptanceCriteria(lines, i + 1);
|
|
615
|
+
if (criteria.length > 0) {
|
|
616
|
+
parsingTask.acceptanceCriteria = criteria;
|
|
617
|
+
}
|
|
618
|
+
continue;
|
|
619
|
+
}
|
|
620
|
+
// Extract ADR references
|
|
621
|
+
if (parsingTask) {
|
|
622
|
+
const adrMatches = line.matchAll(/ADR-(\d+)/gi);
|
|
623
|
+
for (const match of adrMatches) {
|
|
624
|
+
const adrId = `ADR-${match[1].padStart(3, '0')}`;
|
|
625
|
+
parsingTask.relatedADRs = parsingTask.relatedADRs || [];
|
|
626
|
+
if (!parsingTask.relatedADRs.includes(adrId)) {
|
|
627
|
+
parsingTask.relatedADRs.push(adrId);
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
// Extract pattern references
|
|
631
|
+
const patternFromFileMatches = line.matchAll(/(?:use|apply|see|follow)\s+(?:the\s+)?(?:pattern|example)\s+(?:from|in)\s+[`"]?([a-zA-Z0-9_\-./]+\.[a-zA-Z]+)[`"]?/gi);
|
|
632
|
+
for (const match of patternFromFileMatches) {
|
|
633
|
+
const patternId = match[1];
|
|
634
|
+
parsingTask.relatedPatterns = parsingTask.relatedPatterns || [];
|
|
635
|
+
if (!parsingTask.relatedPatterns.includes(patternId)) {
|
|
636
|
+
parsingTask.relatedPatterns.push(patternId);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
const explicitPatternMatches = line.matchAll(/\b([a-z][a-z0-9]*(?:-[a-z0-9]+)*-pattern)\b/gi);
|
|
640
|
+
for (const match of explicitPatternMatches) {
|
|
641
|
+
const patternId = match[1].toLowerCase();
|
|
642
|
+
parsingTask.relatedPatterns = parsingTask.relatedPatterns || [];
|
|
643
|
+
if (!parsingTask.relatedPatterns.includes(patternId)) {
|
|
644
|
+
parsingTask.relatedPatterns.push(patternId);
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
// Extract gotcha references
|
|
648
|
+
const explicitGotchaMatches = line.matchAll(/\b([a-z][a-z0-9]*(?:-[a-z0-9]+)*-gotcha)\b/gi);
|
|
649
|
+
for (const match of explicitGotchaMatches) {
|
|
650
|
+
const gotchaId = match[1].toLowerCase();
|
|
651
|
+
parsingTask.relatedGotchas = parsingTask.relatedGotchas || [];
|
|
652
|
+
if (!parsingTask.relatedGotchas.includes(gotchaId)) {
|
|
653
|
+
parsingTask.relatedGotchas.push(gotchaId);
|
|
654
|
+
}
|
|
655
|
+
}
|
|
656
|
+
if (!line.match(/[a-z][a-z0-9]*(?:-[a-z0-9]+)*-gotcha/i)) {
|
|
657
|
+
const gotchaWarningMatches = line.matchAll(/(?:avoid|watch out for|beware of|gotcha:)\s+[`"]?([^`".\n]+)[`"]?/gi);
|
|
658
|
+
for (const match of gotchaWarningMatches) {
|
|
659
|
+
if (match[1].toLowerCase().includes('gotcha'))
|
|
660
|
+
continue;
|
|
661
|
+
const gotchaId = match[1].trim().toLowerCase().replace(/\s+/g, '-');
|
|
662
|
+
if (gotchaId.length <= 40) {
|
|
663
|
+
parsingTask.relatedGotchas = parsingTask.relatedGotchas || [];
|
|
664
|
+
if (!parsingTask.relatedGotchas.includes(gotchaId)) {
|
|
665
|
+
parsingTask.relatedGotchas.push(gotchaId);
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
// Save last task
|
|
673
|
+
if (parsingTask?.id && parsingTask?.title) {
|
|
674
|
+
tasks.push(parsingTask);
|
|
675
|
+
}
|
|
676
|
+
// Validate dependencies
|
|
677
|
+
const dependencyWarnings = [];
|
|
678
|
+
const taskIds = new Set(tasks.map(t => t.id));
|
|
679
|
+
for (const task of tasks) {
|
|
680
|
+
if (task.dependsOn) {
|
|
681
|
+
for (const depId of task.dependsOn) {
|
|
682
|
+
if (!taskIds.has(depId)) {
|
|
683
|
+
dependencyWarnings.push(`${task.id} depends on non-existent task: ${depId}`);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
// Check for circular dependencies
|
|
689
|
+
const visited = new Set();
|
|
690
|
+
const inStack = new Set();
|
|
691
|
+
function detectCycle(taskId, pathArr) {
|
|
692
|
+
if (inStack.has(taskId)) {
|
|
693
|
+
const cycleStart = pathArr.indexOf(taskId);
|
|
694
|
+
return [...pathArr.slice(cycleStart), taskId];
|
|
695
|
+
}
|
|
696
|
+
if (visited.has(taskId))
|
|
697
|
+
return null;
|
|
698
|
+
visited.add(taskId);
|
|
699
|
+
inStack.add(taskId);
|
|
700
|
+
pathArr.push(taskId);
|
|
701
|
+
const task = tasks.find(t => t.id === taskId);
|
|
702
|
+
if (task?.dependsOn) {
|
|
703
|
+
for (const depId of task.dependsOn) {
|
|
704
|
+
if (taskIds.has(depId)) {
|
|
705
|
+
const cycle = detectCycle(depId, pathArr);
|
|
706
|
+
if (cycle)
|
|
707
|
+
return cycle;
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
pathArr.pop();
|
|
712
|
+
inStack.delete(taskId);
|
|
713
|
+
return null;
|
|
714
|
+
}
|
|
715
|
+
for (const task of tasks) {
|
|
716
|
+
if (!visited.has(task.id)) {
|
|
717
|
+
const cycle = detectCycle(task.id, []);
|
|
718
|
+
if (cycle) {
|
|
719
|
+
dependencyWarnings.push(`Circular dependency: ${cycle.join(' -> ')}`);
|
|
720
|
+
break;
|
|
721
|
+
}
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
return {
|
|
725
|
+
name: sprintName,
|
|
726
|
+
file: filePath,
|
|
727
|
+
tasks,
|
|
728
|
+
dependencyWarnings: dependencyWarnings.length > 0 ? dependencyWarnings : undefined,
|
|
729
|
+
};
|
|
730
|
+
}
|
|
568
731
|
/**
|
|
569
|
-
* Load active sprint
|
|
732
|
+
* Load active sprint content (no status)
|
|
733
|
+
*
|
|
734
|
+
* EPIC-015 Sprint 2: New content-focused loading function.
|
|
735
|
+
* Finds active sprint file and parses content without status.
|
|
736
|
+
* Status should be fetched from graph API and merged separately.
|
|
737
|
+
*
|
|
738
|
+
* @param projectRoot - Project root directory (defaults to git root)
|
|
739
|
+
* @param sprintFilePath - Optional specific sprint file path
|
|
740
|
+
* @returns Parsed sprint content or null if no sprint found
|
|
741
|
+
*/
|
|
742
|
+
export async function loadSprintContent(projectRoot, sprintFilePath) {
|
|
743
|
+
try {
|
|
744
|
+
const sprintFile = sprintFilePath || await findActiveSprint(projectRoot);
|
|
745
|
+
if (!sprintFile) {
|
|
746
|
+
return null;
|
|
747
|
+
}
|
|
748
|
+
const content = await fs.readFile(sprintFile, 'utf-8');
|
|
749
|
+
return parseSprintContent(content, sprintFile);
|
|
750
|
+
}
|
|
751
|
+
catch (error) {
|
|
752
|
+
console.error('Failed to load sprint content:', error.message);
|
|
753
|
+
return null;
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
/**
|
|
757
|
+
* Load active sprint checklist (backward compatible)
|
|
758
|
+
*
|
|
759
|
+
* EPIC-015 Sprint 2: This function maintained for backward compatibility.
|
|
760
|
+
* All tasks will have state: 'todo'. Merge with graph API status at runtime.
|
|
570
761
|
*
|
|
571
762
|
* Finds active sprint file and parses into structured checklist
|
|
572
763
|
*
|
|
573
764
|
* @param projectRoot - Project root directory (defaults to git root)
|
|
765
|
+
* @param sprintFilePath - Optional specific sprint file path
|
|
574
766
|
* @returns Parsed sprint checklist or null if no sprint found
|
|
575
767
|
*/
|
|
576
768
|
export async function loadSprintChecklist(projectRoot, sprintFilePath) {
|
|
@@ -760,8 +952,11 @@ function parseSprintTable(content) {
|
|
|
760
952
|
}
|
|
761
953
|
/**
|
|
762
954
|
* Find sprint file by ID
|
|
955
|
+
* @param sprintId - Sprint ID (e.g., 'e011_s01' or 'e016_s03')
|
|
956
|
+
* @param projectRoot - Project root directory
|
|
957
|
+
* @returns Path to sprint file or null if not found
|
|
763
958
|
*/
|
|
764
|
-
async function findSprintFileById(sprintId, projectRoot) {
|
|
959
|
+
export async function findSprintFileById(sprintId, projectRoot) {
|
|
765
960
|
const sprintsDir = path.join(projectRoot, 'docs', 'sprints');
|
|
766
961
|
if (!fs.existsSync(sprintsDir)) {
|
|
767
962
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprint-loader.js","sourceRoot":"","sources":["../../src/lib/sprint-loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sprint-loader.js","sourceRoot":"","sources":["../../src/lib/sprint-loader.ts"],"names":[],"mappings":"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"}
|