specweave 0.28.13 → 0.28.14
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/src/cli/commands/archive.d.ts +0 -1
- package/dist/src/cli/commands/archive.d.ts.map +1 -1
- package/dist/src/cli/commands/archive.js +1 -4
- package/dist/src/cli/commands/archive.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +83 -10
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/core/feature-deleter/validator.d.ts +1 -0
- package/dist/src/core/feature-deleter/validator.d.ts.map +1 -1
- package/dist/src/core/feature-deleter/validator.js +8 -10
- package/dist/src/core/feature-deleter/validator.js.map +1 -1
- package/dist/src/core/increment/increment-archiver.d.ts.map +1 -1
- package/dist/src/core/increment/increment-archiver.js +12 -5
- package/dist/src/core/increment/increment-archiver.js.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.d.ts +25 -3
- package/dist/src/core/living-docs/feature-archiver.d.ts.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.js +131 -129
- package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
- package/dist/src/core/living-docs/feature-consistency-validator.d.ts +23 -22
- package/dist/src/core/living-docs/feature-consistency-validator.d.ts.map +1 -1
- package/dist/src/core/living-docs/feature-consistency-validator.js +68 -150
- package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
- package/dist/src/core/living-docs/feature-id-manager.d.ts +5 -1
- package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -1
- package/dist/src/core/living-docs/feature-id-manager.js +43 -23
- package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts +21 -12
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js +89 -70
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +10 -11
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +24 -56
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts +1 -1
- package/dist/src/core/repo-structure/repo-bulk-discovery.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-bulk-discovery.js +168 -126
- package/dist/src/core/repo-structure/repo-bulk-discovery.js.map +1 -1
- package/dist/src/core/spec-detector.js +2 -2
- package/dist/src/core/spec-detector.js.map +1 -1
- package/dist/src/importers/duplicate-detector.d.ts +6 -0
- package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
- package/dist/src/importers/duplicate-detector.js +8 -2
- package/dist/src/importers/duplicate-detector.js.map +1 -1
- package/dist/src/importers/external-importer.d.ts +6 -0
- package/dist/src/importers/external-importer.d.ts.map +1 -1
- package/dist/src/importers/import-coordinator.d.ts +38 -2
- package/dist/src/importers/import-coordinator.d.ts.map +1 -1
- package/dist/src/importers/import-coordinator.js +142 -5
- package/dist/src/importers/import-coordinator.js.map +1 -1
- package/dist/src/importers/item-converter.d.ts +39 -1
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +193 -24
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +8 -2
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +18 -10
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/utils/project-detection.d.ts +13 -10
- package/dist/src/utils/project-detection.d.ts.map +1 -1
- package/dist/src/utils/project-detection.js +26 -11
- package/dist/src/utils/project-detection.js.map +1 -1
- package/package.json +1 -1
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +6 -0
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +9 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Feature & Epic Archiver - Smart archiving system for features and epics
|
|
3
3
|
*
|
|
4
|
+
* v5.0.0 - Unified Project Structure
|
|
5
|
+
* Features now live directly in project folders: {project}/FS-XXX/
|
|
6
|
+
* No more separate _features folder.
|
|
7
|
+
*
|
|
4
8
|
* Works in tandem with IncrementArchiver to maintain consistency between
|
|
5
9
|
* increments, features, and epics. When an increment is archived, its
|
|
6
10
|
* associated feature is automatically archived if all increments for
|
|
@@ -16,7 +20,7 @@ export class FeatureArchiver {
|
|
|
16
20
|
constructor(rootDir) {
|
|
17
21
|
this.rootDir = rootDir;
|
|
18
22
|
this.specsDir = path.join(rootDir, '.specweave', 'docs', 'internal', 'specs');
|
|
19
|
-
|
|
23
|
+
// v5.0.0: No more _features folder - features live in {project}/FS-XXX/
|
|
20
24
|
this.epicsDir = path.join(this.specsDir, '_epics');
|
|
21
25
|
this.incrementArchiver = new IncrementArchiver(rootDir);
|
|
22
26
|
this.hierarchyMapper = new HierarchyMapper(rootDir);
|
|
@@ -70,13 +74,13 @@ export class FeatureArchiver {
|
|
|
70
74
|
}
|
|
71
75
|
/**
|
|
72
76
|
* Identify features that should be archived
|
|
77
|
+
* v5.0.0: Features now live in {project}/FS-XXX/, archives go to {project}/_archive/FS-XXX/
|
|
73
78
|
*/
|
|
74
79
|
async identifyFeaturesToArchive(archivedIncrements, options) {
|
|
75
80
|
const operations = [];
|
|
76
|
-
const
|
|
77
|
-
for (const featureId of
|
|
78
|
-
const
|
|
79
|
-
const archivePath = path.join(this.featuresDir, '_archive', featureId);
|
|
81
|
+
const featureLocations = await this.getAllFeatureLocations();
|
|
82
|
+
for (const { featureId, projectId, featurePath } of featureLocations) {
|
|
83
|
+
const archivePath = path.join(this.specsDir, projectId, '_archive', featureId);
|
|
80
84
|
// Skip if already archived AND source doesn't exist (no duplicate)
|
|
81
85
|
// Allow operation to proceed if both source and target exist (duplicate cleanup)
|
|
82
86
|
const sourceExists = await fs.pathExists(featurePath);
|
|
@@ -242,13 +246,14 @@ export class FeatureArchiver {
|
|
|
242
246
|
}
|
|
243
247
|
}
|
|
244
248
|
/**
|
|
245
|
-
* Archive project
|
|
249
|
+
* Archive all project folders containing this feature
|
|
250
|
+
* v5.0.0: Features live directly in {project}/FS-XXX/, archived to {project}/_archive/FS-XXX/
|
|
246
251
|
*/
|
|
247
252
|
async archiveProjectSpecificFolders(featureId) {
|
|
248
|
-
// Get all project folders
|
|
253
|
+
// Get all project folders containing this feature
|
|
249
254
|
const projectPattern = path.join(this.specsDir, '*', featureId);
|
|
250
255
|
const projectFolders = await glob(projectPattern, {
|
|
251
|
-
ignore: ['**/node_modules/**', '**/
|
|
256
|
+
ignore: ['**/node_modules/**', '**/_epics/**', '**/_archive/**']
|
|
252
257
|
});
|
|
253
258
|
for (const folder of projectFolders) {
|
|
254
259
|
const projectId = path.basename(path.dirname(folder));
|
|
@@ -288,6 +293,7 @@ export class FeatureArchiver {
|
|
|
288
293
|
}
|
|
289
294
|
/**
|
|
290
295
|
* Update links in a single file
|
|
296
|
+
* v5.0.0: Features live in {project}/FS-XXX/, no more _features folder
|
|
291
297
|
*/
|
|
292
298
|
async updateLinksInFile(filePath, archivedFeatures, archivedEpics) {
|
|
293
299
|
const updates = [];
|
|
@@ -296,26 +302,27 @@ export class FeatureArchiver {
|
|
|
296
302
|
let modified = false;
|
|
297
303
|
for (let i = 0; i < lines.length; i++) {
|
|
298
304
|
const line = lines[i];
|
|
299
|
-
// Check for feature links
|
|
305
|
+
// Check for feature links - now only in project folders
|
|
300
306
|
for (const featureId of archivedFeatures) {
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
const
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
lines[i] = lines[i].replace(oldPath, newPath);
|
|
311
|
-
modified = true;
|
|
312
|
-
updates.push({
|
|
313
|
-
file: filePath,
|
|
314
|
-
oldLink: oldPath,
|
|
315
|
-
newLink: newPath,
|
|
316
|
-
lineNumber: i + 1
|
|
317
|
-
});
|
|
307
|
+
// v5.0.0: Features are in {project}/FS-XXX/, archive to {project}/_archive/FS-XXX/
|
|
308
|
+
const pattern = new RegExp(`(\\[.*?\\]\\()([^)]*\/specs\/([^/]+)\/${featureId}\/[^)]*)\\)`, 'g');
|
|
309
|
+
const matches = [...line.matchAll(pattern)];
|
|
310
|
+
for (const match of matches) {
|
|
311
|
+
const oldPath = match[2];
|
|
312
|
+
const projectId = match[3];
|
|
313
|
+
// Skip if already in archive
|
|
314
|
+
if (oldPath.includes('/_archive/')) {
|
|
315
|
+
continue;
|
|
318
316
|
}
|
|
317
|
+
const newPath = oldPath.replace(new RegExp(`\/specs\/${projectId}\/${featureId}\/`), `/specs/${projectId}/_archive/${featureId}/`);
|
|
318
|
+
lines[i] = lines[i].replace(oldPath, newPath);
|
|
319
|
+
modified = true;
|
|
320
|
+
updates.push({
|
|
321
|
+
file: filePath,
|
|
322
|
+
oldLink: oldPath,
|
|
323
|
+
newLink: newPath,
|
|
324
|
+
lineNumber: i + 1
|
|
325
|
+
});
|
|
319
326
|
}
|
|
320
327
|
}
|
|
321
328
|
// Check for epic links
|
|
@@ -343,22 +350,51 @@ export class FeatureArchiver {
|
|
|
343
350
|
return updates;
|
|
344
351
|
}
|
|
345
352
|
/**
|
|
346
|
-
* Get all features
|
|
353
|
+
* Get all features (just IDs, for backward compatibility)
|
|
354
|
+
* v5.0.0: Scans project folders for FS-* directories
|
|
347
355
|
*/
|
|
348
356
|
async getAllFeatures() {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
357
|
+
const locations = await this.getAllFeatureLocations();
|
|
358
|
+
// Return unique feature IDs
|
|
359
|
+
return [...new Set(locations.map(loc => loc.featureId))];
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Get all feature locations with project context
|
|
363
|
+
* v5.0.0: Features live in {project}/FS-XXX/
|
|
364
|
+
* @returns Array of { featureId, projectId, featurePath }
|
|
365
|
+
*/
|
|
366
|
+
async getAllFeatureLocations() {
|
|
367
|
+
const results = [];
|
|
368
|
+
if (!await fs.pathExists(this.specsDir)) {
|
|
369
|
+
return results;
|
|
370
|
+
}
|
|
371
|
+
// Scan all project folders
|
|
372
|
+
const projectEntries = await fs.readdir(this.specsDir, { withFileTypes: true });
|
|
373
|
+
for (const projectEntry of projectEntries) {
|
|
374
|
+
if (!projectEntry.isDirectory())
|
|
375
|
+
continue;
|
|
376
|
+
const projectId = projectEntry.name;
|
|
377
|
+
// Skip special folders
|
|
378
|
+
if (projectId.startsWith('_'))
|
|
379
|
+
continue;
|
|
380
|
+
const projectPath = path.join(this.specsDir, projectId);
|
|
381
|
+
// Scan for FS-* folders in this project
|
|
382
|
+
const featurePattern = path.join(projectPath, 'FS-*');
|
|
383
|
+
const featureFolders = await glob(featurePattern, {
|
|
384
|
+
ignore: ['**/_archive/**']
|
|
385
|
+
});
|
|
386
|
+
for (const folder of featureFolders) {
|
|
387
|
+
const stats = await fs.stat(folder);
|
|
388
|
+
if (stats.isDirectory()) {
|
|
389
|
+
results.push({
|
|
390
|
+
featureId: path.basename(folder),
|
|
391
|
+
projectId,
|
|
392
|
+
featurePath: folder
|
|
393
|
+
});
|
|
394
|
+
}
|
|
359
395
|
}
|
|
360
396
|
}
|
|
361
|
-
return
|
|
397
|
+
return results;
|
|
362
398
|
}
|
|
363
399
|
/**
|
|
364
400
|
* Get all epics
|
|
@@ -462,44 +498,51 @@ export class FeatureArchiver {
|
|
|
462
498
|
}
|
|
463
499
|
/**
|
|
464
500
|
* Get features linked to an epic
|
|
501
|
+
* v5.0.0: Features live in {project}/FS-XXX/
|
|
465
502
|
*/
|
|
466
503
|
async getLinkedFeatures(epicId) {
|
|
467
504
|
const features = [];
|
|
468
|
-
const
|
|
469
|
-
for (const featureId of
|
|
470
|
-
const
|
|
471
|
-
if (await fs.pathExists(
|
|
472
|
-
const content = await fs.readFile(
|
|
505
|
+
const locations = await this.getAllFeatureLocations();
|
|
506
|
+
for (const { featureId, featurePath } of locations) {
|
|
507
|
+
const featureFile = path.join(featurePath, 'FEATURE.md');
|
|
508
|
+
if (await fs.pathExists(featureFile)) {
|
|
509
|
+
const content = await fs.readFile(featureFile, 'utf-8');
|
|
473
510
|
// Check if feature references the epic
|
|
474
511
|
if (content.includes(epicId)) {
|
|
475
512
|
features.push(featureId);
|
|
476
513
|
}
|
|
477
514
|
}
|
|
478
515
|
}
|
|
479
|
-
// Also check archived features
|
|
480
|
-
const archivedPattern = path.join(this.
|
|
516
|
+
// Also check archived features in all project folders
|
|
517
|
+
const archivedPattern = path.join(this.specsDir, '*', '_archive', 'FS-*', 'FEATURE.md');
|
|
481
518
|
const archivedFiles = await glob(archivedPattern);
|
|
482
519
|
for (const file of archivedFiles) {
|
|
483
520
|
const content = await fs.readFile(file, 'utf-8');
|
|
484
521
|
if (content.includes(epicId)) {
|
|
485
522
|
const featureId = path.basename(path.dirname(file));
|
|
486
|
-
features.
|
|
523
|
+
if (!features.includes(featureId)) {
|
|
524
|
+
features.push(featureId);
|
|
525
|
+
}
|
|
487
526
|
}
|
|
488
527
|
}
|
|
489
528
|
return features;
|
|
490
529
|
}
|
|
491
530
|
/**
|
|
492
531
|
* Check if all features are archived
|
|
532
|
+
* v5.0.0: Features live in {project}/FS-XXX/, archives in {project}/_archive/FS-XXX/
|
|
493
533
|
*/
|
|
494
534
|
async areAllFeaturesArchived(featureIds) {
|
|
495
535
|
if (featureIds.length === 0) {
|
|
496
536
|
return false;
|
|
497
537
|
}
|
|
498
538
|
for (const featureId of featureIds) {
|
|
499
|
-
|
|
500
|
-
const
|
|
501
|
-
|
|
502
|
-
|
|
539
|
+
// Check if feature exists in any active project folder
|
|
540
|
+
const activePattern = path.join(this.specsDir, '*', featureId);
|
|
541
|
+
const activeFolders = await glob(activePattern, {
|
|
542
|
+
ignore: ['**/_archive/**']
|
|
543
|
+
});
|
|
544
|
+
// If feature exists in any active location, it's not archived
|
|
545
|
+
if (activeFolders.length > 0) {
|
|
503
546
|
return false;
|
|
504
547
|
}
|
|
505
548
|
}
|
|
@@ -507,12 +550,13 @@ export class FeatureArchiver {
|
|
|
507
550
|
}
|
|
508
551
|
/**
|
|
509
552
|
* Check if feature has active projects
|
|
553
|
+
* v5.0.0: Features live in {project}/FS-XXX/
|
|
510
554
|
*/
|
|
511
555
|
async hasActiveProjects(featureId) {
|
|
512
556
|
// Check all project folders for this feature
|
|
513
557
|
const projectPattern = path.join(this.specsDir, '*', featureId);
|
|
514
558
|
const projectFolders = await glob(projectPattern, {
|
|
515
|
-
ignore: ['**/node_modules/**', '**/
|
|
559
|
+
ignore: ['**/node_modules/**', '**/_epics/**', '**/_archive/**']
|
|
516
560
|
});
|
|
517
561
|
for (const folder of projectFolders) {
|
|
518
562
|
// Check if any user stories have active status
|
|
@@ -530,9 +574,10 @@ export class FeatureArchiver {
|
|
|
530
574
|
}
|
|
531
575
|
/**
|
|
532
576
|
* Ensure archive directories exist
|
|
577
|
+
* v5.0.0: No more _features folder - archives go to {project}/_archive/
|
|
533
578
|
*/
|
|
534
579
|
async ensureArchiveDirectories() {
|
|
535
|
-
|
|
580
|
+
// Ensure epics archive
|
|
536
581
|
await fs.ensureDir(path.join(this.epicsDir, '_archive'));
|
|
537
582
|
// Ensure project-specific archive directories
|
|
538
583
|
const projectDirs = await glob(path.join(this.specsDir, '*'));
|
|
@@ -605,24 +650,23 @@ export class FeatureArchiver {
|
|
|
605
650
|
}
|
|
606
651
|
/**
|
|
607
652
|
* Restore a feature from archive
|
|
653
|
+
* v5.0.0: Features live in {project}/FS-XXX/, archives in {project}/_archive/FS-XXX/
|
|
608
654
|
*/
|
|
609
655
|
async restoreFeature(featureId) {
|
|
610
|
-
|
|
611
|
-
const targetPath = path.join(this.featuresDir, featureId);
|
|
612
|
-
if (!await fs.pathExists(archivePath)) {
|
|
613
|
-
throw new Error(`Feature ${featureId} not found in archive`);
|
|
614
|
-
}
|
|
615
|
-
if (await fs.pathExists(targetPath)) {
|
|
616
|
-
throw new Error(`Feature ${featureId} already exists in active location`);
|
|
617
|
-
}
|
|
618
|
-
// Restore feature
|
|
619
|
-
await fs.move(archivePath, targetPath);
|
|
620
|
-
// Restore project-specific folders
|
|
656
|
+
// Find all archived folders for this feature
|
|
621
657
|
const projectPattern = path.join(this.specsDir, '*', '_archive', featureId);
|
|
622
658
|
const archivedFolders = await glob(projectPattern);
|
|
659
|
+
if (archivedFolders.length === 0) {
|
|
660
|
+
throw new Error(`Feature ${featureId} not found in any archive`);
|
|
661
|
+
}
|
|
662
|
+
// Restore in all project folders
|
|
623
663
|
for (const folder of archivedFolders) {
|
|
624
664
|
const projectId = path.basename(path.dirname(path.dirname(folder)));
|
|
625
665
|
const targetProjectPath = path.join(this.specsDir, projectId, featureId);
|
|
666
|
+
if (await fs.pathExists(targetProjectPath)) {
|
|
667
|
+
console.log(` ⚠️ ${projectId}/${featureId} already exists, skipping`);
|
|
668
|
+
continue;
|
|
669
|
+
}
|
|
626
670
|
await fs.move(folder, targetProjectPath);
|
|
627
671
|
console.log(` ✅ Restored ${projectId}/${featureId}`);
|
|
628
672
|
}
|
|
@@ -632,6 +676,7 @@ export class FeatureArchiver {
|
|
|
632
676
|
}
|
|
633
677
|
/**
|
|
634
678
|
* Update links for restored feature
|
|
679
|
+
* v5.0.0: Features live in {project}/FS-XXX/, no _features folder
|
|
635
680
|
*/
|
|
636
681
|
async updateLinksForRestoredFeature(featureId) {
|
|
637
682
|
const pattern = path.join(this.rootDir, '**/*.md');
|
|
@@ -641,12 +686,9 @@ export class FeatureArchiver {
|
|
|
641
686
|
let updatedFiles = 0;
|
|
642
687
|
for (const file of files) {
|
|
643
688
|
const content = await fs.readFile(file, 'utf-8');
|
|
644
|
-
// Update archive links back to active
|
|
689
|
+
// Update archive links back to active (in project folders)
|
|
645
690
|
const updatedContent = content
|
|
646
|
-
.replace(new RegExp(`(\/
|
|
647
|
-
.replace(new RegExp(`(\/specs\/[^/]+\/_archive\/${featureId}\/)`, 'g'), (match, p1) => {
|
|
648
|
-
return match.replace('/_archive/', '/');
|
|
649
|
-
});
|
|
691
|
+
.replace(new RegExp(`(\/specs\/[^/]+)\/_archive\/${featureId}\/`, 'g'), `$1/${featureId}/`);
|
|
650
692
|
if (content !== updatedContent) {
|
|
651
693
|
await fs.writeFile(file, updatedContent, 'utf-8');
|
|
652
694
|
updatedFiles++;
|
|
@@ -658,6 +700,7 @@ export class FeatureArchiver {
|
|
|
658
700
|
}
|
|
659
701
|
/**
|
|
660
702
|
* Get archive statistics
|
|
703
|
+
* v5.0.0: Features live in {project}/FS-XXX/, no _features folder
|
|
661
704
|
*/
|
|
662
705
|
async getArchiveStats() {
|
|
663
706
|
const stats = {
|
|
@@ -665,13 +708,6 @@ export class FeatureArchiver {
|
|
|
665
708
|
epics: { active: 0, archived: 0 },
|
|
666
709
|
projects: {}
|
|
667
710
|
};
|
|
668
|
-
// Count features
|
|
669
|
-
const activeFeatures = await this.getAllFeatures();
|
|
670
|
-
stats.features.active = activeFeatures.length;
|
|
671
|
-
if (await fs.pathExists(path.join(this.featuresDir, '_archive'))) {
|
|
672
|
-
const archivedFeatures = await glob(path.join(this.featuresDir, '_archive', 'FS-*'));
|
|
673
|
-
stats.features.archived = archivedFeatures.length;
|
|
674
|
-
}
|
|
675
711
|
// Count epics
|
|
676
712
|
const activeEpics = await this.getAllEpics();
|
|
677
713
|
stats.epics.active = activeEpics.length;
|
|
@@ -679,7 +715,7 @@ export class FeatureArchiver {
|
|
|
679
715
|
const archivedEpics = await glob(path.join(this.epicsDir, '_archive', 'EPIC-*'));
|
|
680
716
|
stats.epics.archived = archivedEpics.length;
|
|
681
717
|
}
|
|
682
|
-
// Count per project
|
|
718
|
+
// Count per project (this now also gives us total features)
|
|
683
719
|
const projectDirs = await glob(path.join(this.specsDir, '*'));
|
|
684
720
|
for (const dir of projectDirs) {
|
|
685
721
|
const dirStats = await fs.stat(dir);
|
|
@@ -692,12 +728,16 @@ export class FeatureArchiver {
|
|
|
692
728
|
const active = (await glob(activePattern)).length;
|
|
693
729
|
const archived = (await glob(archivedPattern)).length;
|
|
694
730
|
stats.projects[projectId] = { active, archived };
|
|
731
|
+
// Aggregate to total features
|
|
732
|
+
stats.features.active += active;
|
|
733
|
+
stats.features.archived += archived;
|
|
695
734
|
}
|
|
696
735
|
}
|
|
697
736
|
return stats;
|
|
698
737
|
}
|
|
699
738
|
/**
|
|
700
739
|
* Clean up feature folder duplicates
|
|
740
|
+
* v5.0.0: Features live in {project}/FS-XXX/, archives in {project}/_archive/FS-XXX/
|
|
701
741
|
*
|
|
702
742
|
* Removes active folders that are ALSO in archive (keeps archive version as source of truth)
|
|
703
743
|
* CRITICAL: Fixes bug where living docs sync recreates archived feature folders
|
|
@@ -711,63 +751,24 @@ export class FeatureArchiver {
|
|
|
711
751
|
};
|
|
712
752
|
console.log('🧹 Scanning for duplicate feature folders (active + archive)...');
|
|
713
753
|
try {
|
|
714
|
-
// Get all archived features
|
|
715
|
-
const archivePattern = path.join(this.
|
|
754
|
+
// Get all archived features from all project folders
|
|
755
|
+
const archivePattern = path.join(this.specsDir, '*', '_archive', 'FS-*');
|
|
716
756
|
const archivedPaths = await glob(archivePattern);
|
|
717
|
-
|
|
757
|
+
// Collect unique feature IDs
|
|
758
|
+
const uniqueFeatureIds = new Set();
|
|
718
759
|
for (const archivedPath of archivedPaths) {
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
let hasDuplicates = false;
|
|
725
|
-
if (activeExists && archiveExists) {
|
|
726
|
-
console.log(` ⚠️ Duplicate detected: ${featureId} (_features/)`);
|
|
727
|
-
console.log(` → Active: ${activePath}`);
|
|
728
|
-
console.log(` → Archive: ${archivedPath}`);
|
|
729
|
-
// BUGFIX (v0.26.12): Check if feature has active increments before removing
|
|
730
|
-
const linkedIncrements = await this.getLinkedIncrements(featureId);
|
|
731
|
-
const archivedIncrements = await this.incrementArchiver.listArchived();
|
|
732
|
-
const hasActiveIncrements = linkedIncrements.some(inc => !archivedIncrements.includes(inc));
|
|
733
|
-
if (hasActiveIncrements) {
|
|
734
|
-
// Feature has active increments → remove ARCHIVE, keep ACTIVE
|
|
735
|
-
try {
|
|
736
|
-
await fs.remove(archivedPath);
|
|
737
|
-
console.log(` ✅ Removed archive duplicate (feature has active increments)`);
|
|
738
|
-
result.cleaned.push(`_features/_archive/${featureId}`);
|
|
739
|
-
hasDuplicates = true;
|
|
740
|
-
}
|
|
741
|
-
catch (error) {
|
|
742
|
-
const errMsg = `Failed to clean archive ${featureId}: ${error}`;
|
|
743
|
-
console.error(` ❌ ${errMsg}`);
|
|
744
|
-
result.errors.push(errMsg);
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
else {
|
|
748
|
-
// All increments archived → remove ACTIVE, keep ARCHIVE
|
|
749
|
-
try {
|
|
750
|
-
await fs.remove(activePath);
|
|
751
|
-
console.log(` ✅ Removed active duplicate (all increments archived)`);
|
|
752
|
-
result.cleaned.push(`_features/${featureId}`);
|
|
753
|
-
hasDuplicates = true;
|
|
754
|
-
}
|
|
755
|
-
catch (error) {
|
|
756
|
-
const errMsg = `Failed to clean ${featureId}: ${error}`;
|
|
757
|
-
console.error(` ❌ ${errMsg}`);
|
|
758
|
-
result.errors.push(errMsg);
|
|
759
|
-
}
|
|
760
|
-
}
|
|
761
|
-
}
|
|
762
|
-
// ALWAYS check project-specific duplicates (even if _features/ has no duplicate)
|
|
763
|
-
// This fixes the case where specweave/FS-XXX exists but _features/FS-XXX doesn't
|
|
764
|
-
// BUGFIX (v0.26.12): Pass hasActiveIncrements check result to project cleanup
|
|
760
|
+
uniqueFeatureIds.add(path.basename(archivedPath));
|
|
761
|
+
}
|
|
762
|
+
console.log(` Found ${uniqueFeatureIds.size} unique archived features`);
|
|
763
|
+
for (const featureId of uniqueFeatureIds) {
|
|
764
|
+
// Check if feature has active increments
|
|
765
765
|
const linkedIncrements = await this.getLinkedIncrements(featureId);
|
|
766
766
|
const archivedIncrements = await this.incrementArchiver.listArchived();
|
|
767
767
|
const featureHasActiveIncrements = linkedIncrements.some(inc => !archivedIncrements.includes(inc));
|
|
768
|
+
// Clean up project-specific duplicates
|
|
768
769
|
const projectDuplicatesFound = await this.cleanupProjectSpecificDuplicates(featureId, result, featureHasActiveIncrements);
|
|
769
|
-
if (projectDuplicatesFound
|
|
770
|
-
console.log(` ⚠️ Duplicate detected: ${featureId}
|
|
770
|
+
if (projectDuplicatesFound) {
|
|
771
|
+
console.log(` ⚠️ Duplicate detected: ${featureId}`);
|
|
771
772
|
}
|
|
772
773
|
}
|
|
773
774
|
console.log(`\n✅ Cleanup complete:`);
|
|
@@ -791,6 +792,7 @@ export class FeatureArchiver {
|
|
|
791
792
|
}
|
|
792
793
|
/**
|
|
793
794
|
* Clean up project-specific folder duplicates for a feature
|
|
795
|
+
* v5.0.0: Features live in {project}/FS-XXX/, archives in {project}/_archive/FS-XXX/
|
|
794
796
|
*
|
|
795
797
|
* BUGFIX (v0.26.12): Now respects hasActiveIncrements to decide which duplicate to remove
|
|
796
798
|
*
|
|
@@ -801,10 +803,10 @@ export class FeatureArchiver {
|
|
|
801
803
|
*/
|
|
802
804
|
async cleanupProjectSpecificDuplicates(featureId, result, hasActiveIncrements = false) {
|
|
803
805
|
let foundDuplicates = false;
|
|
804
|
-
// Get all project folders
|
|
806
|
+
// Get all active project folders containing this feature
|
|
805
807
|
const projectPattern = path.join(this.specsDir, '*', featureId);
|
|
806
808
|
const projectActiveFolders = await glob(projectPattern, {
|
|
807
|
-
ignore: ['**/node_modules/**', '**/
|
|
809
|
+
ignore: ['**/node_modules/**', '**/_epics/**', '**/_archive/**']
|
|
808
810
|
});
|
|
809
811
|
for (const activeFolder of projectActiveFolders) {
|
|
810
812
|
const projectId = path.basename(path.dirname(activeFolder));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-archiver.js","sourceRoot":"","sources":["../../../../src/core/living-docs/feature-archiver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feature-archiver.js","sourceRoot":"","sources":["../../../../src/core/living-docs/feature-archiver.ts"],"names":[],"mappings":"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"}
|