specweave 0.28.67 → 0.29.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.
Files changed (239) hide show
  1. package/CLAUDE.md +3 -2
  2. package/README.md +19 -2
  3. package/dist/src/cli/commands/discrepancies.d.ts +89 -0
  4. package/dist/src/cli/commands/discrepancies.d.ts.map +1 -0
  5. package/dist/src/cli/commands/discrepancies.js +385 -0
  6. package/dist/src/cli/commands/discrepancies.js.map +1 -0
  7. package/dist/src/cli/commands/notifications.d.ts +70 -0
  8. package/dist/src/cli/commands/notifications.d.ts.map +1 -0
  9. package/dist/src/cli/commands/notifications.js +236 -0
  10. package/dist/src/cli/commands/notifications.js.map +1 -0
  11. package/dist/src/cli/commands/sync-logs.d.ts +54 -0
  12. package/dist/src/cli/commands/sync-logs.d.ts.map +1 -0
  13. package/dist/src/cli/commands/sync-logs.js +240 -0
  14. package/dist/src/cli/commands/sync-logs.js.map +1 -0
  15. package/dist/src/cli/commands/sync-monitor.d.ts +42 -0
  16. package/dist/src/cli/commands/sync-monitor.d.ts.map +1 -0
  17. package/dist/src/cli/commands/sync-monitor.js +191 -0
  18. package/dist/src/cli/commands/sync-monitor.js.map +1 -0
  19. package/dist/src/cli/helpers/init/brownfield-analysis.d.ts +45 -0
  20. package/dist/src/cli/helpers/init/brownfield-analysis.d.ts.map +1 -0
  21. package/dist/src/cli/helpers/init/brownfield-analysis.js +431 -0
  22. package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -0
  23. package/dist/src/cli/helpers/init/index.d.ts +1 -0
  24. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  25. package/dist/src/cli/helpers/init/index.js +2 -0
  26. package/dist/src/cli/helpers/init/index.js.map +1 -1
  27. package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +1 -1
  28. package/dist/src/cli/helpers/issue-tracker/ado.js +14 -5
  29. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  30. package/dist/src/cli/workers/brownfield-worker.d.ts +66 -0
  31. package/dist/src/cli/workers/brownfield-worker.d.ts.map +1 -0
  32. package/dist/src/cli/workers/brownfield-worker.js +417 -0
  33. package/dist/src/cli/workers/brownfield-worker.js.map +1 -0
  34. package/dist/src/core/background/brownfield-launcher.d.ts +86 -0
  35. package/dist/src/core/background/brownfield-launcher.d.ts.map +1 -0
  36. package/dist/src/core/background/brownfield-launcher.js +295 -0
  37. package/dist/src/core/background/brownfield-launcher.js.map +1 -0
  38. package/dist/src/core/background/index.d.ts +2 -0
  39. package/dist/src/core/background/index.d.ts.map +1 -1
  40. package/dist/src/core/background/index.js +2 -0
  41. package/dist/src/core/background/index.js.map +1 -1
  42. package/dist/src/core/background/types.d.ts +23 -2
  43. package/dist/src/core/background/types.d.ts.map +1 -1
  44. package/dist/src/core/config/index.d.ts +1 -0
  45. package/dist/src/core/config/index.d.ts.map +1 -1
  46. package/dist/src/core/config/index.js +1 -0
  47. package/dist/src/core/config/index.js.map +1 -1
  48. package/dist/src/core/config/types.d.ts +6 -0
  49. package/dist/src/core/config/types.d.ts.map +1 -1
  50. package/dist/src/core/config/types.js.map +1 -1
  51. package/dist/src/core/dashboard/dashboard-data.d.ts +156 -0
  52. package/dist/src/core/dashboard/dashboard-data.d.ts.map +1 -0
  53. package/dist/src/core/dashboard/dashboard-data.js +191 -0
  54. package/dist/src/core/dashboard/dashboard-data.js.map +1 -0
  55. package/dist/src/core/dashboard/index.d.ts +9 -0
  56. package/dist/src/core/dashboard/index.d.ts.map +1 -0
  57. package/dist/src/core/dashboard/index.js +9 -0
  58. package/dist/src/core/dashboard/index.js.map +1 -0
  59. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts +77 -0
  60. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.d.ts.map +1 -0
  61. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js +286 -0
  62. package/dist/src/core/discrepancy/analyzers/api-route-analyzer.js.map +1 -0
  63. package/dist/src/core/discrepancy/analyzers/index.d.ts +8 -0
  64. package/dist/src/core/discrepancy/analyzers/index.d.ts.map +1 -0
  65. package/dist/src/core/discrepancy/analyzers/index.js +8 -0
  66. package/dist/src/core/discrepancy/analyzers/index.js.map +1 -0
  67. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts +96 -0
  68. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.d.ts.map +1 -0
  69. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js +247 -0
  70. package/dist/src/core/discrepancy/analyzers/typescript-analyzer.js.map +1 -0
  71. package/dist/src/core/discrepancy/brownfield-manager.d.ts +88 -0
  72. package/dist/src/core/discrepancy/brownfield-manager.d.ts.map +1 -0
  73. package/dist/src/core/discrepancy/brownfield-manager.js +520 -0
  74. package/dist/src/core/discrepancy/brownfield-manager.js.map +1 -0
  75. package/dist/src/core/discrepancy/brownfield-types.d.ts +174 -0
  76. package/dist/src/core/discrepancy/brownfield-types.d.ts.map +1 -0
  77. package/dist/src/core/discrepancy/brownfield-types.js +11 -0
  78. package/dist/src/core/discrepancy/brownfield-types.js.map +1 -0
  79. package/dist/src/core/discrepancy/detector.d.ts +92 -0
  80. package/dist/src/core/discrepancy/detector.d.ts.map +1 -0
  81. package/dist/src/core/discrepancy/detector.js +346 -0
  82. package/dist/src/core/discrepancy/detector.js.map +1 -0
  83. package/dist/src/core/discrepancy/increment-generator.d.ts +51 -0
  84. package/dist/src/core/discrepancy/increment-generator.d.ts.map +1 -0
  85. package/dist/src/core/discrepancy/increment-generator.js +234 -0
  86. package/dist/src/core/discrepancy/increment-generator.js.map +1 -0
  87. package/dist/src/core/discrepancy/index.d.ts +18 -0
  88. package/dist/src/core/discrepancy/index.d.ts.map +1 -0
  89. package/dist/src/core/discrepancy/index.js +24 -0
  90. package/dist/src/core/discrepancy/index.js.map +1 -0
  91. package/dist/src/core/discrepancy/severity-classifier.d.ts +81 -0
  92. package/dist/src/core/discrepancy/severity-classifier.d.ts.map +1 -0
  93. package/dist/src/core/discrepancy/severity-classifier.js +289 -0
  94. package/dist/src/core/discrepancy/severity-classifier.js.map +1 -0
  95. package/dist/src/core/discrepancy/spec-parser.d.ts +74 -0
  96. package/dist/src/core/discrepancy/spec-parser.d.ts.map +1 -0
  97. package/dist/src/core/discrepancy/spec-parser.js +213 -0
  98. package/dist/src/core/discrepancy/spec-parser.js.map +1 -0
  99. package/dist/src/core/discrepancy/update-recommender.d.ts +77 -0
  100. package/dist/src/core/discrepancy/update-recommender.d.ts.map +1 -0
  101. package/dist/src/core/discrepancy/update-recommender.js +323 -0
  102. package/dist/src/core/discrepancy/update-recommender.js.map +1 -0
  103. package/dist/src/core/living-docs/living-docs-sync.d.ts +13 -16
  104. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  105. package/dist/src/core/living-docs/living-docs-sync.js +31 -112
  106. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  107. package/dist/src/core/logs/index.d.ts +10 -0
  108. package/dist/src/core/logs/index.d.ts.map +1 -0
  109. package/dist/src/core/logs/index.js +10 -0
  110. package/dist/src/core/logs/index.js.map +1 -0
  111. package/dist/src/core/logs/log-aggregator.d.ts +130 -0
  112. package/dist/src/core/logs/log-aggregator.d.ts.map +1 -0
  113. package/dist/src/core/logs/log-aggregator.js +206 -0
  114. package/dist/src/core/logs/log-aggregator.js.map +1 -0
  115. package/dist/src/core/logs/log-exporter.d.ts +81 -0
  116. package/dist/src/core/logs/log-exporter.d.ts.map +1 -0
  117. package/dist/src/core/logs/log-exporter.js +141 -0
  118. package/dist/src/core/logs/log-exporter.js.map +1 -0
  119. package/dist/src/core/notifications/command-integration.d.ts +82 -0
  120. package/dist/src/core/notifications/command-integration.d.ts.map +1 -0
  121. package/dist/src/core/notifications/command-integration.js +80 -0
  122. package/dist/src/core/notifications/command-integration.js.map +1 -0
  123. package/dist/src/core/notifications/index.d.ts +12 -0
  124. package/dist/src/core/notifications/index.d.ts.map +1 -0
  125. package/dist/src/core/notifications/index.js +12 -0
  126. package/dist/src/core/notifications/index.js.map +1 -0
  127. package/dist/src/core/notifications/notification-display.d.ts +70 -0
  128. package/dist/src/core/notifications/notification-display.d.ts.map +1 -0
  129. package/dist/src/core/notifications/notification-display.js +177 -0
  130. package/dist/src/core/notifications/notification-display.js.map +1 -0
  131. package/dist/src/core/notifications/notification-manager.d.ts +126 -0
  132. package/dist/src/core/notifications/notification-manager.d.ts.map +1 -0
  133. package/dist/src/core/notifications/notification-manager.js +287 -0
  134. package/dist/src/core/notifications/notification-manager.js.map +1 -0
  135. package/dist/src/core/notifications/notification-types.d.ts +159 -0
  136. package/dist/src/core/notifications/notification-types.d.ts.map +1 -0
  137. package/dist/src/core/notifications/notification-types.js +93 -0
  138. package/dist/src/core/notifications/notification-types.js.map +1 -0
  139. package/dist/src/core/scheduler/index.d.ts +11 -0
  140. package/dist/src/core/scheduler/index.d.ts.map +1 -0
  141. package/dist/src/core/scheduler/index.js +11 -0
  142. package/dist/src/core/scheduler/index.js.map +1 -0
  143. package/dist/src/core/scheduler/job-scheduler.d.ts +179 -0
  144. package/dist/src/core/scheduler/job-scheduler.d.ts.map +1 -0
  145. package/dist/src/core/scheduler/job-scheduler.js +282 -0
  146. package/dist/src/core/scheduler/job-scheduler.js.map +1 -0
  147. package/dist/src/core/scheduler/schedule-persistence.d.ts +83 -0
  148. package/dist/src/core/scheduler/schedule-persistence.d.ts.map +1 -0
  149. package/dist/src/core/scheduler/schedule-persistence.js +180 -0
  150. package/dist/src/core/scheduler/schedule-persistence.js.map +1 -0
  151. package/dist/src/core/scheduler/scheduled-job.d.ts +188 -0
  152. package/dist/src/core/scheduler/scheduled-job.d.ts.map +1 -0
  153. package/dist/src/core/scheduler/scheduled-job.js +182 -0
  154. package/dist/src/core/scheduler/scheduled-job.js.map +1 -0
  155. package/dist/src/core/sync/permission-enforcer.d.ts +206 -0
  156. package/dist/src/core/sync/permission-enforcer.d.ts.map +1 -0
  157. package/dist/src/core/sync/permission-enforcer.js +268 -0
  158. package/dist/src/core/sync/permission-enforcer.js.map +1 -0
  159. package/dist/src/core/sync/sync-audit-logger.d.ts +217 -0
  160. package/dist/src/core/sync/sync-audit-logger.d.ts.map +1 -0
  161. package/dist/src/core/sync/sync-audit-logger.js +327 -0
  162. package/dist/src/core/sync/sync-audit-logger.js.map +1 -0
  163. package/dist/src/core/sync/sync-interceptor.d.ts +190 -0
  164. package/dist/src/core/sync/sync-interceptor.d.ts.map +1 -0
  165. package/dist/src/core/sync/sync-interceptor.js +224 -0
  166. package/dist/src/core/sync/sync-interceptor.js.map +1 -0
  167. package/dist/src/core/types/increment-metadata.d.ts +5 -2
  168. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  169. package/dist/src/core/types/sync-config.d.ts +267 -0
  170. package/dist/src/core/types/sync-config.d.ts.map +1 -0
  171. package/dist/src/core/types/sync-config.js +304 -0
  172. package/dist/src/core/types/sync-config.js.map +1 -0
  173. package/dist/src/hooks/index.d.ts +11 -0
  174. package/dist/src/hooks/index.d.ts.map +1 -0
  175. package/dist/src/hooks/index.js +11 -0
  176. package/dist/src/hooks/index.js.map +1 -0
  177. package/dist/src/hooks/platform.d.ts +125 -0
  178. package/dist/src/hooks/platform.d.ts.map +1 -0
  179. package/dist/src/hooks/platform.js +325 -0
  180. package/dist/src/hooks/platform.js.map +1 -0
  181. package/dist/src/hooks/processor.d.ts +20 -0
  182. package/dist/src/hooks/processor.d.ts.map +1 -0
  183. package/dist/src/hooks/processor.js +317 -0
  184. package/dist/src/hooks/processor.js.map +1 -0
  185. package/dist/src/hooks/scheduler-startup.d.ts +19 -0
  186. package/dist/src/hooks/scheduler-startup.d.ts.map +1 -0
  187. package/dist/src/hooks/scheduler-startup.js +92 -0
  188. package/dist/src/hooks/scheduler-startup.js.map +1 -0
  189. package/dist/src/hooks/session-start.d.ts +16 -0
  190. package/dist/src/hooks/session-start.d.ts.map +1 -0
  191. package/dist/src/hooks/session-start.js +92 -0
  192. package/dist/src/hooks/session-start.js.map +1 -0
  193. package/dist/src/importers/duplicate-detector.d.ts +13 -2
  194. package/dist/src/importers/duplicate-detector.d.ts.map +1 -1
  195. package/dist/src/importers/duplicate-detector.js +21 -2
  196. package/dist/src/importers/duplicate-detector.js.map +1 -1
  197. package/dist/src/importers/item-converter.d.ts +41 -2
  198. package/dist/src/importers/item-converter.d.ts.map +1 -1
  199. package/dist/src/importers/item-converter.js +231 -45
  200. package/dist/src/importers/item-converter.js.map +1 -1
  201. package/dist/src/living-docs/fs-id-allocator.d.ts +7 -0
  202. package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -1
  203. package/dist/src/living-docs/fs-id-allocator.js +30 -4
  204. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  205. package/dist/src/sync/ado-sync-wrapper.d.ts +137 -0
  206. package/dist/src/sync/ado-sync-wrapper.d.ts.map +1 -0
  207. package/dist/src/sync/ado-sync-wrapper.js +148 -0
  208. package/dist/src/sync/ado-sync-wrapper.js.map +1 -0
  209. package/dist/src/sync/github-sync-wrapper.d.ts +195 -0
  210. package/dist/src/sync/github-sync-wrapper.d.ts.map +1 -0
  211. package/dist/src/sync/github-sync-wrapper.js +220 -0
  212. package/dist/src/sync/github-sync-wrapper.js.map +1 -0
  213. package/dist/src/sync/jira-sync-wrapper.d.ts +155 -0
  214. package/dist/src/sync/jira-sync-wrapper.d.ts.map +1 -0
  215. package/dist/src/sync/jira-sync-wrapper.js +175 -0
  216. package/dist/src/sync/jira-sync-wrapper.js.map +1 -0
  217. package/dist/src/utils/feature-id-derivation.d.ts +58 -0
  218. package/dist/src/utils/feature-id-derivation.d.ts.map +1 -0
  219. package/dist/src/utils/feature-id-derivation.js +77 -0
  220. package/dist/src/utils/feature-id-derivation.js.map +1 -0
  221. package/package.json +1 -1
  222. package/plugins/specweave/commands/specweave-discrepancies.md +141 -0
  223. package/plugins/specweave/commands/specweave-discrepancy-to-increment.md +160 -0
  224. package/plugins/specweave/commands/specweave-jobs.md +45 -2
  225. package/plugins/specweave/commands/specweave-notifications.md +92 -0
  226. package/plugins/specweave/commands/specweave-sync-logs.md +131 -0
  227. package/plugins/specweave/commands/specweave-sync-monitor.md +57 -0
  228. package/plugins/specweave/hooks/hooks.json +3 -3
  229. package/plugins/specweave/hooks/lib/scheduler-startup.sh +72 -0
  230. package/plugins/specweave/hooks/universal/dispatcher.mjs +246 -0
  231. package/plugins/specweave/hooks/universal/session-start.cmd +16 -0
  232. package/plugins/specweave/hooks/universal/session-start.ps1 +16 -0
  233. package/plugins/specweave/hooks/v2/dispatchers/session-start.sh +14 -5
  234. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +5 -2
  235. package/plugins/specweave/skills/discrepancy-viewer.md +154 -0
  236. package/plugins/specweave-ado/lib/ado-project-detector.js +11 -5
  237. package/plugins/specweave-ado/lib/ado-project-detector.ts +16 -5
  238. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +34 -0
  239. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +51 -0
@@ -1 +1 @@
1
- {"version":3,"file":"duplicate-detector.js","sourceRoot":"","sources":["../../../src/importers/duplicate-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duplicate-detector.js","sourceRoot":"","sources":["../../../src/importers/duplicate-detector.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,8 @@ export interface ItemConverterOptions {
63
63
  autoArchiveAfterDays?: number;
64
64
  /** Callback for skipped duplicates */
65
65
  onDuplicateSkipped?: (externalId: string, existingUsId: string) => void;
66
+ /** Callback for parent change (file moved due to hierarchy update) */
67
+ onParentChanged?: (usId: string, oldFeatureId: string, newFeatureId: string, reason: string) => void;
66
68
  /** Callback for feature folder creation */
67
69
  onFeatureCreated?: (featureId: string, featurePath: string) => void;
68
70
  /** Callback for archived items */
@@ -130,11 +132,12 @@ export declare class ItemConverter {
130
132
  /**
131
133
  * Group items by feature (based on source repo, parent hierarchy, or labels)
132
134
  * CRITICAL FIX (2025-12-01): For ADO, group by parent Capability/Epic to preserve hierarchy
135
+ * CRITICAL FIX (2025-12-01): ADO orphans (no parent) get INDIVIDUAL folders, not 'default' group
133
136
  *
134
137
  * ADO Hierarchy: Capability → Epic → Feature → User Story → Task
135
138
  * - Capability/Epic items become the feature (group leader)
136
- * - User Stories are grouped under their parent
137
- * - Items without parent go into a default group
139
+ * - User Stories are grouped under their parent Epic/Capability
140
+ * - Items without parent (true orphans) get INDIVIDUAL FS-XXXE folders
138
141
  */
139
142
  private groupItemsByFeature;
140
143
  /**
@@ -168,12 +171,43 @@ export declare class ItemConverter {
168
171
  * @returns True if item is older than autoArchiveAfterDays threshold
169
172
  */
170
173
  private shouldAutoArchive;
174
+ /**
175
+ * Check if parent has changed between existing reference and new item
176
+ *
177
+ * CRITICAL (2025-12-01): Detects orphan → has parent, or parent ID change
178
+ *
179
+ * @param existingRef - Existing reference from living docs
180
+ * @param newItem - New item being imported
181
+ * @returns True if parent has changed and file should be moved
182
+ */
183
+ private hasParentChanged;
184
+ /**
185
+ * Handle parent change by moving file to new feature folder
186
+ *
187
+ * CRITICAL (2025-12-01): Moves US file when hierarchy changes on re-import
188
+ *
189
+ * @param existingRef - Existing reference with old location
190
+ * @param newItem - New item with updated parent info
191
+ * @param newFeatureId - New feature folder ID (if already allocated for group)
192
+ */
193
+ private handleParentChange;
194
+ /**
195
+ * Update parent metadata in file content
196
+ */
197
+ private updateParentMetadataInContent;
198
+ /**
199
+ * Clean up empty feature folder after file move
200
+ *
201
+ * Checks if folder is empty (except FEATURE.md) and removes it if orphan folder
202
+ */
203
+ private cleanupEmptyFeatureFolder;
171
204
  /**
172
205
  * Generate origin badge for living docs
173
206
  */
174
207
  private generateOriginBadge;
175
208
  /**
176
209
  * Generate markdown content for living docs User Story
210
+ * CRITICAL (2025-12-01): Includes parent tracking info for re-import hierarchy updates
177
211
  */
178
212
  private generateMarkdown;
179
213
  /**
@@ -188,5 +222,10 @@ export declare class ItemConverter {
188
222
  * CRITICAL: This validation ensures we're not auto-creating increments.
189
223
  */
190
224
  static validateNoIncrementsCreated(projectRoot: string): void;
225
+ /**
226
+ * TESTING ONLY: Expose private method for unit tests
227
+ * DO NOT use in production code
228
+ */
229
+ __test__groupItemsByFeature(items: ExternalItem[]): Map<string, ExternalItem[]>;
191
230
  }
192
231
  //# sourceMappingURL=item-converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-converter.d.ts","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-converter.d.ts","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,7 @@ export class ItemConverter {
61
61
  // Generate origin badge
62
62
  const originBadge = this.generateOriginBadge(item);
63
63
  // Generate markdown content for living docs
64
+ // CRITICAL (2025-12-01): Include parent info for future re-import parent change detection
64
65
  const markdown = this.generateMarkdown({
65
66
  id,
66
67
  title: item.title,
@@ -77,7 +78,13 @@ export class ItemConverter {
77
78
  createdAt: item.createdAt.toISOString(),
78
79
  updatedAt: item.updatedAt.toISOString(),
79
80
  labels: item.labels,
80
- sourceRepo: item.sourceRepo
81
+ sourceRepo: item.sourceRepo,
82
+ // Parent tracking for re-import hierarchy updates
83
+ parentId: item.parentId,
84
+ featureId: featureId,
85
+ isOrphan: !item.parentId,
86
+ adoWorkItemType: item.adoWorkItemType,
87
+ adoAreaPath: item.adoAreaPath
81
88
  }
82
89
  });
83
90
  // Generate file path (with feature folder if allocated)
@@ -171,6 +178,15 @@ export class ItemConverter {
171
178
  if (this.duplicateDetector) {
172
179
  const existingReference = await this.duplicateDetector.findExternalIdReference(item.id);
173
180
  if (existingReference) {
181
+ // CRITICAL (2025-12-01): Check if parent has changed (orphan → has parent, or parent changed)
182
+ const parentChanged = this.hasParentChanged(existingReference, item);
183
+ if (parentChanged) {
184
+ // Handle parent change - move file to new feature folder
185
+ await this.handleParentChange(existingReference, item, featureId);
186
+ // Skip conversion - file was moved/updated, not created
187
+ skippedCount++;
188
+ continue;
189
+ }
174
190
  skippedCount++;
175
191
  // Notify callback if provided
176
192
  if (this.options.onDuplicateSkipped) {
@@ -195,17 +211,22 @@ export class ItemConverter {
195
211
  /**
196
212
  * Group items by feature (based on source repo, parent hierarchy, or labels)
197
213
  * CRITICAL FIX (2025-12-01): For ADO, group by parent Capability/Epic to preserve hierarchy
214
+ * CRITICAL FIX (2025-12-01): ADO orphans (no parent) get INDIVIDUAL folders, not 'default' group
198
215
  *
199
216
  * ADO Hierarchy: Capability → Epic → Feature → User Story → Task
200
217
  * - Capability/Epic items become the feature (group leader)
201
- * - User Stories are grouped under their parent
202
- * - Items without parent go into a default group
218
+ * - User Stories are grouped under their parent Epic/Capability
219
+ * - Items without parent (true orphans) get INDIVIDUAL FS-XXXE folders
203
220
  */
204
221
  groupItemsByFeature(items) {
205
222
  const groups = new Map();
206
- // For ADO items with hierarchy, use parent-based grouping
223
+ // CRITICAL FIX (2025-12-01): Detect ADO items even without hierarchy info
224
+ // ADO items have adoProjectName set by the importer
225
+ // Previous bug: Orphan ADO items (no parentId, not epics) fell through to 'default' group
226
+ const hasAdoItems = items.some(item => item.platform === 'ado' && item.adoProjectName);
207
227
  const hasAdoHierarchy = items.some(item => item.platform === 'ado' && (item.parentId || item.type === 'epic'));
208
- if (hasAdoHierarchy) {
228
+ // Process ADO items: with hierarchy (group by parent) OR orphans (individual folders)
229
+ if (hasAdoItems) {
209
230
  // Build a map of all items by ID for lookup
210
231
  const itemById = new Map();
211
232
  for (const item of items) {
@@ -249,24 +270,19 @@ export class ItemConverter {
249
270
  current = current.parentId ? itemById.get(current.parentId) : undefined;
250
271
  }
251
272
  }
252
- // If parent exists but not in our items, use parent ID as group
253
- // This groups siblings with the same orphan parent together
254
- if (!groupKey) {
255
- groupKey = `feature:${item.parentId}`;
256
- }
273
+ // NOTE: If parent NOT in dataset, fall through to orphan handling below
274
+ // DO NOT group by parentId - we want individual FS-XXXE folders per item
257
275
  }
258
- // CRITICAL FIX (2025-12-01): For ADO orphan items (no parent or parent not found),
259
- // create INDIVIDUAL FS-XXXE folders per item, NOT grouped together.
260
- // This preserves the 1 US 1 feature folder pattern for orphans.
276
+ // CRITICAL FIX (2025-12-01): For orphan items, create INDIVIDUAL FS-XXXE
277
+ // folders per item. This applies when:
278
+ // - Item has no parentId (true orphan)
279
+ // - Item has parentId but parent NOT in dataset (orphan with missing parent)
280
+ // Each orphan gets its own feature folder with US title as FEATURE.md header
281
+ // UNIVERSAL: Applies to ALL platforms (ADO, JIRA, GitHub) for consistent handling
261
282
  if (!groupKey) {
262
- if (item.platform === 'ado') {
263
- // Each ADO orphan gets its own feature folder with unique group key
264
- groupKey = `orphan:${item.id}`;
265
- }
266
- else {
267
- // Non-ADO items: fallback to sourceRepo or default
268
- groupKey = item.sourceRepo || 'default';
269
- }
283
+ // Each orphan gets its own feature folder with unique group key
284
+ // This ensures consistent behavior across all platforms
285
+ groupKey = `orphan:${item.id}`;
270
286
  }
271
287
  if (!groups.has(groupKey)) {
272
288
  groups.set(groupKey, []);
@@ -366,36 +382,52 @@ export class ItemConverter {
366
382
  const featurePath = path.join(baseDir, featureId);
367
383
  // Create directory
368
384
  fs.mkdirSync(featurePath, { recursive: true });
369
- // Check if this is an ADO feature-level item (Capability/Epic/Feature)
385
+ // Check if this is a feature-level item or orphan
370
386
  const isAdoFeatureGroup = groupKey.startsWith('feature:');
371
- const isAdoOrphanGroup = groupKey.startsWith('orphan:');
387
+ const isOrphanGroup = groupKey.startsWith('orphan:');
372
388
  const featureLevelTypes = new Set(['capability', 'epic', 'feature']);
373
389
  const adoWitType = firstItem.adoWorkItemType?.toLowerCase();
374
390
  const isAdoFeatureLevelItem = isAdoFeatureGroup &&
375
391
  firstItem.platform === 'ado' &&
376
392
  featureLevelTypes.has(adoWitType || firstItem.type);
377
- // Generate FEATURE.md content based on item type
393
+ // Generate FEATURE.md content based on item type and platform
378
394
  let featureTitle;
379
395
  let description;
380
396
  let externalLink;
381
397
  let witTypeLabel;
398
+ let platformLabel;
399
+ // Platform-specific labels and links
400
+ switch (firstItem.platform) {
401
+ case 'ado':
402
+ platformLabel = 'Azure DevOps';
403
+ break;
404
+ case 'jira':
405
+ platformLabel = 'JIRA';
406
+ break;
407
+ case 'github':
408
+ platformLabel = 'GitHub';
409
+ break;
410
+ default:
411
+ platformLabel = firstItem.platform || 'external tool';
412
+ }
382
413
  if (isAdoFeatureLevelItem) {
383
414
  // For ADO Capability/Epic/Feature, use the item's actual info
384
415
  witTypeLabel = firstItem.adoWorkItemType || 'Feature';
385
416
  featureTitle = `${witTypeLabel}: ${firstItem.title}`;
386
- description = firstItem.description || `This ${witTypeLabel.toLowerCase()} was imported from Azure DevOps.`;
387
- externalLink = `[${witTypeLabel} in Azure DevOps](${firstItem.url})`;
388
- }
389
- else if (isAdoOrphanGroup && firstItem.platform === 'ado') {
390
- // CRITICAL FIX (2025-12-01): For ADO orphan User Stories (no parent Epic),
391
- // create feature with the User Story info. This happens when:
392
- // - User Story has no parent in ADO
393
- // - Parent Epic/Feature wasn't imported (outside time range)
417
+ description = firstItem.description || `This ${witTypeLabel.toLowerCase()} was imported from ${platformLabel}.`;
418
+ externalLink = `[${witTypeLabel} in ${platformLabel}](${firstItem.url})`;
419
+ }
420
+ else if (isOrphanGroup) {
421
+ // CRITICAL FIX (2025-12-01): For orphan items (no parent Epic/Feature),
422
+ // create feature with the item's info. This happens when:
423
+ // - Item has no parent in external tool
424
+ // - Parent wasn't imported (outside time range or different project)
425
+ // UNIVERSAL: Applies to ALL platforms (ADO, JIRA, GitHub)
394
426
  witTypeLabel = firstItem.adoWorkItemType || 'User Story';
395
427
  featureTitle = `${witTypeLabel}: ${firstItem.title}`;
396
428
  description = firstItem.description ||
397
- `This ${witTypeLabel.toLowerCase()} was imported from Azure DevOps without a parent Epic/Feature.`;
398
- externalLink = `[${witTypeLabel} in Azure DevOps](${firstItem.url})`;
429
+ `This ${witTypeLabel.toLowerCase()} was imported from ${platformLabel} without a parent Epic/Feature.`;
430
+ externalLink = firstItem.url ? `[${witTypeLabel} in ${platformLabel}](${firstItem.url})` : '';
399
431
  }
400
432
  else if (firstItem.sourceRepo) {
401
433
  featureTitle = `Feature: ${firstItem.sourceRepo} External Items`;
@@ -404,13 +436,13 @@ export class ItemConverter {
404
436
  witTypeLabel = 'Feature';
405
437
  }
406
438
  else {
407
- featureTitle = `Feature: Imported from ${firstItem.platform}`;
439
+ featureTitle = `Feature: Imported from ${platformLabel}`;
408
440
  description = 'This feature folder contains User Stories imported from external tools.';
409
441
  externalLink = '';
410
442
  witTypeLabel = 'Feature';
411
443
  }
412
- // Include external metadata for both feature-level items and orphan ADO items
413
- const includeAdoMetadata = isAdoFeatureLevelItem || isAdoOrphanGroup;
444
+ // Include external metadata for feature-level items and all orphans
445
+ const includeExternalMetadata = isAdoFeatureLevelItem || isOrphanGroup;
414
446
  const featureContent = `---
415
447
  id: ${featureId}
416
448
  title: ${featureTitle}
@@ -419,15 +451,15 @@ source: ${firstItem.platform}
419
451
  ${firstItem.sourceRepo ? `source_repo: ${firstItem.sourceRepo}` : ''}
420
452
  ${firstItem.adoProjectName ? `ado_project: ${firstItem.adoProjectName}` : ''}
421
453
  ${firstItem.adoAreaPath ? `ado_area_path: ${firstItem.adoAreaPath}` : ''}
422
- ${includeAdoMetadata ? `ado_work_item_type: ${witTypeLabel}` : ''}
423
- ${includeAdoMetadata ? `external_id: ${firstItem.id}` : ''}
424
- ${isAdoOrphanGroup ? `orphan: true` : ''}
454
+ ${includeExternalMetadata ? `work_item_type: ${witTypeLabel}` : ''}
455
+ ${includeExternalMetadata ? `external_id: ${firstItem.id}` : ''}
456
+ ${isOrphanGroup ? `orphan: true` : ''}
425
457
  created: ${new Date().toISOString()}
426
458
  ---
427
459
 
428
460
  # ${featureTitle}
429
461
 
430
- **Origin**: 🔗 ${externalLink || `Imported from ${firstItem.platform}`}
462
+ **Origin**: 🔗 ${externalLink || `Imported from ${platformLabel}`}
431
463
 
432
464
  ## Description
433
465
 
@@ -435,7 +467,7 @@ ${description}
435
467
 
436
468
  ${firstItem.sourceRepo ? `**Source Repository**: ${firstItem.sourceRepo}` : ''}
437
469
  ${firstItem.adoAreaPath ? `**Area Path**: ${firstItem.adoAreaPath}` : ''}
438
- ${isAdoOrphanGroup ? `\n> **Note**: This feature was created from an orphan User Story (no parent Epic/Feature in ADO or parent not imported).` : ''}
470
+ ${isOrphanGroup ? `\n> **Note**: This feature was created from an orphan item (no parent Epic/Feature in ${platformLabel} or parent not imported).` : ''}
439
471
 
440
472
  ## User Stories
441
473
 
@@ -444,9 +476,9 @@ User stories in this ${witTypeLabel.toLowerCase()} will be listed here.
444
476
  ## Status
445
477
 
446
478
  - **Created**: ${new Date().toISOString()}
447
- - **Source**: ${firstItem.platform}
448
- ${includeAdoMetadata ? `- **External ID**: ${firstItem.id}` : ''}
449
- ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
479
+ - **Source**: ${platformLabel}
480
+ ${includeExternalMetadata ? `- **External ID**: ${firstItem.id}` : ''}
481
+ ${isOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
450
482
  `;
451
483
  // Write FEATURE.md
452
484
  const featureFile = path.join(featurePath, 'FEATURE.md');
@@ -481,6 +513,136 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
481
513
  const ageDays = Math.floor(ageMs / (1000 * 60 * 60 * 24));
482
514
  return ageDays >= threshold;
483
515
  }
516
+ // ============================================================================
517
+ // Parent Change Detection (v0.29.0+ - Re-Import Hierarchy Updates)
518
+ // ============================================================================
519
+ /**
520
+ * Check if parent has changed between existing reference and new item
521
+ *
522
+ * CRITICAL (2025-12-01): Detects orphan → has parent, or parent ID change
523
+ *
524
+ * @param existingRef - Existing reference from living docs
525
+ * @param newItem - New item being imported
526
+ * @returns True if parent has changed and file should be moved
527
+ */
528
+ hasParentChanged(existingRef, newItem) {
529
+ // Only check for ADO items with hierarchy support
530
+ if (newItem.platform !== 'ado') {
531
+ return false;
532
+ }
533
+ // Case 1: Was orphan, now has parent
534
+ if (existingRef.isOrphan && newItem.parentId) {
535
+ return true;
536
+ }
537
+ // Case 2: Parent ID changed (including has parent → different parent)
538
+ if (existingRef.parentId && newItem.parentId && existingRef.parentId !== newItem.parentId) {
539
+ return true;
540
+ }
541
+ return false;
542
+ }
543
+ /**
544
+ * Handle parent change by moving file to new feature folder
545
+ *
546
+ * CRITICAL (2025-12-01): Moves US file when hierarchy changes on re-import
547
+ *
548
+ * @param existingRef - Existing reference with old location
549
+ * @param newItem - New item with updated parent info
550
+ * @param newFeatureId - New feature folder ID (if already allocated for group)
551
+ */
552
+ async handleParentChange(existingRef, newItem, newFeatureId) {
553
+ const oldFilePath = existingRef.filePath;
554
+ const oldFeatureId = existingRef.featureId || 'unknown';
555
+ // Determine the new feature folder
556
+ // If newFeatureId not provided, allocate one based on new parent
557
+ let targetFeatureId = newFeatureId;
558
+ if (!targetFeatureId && this.fsIdAllocator && this.options.enableFeatureAllocation) {
559
+ // Create a group key based on new parent
560
+ const groupKey = `parent:${newItem.parentId}`;
561
+ targetFeatureId = await this.allocateFeatureForGroup(newItem, groupKey);
562
+ }
563
+ if (!targetFeatureId || targetFeatureId === oldFeatureId) {
564
+ // No move needed - same feature folder
565
+ return;
566
+ }
567
+ // Calculate new file path
568
+ const baseDir = this.getBaseDirectory();
569
+ const fileName = path.basename(oldFilePath);
570
+ const newFilePath = path.join(baseDir, targetFeatureId, fileName);
571
+ // Read existing file content
572
+ const existingContent = fs.readFileSync(oldFilePath, 'utf-8');
573
+ // Update metadata in content
574
+ const updatedContent = this.updateParentMetadataInContent(existingContent, newItem.parentId, targetFeatureId, false // No longer orphan
575
+ );
576
+ // Ensure target directory exists
577
+ const targetDir = path.dirname(newFilePath);
578
+ fs.mkdirSync(targetDir, { recursive: true });
579
+ // Write to new location
580
+ fs.writeFileSync(newFilePath, updatedContent, 'utf-8');
581
+ // Remove old file
582
+ fs.unlinkSync(oldFilePath);
583
+ // Check if old directory is now empty and clean up
584
+ const oldDir = path.dirname(oldFilePath);
585
+ await this.cleanupEmptyFeatureFolder(oldDir, oldFeatureId);
586
+ // Notify callback
587
+ if (this.options.onParentChanged) {
588
+ const reason = existingRef.isOrphan
589
+ ? `Orphan now has parent: ${newItem.parentId}`
590
+ : `Parent changed from ${existingRef.parentId} to ${newItem.parentId}`;
591
+ this.options.onParentChanged(existingRef.usId, oldFeatureId, targetFeatureId, reason);
592
+ }
593
+ // Clear duplicate detector cache since file moved
594
+ if (this.duplicateDetector) {
595
+ this.duplicateDetector.clearCache();
596
+ }
597
+ }
598
+ /**
599
+ * Update parent metadata in file content
600
+ */
601
+ updateParentMetadataInContent(content, newParentId, newFeatureId, isOrphan) {
602
+ let updated = content;
603
+ // Update Feature ID
604
+ updated = updated.replace(/^- \*\*Feature ID\*\*: .+$/m, `- **Feature ID**: ${newFeatureId}`);
605
+ // Update or add Parent ID
606
+ if (newParentId) {
607
+ if (updated.match(/^- \*\*Parent ID\*\*: .+$/m)) {
608
+ updated = updated.replace(/^- \*\*Parent ID\*\*: .+$/m, `- **Parent ID**: ${newParentId}`);
609
+ }
610
+ else {
611
+ // Add Parent ID after Feature ID
612
+ updated = updated.replace(/^(- \*\*Feature ID\*\*: .+)$/m, `$1\n- **Parent ID**: ${newParentId}`);
613
+ }
614
+ }
615
+ // Remove Orphan line if no longer orphan
616
+ if (!isOrphan) {
617
+ updated = updated.replace(/^- \*\*Orphan\*\*: .+\n?/m, '');
618
+ }
619
+ return updated;
620
+ }
621
+ /**
622
+ * Clean up empty feature folder after file move
623
+ *
624
+ * Checks if folder is empty (except FEATURE.md) and removes it if orphan folder
625
+ */
626
+ async cleanupEmptyFeatureFolder(folderPath, featureId) {
627
+ try {
628
+ const files = fs.readdirSync(folderPath);
629
+ // Check if only FEATURE.md remains (or empty)
630
+ const nonTemplateFiles = files.filter(f => f.toLowerCase() !== 'feature.md');
631
+ if (nonTemplateFiles.length === 0) {
632
+ // Remove FEATURE.md if exists
633
+ const featureMdPath = path.join(folderPath, 'FEATURE.md');
634
+ if (fs.existsSync(featureMdPath)) {
635
+ fs.unlinkSync(featureMdPath);
636
+ }
637
+ // Remove empty folder
638
+ fs.removeSync(folderPath);
639
+ console.log(` 🗑️ Cleaned up empty orphan folder: ${featureId}`);
640
+ }
641
+ }
642
+ catch (error) {
643
+ // Folder cleanup is best-effort, don't fail on errors
644
+ }
645
+ }
484
646
  /**
485
647
  * Generate origin badge for living docs
486
648
  */
@@ -512,6 +674,7 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
512
674
  }
513
675
  /**
514
676
  * Generate markdown content for living docs User Story
677
+ * CRITICAL (2025-12-01): Includes parent tracking info for re-import hierarchy updates
515
678
  */
516
679
  generateMarkdown(data) {
517
680
  const parts = [];
@@ -565,6 +728,22 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
565
728
  if (data.metadata.sourceRepo) {
566
729
  parts.push(`- **Source Repository**: ${data.metadata.sourceRepo}`);
567
730
  }
731
+ // Parent tracking for re-import hierarchy updates (CRITICAL for parent change detection)
732
+ if (data.metadata.featureId) {
733
+ parts.push(`- **Feature ID**: ${data.metadata.featureId}`);
734
+ }
735
+ if (data.metadata.parentId) {
736
+ parts.push(`- **Parent ID**: ${data.metadata.parentId}`);
737
+ }
738
+ if (data.metadata.isOrphan) {
739
+ parts.push(`- **Orphan**: true (no parent in external tool)`);
740
+ }
741
+ if (data.metadata.adoWorkItemType) {
742
+ parts.push(`- **ADO Work Item Type**: ${data.metadata.adoWorkItemType}`);
743
+ }
744
+ if (data.metadata.adoAreaPath) {
745
+ parts.push(`- **ADO Area Path**: ${data.metadata.adoAreaPath}`);
746
+ }
568
747
  return parts.join('\n');
569
748
  }
570
749
  /**
@@ -606,5 +785,12 @@ ${isAdoOrphanGroup ? `- **Type**: Orphan (no parent Epic)` : ''}
606
785
  `Import should ONLY create living docs, not increments.`);
607
786
  }
608
787
  }
788
+ /**
789
+ * TESTING ONLY: Expose private method for unit tests
790
+ * DO NOT use in production code
791
+ */
792
+ __test__groupItemsByFeature(items) {
793
+ return this.groupItemsByFeature(items);
794
+ }
609
795
  }
610
796
  //# sourceMappingURL=item-converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-converter.js","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"item-converter.js","sourceRoot":"","sources":["../../../src/importers/item-converter.ts"],"names":[],"mappings":"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"}
@@ -176,6 +176,13 @@ export declare class FSIdAllocator {
176
176
  * @returns Allocation result with ID and strategy
177
177
  */
178
178
  allocateId(workItem: ExternalWorkItem): Promise<AllocationResult>;
179
+ /**
180
+ * Track a newly allocated ID to prevent duplicates in the same session
181
+ * CRITICAL FIX (2025-12-01): Without this, multiple calls to allocateId()
182
+ * would all return the same ID (e.g., FS-001E) because existingFeatures
183
+ * wasn't updated after allocation.
184
+ */
185
+ private trackAllocatedId;
179
186
  /**
180
187
  * Check if ID has collision (exact match or variant)
181
188
  *