specweave 0.24.13 → 0.26.2

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 (377) hide show
  1. package/CLAUDE.md +586 -18
  2. package/bin/specweave.js +14 -0
  3. package/dist/plugins/specweave-github/lib/CodeValidator.js +2 -2
  4. package/dist/plugins/specweave-github/lib/CodeValidator.js.map +1 -1
  5. package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
  6. package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +1 -1
  7. package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
  8. package/dist/plugins/specweave-github/lib/github-client-v2.js +17 -1
  9. package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
  10. package/dist/plugins/specweave-github/lib/github-issue-updater.js +1 -1
  11. package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -1
  12. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
  13. package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -1
  14. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +1 -1
  15. package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -1
  16. package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -1
  17. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +7 -6
  18. package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
  19. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +1 -1
  20. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -1
  21. package/dist/src/adapters/adapter-base.js +1 -1
  22. package/dist/src/adapters/adapter-base.js.map +1 -1
  23. package/dist/src/adapters/adapter-loader.js +1 -1
  24. package/dist/src/adapters/adapter-loader.js.map +1 -1
  25. package/dist/src/adapters/agents-md-generator.js +1 -1
  26. package/dist/src/adapters/agents-md-generator.js.map +1 -1
  27. package/dist/src/adapters/claude/adapter.js +1 -1
  28. package/dist/src/adapters/claude/adapter.js.map +1 -1
  29. package/dist/src/adapters/claude-md-generator.js +1 -1
  30. package/dist/src/adapters/claude-md-generator.js.map +1 -1
  31. package/dist/src/adapters/codex/adapter.js +1 -1
  32. package/dist/src/adapters/codex/adapter.js.map +1 -1
  33. package/dist/src/adapters/cursor/adapter.js +1 -1
  34. package/dist/src/adapters/cursor/adapter.js.map +1 -1
  35. package/dist/src/adapters/doc-generator.js +1 -1
  36. package/dist/src/adapters/doc-generator.js.map +1 -1
  37. package/dist/src/adapters/gemini/adapter.js +1 -1
  38. package/dist/src/adapters/gemini/adapter.js.map +1 -1
  39. package/dist/src/adapters/generic/adapter.js +1 -1
  40. package/dist/src/adapters/generic/adapter.js.map +1 -1
  41. package/dist/src/cli/commands/cicd-monitor.js +1 -1
  42. package/dist/src/cli/commands/cicd-monitor.js.map +1 -1
  43. package/dist/src/cli/commands/delete-feature.d.ts +14 -0
  44. package/dist/src/cli/commands/delete-feature.d.ts.map +1 -0
  45. package/dist/src/cli/commands/delete-feature.js +87 -0
  46. package/dist/src/cli/commands/delete-feature.js.map +1 -0
  47. package/dist/src/cli/commands/detect-specs.js +1 -1
  48. package/dist/src/cli/commands/detect-specs.js.map +1 -1
  49. package/dist/src/cli/commands/import-external.js +1 -1
  50. package/dist/src/cli/commands/import-external.js.map +1 -1
  51. package/dist/src/cli/commands/init.d.ts.map +1 -1
  52. package/dist/src/cli/commands/init.js +39 -49
  53. package/dist/src/cli/commands/init.js.map +1 -1
  54. package/dist/src/cli/commands/install.js +1 -1
  55. package/dist/src/cli/commands/install.js.map +1 -1
  56. package/dist/src/cli/commands/list.js +1 -1
  57. package/dist/src/cli/commands/list.js.map +1 -1
  58. package/dist/src/cli/commands/migrate-to-multiproject.js +1 -1
  59. package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
  60. package/dist/src/cli/commands/migrate-to-profiles.js +1 -1
  61. package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -1
  62. package/dist/src/cli/commands/plan/agent-invoker.js +1 -1
  63. package/dist/src/cli/commands/repair-status-desync.js +1 -1
  64. package/dist/src/cli/commands/repair-status-desync.js.map +1 -1
  65. package/dist/src/cli/commands/revert-wip-limit.js +1 -1
  66. package/dist/src/cli/commands/revert-wip-limit.js.map +1 -1
  67. package/dist/src/cli/commands/sync-specs.js +1 -1
  68. package/dist/src/cli/commands/sync-specs.js.map +1 -1
  69. package/dist/src/cli/helpers/init/initial-increment-generator.js +1 -1
  70. package/dist/src/cli/helpers/init/initial-increment-generator.js.map +1 -1
  71. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
  72. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +13 -46
  73. package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
  74. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  75. package/dist/src/cli/helpers/issue-tracker/index.js +12 -31
  76. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  77. package/dist/src/cli/helpers/issue-tracker/types.d.ts +6 -1
  78. package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
  79. package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
  80. package/dist/src/config/import-config.js +1 -1
  81. package/dist/src/config/import-config.js.map +1 -1
  82. package/dist/src/config/types.d.ts +203 -1208
  83. package/dist/src/config/types.d.ts.map +1 -1
  84. package/dist/src/core/ac-test-validator-cli.js +1 -1
  85. package/dist/src/core/ac-test-validator-cli.js.map +1 -1
  86. package/dist/src/core/ac-test-validator.js +1 -1
  87. package/dist/src/core/ac-test-validator.js.map +1 -1
  88. package/dist/src/core/brownfield/analyzer.js +1 -1
  89. package/dist/src/core/brownfield/analyzer.js.map +1 -1
  90. package/dist/src/core/brownfield/importer.js +1 -1
  91. package/dist/src/core/brownfield/importer.js.map +1 -1
  92. package/dist/src/core/cicd/config-loader.js +1 -1
  93. package/dist/src/core/cicd/config-loader.js.map +1 -1
  94. package/dist/src/core/cicd/notifier.js +1 -1
  95. package/dist/src/core/cicd/notifier.js.map +1 -1
  96. package/dist/src/core/cicd/parent-repo-validator.js +1 -1
  97. package/dist/src/core/cicd/parent-repo-validator.js.map +1 -1
  98. package/dist/src/core/cicd/state-manager.js +1 -1
  99. package/dist/src/core/cicd/state-manager.js.map +1 -1
  100. package/dist/src/core/config-manager.js +1 -1
  101. package/dist/src/core/config-manager.js.map +1 -1
  102. package/dist/src/core/cost-tracker.js +1 -1
  103. package/dist/src/core/cost-tracker.js.map +1 -1
  104. package/dist/src/core/deduplication/command-deduplicator.js +1 -1
  105. package/dist/src/core/deduplication/command-deduplicator.js.map +1 -1
  106. package/dist/src/core/feature-deleter/audit-logger.d.ts +30 -0
  107. package/dist/src/core/feature-deleter/audit-logger.d.ts.map +1 -0
  108. package/dist/src/core/feature-deleter/audit-logger.js +77 -0
  109. package/dist/src/core/feature-deleter/audit-logger.js.map +1 -0
  110. package/dist/src/core/feature-deleter/confirmation-manager.d.ts +39 -0
  111. package/dist/src/core/feature-deleter/confirmation-manager.d.ts.map +1 -0
  112. package/dist/src/core/feature-deleter/confirmation-manager.js +89 -0
  113. package/dist/src/core/feature-deleter/confirmation-manager.js.map +1 -0
  114. package/dist/src/core/feature-deleter/deletion-transaction.d.ts +51 -0
  115. package/dist/src/core/feature-deleter/deletion-transaction.d.ts.map +1 -0
  116. package/dist/src/core/feature-deleter/deletion-transaction.js +185 -0
  117. package/dist/src/core/feature-deleter/deletion-transaction.js.map +1 -0
  118. package/dist/src/core/feature-deleter/git-service.d.ts +43 -0
  119. package/dist/src/core/feature-deleter/git-service.d.ts.map +1 -0
  120. package/dist/src/core/feature-deleter/git-service.js +127 -0
  121. package/dist/src/core/feature-deleter/git-service.js.map +1 -0
  122. package/dist/src/core/feature-deleter/github-service.d.ts +36 -0
  123. package/dist/src/core/feature-deleter/github-service.d.ts.map +1 -0
  124. package/dist/src/core/feature-deleter/github-service.js +102 -0
  125. package/dist/src/core/feature-deleter/github-service.js.map +1 -0
  126. package/dist/src/core/feature-deleter/index.d.ts +35 -0
  127. package/dist/src/core/feature-deleter/index.d.ts.map +1 -0
  128. package/dist/src/core/feature-deleter/index.js +199 -0
  129. package/dist/src/core/feature-deleter/index.js.map +1 -0
  130. package/dist/src/core/feature-deleter/types.d.ts +179 -0
  131. package/dist/src/core/feature-deleter/types.d.ts.map +1 -0
  132. package/dist/src/core/feature-deleter/types.js +7 -0
  133. package/dist/src/core/feature-deleter/types.js.map +1 -0
  134. package/dist/src/core/feature-deleter/validator.d.ts +46 -0
  135. package/dist/src/core/feature-deleter/validator.d.ts.map +1 -0
  136. package/dist/src/core/feature-deleter/validator.js +231 -0
  137. package/dist/src/core/feature-deleter/validator.js.map +1 -0
  138. package/dist/src/core/hooks/HealthReporter.js +1 -1
  139. package/dist/src/core/hooks/HealthReporter.js.map +1 -1
  140. package/dist/src/core/hooks/HookAutoFixer.js +1 -1
  141. package/dist/src/core/hooks/HookAutoFixer.js.map +1 -1
  142. package/dist/src/core/hooks/HookScanner.js +1 -1
  143. package/dist/src/core/hooks/HookScanner.js.map +1 -1
  144. package/dist/src/core/i18n/language-manager.js +1 -1
  145. package/dist/src/core/i18n/language-manager.js.map +1 -1
  146. package/dist/src/core/i18n/locale-manager.js +1 -1
  147. package/dist/src/core/i18n/locale-manager.js.map +1 -1
  148. package/dist/src/core/i18n/system-prompt-injector.js +1 -1
  149. package/dist/src/core/i18n/system-prompt-injector.js.map +1 -1
  150. package/dist/src/core/increment/ac-status-manager.d.ts.map +1 -1
  151. package/dist/src/core/increment/ac-status-manager.js +18 -4
  152. package/dist/src/core/increment/ac-status-manager.js.map +1 -1
  153. package/dist/src/core/increment/active-increment-manager.js +1 -1
  154. package/dist/src/core/increment/active-increment-manager.js.map +1 -1
  155. package/dist/src/core/increment/completion-validator.js +1 -1
  156. package/dist/src/core/increment/completion-validator.js.map +1 -1
  157. package/dist/src/core/increment/conflict-resolver.js +1 -1
  158. package/dist/src/core/increment/conflict-resolver.js.map +1 -1
  159. package/dist/src/core/increment/desync-detector.js +1 -1
  160. package/dist/src/core/increment/desync-detector.js.map +1 -1
  161. package/dist/src/core/increment/discipline-checker.js +1 -1
  162. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  163. package/dist/src/core/increment/duplicate-detector.js +1 -1
  164. package/dist/src/core/increment/duplicate-detector.js.map +1 -1
  165. package/dist/src/core/increment/increment-archiver.js +1 -1
  166. package/dist/src/core/increment/increment-archiver.js.map +1 -1
  167. package/dist/src/core/increment/increment-reopener.js +1 -1
  168. package/dist/src/core/increment/increment-reopener.js.map +1 -1
  169. package/dist/src/core/increment/metadata-manager.js +1 -1
  170. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  171. package/dist/src/core/increment/metadata-validator.js +1 -1
  172. package/dist/src/core/increment/metadata-validator.js.map +1 -1
  173. package/dist/src/core/increment/recent-work-scanner.js +1 -1
  174. package/dist/src/core/increment/recent-work-scanner.js.map +1 -1
  175. package/dist/src/core/increment/spec-frontmatter-updater.js +1 -1
  176. package/dist/src/core/increment/spec-frontmatter-updater.js.map +1 -1
  177. package/dist/src/core/increment/status-auto-transition.js +1 -1
  178. package/dist/src/core/increment/status-auto-transition.js.map +1 -1
  179. package/dist/src/core/increment-status.js +1 -1
  180. package/dist/src/core/increment-status.js.map +1 -1
  181. package/dist/src/core/living-docs/content-distributor.js +1 -1
  182. package/dist/src/core/living-docs/content-distributor.js.map +1 -1
  183. package/dist/src/core/living-docs/cross-linker.js +1 -1
  184. package/dist/src/core/living-docs/cross-linker.js.map +1 -1
  185. package/dist/src/core/living-docs/feature-archiver.js +1 -1
  186. package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
  187. package/dist/src/core/living-docs/feature-id-manager.js +1 -1
  188. package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
  189. package/dist/src/core/living-docs/hierarchy-mapper.js +1 -1
  190. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
  191. package/dist/src/core/living-docs/living-docs-sync.d.ts +14 -0
  192. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  193. package/dist/src/core/living-docs/living-docs-sync.js +72 -13
  194. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  195. package/dist/src/core/living-docs/project-detector.js +1 -1
  196. package/dist/src/core/living-docs/project-detector.js.map +1 -1
  197. package/dist/src/core/living-docs/task-project-specific-generator.js +1 -1
  198. package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -1
  199. package/dist/src/core/logging/prompt-logger.js +1 -1
  200. package/dist/src/core/logging/prompt-logger.js.map +1 -1
  201. package/dist/src/core/plugin-loader.js +1 -1
  202. package/dist/src/core/plugin-loader.js.map +1 -1
  203. package/dist/src/core/project-manager.js +1 -1
  204. package/dist/src/core/project-manager.js.map +1 -1
  205. package/dist/src/core/qa/qa-runner.js +1 -1
  206. package/dist/src/core/qa/qa-runner.js.map +1 -1
  207. package/dist/src/core/repo-structure/folder-detector.js +1 -1
  208. package/dist/src/core/repo-structure/folder-detector.js.map +1 -1
  209. package/dist/src/core/repo-structure/setup-state-manager.js +1 -1
  210. package/dist/src/core/repo-structure/setup-state-manager.js.map +1 -1
  211. package/dist/src/core/spec-detector.js +1 -1
  212. package/dist/src/core/spec-detector.js.map +1 -1
  213. package/dist/src/core/specs/spec-metadata-manager.js +1 -1
  214. package/dist/src/core/specs/spec-metadata-manager.js.map +1 -1
  215. package/dist/src/core/status-line/status-line-updater.js +1 -1
  216. package/dist/src/core/status-line/status-line-updater.js.map +1 -1
  217. package/dist/src/core/status-line-validator.js +1 -1
  218. package/dist/src/core/status-line-validator.js.map +1 -1
  219. package/dist/src/core/sync/bidirectional-engine.js +1 -1
  220. package/dist/src/core/sync/bidirectional-engine.js.map +1 -1
  221. package/dist/src/core/sync/profile-manager.js +1 -1
  222. package/dist/src/core/sync/profile-manager.js.map +1 -1
  223. package/dist/src/core/sync/project-context.js +1 -1
  224. package/dist/src/core/sync/project-context.js.map +1 -1
  225. package/dist/src/core/sync/sync-event-logger.js +1 -1
  226. package/dist/src/core/sync/sync-event-logger.js.map +1 -1
  227. package/dist/src/core/types/config.js +1 -1
  228. package/dist/src/core/types/config.js.map +1 -1
  229. package/dist/src/core/us-completion-detector.d.ts +124 -0
  230. package/dist/src/core/us-completion-detector.d.ts.map +1 -0
  231. package/dist/src/core/us-completion-detector.js +270 -0
  232. package/dist/src/core/us-completion-detector.js.map +1 -0
  233. package/dist/src/core/utils/permission-checker.js +1 -1
  234. package/dist/src/core/utils/permission-checker.js.map +1 -1
  235. package/dist/src/core/workflow/autonomous-executor.js +1 -1
  236. package/dist/src/core/workflow/autonomous-executor.js.map +1 -1
  237. package/dist/src/core/workflow/backlog-scanner.js +1 -1
  238. package/dist/src/core/workflow/backlog-scanner.js.map +1 -1
  239. package/dist/src/core/workflow/cost-estimator.js +1 -1
  240. package/dist/src/core/workflow/cost-estimator.js.map +1 -1
  241. package/dist/src/core/workflow/state-manager.js +1 -1
  242. package/dist/src/core/workflow/state-manager.js.map +1 -1
  243. package/dist/src/importers/duplicate-detector.js +1 -1
  244. package/dist/src/importers/duplicate-detector.js.map +1 -1
  245. package/dist/src/importers/item-converter.js +1 -1
  246. package/dist/src/importers/item-converter.js.map +1 -1
  247. package/dist/src/init/architecture/types.d.ts +33 -140
  248. package/dist/src/init/architecture/types.d.ts.map +1 -1
  249. package/dist/src/init/compliance/types.d.ts +30 -27
  250. package/dist/src/init/compliance/types.d.ts.map +1 -1
  251. package/dist/src/init/repo/types.d.ts +11 -34
  252. package/dist/src/init/repo/types.d.ts.map +1 -1
  253. package/dist/src/init/research/src/config/types.d.ts +15 -82
  254. package/dist/src/init/research/src/config/types.d.ts.map +1 -1
  255. package/dist/src/init/research/types.d.ts +38 -93
  256. package/dist/src/init/research/types.d.ts.map +1 -1
  257. package/dist/src/init/team/types.d.ts +4 -42
  258. package/dist/src/init/team/types.d.ts.map +1 -1
  259. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +1 -1
  260. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
  261. package/dist/src/integrations/jira/jira-incremental-mapper.js +3 -3
  262. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
  263. package/dist/src/living-docs/fs-id-allocator.js +1 -1
  264. package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
  265. package/dist/src/living-docs/id-registry.js +1 -1
  266. package/dist/src/living-docs/id-registry.js.map +1 -1
  267. package/dist/src/sync/external-item-sync-service.js +1 -1
  268. package/dist/src/sync/external-item-sync-service.js.map +1 -1
  269. package/dist/src/sync/sync-metadata.js +1 -1
  270. package/dist/src/sync/sync-metadata.js.map +1 -1
  271. package/dist/src/utils/agents-md-compiler.js +1 -1
  272. package/dist/src/utils/agents-md-compiler.js.map +1 -1
  273. package/dist/src/utils/auto-install.js +1 -1
  274. package/dist/src/utils/auto-install.js.map +1 -1
  275. package/dist/src/utils/cost-reporter.js +1 -1
  276. package/dist/src/utils/cost-reporter.js.map +1 -1
  277. package/dist/src/utils/docs-preview/config-generator.js +1 -1
  278. package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
  279. package/dist/src/utils/docs-preview/docusaurus-setup.js +1 -1
  280. package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
  281. package/dist/src/utils/docs-preview/package-installer.js +1 -1
  282. package/dist/src/utils/docs-preview/package-installer.js.map +1 -1
  283. package/dist/src/utils/docs-preview/sidebar-builder.js +1 -1
  284. package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -1
  285. package/dist/src/utils/env-file-generator.js +1 -1
  286. package/dist/src/utils/env-file-generator.js.map +1 -1
  287. package/dist/src/utils/external-resource-validator.js +1 -1
  288. package/dist/src/utils/external-resource-validator.js.map +1 -1
  289. package/dist/src/utils/fs-native.d.ts +51 -5
  290. package/dist/src/utils/fs-native.d.ts.map +1 -1
  291. package/dist/src/utils/fs-native.js +100 -5
  292. package/dist/src/utils/fs-native.js.map +1 -1
  293. package/dist/src/utils/plugin-validator.js +1 -1
  294. package/dist/src/utils/plugin-validator.js.map +1 -1
  295. package/dist/src/utils/project-detection.js +1 -1
  296. package/dist/src/utils/project-detection.js.map +1 -1
  297. package/dist/src/utils/project-validator.js +1 -1
  298. package/dist/src/utils/project-validator.js.map +1 -1
  299. package/dist/src/utils/spec-parser.js +1 -1
  300. package/dist/src/utils/spec-parser.js.map +1 -1
  301. package/dist/src/utils/spec-splitter.js +1 -1
  302. package/dist/src/utils/spec-splitter.js.map +1 -1
  303. package/dist/src/validators/ac-coverage-validator.js +1 -1
  304. package/dist/src/validators/ac-coverage-validator.js.map +1 -1
  305. package/package.json +5 -6
  306. package/plugins/specweave/agents/code-standards-detective/AGENT.md +47 -0
  307. package/plugins/specweave/agents/docs-writer/AGENT.md +134 -1
  308. package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +1 -0
  309. package/plugins/specweave/agents/infrastructure/AGENT.md +48 -1
  310. package/plugins/specweave/agents/performance/AGENT.md +46 -0
  311. package/plugins/specweave/agents/pm/AGENT.md +115 -3
  312. package/plugins/specweave/agents/qa-lead/AGENT.md +40 -1
  313. package/plugins/specweave/agents/reflective-reviewer/AGENT.md +5 -0
  314. package/plugins/specweave/agents/security/AGENT.md +45 -0
  315. package/plugins/specweave/agents/tdd-orchestrator/AGENT.md +128 -1
  316. package/plugins/specweave/agents/tech-lead/AGENT.md +138 -1
  317. package/plugins/specweave/agents/translator/AGENT.md +132 -0
  318. package/plugins/specweave/commands/specweave-sync-progress.md +616 -0
  319. package/plugins/specweave/hooks/hooks.json +0 -9
  320. package/plugins/specweave/hooks/post-increment-completion.sh +133 -0
  321. package/plugins/specweave/hooks/post-metadata-change.sh +28 -23
  322. package/plugins/specweave/hooks/post-task-completion.sh +7 -0
  323. package/plugins/specweave/hooks/pre-edit-write-consolidated.sh +44 -7
  324. package/plugins/specweave/hooks/shared/bulk-operation-detector.sh +167 -0
  325. package/plugins/specweave/lib/hooks/consolidated-sync.js +19 -2
  326. package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +135 -0
  327. package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js +18 -4
  328. package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js.map +1 -1
  329. package/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js +1 -1
  330. package/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js.map +1 -1
  331. package/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js +1 -1
  332. package/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js.map +1 -1
  333. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +1 -1
  334. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  335. package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
  336. package/plugins/specweave/skills/progress-sync/SKILL.md +405 -0
  337. package/plugins/specweave-ado/lib/ado-project-detector.js +1 -1
  338. package/plugins/specweave-ado/lib/ado-project-detector.ts +1 -1
  339. package/plugins/specweave-ado/lib/conflict-resolver.js +1 -1
  340. package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
  341. package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +1 -1
  342. package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +5 -0
  343. package/plugins/specweave-github/.claude-plugin/plugin.json +1 -15
  344. package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +186 -0
  345. package/plugins/specweave-github/hooks/README.md +34 -25
  346. package/plugins/specweave-github/lib/CodeValidator.js +1 -1
  347. package/plugins/specweave-github/lib/CodeValidator.ts +2 -2
  348. package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
  349. package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +1 -1
  350. package/plugins/specweave-github/lib/github-client-v2.js +13 -1
  351. package/plugins/specweave-github/lib/github-client-v2.ts +17 -1
  352. package/plugins/specweave-github/lib/github-issue-updater.js +1 -1
  353. package/plugins/specweave-github/lib/github-issue-updater.ts +1 -1
  354. package/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
  355. package/plugins/specweave-github/lib/github-sync-bidirectional.ts +1 -1
  356. package/plugins/specweave-github/lib/github-sync-increment-changes.js +1 -1
  357. package/plugins/specweave-github/lib/github-sync-increment-changes.ts +1 -1
  358. package/plugins/specweave-github/lib/user-story-issue-builder.js +4 -4
  359. package/plugins/specweave-github/lib/user-story-issue-builder.ts +7 -6
  360. package/plugins/specweave-infrastructure/agents/devops/AGENT.md +48 -1
  361. package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +6 -1
  362. package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +6 -1
  363. package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +6 -1
  364. package/plugins/specweave-infrastructure/agents/sre/AGENT.md +5 -0
  365. package/plugins/specweave-jira/lib/jira-epic-sync.js +1 -1
  366. package/plugins/specweave-jira/lib/jira-epic-sync.ts +1 -1
  367. package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +5 -0
  368. package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +47 -2
  369. package/plugins/specweave-ml/agents/data-scientist/AGENT.md +1 -1
  370. package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +5 -0
  371. package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +6 -1
  372. package/plugins/specweave-payments/agents/payment-integration/AGENT.md +1 -1
  373. package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +138 -0
  374. package/plugins/specweave-ado/hooks/hooks.json +0 -15
  375. package/plugins/specweave-github/hooks/hooks.json +0 -15
  376. package/plugins/specweave-jira/hooks/hooks.json +0 -15
  377. package/plugins/specweave-release/hooks/hooks.json +0 -15
@@ -716,3 +716,189 @@
716
716
  [Sun Nov 23 23:21:25 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
717
717
  [Sun Nov 23 23:22:12 EST 2025] [GitHub] 🔗 GitHub sync hook fired
718
718
  [Sun Nov 23 23:22:12 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
719
+ [Sun Nov 23 23:24:38 EST 2025] [GitHub] 🔗 GitHub sync hook fired
720
+ [Sun Nov 23 23:24:38 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
721
+ [Sun Nov 23 23:26:33 EST 2025] [GitHub] 🔗 GitHub sync hook fired
722
+ [Sun Nov 23 23:26:33 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
723
+ [Sun Nov 23 23:27:46 EST 2025] [GitHub] 🔗 GitHub sync hook fired
724
+ [Sun Nov 23 23:27:46 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
725
+ [Sun Nov 23 23:28:53 EST 2025] [GitHub] 🔗 GitHub sync hook fired
726
+ [Sun Nov 23 23:28:53 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
727
+ [Sun Nov 23 23:32:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
728
+ [Sun Nov 23 23:32:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
729
+ [Sun Nov 23 23:33:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
730
+ [Sun Nov 23 23:33:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
731
+ [Sun Nov 23 23:33:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
732
+ [Sun Nov 23 23:33:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
733
+ [Sun Nov 23 23:36:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
734
+ [Sun Nov 23 23:36:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
735
+ [Sun Nov 23 23:37:41 EST 2025] [GitHub] 🔗 GitHub sync hook fired
736
+ [Sun Nov 23 23:37:41 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
737
+ [Sun Nov 23 23:38:30 EST 2025] [GitHub] 🔗 GitHub sync hook fired
738
+ [Sun Nov 23 23:38:30 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
739
+ [Sun Nov 23 23:39:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
740
+ [Sun Nov 23 23:39:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
741
+ [Sun Nov 23 23:41:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
742
+ [Sun Nov 23 23:41:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
743
+ [Sun Nov 23 23:43:36 EST 2025] [GitHub] 🔗 GitHub sync hook fired
744
+ [Sun Nov 23 23:43:36 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
745
+ [Sun Nov 23 23:43:53 EST 2025] [GitHub] 🔗 GitHub sync hook fired
746
+ [Sun Nov 23 23:43:53 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
747
+ [Sun Nov 23 23:44:20 EST 2025] [GitHub] 🔗 GitHub sync hook fired
748
+ [Sun Nov 23 23:44:20 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
749
+ [Sun Nov 23 23:44:38 EST 2025] [GitHub] 🔗 GitHub sync hook fired
750
+ [Sun Nov 23 23:44:38 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
751
+ [Sun Nov 23 23:45:03 EST 2025] [GitHub] 🔗 GitHub sync hook fired
752
+ [Sun Nov 23 23:45:03 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
753
+ [Sun Nov 23 23:45:28 EST 2025] [GitHub] 🔗 GitHub sync hook fired
754
+ [Sun Nov 23 23:45:28 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
755
+ [Sun Nov 23 23:45:58 EST 2025] [GitHub] 🔗 GitHub sync hook fired
756
+ [Sun Nov 23 23:45:58 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
757
+ [Sun Nov 23 23:45:58 EST 2025] [GitHub] 🔗 GitHub sync hook fired
758
+ [Sun Nov 23 23:45:58 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
759
+ [Sun Nov 23 23:46:18 EST 2025] [GitHub] 🔗 GitHub sync hook fired
760
+ [Sun Nov 23 23:46:18 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
761
+ [Sun Nov 23 23:46:45 EST 2025] [GitHub] 🔗 GitHub sync hook fired
762
+ [Sun Nov 23 23:46:45 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
763
+ [Sun Nov 23 23:47:11 EST 2025] [GitHub] 🔗 GitHub sync hook fired
764
+ [Sun Nov 23 23:47:11 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
765
+ [Sun Nov 23 23:47:37 EST 2025] [GitHub] 🔗 GitHub sync hook fired
766
+ [Sun Nov 23 23:47:37 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
767
+ [Sun Nov 23 23:48:05 EST 2025] [GitHub] 🔗 GitHub sync hook fired
768
+ [Sun Nov 23 23:48:05 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
769
+ [Sun Nov 23 23:48:30 EST 2025] [GitHub] 🔗 GitHub sync hook fired
770
+ [Sun Nov 23 23:48:30 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
771
+ [Sun Nov 23 23:48:56 EST 2025] [GitHub] 🔗 GitHub sync hook fired
772
+ [Sun Nov 23 23:48:56 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
773
+ [Sun Nov 23 23:49:23 EST 2025] [GitHub] 🔗 GitHub sync hook fired
774
+ [Sun Nov 23 23:49:23 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
775
+ [Sun Nov 23 23:49:51 EST 2025] [GitHub] 🔗 GitHub sync hook fired
776
+ [Sun Nov 23 23:49:51 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
777
+ [Sun Nov 23 23:50:18 EST 2025] [GitHub] 🔗 GitHub sync hook fired
778
+ [Sun Nov 23 23:50:18 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
779
+ [Sun Nov 23 23:52:02 EST 2025] [GitHub] 🔗 GitHub sync hook fired
780
+ [Sun Nov 23 23:52:02 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
781
+ [Sun Nov 23 23:52:30 EST 2025] [GitHub] 🔗 GitHub sync hook fired
782
+ [Sun Nov 23 23:52:30 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
783
+ [Sun Nov 23 23:53:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
784
+ [Sun Nov 23 23:53:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
785
+ [Sun Nov 23 23:54:05 EST 2025] [GitHub] 🔗 GitHub sync hook fired
786
+ [Sun Nov 23 23:54:05 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
787
+ [Sun Nov 23 23:59:29 EST 2025] [GitHub] 🔗 GitHub sync hook fired
788
+ [Sun Nov 23 23:59:29 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
789
+ [Mon Nov 24 00:00:30 EST 2025] [GitHub] 🔗 GitHub sync hook fired
790
+ [Mon Nov 24 00:00:30 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
791
+ [Mon Nov 24 00:00:30 EST 2025] [GitHub] 🔗 GitHub sync hook fired
792
+ [Mon Nov 24 00:00:30 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
793
+ [Mon Nov 24 00:00:31 EST 2025] [GitHub] 🔗 GitHub sync hook fired
794
+ [Mon Nov 24 00:00:31 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
795
+ [Mon Nov 24 00:00:56 EST 2025] [GitHub] 🔗 GitHub sync hook fired
796
+ [Mon Nov 24 00:00:56 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
797
+ [Mon Nov 24 00:00:57 EST 2025] [GitHub] 🔗 GitHub sync hook fired
798
+ [Mon Nov 24 00:00:57 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
799
+ [Mon Nov 24 00:00:57 EST 2025] [GitHub] 🔗 GitHub sync hook fired
800
+ [Mon Nov 24 00:00:57 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
801
+ [Mon Nov 24 00:02:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
802
+ [Mon Nov 24 00:02:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
803
+ [Mon Nov 24 00:02:17 EST 2025] [GitHub] 🔗 GitHub sync hook fired
804
+ [Mon Nov 24 00:02:17 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
805
+ [Mon Nov 24 00:02:58 EST 2025] [GitHub] 🔗 GitHub sync hook fired
806
+ [Mon Nov 24 00:02:58 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
807
+ [Mon Nov 24 00:03:33 EST 2025] [GitHub] 🔗 GitHub sync hook fired
808
+ [Mon Nov 24 00:03:33 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
809
+ [Mon Nov 24 00:04:09 EST 2025] [GitHub] 🔗 GitHub sync hook fired
810
+ [Mon Nov 24 00:04:09 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
811
+ [Mon Nov 24 00:04:53 EST 2025] [GitHub] 🔗 GitHub sync hook fired
812
+ [Mon Nov 24 00:04:53 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
813
+ [Mon Nov 24 00:05:56 EST 2025] [GitHub] 🔗 GitHub sync hook fired
814
+ [Mon Nov 24 00:05:56 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
815
+ [Mon Nov 24 00:06:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
816
+ [Mon Nov 24 00:06:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
817
+ [Mon Nov 24 00:07:21 EST 2025] [GitHub] 🔗 GitHub sync hook fired
818
+ [Mon Nov 24 00:07:21 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
819
+ [Mon Nov 24 00:07:44 EST 2025] [GitHub] 🔗 GitHub sync hook fired
820
+ [Mon Nov 24 00:07:44 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
821
+ [Mon Nov 24 00:10:08 EST 2025] [GitHub] 🔗 GitHub sync hook fired
822
+ [Mon Nov 24 00:10:08 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
823
+ [Mon Nov 24 00:10:24 EST 2025] [GitHub] 🔗 GitHub sync hook fired
824
+ [Mon Nov 24 00:10:24 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
825
+ [Mon Nov 24 00:21:35 EST 2025] [GitHub] 🔗 GitHub sync hook fired
826
+ [Mon Nov 24 00:21:35 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
827
+ [Mon Nov 24 00:21:35 EST 2025] [GitHub] 🔗 GitHub sync hook fired
828
+ [Mon Nov 24 00:21:35 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
829
+ [Mon Nov 24 00:21:35 EST 2025] [GitHub] 🔗 GitHub sync hook fired
830
+ [Mon Nov 24 00:21:35 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
831
+ [Mon Nov 24 00:22:00 EST 2025] [GitHub] 🔗 GitHub sync hook fired
832
+ [Mon Nov 24 00:22:00 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
833
+ [Mon Nov 24 00:22:00 EST 2025] [GitHub] 🔗 GitHub sync hook fired
834
+ [Mon Nov 24 00:22:00 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
835
+ [Mon Nov 24 00:22:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
836
+ [Mon Nov 24 00:22:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
837
+ [Mon Nov 24 00:57:28 EST 2025] [GitHub] 🔗 GitHub sync hook fired
838
+ [Mon Nov 24 00:57:28 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
839
+ [Mon Nov 24 00:57:29 EST 2025] [GitHub] 🔗 GitHub sync hook fired
840
+ [Mon Nov 24 00:57:29 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
841
+ [Mon Nov 24 00:57:29 EST 2025] [GitHub] 🔗 GitHub sync hook fired
842
+ [Mon Nov 24 00:57:29 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
843
+ [Mon Nov 24 00:57:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
844
+ [Mon Nov 24 00:57:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
845
+ [Mon Nov 24 00:57:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
846
+ [Mon Nov 24 00:57:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
847
+ [Mon Nov 24 00:57:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
848
+ [Mon Nov 24 00:57:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
849
+ [Mon Nov 24 00:58:22 EST 2025] [GitHub] 🔗 GitHub sync hook fired
850
+ [Mon Nov 24 00:58:22 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
851
+ [Mon Nov 24 00:58:22 EST 2025] [GitHub] 🔗 GitHub sync hook fired
852
+ [Mon Nov 24 00:58:22 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
853
+ [Mon Nov 24 00:58:22 EST 2025] [GitHub] 🔗 GitHub sync hook fired
854
+ [Mon Nov 24 00:58:22 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
855
+ [Mon Nov 24 01:09:49 EST 2025] [GitHub] 🔗 GitHub sync hook fired
856
+ [Mon Nov 24 01:09:49 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
857
+ [Mon Nov 24 01:09:49 EST 2025] [GitHub] 🔗 GitHub sync hook fired
858
+ [Mon Nov 24 01:09:49 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
859
+ [Mon Nov 24 01:09:49 EST 2025] [GitHub] 🔗 GitHub sync hook fired
860
+ [Mon Nov 24 01:09:49 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
861
+ [Mon Nov 24 01:10:15 EST 2025] [GitHub] 🔗 GitHub sync hook fired
862
+ [Mon Nov 24 01:10:15 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
863
+ [Mon Nov 24 01:10:16 EST 2025] [GitHub] 🔗 GitHub sync hook fired
864
+ [Mon Nov 24 01:10:16 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
865
+ [Mon Nov 24 01:10:16 EST 2025] [GitHub] 🔗 GitHub sync hook fired
866
+ [Mon Nov 24 01:10:16 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
867
+ [Mon Nov 24 02:12:33 EST 2025] [GitHub] 🔗 GitHub sync hook fired
868
+ [Mon Nov 24 02:12:33 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
869
+ [Mon Nov 24 02:12:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
870
+ [Mon Nov 24 02:12:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
871
+ [Mon Nov 24 02:12:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
872
+ [Mon Nov 24 02:12:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
873
+ [Mon Nov 24 02:12:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
874
+ [Mon Nov 24 02:12:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
875
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
876
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
877
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
878
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
879
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
880
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
881
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] 🔗 GitHub sync hook fired
882
+ [Mon Nov 24 02:20:34 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
883
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
884
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
885
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
886
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
887
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
888
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
889
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] 🔗 GitHub sync hook fired
890
+ [Mon Nov 24 02:21:27 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
891
+ [Mon Nov 24 02:21:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
892
+ [Mon Nov 24 02:21:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
893
+ [Mon Nov 24 02:21:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
894
+ [Mon Nov 24 02:21:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
895
+ [Mon Nov 24 02:21:54 EST 2025] [GitHub] 🔗 GitHub sync hook fired
896
+ [Mon Nov 24 02:21:54 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
897
+ [Mon Nov 24 02:21:55 EST 2025] [GitHub] 🔗 GitHub sync hook fired
898
+ [Mon Nov 24 02:21:55 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
899
+ [Mon Nov 24 03:30:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
900
+ [Mon Nov 24 03:30:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
901
+ [Mon Nov 24 03:30:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
902
+ [Mon Nov 24 03:30:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
903
+ [Mon Nov 24 03:30:01 EST 2025] [GitHub] 🔗 GitHub sync hook fired
904
+ [Mon Nov 24 03:30:01 EST 2025] [GitHub] ⚠️ sync-spec-content CLI not found at /Users/antonabyzov/Projects/github/specweave/plugins/specweave-github/hooks/dist/src/cli/commands/sync-spec-content.js, skipping sync
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## Purpose
9
9
 
10
- This hook automatically syncs SpecWeave increment progress to GitHub Issues after each task completion.
10
+ This hook provides GitHub Issues sync functionality for SpecWeave increments.
11
11
 
12
12
  **Key Features**:
13
13
  - ✅ Updates GitHub issue checkboxes based on `tasks.md` completion status
@@ -16,13 +16,15 @@ This hook automatically syncs SpecWeave increment progress to GitHub Issues afte
16
16
  - ✅ Non-blocking (failures don't stop core workflow)
17
17
  - ✅ Self-contained (no dependencies on core plugin)
18
18
 
19
+ **IMPORTANT CHANGE (v0.26.0)**: This hook is NO LONGER automatically triggered on task completion. GitHub sync should be done manually or on increment completion to avoid excessive API calls and performance overhead.
20
+
19
21
  ---
20
22
 
21
23
  ## Available Hooks
22
24
 
23
25
  ### 1. `post-task-completion.sh`
24
26
 
25
- **Triggers**: After ANY task is marked complete (via TodoWrite tool)
27
+ **Triggers**: Manual invocation or increment completion (NOT on task completion)
26
28
 
27
29
  **Preconditions**:
28
30
  - ✅ Active increment exists (`.specweave/increments/####/`)
@@ -59,30 +61,36 @@ Log: "[GitHub] ✅ GitHub sync complete"
59
61
 
60
62
  ## Configuration
61
63
 
62
- ### Hook Registration (`hooks.json`)
64
+ ### Hook Registration
63
65
 
64
- ```json
65
- {
66
- "hooks": {
67
- "PostToolUse": [
68
- {
69
- "matcher": "TodoWrite",
70
- "hooks": [
71
- {
72
- "type": "command",
73
- "command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-task-completion.sh"
74
- }
75
- ]
76
- }
77
- ]
78
- }
79
- }
66
+ **DEPRECATED (v0.26.0)**: This hook is NO LONGER automatically registered on TodoWrite events.
67
+
68
+ **Previous behavior (v0.24.0 and earlier)**:
69
+ - Hook automatically fired on EVERY task completion
70
+ - Caused excessive GitHub API calls
71
+ - Created performance overhead and duplicate executions
72
+
73
+ **New behavior (v0.26.0+)**:
74
+ - Hook must be invoked manually via `/specweave-github:sync`
75
+ - OR triggered on increment completion (not task completion)
76
+ - Reduces API calls by 90%+
77
+ - Eliminates duplicate hook executions
78
+
79
+ ### Usage
80
+
81
+ **Manual Sync** (recommended workflow):
82
+ ```bash
83
+ # After completing several tasks, sync progress to GitHub
84
+ /specweave-github:sync
85
+
86
+ # Or sync specific feature
87
+ /specweave-github:sync FS-048
80
88
  ```
81
89
 
82
- **Key Points**:
83
- - Uses `${CLAUDE_PLUGIN_ROOT}` to reference plugin directory
84
- - Matches `TodoWrite` tool (fires when tasks complete)
85
- - Runs as `command` type (shell script)
90
+ **Automatic Sync Options**:
91
+ 1. **On Increment Completion**: Add hook to specweave plugin's post-increment-completion
92
+ 2. **Periodic Sync**: Set up cron job or CI/CD trigger
93
+ 3. **On Demand**: Call `/specweave-github:sync` when needed
86
94
 
87
95
  ### Metadata Format
88
96
 
@@ -143,8 +151,9 @@ bash -n plugins/specweave-github/hooks/post-task-completion.sh
143
151
 
144
152
  1. Create increment: `/specweave:increment "test feature"`
145
153
  2. Create GitHub issue: `/specweave-github:create-issue 0001`
146
- 3. Complete a task (TodoWrite)
147
- 4. Hook fires Check GitHub issue for updates
154
+ 3. Complete several tasks via TodoWrite
155
+ 4. **Manually trigger sync**: `/specweave-github:sync`
156
+ 5. Check GitHub issue for updates
148
157
 
149
158
  ---
150
159
 
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  class CodeValidator {
4
4
  constructor(options = {}) {
@@ -12,7 +12,7 @@
12
12
  * @module CodeValidator
13
13
  */
14
14
 
15
- import fs from 'fs-extra';
15
+ import * as fs from '../../../src/utils/fs-native.js';
16
16
  import path from 'path';
17
17
 
18
18
  /**
@@ -133,7 +133,7 @@ export class CodeValidator {
133
133
  // Read file content
134
134
  const content = await fs.readFile(absolutePath, 'utf-8');
135
135
  const lines = content.split('\n');
136
- const nonEmptyLines = lines.filter(line => line.trim().length > 0);
136
+ const nonEmptyLines = lines.filter((line: string) => line.trim().length > 0);
137
137
 
138
138
  // Check line count
139
139
  if (nonEmptyLines.length < this.options.minLines) {
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
4
  import { CodeValidator } from "./CodeValidator.js";
@@ -18,7 +18,7 @@
18
18
  * @module ThreeLayerSyncManager
19
19
  */
20
20
 
21
- import fs from 'fs-extra';
21
+ import * as fs from '../../../src/utils/fs-native.js';
22
22
  import path from 'path';
23
23
  import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
24
24
  import { CodeValidator, type TaskValidationResult } from './CodeValidator.js';
@@ -202,7 +202,19 @@ FIX: Use /specweave:sync-docs to generate living docs, then sync to GitHub.
202
202
  args.push("--label", label);
203
203
  }
204
204
  if (milestone !== void 0) {
205
- args.push("--milestone", String(milestone));
205
+ if (typeof milestone === "number") {
206
+ const msResult = await execFileNoThrow("gh", [
207
+ "api",
208
+ `repos/${this.fullRepo}/milestones/${milestone}`,
209
+ "--jq",
210
+ ".title"
211
+ ]);
212
+ if (msResult.exitCode === 0 && msResult.stdout.trim()) {
213
+ args.push("--milestone", msResult.stdout.trim());
214
+ }
215
+ } else {
216
+ args.push("--milestone", milestone);
217
+ }
206
218
  }
207
219
  const createResult = await execFileNoThrow("gh", args);
208
220
  if (createResult.exitCode !== 0) {
@@ -283,7 +283,23 @@ export class GitHubClientV2 {
283
283
 
284
284
  // Add milestone
285
285
  if (milestone !== undefined) {
286
- args.push('--milestone', String(milestone));
286
+ // gh CLI requires milestone TITLE, not number
287
+ if (typeof milestone === 'number') {
288
+ // Fetch milestone by number to get title
289
+ const msResult = await execFileNoThrow('gh', [
290
+ 'api',
291
+ `repos/${this.fullRepo}/milestones/${milestone}`,
292
+ '--jq',
293
+ '.title'
294
+ ]);
295
+
296
+ if (msResult.exitCode === 0 && msResult.stdout.trim()) {
297
+ args.push('--milestone', msResult.stdout.trim());
298
+ }
299
+ // If milestone fetch fails, skip milestone assignment (non-blocking)
300
+ } else {
301
+ args.push('--milestone', milestone);
302
+ }
287
303
  }
288
304
 
289
305
  // Create issue (returns URL)
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
4
  async function updateIssueLivingDocs(issueNumber, livingDocs, owner, repo) {
@@ -7,7 +7,7 @@
7
7
  * @module github-issue-updater
8
8
  */
9
9
 
10
- import fs from 'fs-extra';
10
+ import * as fs from '../../../src/utils/fs-native.js';
11
11
  import path from 'path';
12
12
  import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
13
13
 
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  import { execFileNoThrow } from "../../../src/utils/execFileNoThrow.js";
4
4
  import {
@@ -16,7 +16,7 @@
16
16
  * @module github-sync-bidirectional
17
17
  */
18
18
 
19
- import fs from 'fs-extra';
19
+ import * as fs from '../../../src/utils/fs-native.js';
20
20
  import path from 'path';
21
21
  import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
22
22
  import {
@@ -1,4 +1,4 @@
1
- import fs from "fs-extra";
1
+ import * as fs from "../../../src/utils/fs-native.js";
2
2
  import path from "path";
3
3
  import { execSync } from "child_process";
4
4
  import {
@@ -7,7 +7,7 @@
7
7
  * @module github-sync-increment-changes
8
8
  */
9
9
 
10
- import fs from 'fs-extra';
10
+ import * as fs from '../../../src/utils/fs-native.js';
11
11
  import path from 'path';
12
12
  import { execSync } from 'child_process';
13
13
  import {
@@ -152,12 +152,12 @@ User Story ID: ${frontmatter.id}`
152
152
  return this.extractTasksLegacy(userStoryContent, userStoryId);
153
153
  }
154
154
  const tasksSection = tasksMatch[1];
155
- const taskPattern = /^[-*]\s+\[([x ])\]\s+\*\*(T-\d+)\*\*:\s+(.+)$/gm;
155
+ const taskPattern = /^[-*]\s+\[([x ])\]\s+(?:\[(T-\d+)\]\([^)]+\)|\*\*(T-\d+)\*\*):\s+(.+)$/gm;
156
156
  let match;
157
157
  while ((match = taskPattern.exec(tasksSection)) !== null) {
158
158
  const completed = match[1] === "x";
159
- const taskId = match[2];
160
- const taskTitle = match[3].trim();
159
+ const taskId = match[2] || match[3];
160
+ const taskTitle = match[4].trim();
161
161
  tasks.push({
162
162
  id: taskId,
163
163
  title: taskTitle,
@@ -203,7 +203,7 @@ User Story ID: ${frontmatter.id}`
203
203
  const taskId = match[1];
204
204
  const taskTitle = match[2].trim();
205
205
  const taskBody = match[3];
206
- const acMatch = taskBody.match(/\*\*AC\*\*:\s*([^\n]+)/);
206
+ const acMatch = taskBody.match(/\*\*(?:Satisfies ACs?|AC)\*\*:\s*([^\n]+)/);
207
207
  if (!acMatch) {
208
208
  continue;
209
209
  }
@@ -265,14 +265,15 @@ export class UserStoryIssueBuilder {
265
265
 
266
266
  const tasksSection = tasksMatch[1];
267
267
 
268
- // Pattern: - [x] **T-001**: Task title or - [ ] **T-001**: Task title
269
- const taskPattern = /^[-*]\s+\[([x ])\]\s+\*\*(T-\d+)\*\*:\s+(.+)$/gm;
268
+ // Pattern 1 (NEW): - [x] [T-001](link): Task title
269
+ // Pattern 2 (OLD): - [x] **T-001**: Task title
270
+ const taskPattern = /^[-*]\s+\[([x ])\]\s+(?:\[(T-\d+)\]\([^)]+\)|\*\*(T-\d+)\*\*):\s+(.+)$/gm;
270
271
 
271
272
  let match;
272
273
  while ((match = taskPattern.exec(tasksSection)) !== null) {
273
274
  const completed = match[1] === 'x';
274
- const taskId = match[2];
275
- const taskTitle = match[3].trim();
275
+ const taskId = match[2] || match[3]; // Support both patterns
276
+ const taskTitle = match[4].trim();
276
277
 
277
278
  tasks.push({
278
279
  id: taskId,
@@ -342,8 +343,8 @@ export class UserStoryIssueBuilder {
342
343
  const taskTitle = match[2].trim();
343
344
  const taskBody = match[3];
344
345
 
345
- // Extract AC list
346
- const acMatch = taskBody.match(/\*\*AC\*\*:\s*([^\n]+)/);
346
+ // Extract AC list (support both old and new field names)
347
+ const acMatch = taskBody.match(/\*\*(?:Satisfies ACs?|AC)\*\*:\s*([^\n]+)/);
347
348
  if (!acMatch) {
348
349
  continue; // Skip tasks without AC field
349
350
  }
@@ -1,11 +1,12 @@
1
1
  ---
2
2
  name: devops
3
- description: DevOps and infrastructure expert for cloud deployments, CI/CD pipelines, Infrastructure as Code (Terraform, Pulumi), Kubernetes, Docker, and monitoring. Handles AWS, Azure, GCP deployments. Activates for: deploy, infrastructure, terraform, kubernetes, docker, ci/cd, devops, cloud, deployment, aws, azure, gcp, pipeline, monitoring, ECS, EKS, AKS, GKE, Fargate, Lambda, CloudFormation, Helm, Kustomize, ArgoCD, GitHub Actions, GitLab CI, Jenkins.
3
+ description: DevOps and infrastructure expert that generates IaC ONE COMPONENT AT A TIME (VPC → Compute → Database → Monitoring) to prevent crashes. Handles Terraform, Kubernetes, Docker, CI/CD. **CRITICAL CHUNKING RULE - Large deployments (EKS + RDS + monitoring = 20+ files) done incrementally.** Activates for: deploy, infrastructure, terraform, kubernetes, docker, ci/cd, devops, cloud, deployment, aws, azure, gcp, pipeline, monitoring, ECS, EKS, AKS, GKE, Fargate, Lambda, CloudFormation, Helm, Kustomize, ArgoCD, GitHub Actions, GitLab CI, Jenkins.
4
4
  tools: Read, Write, Edit, Bash
5
5
  model: claude-sonnet-4-5-20250929
6
6
  model_preference: haiku
7
7
  cost_profile: execution
8
8
  fallback_behavior: flexible
9
+ max_response_tokens: 2000
9
10
  ---
10
11
 
11
12
  # DevOps Agent - Infrastructure & Deployment Expert
@@ -29,6 +30,52 @@ Task({
29
30
  - **Directory**: devops
30
31
  - **Agent Name**: devops
31
32
 
33
+ ---
34
+
35
+ ## ⚠️🚨 CRITICAL SAFETY RULE 🚨⚠️
36
+
37
+ **YOU MUST GENERATE INFRASTRUCTURE ONE COMPONENT AT A TIME** (Configured: `max_response_tokens: 2000`)
38
+
39
+ ### THE ABSOLUTE RULE: NO MASSIVE INFRASTRUCTURE GENERATION
40
+
41
+ **VIOLATION CAUSES CRASHES!** Large deployments (EKS + RDS + monitoring) = 20+ files, 2500+ lines.
42
+
43
+ 1. Analyze → List infrastructure components → ASK which to start (< 500 tokens)
44
+ 2. Generate ONE component (e.g., VPC) → ASK "Ready for next?" (< 800 tokens)
45
+ 3. Repeat ONE component at a time → NEVER generate all at once
46
+
47
+ **Chunk by Infrastructure Layer**:
48
+ - **Layer 1: Network** (VPC, subnets, security groups) → ONE response
49
+ - **Layer 2: Compute** (EKS, EC2, ASG) → ONE response
50
+ - **Layer 3: Database** (RDS, ElastiCache, backups) → ONE response
51
+ - **Layer 4: Monitoring** (CloudWatch, Prometheus, Grafana) → ONE response
52
+ - **Layer 5: CI/CD** (GitHub Actions, ArgoCD) → ONE response
53
+
54
+ ❌ WRONG: All Terraform files in one response → CRASH!
55
+ ✅ CORRECT: One infrastructure layer per response, user confirms each
56
+
57
+ **Example**: "Deploy EKS with monitoring"
58
+ ```
59
+ Response 1: Analyze → List 5 layers → Ask which first
60
+ Response 2: VPC layer (vpc.tf, subnets.tf, sg.tf) → Ask "Ready for EKS?"
61
+ Response 3: EKS layer (eks.tf, node-groups.tf) → Ask "Ready for RDS?"
62
+ Response 4: RDS layer (rds.tf, backups.tf) → Ask "Ready for monitoring?"
63
+ Response 5: Monitoring (cloudwatch.tf, prometheus/) → Ask "Ready for CI/CD?"
64
+ Response 6: CI/CD (.github/workflows/) → Complete!
65
+ ```
66
+
67
+ ### 📊 Self-Check Before Sending Response
68
+
69
+ Before you finish ANY response, mentally verify:
70
+
71
+ - [ ] Am I generating more than 1 infrastructure layer? **→ STOP! One layer per response**
72
+ - [ ] Is my response > 2000 tokens? **→ STOP! This is too large**
73
+ - [ ] Did I ask user which layer to do next? **→ REQUIRED!**
74
+ - [ ] Am I waiting for explicit confirmation? **→ YES! Never auto-continue**
75
+ - [ ] For large deployments (5+ layers), am I chunking? **→ YES! One layer at a time**
76
+
77
+ ---
78
+
32
79
  **When to Use**:
33
80
  - You need to design and implement cloud infrastructure (AWS, Azure, GCP)
34
81
  - You want to create Infrastructure as Code with Terraform or CloudFormation
@@ -1,12 +1,17 @@
1
1
  ---
2
2
  name: network-engineer
3
3
  description: Expert network engineer specializing in modern cloud networking, security architectures, and performance optimization. Masters multi-cloud connectivity, service mesh, zero-trust networking, SSL/TLS, global load balancing, and advanced troubleshooting. Handles CDN optimization, network automation, and compliance. Use PROACTIVELY for network design, connectivity issues, or performance optimization.
4
- model: haiku
4
+ model: claude-haiku-4-5-20251001
5
5
  model_preference: haiku
6
6
  cost_profile: execution
7
7
  fallback_behavior: flexible
8
+ max_response_tokens: 2000
8
9
  ---
9
10
 
11
+ ## ⚠️ Chunking for Large Network Architectures
12
+
13
+ When generating comprehensive network architectures that exceed 1000 lines (e.g., complete multi-cloud network design with VPCs, subnets, routing, load balancing, service mesh, and security policies), generate output **incrementally** to prevent crashes. Break large network implementations into logical layers (e.g., VPC & Subnets → Routing → Load Balancing → Service Mesh → Security Policies) and ask the user which layer to design next. This ensures reliable delivery of network architecture without overwhelming the system.
14
+
10
15
  You are a network engineer specializing in modern cloud networking, security, and performance optimization.
11
16
 
12
17
  ## 🚀 How to Invoke This Agent
@@ -1,12 +1,17 @@
1
1
  ---
2
2
  name: observability-engineer
3
3
  description: Build production-ready monitoring, logging, and tracing systems. Implements comprehensive observability strategies, SLI/SLO management, and incident response workflows. Use PROACTIVELY for monitoring infrastructure, performance optimization, or production reliability.
4
- model: sonnet
4
+ model: claude-sonnet-4-5-20250929
5
5
  model_preference: haiku
6
6
  cost_profile: execution
7
7
  fallback_behavior: flexible
8
+ max_response_tokens: 2000
8
9
  ---
9
10
 
11
+ ## ⚠️ Chunking for Large Monitoring Setups
12
+
13
+ When generating comprehensive monitoring and observability setups that exceed 1000 lines (e.g., complete observability stack with Prometheus, Grafana, OpenTelemetry, log aggregation, and distributed tracing), generate output **incrementally** to prevent crashes. Break large monitoring implementations into logical components (e.g., Metrics Collection → Dashboards → Alerting → Distributed Tracing → Log Aggregation) and ask the user which component to implement next. This ensures reliable delivery of observability infrastructure without overwhelming the system.
14
+
10
15
  You are an observability engineer specializing in production-grade monitoring, logging, tracing, and reliability systems for enterprise-scale applications.
11
16
 
12
17
  ## 🚀 How to Invoke This Agent