specweave 1.0.593 → 2.0.3

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 (1420) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/README.md +65 -88
  3. package/bin/specweave.js +206 -263
  4. package/dist/dashboard/assets/{index-DQb8E2_E.js → index-BiJhGDZV.js} +3 -3
  5. package/dist/dashboard/assets/index-heYRtWFf.css +1 -0
  6. package/dist/dashboard/index.html +2 -2
  7. package/dist/plugins/specweave/lib/integrations/github/github-access-error.js +3 -3
  8. package/dist/plugins/specweave/lib/integrations/github/github-access-error.js.map +1 -1
  9. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts +5 -4
  10. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.d.ts.map +1 -1
  11. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js +14 -13
  12. package/dist/plugins/specweave/lib/integrations/github/github-client-v2.js.map +1 -1
  13. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js +1 -1
  14. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js.map +1 -1
  15. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.js +2 -2
  16. package/dist/plugins/specweave/lib/integrations/github/github-feature-sync.js.map +1 -1
  17. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js +11 -9
  18. package/dist/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js.map +1 -1
  19. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +9 -5
  20. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +70 -13
  21. package/dist/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  22. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.d.ts +7 -3
  23. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +16 -12
  24. package/dist/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -1
  25. package/dist/plugins/specweave/lib/vendor/core/tasks/task-id.d.ts +24 -0
  26. package/dist/plugins/specweave/lib/vendor/core/tasks/task-id.js +24 -0
  27. package/dist/plugins/specweave/lib/vendor/core/tasks/task-id.js.map +1 -0
  28. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +86 -35
  29. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.js +115 -47
  30. package/dist/plugins/specweave/lib/vendor/core/types/increment-metadata.js.map +1 -1
  31. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.d.ts +18 -2
  32. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js +74 -6
  33. package/dist/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -1
  34. package/dist/plugins/specweave/lib/vendor/sync/config.js +2 -2
  35. package/dist/plugins/specweave/lib/vendor/sync/config.js.map +1 -1
  36. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js +2 -2
  37. package/dist/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  38. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.d.ts +37 -16
  39. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.js +88 -74
  40. package/dist/plugins/specweave/lib/vendor/utils/auth-helpers.js.map +1 -1
  41. package/dist/src/adapters/adapter-base.d.ts +0 -4
  42. package/dist/src/adapters/adapter-base.d.ts.map +1 -1
  43. package/dist/src/adapters/adapter-base.js +2 -18
  44. package/dist/src/adapters/adapter-base.js.map +1 -1
  45. package/dist/src/adapters/antigravity/adapter.d.ts.map +1 -1
  46. package/dist/src/adapters/antigravity/adapter.js +13 -7
  47. package/dist/src/adapters/antigravity/adapter.js.map +1 -1
  48. package/dist/src/adapters/claude/adapter.d.ts.map +1 -1
  49. package/dist/src/adapters/claude/adapter.js +7 -10
  50. package/dist/src/adapters/claude/adapter.js.map +1 -1
  51. package/dist/src/adapters/codex/adapter.d.ts.map +1 -1
  52. package/dist/src/adapters/codex/adapter.js +13 -7
  53. package/dist/src/adapters/codex/adapter.js.map +1 -1
  54. package/dist/src/adapters/gemini/adapter.d.ts.map +1 -1
  55. package/dist/src/adapters/gemini/adapter.js +13 -7
  56. package/dist/src/adapters/gemini/adapter.js.map +1 -1
  57. package/dist/src/adapters/generic/adapter.d.ts.map +1 -1
  58. package/dist/src/adapters/generic/adapter.js +7 -3
  59. package/dist/src/adapters/generic/adapter.js.map +1 -1
  60. package/dist/src/cli/commands/auto.d.ts.map +1 -1
  61. package/dist/src/cli/commands/auto.js +15 -62
  62. package/dist/src/cli/commands/auto.js.map +1 -1
  63. package/dist/src/cli/commands/check-discipline.d.ts +4 -6
  64. package/dist/src/cli/commands/check-discipline.d.ts.map +1 -1
  65. package/dist/src/cli/commands/check-discipline.js +21 -27
  66. package/dist/src/cli/commands/check-discipline.js.map +1 -1
  67. package/dist/src/cli/commands/complete.d.ts +5 -1
  68. package/dist/src/cli/commands/complete.d.ts.map +1 -1
  69. package/dist/src/cli/commands/complete.js +22 -1
  70. package/dist/src/cli/commands/complete.js.map +1 -1
  71. package/dist/src/cli/commands/create-increment.d.ts +25 -4
  72. package/dist/src/cli/commands/create-increment.d.ts.map +1 -1
  73. package/dist/src/cli/commands/create-increment.js +45 -27
  74. package/dist/src/cli/commands/create-increment.js.map +1 -1
  75. package/dist/src/cli/commands/detect-intent.d.ts.map +1 -1
  76. package/dist/src/cli/commands/detect-intent.js +5 -12
  77. package/dist/src/cli/commands/detect-intent.js.map +1 -1
  78. package/dist/src/cli/commands/detect-project.js +3 -3
  79. package/dist/src/cli/commands/detect-project.js.map +1 -1
  80. package/dist/src/cli/commands/docs.d.ts.map +1 -1
  81. package/dist/src/cli/commands/docs.js +0 -80
  82. package/dist/src/cli/commands/docs.js.map +1 -1
  83. package/dist/src/cli/commands/doctor.d.ts +11 -0
  84. package/dist/src/cli/commands/doctor.d.ts.map +1 -1
  85. package/dist/src/cli/commands/doctor.js +28 -0
  86. package/dist/src/cli/commands/doctor.js.map +1 -1
  87. package/dist/src/cli/commands/export-skills.d.ts +45 -0
  88. package/dist/src/cli/commands/export-skills.d.ts.map +1 -1
  89. package/dist/src/cli/commands/export-skills.js +26 -6
  90. package/dist/src/cli/commands/export-skills.js.map +1 -1
  91. package/dist/src/cli/commands/gc.d.ts +13 -0
  92. package/dist/src/cli/commands/gc.d.ts.map +1 -0
  93. package/dist/src/cli/commands/gc.js +47 -0
  94. package/dist/src/cli/commands/gc.js.map +1 -0
  95. package/dist/src/cli/commands/hook.d.ts +6 -8
  96. package/dist/src/cli/commands/hook.d.ts.map +1 -1
  97. package/dist/src/cli/commands/hook.js +38 -38
  98. package/dist/src/cli/commands/hook.js.map +1 -1
  99. package/dist/src/cli/commands/hooks-cmd.d.ts +11 -15
  100. package/dist/src/cli/commands/hooks-cmd.d.ts.map +1 -1
  101. package/dist/src/cli/commands/hooks-cmd.js +37 -128
  102. package/dist/src/cli/commands/hooks-cmd.js.map +1 -1
  103. package/dist/src/cli/commands/init.d.ts.map +1 -1
  104. package/dist/src/cli/commands/init.js +12 -33
  105. package/dist/src/cli/commands/init.js.map +1 -1
  106. package/dist/src/cli/commands/interview.js +5 -5
  107. package/dist/src/cli/commands/interview.js.map +1 -1
  108. package/dist/src/cli/commands/plan/increment-detector.js +1 -1
  109. package/dist/src/cli/commands/plan/increment-detector.js.map +1 -1
  110. package/dist/src/cli/commands/plan/plan-orchestrator.js +2 -2
  111. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  112. package/dist/src/cli/commands/refresh-plugins.d.ts.map +1 -1
  113. package/dist/src/cli/commands/refresh-plugins.js +0 -16
  114. package/dist/src/cli/commands/refresh-plugins.js.map +1 -1
  115. package/dist/src/cli/commands/resume.d.ts +1 -6
  116. package/dist/src/cli/commands/resume.d.ts.map +1 -1
  117. package/dist/src/cli/commands/resume.js +2 -6
  118. package/dist/src/cli/commands/resume.js.map +1 -1
  119. package/dist/src/cli/commands/session.d.ts +1 -1
  120. package/dist/src/cli/commands/session.d.ts.map +1 -1
  121. package/dist/src/cli/commands/session.js +2 -26
  122. package/dist/src/cli/commands/session.js.map +1 -1
  123. package/dist/src/cli/commands/start.d.ts +10 -0
  124. package/dist/src/cli/commands/start.d.ts.map +1 -0
  125. package/dist/src/cli/commands/start.js +13 -0
  126. package/dist/src/cli/commands/start.js.map +1 -0
  127. package/dist/src/cli/commands/sync-gaps.d.ts +2 -13
  128. package/dist/src/cli/commands/sync-gaps.d.ts.map +1 -1
  129. package/dist/src/cli/commands/sync-gaps.js +2 -51
  130. package/dist/src/cli/commands/sync-gaps.js.map +1 -1
  131. package/dist/src/cli/commands/sync-health.d.ts +5 -1
  132. package/dist/src/cli/commands/sync-health.d.ts.map +1 -1
  133. package/dist/src/cli/commands/sync-health.js +7 -5
  134. package/dist/src/cli/commands/sync-health.js.map +1 -1
  135. package/dist/src/cli/commands/sync-living-docs.js +1 -1
  136. package/dist/src/cli/commands/sync-living-docs.js.map +1 -1
  137. package/dist/src/cli/commands/sync-progress.js +5 -5
  138. package/dist/src/cli/commands/sync-progress.js.map +1 -1
  139. package/dist/src/cli/commands/sync-setup.d.ts +2 -1
  140. package/dist/src/cli/commands/sync-setup.d.ts.map +1 -1
  141. package/dist/src/cli/commands/sync-setup.js +7 -6
  142. package/dist/src/cli/commands/sync-setup.js.map +1 -1
  143. package/dist/src/cli/commands/sync-status.js +1 -1
  144. package/dist/src/cli/commands/sync-status.js.map +1 -1
  145. package/dist/src/cli/commands/sync.d.ts +125 -0
  146. package/dist/src/cli/commands/sync.d.ts.map +1 -0
  147. package/dist/src/cli/commands/sync.js +323 -0
  148. package/dist/src/cli/commands/sync.js.map +1 -0
  149. package/dist/src/cli/commands/task.d.ts +41 -0
  150. package/dist/src/cli/commands/task.d.ts.map +1 -0
  151. package/dist/src/cli/commands/task.js +325 -0
  152. package/dist/src/cli/commands/task.js.map +1 -0
  153. package/dist/src/cli/commands/update-instructions.d.ts +4 -2
  154. package/dist/src/cli/commands/update-instructions.d.ts.map +1 -1
  155. package/dist/src/cli/commands/update-instructions.js +87 -160
  156. package/dist/src/cli/commands/update-instructions.js.map +1 -1
  157. package/dist/src/cli/commands/update.d.ts +5 -12
  158. package/dist/src/cli/commands/update.d.ts.map +1 -1
  159. package/dist/src/cli/commands/update.js +140 -174
  160. package/dist/src/cli/commands/update.js.map +1 -1
  161. package/dist/src/cli/commands/verify.d.ts +15 -0
  162. package/dist/src/cli/commands/verify.d.ts.map +1 -0
  163. package/dist/src/cli/commands/verify.js +57 -0
  164. package/dist/src/cli/commands/verify.js.map +1 -0
  165. package/dist/src/cli/helpers/get/bulk-get.d.ts +3 -3
  166. package/dist/src/cli/helpers/get/bulk-get.d.ts.map +1 -1
  167. package/dist/src/cli/helpers/get/bulk-get.js +8 -11
  168. package/dist/src/cli/helpers/get/bulk-get.js.map +1 -1
  169. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +1 -1
  170. package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +1 -1
  171. package/dist/src/cli/helpers/init/directory-structure.d.ts +9 -2
  172. package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -1
  173. package/dist/src/cli/helpers/init/directory-structure.js +74 -156
  174. package/dist/src/cli/helpers/init/directory-structure.js.map +1 -1
  175. package/dist/src/cli/helpers/init/external-import.js +1 -1
  176. package/dist/src/cli/helpers/init/external-import.js.map +1 -1
  177. package/dist/src/cli/helpers/init/git-hooks-installer.d.ts +58 -0
  178. package/dist/src/cli/helpers/init/git-hooks-installer.d.ts.map +1 -1
  179. package/dist/src/cli/helpers/init/git-hooks-installer.js +112 -8
  180. package/dist/src/cli/helpers/init/git-hooks-installer.js.map +1 -1
  181. package/dist/src/cli/helpers/init/gitignore-generator.d.ts +13 -0
  182. package/dist/src/cli/helpers/init/gitignore-generator.d.ts.map +1 -1
  183. package/dist/src/cli/helpers/init/gitignore-generator.js +40 -0
  184. package/dist/src/cli/helpers/init/gitignore-generator.js.map +1 -1
  185. package/dist/src/cli/helpers/init/index.d.ts +1 -1
  186. package/dist/src/cli/helpers/init/index.d.ts.map +1 -1
  187. package/dist/src/cli/helpers/init/index.js +1 -1
  188. package/dist/src/cli/helpers/init/index.js.map +1 -1
  189. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts +86 -7
  190. package/dist/src/cli/helpers/init/instruction-file-merger.d.ts.map +1 -1
  191. package/dist/src/cli/helpers/init/instruction-file-merger.js +641 -202
  192. package/dist/src/cli/helpers/init/instruction-file-merger.js.map +1 -1
  193. package/dist/src/cli/helpers/init/instruction-file-writer.d.ts +53 -0
  194. package/dist/src/cli/helpers/init/instruction-file-writer.d.ts.map +1 -0
  195. package/dist/src/cli/helpers/init/instruction-file-writer.js +85 -0
  196. package/dist/src/cli/helpers/init/instruction-file-writer.js.map +1 -0
  197. package/dist/src/cli/helpers/init/plugin-installer.d.ts.map +1 -1
  198. package/dist/src/cli/helpers/init/plugin-installer.js +9 -4
  199. package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
  200. package/dist/src/cli/helpers/init/provider-detection.d.ts +3 -2
  201. package/dist/src/cli/helpers/init/provider-detection.d.ts.map +1 -1
  202. package/dist/src/cli/helpers/init/provider-detection.js +5 -17
  203. package/dist/src/cli/helpers/init/provider-detection.js.map +1 -1
  204. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts +21 -4
  205. package/dist/src/cli/helpers/init/skill-creator-installer.d.ts.map +1 -1
  206. package/dist/src/cli/helpers/init/skill-creator-installer.js +30 -8
  207. package/dist/src/cli/helpers/init/skill-creator-installer.js.map +1 -1
  208. package/dist/src/cli/helpers/init/smart-defaults.d.ts +2 -3
  209. package/dist/src/cli/helpers/init/smart-defaults.d.ts.map +1 -1
  210. package/dist/src/cli/helpers/init/smart-defaults.js +14 -57
  211. package/dist/src/cli/helpers/init/smart-defaults.js.map +1 -1
  212. package/dist/src/cli/helpers/init/stack-detector.d.ts +20 -0
  213. package/dist/src/cli/helpers/init/stack-detector.d.ts.map +1 -0
  214. package/dist/src/cli/helpers/init/stack-detector.js +169 -0
  215. package/dist/src/cli/helpers/init/stack-detector.js.map +1 -0
  216. package/dist/src/cli/helpers/init/summary-banner.d.ts +1 -3
  217. package/dist/src/cli/helpers/init/summary-banner.d.ts.map +1 -1
  218. package/dist/src/cli/helpers/init/summary-banner.js +9 -9
  219. package/dist/src/cli/helpers/init/summary-banner.js.map +1 -1
  220. package/dist/src/cli/helpers/init/testing-config.js +3 -3
  221. package/dist/src/cli/helpers/init/testing-config.js.map +1 -1
  222. package/dist/src/cli/helpers/init/types.d.ts +3 -3
  223. package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
  224. package/dist/src/cli/helpers/init/workspace-setup.d.ts +13 -0
  225. package/dist/src/cli/helpers/init/workspace-setup.d.ts.map +1 -1
  226. package/dist/src/cli/helpers/init/workspace-setup.js +30 -0
  227. package/dist/src/cli/helpers/init/workspace-setup.js.map +1 -1
  228. package/dist/src/cli/helpers/issue-tracker/ado.js +2 -2
  229. package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
  230. package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
  231. package/dist/src/cli/helpers/issue-tracker/github.js +3 -4
  232. package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
  233. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  234. package/dist/src/cli/helpers/issue-tracker/index.js +4 -9
  235. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  236. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.d.ts.map +1 -1
  237. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js +7 -12
  238. package/dist/src/cli/helpers/issue-tracker/sync-config-writer.js.map +1 -1
  239. package/dist/src/config/types.d.ts +2 -2
  240. package/dist/src/core/config/config-manager.d.ts +8 -0
  241. package/dist/src/core/config/config-manager.d.ts.map +1 -1
  242. package/dist/src/core/config/config-manager.js +74 -1
  243. package/dist/src/core/config/config-manager.js.map +1 -1
  244. package/dist/src/core/config/index.d.ts +3 -0
  245. package/dist/src/core/config/index.d.ts.map +1 -1
  246. package/dist/src/core/config/index.js +3 -0
  247. package/dist/src/core/config/index.js.map +1 -1
  248. package/dist/src/core/config/limits-migrator.d.ts +11 -0
  249. package/dist/src/core/config/limits-migrator.d.ts.map +1 -0
  250. package/dist/src/core/config/limits-migrator.js +38 -0
  251. package/dist/src/core/config/limits-migrator.js.map +1 -0
  252. package/dist/src/core/config/migrate-config-file.d.ts +51 -0
  253. package/dist/src/core/config/migrate-config-file.d.ts.map +1 -0
  254. package/dist/src/core/config/migrate-config-file.js +95 -0
  255. package/dist/src/core/config/migrate-config-file.js.map +1 -0
  256. package/dist/src/core/config/migrate-to-2.d.ts +60 -0
  257. package/dist/src/core/config/migrate-to-2.d.ts.map +1 -0
  258. package/dist/src/core/config/migrate-to-2.js +185 -0
  259. package/dist/src/core/config/migrate-to-2.js.map +1 -0
  260. package/dist/src/core/config/schema-version.d.ts +12 -0
  261. package/dist/src/core/config/schema-version.d.ts.map +1 -0
  262. package/dist/src/core/config/schema-version.js +12 -0
  263. package/dist/src/core/config/schema-version.js.map +1 -0
  264. package/dist/src/core/config/types.d.ts +81 -422
  265. package/dist/src/core/config/types.d.ts.map +1 -1
  266. package/dist/src/core/config/types.js +31 -163
  267. package/dist/src/core/config/types.js.map +1 -1
  268. package/dist/src/core/discrepancy/increment-generator.js +1 -1
  269. package/dist/src/core/discrepancy/increment-generator.js.map +1 -1
  270. package/dist/src/core/doctor/checkers/configuration-checker.d.ts +6 -2
  271. package/dist/src/core/doctor/checkers/configuration-checker.d.ts.map +1 -1
  272. package/dist/src/core/doctor/checkers/configuration-checker.js +58 -79
  273. package/dist/src/core/doctor/checkers/configuration-checker.js.map +1 -1
  274. package/dist/src/core/doctor/checkers/environment-checker.d.ts.map +1 -1
  275. package/dist/src/core/doctor/checkers/environment-checker.js +18 -8
  276. package/dist/src/core/doctor/checkers/environment-checker.js.map +1 -1
  277. package/dist/src/core/doctor/checkers/git-checker.d.ts +7 -0
  278. package/dist/src/core/doctor/checkers/git-checker.d.ts.map +1 -1
  279. package/dist/src/core/doctor/checkers/git-checker.js +73 -0
  280. package/dist/src/core/doctor/checkers/git-checker.js.map +1 -1
  281. package/dist/src/core/doctor/checkers/hooks-checker.d.ts +13 -5
  282. package/dist/src/core/doctor/checkers/hooks-checker.d.ts.map +1 -1
  283. package/dist/src/core/doctor/checkers/hooks-checker.js +105 -129
  284. package/dist/src/core/doctor/checkers/hooks-checker.js.map +1 -1
  285. package/dist/src/core/doctor/checkers/hygiene-checker.d.ts +21 -0
  286. package/dist/src/core/doctor/checkers/hygiene-checker.d.ts.map +1 -0
  287. package/dist/src/core/doctor/checkers/hygiene-checker.js +110 -0
  288. package/dist/src/core/doctor/checkers/hygiene-checker.js.map +1 -0
  289. package/dist/src/core/doctor/checkers/increments-checker.js +1 -1
  290. package/dist/src/core/doctor/checkers/increments-checker.js.map +1 -1
  291. package/dist/src/core/doctor/checkers/installation-health-checker.d.ts +66 -5
  292. package/dist/src/core/doctor/checkers/installation-health-checker.d.ts.map +1 -1
  293. package/dist/src/core/doctor/checkers/installation-health-checker.js +237 -78
  294. package/dist/src/core/doctor/checkers/installation-health-checker.js.map +1 -1
  295. package/dist/src/core/doctor/checkers/instruction-files-checker.d.ts +33 -0
  296. package/dist/src/core/doctor/checkers/instruction-files-checker.d.ts.map +1 -0
  297. package/dist/src/core/doctor/checkers/instruction-files-checker.js +186 -0
  298. package/dist/src/core/doctor/checkers/instruction-files-checker.js.map +1 -0
  299. package/dist/src/core/doctor/checkers/project-structure-checker.d.ts.map +1 -1
  300. package/dist/src/core/doctor/checkers/project-structure-checker.js +6 -5
  301. package/dist/src/core/doctor/checkers/project-structure-checker.js.map +1 -1
  302. package/dist/src/core/doctor/doctor.js +5 -5
  303. package/dist/src/core/doctor/doctor.js.map +1 -1
  304. package/dist/src/core/doctor/types.d.ts +2 -0
  305. package/dist/src/core/doctor/types.d.ts.map +1 -1
  306. package/dist/src/core/doctor/types.js.map +1 -1
  307. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts +3 -11
  308. package/dist/src/core/hooks/LifecycleHookDispatcher.d.ts.map +1 -1
  309. package/dist/src/core/hooks/LifecycleHookDispatcher.js +27 -82
  310. package/dist/src/core/hooks/LifecycleHookDispatcher.js.map +1 -1
  311. package/dist/src/core/hooks/handlers/hook-router.d.ts +10 -7
  312. package/dist/src/core/hooks/handlers/hook-router.d.ts.map +1 -1
  313. package/dist/src/core/hooks/handlers/hook-router.js +47 -93
  314. package/dist/src/core/hooks/handlers/hook-router.js.map +1 -1
  315. package/dist/src/core/hooks/handlers/index.d.ts +4 -4
  316. package/dist/src/core/hooks/handlers/index.d.ts.map +1 -1
  317. package/dist/src/core/hooks/handlers/index.js +3 -3
  318. package/dist/src/core/hooks/handlers/index.js.map +1 -1
  319. package/dist/src/core/hooks/handlers/pre-compact.d.ts +14 -24
  320. package/dist/src/core/hooks/handlers/pre-compact.d.ts.map +1 -1
  321. package/dist/src/core/hooks/handlers/pre-compact.js +58 -89
  322. package/dist/src/core/hooks/handlers/pre-compact.js.map +1 -1
  323. package/dist/src/core/hooks/handlers/pre-tool-use.d.ts +9 -4
  324. package/dist/src/core/hooks/handlers/pre-tool-use.d.ts.map +1 -1
  325. package/dist/src/core/hooks/handlers/pre-tool-use.js +40 -346
  326. package/dist/src/core/hooks/handlers/pre-tool-use.js.map +1 -1
  327. package/dist/src/core/hooks/handlers/session-start.d.ts +11 -3
  328. package/dist/src/core/hooks/handlers/session-start.d.ts.map +1 -1
  329. package/dist/src/core/hooks/handlers/session-start.js +131 -78
  330. package/dist/src/core/hooks/handlers/session-start.js.map +1 -1
  331. package/dist/src/core/hooks/handlers/stop.d.ts +24 -0
  332. package/dist/src/core/hooks/handlers/stop.d.ts.map +1 -0
  333. package/dist/src/core/hooks/handlers/stop.js +184 -0
  334. package/dist/src/core/hooks/handlers/stop.js.map +1 -0
  335. package/dist/src/core/hooks/handlers/types.d.ts +61 -41
  336. package/dist/src/core/hooks/handlers/types.d.ts.map +1 -1
  337. package/dist/src/core/hooks/handlers/types.js +100 -16
  338. package/dist/src/core/hooks/handlers/types.js.map +1 -1
  339. package/dist/src/core/hooks/handlers/utils.d.ts +27 -9
  340. package/dist/src/core/hooks/handlers/utils.d.ts.map +1 -1
  341. package/dist/src/core/hooks/handlers/utils.js +86 -26
  342. package/dist/src/core/hooks/handlers/utils.js.map +1 -1
  343. package/dist/src/core/increment/auto-transition-manager.d.ts.map +1 -1
  344. package/dist/src/core/increment/auto-transition-manager.js +11 -9
  345. package/dist/src/core/increment/auto-transition-manager.js.map +1 -1
  346. package/dist/src/core/increment/completion-validator.d.ts +8 -20
  347. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  348. package/dist/src/core/increment/completion-validator.js +43 -239
  349. package/dist/src/core/increment/completion-validator.js.map +1 -1
  350. package/dist/src/core/increment/discipline-checker.d.ts +17 -38
  351. package/dist/src/core/increment/discipline-checker.d.ts.map +1 -1
  352. package/dist/src/core/increment/discipline-checker.js +49 -143
  353. package/dist/src/core/increment/discipline-checker.js.map +1 -1
  354. package/dist/src/core/increment/increment-artifacts.d.ts +38 -0
  355. package/dist/src/core/increment/increment-artifacts.d.ts.map +1 -0
  356. package/dist/src/core/increment/increment-artifacts.js +57 -0
  357. package/dist/src/core/increment/increment-artifacts.js.map +1 -0
  358. package/dist/src/core/increment/increment-reopener.d.ts +0 -27
  359. package/dist/src/core/increment/increment-reopener.d.ts.map +1 -1
  360. package/dist/src/core/increment/increment-reopener.js +3 -55
  361. package/dist/src/core/increment/increment-reopener.js.map +1 -1
  362. package/dist/src/core/increment/metadata-manager.d.ts +9 -5
  363. package/dist/src/core/increment/metadata-manager.d.ts.map +1 -1
  364. package/dist/src/core/increment/metadata-manager.js +70 -13
  365. package/dist/src/core/increment/metadata-manager.js.map +1 -1
  366. package/dist/src/core/increment/spec-frontmatter-updater.d.ts.map +1 -1
  367. package/dist/src/core/increment/spec-frontmatter-updater.js +11 -3
  368. package/dist/src/core/increment/spec-frontmatter-updater.js.map +1 -1
  369. package/dist/src/core/increment/status-auto-transition.d.ts +7 -3
  370. package/dist/src/core/increment/status-auto-transition.d.ts.map +1 -1
  371. package/dist/src/core/increment/status-auto-transition.js +16 -12
  372. package/dist/src/core/increment/status-auto-transition.js.map +1 -1
  373. package/dist/src/core/increment/status-change-sync-trigger.d.ts +0 -5
  374. package/dist/src/core/increment/status-change-sync-trigger.d.ts.map +1 -1
  375. package/dist/src/core/increment/status-change-sync-trigger.js +42 -39
  376. package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -1
  377. package/dist/src/core/increment/status-commands.d.ts +21 -1
  378. package/dist/src/core/increment/status-commands.d.ts.map +1 -1
  379. package/dist/src/core/increment/status-commands.js +167 -88
  380. package/dist/src/core/increment/status-commands.js.map +1 -1
  381. package/dist/src/core/increment/template-creator.d.ts +24 -0
  382. package/dist/src/core/increment/template-creator.d.ts.map +1 -1
  383. package/dist/src/core/increment/template-creator.js +127 -175
  384. package/dist/src/core/increment/template-creator.js.map +1 -1
  385. package/dist/src/core/increment/types.d.ts +7 -21
  386. package/dist/src/core/increment/types.d.ts.map +1 -1
  387. package/dist/src/core/increment/types.js +1 -2
  388. package/dist/src/core/increment/types.js.map +1 -1
  389. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts +7 -4
  390. package/dist/src/core/lazy-loading/llm-plugin-detector.d.ts.map +1 -1
  391. package/dist/src/core/lazy-loading/llm-plugin-detector.js +14 -17
  392. package/dist/src/core/lazy-loading/llm-plugin-detector.js.map +1 -1
  393. package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts +0 -6
  394. package/dist/src/core/living-docs/intelligent-analyzer/index.d.ts.map +1 -1
  395. package/dist/src/core/living-docs/intelligent-analyzer/index.js +1 -153
  396. package/dist/src/core/living-docs/intelligent-analyzer/index.js.map +1 -1
  397. package/dist/src/core/living-docs/living-docs-enabled.d.ts +21 -0
  398. package/dist/src/core/living-docs/living-docs-enabled.d.ts.map +1 -0
  399. package/dist/src/core/living-docs/living-docs-enabled.js +31 -0
  400. package/dist/src/core/living-docs/living-docs-enabled.js.map +1 -0
  401. package/dist/src/core/living-docs/living-docs-sync.d.ts +9 -11
  402. package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
  403. package/dist/src/core/living-docs/living-docs-sync.js +30 -49
  404. package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
  405. package/dist/src/core/living-docs/types.d.ts +7 -0
  406. package/dist/src/core/living-docs/types.d.ts.map +1 -1
  407. package/dist/src/core/qa/qa-runner.d.ts.map +1 -1
  408. package/dist/src/core/qa/qa-runner.js +7 -26
  409. package/dist/src/core/qa/qa-runner.js.map +1 -1
  410. package/dist/src/core/repo-structure/setup-summary.js +1 -1
  411. package/dist/src/core/repo-structure/setup-summary.js.map +1 -1
  412. package/dist/src/core/rubric/rubric-evaluator.d.ts +2 -0
  413. package/dist/src/core/rubric/rubric-evaluator.d.ts.map +1 -1
  414. package/dist/src/core/rubric/rubric-evaluator.js +33 -0
  415. package/dist/src/core/rubric/rubric-evaluator.js.map +1 -1
  416. package/dist/src/core/rubric/rubric-generator.d.ts.map +1 -1
  417. package/dist/src/core/rubric/rubric-generator.js +8 -15
  418. package/dist/src/core/rubric/rubric-generator.js.map +1 -1
  419. package/dist/src/core/rubric/rubric-parser.js +1 -1
  420. package/dist/src/core/rubric/rubric-parser.js.map +1 -1
  421. package/dist/src/core/rubric/types.d.ts +8 -2
  422. package/dist/src/core/rubric/types.d.ts.map +1 -1
  423. package/dist/src/core/rubric/types.js.map +1 -1
  424. package/dist/src/core/session/handoff-doc-format.d.ts +37 -108
  425. package/dist/src/core/session/handoff-doc-format.d.ts.map +1 -1
  426. package/dist/src/core/session/handoff-doc-format.js +84 -179
  427. package/dist/src/core/session/handoff-doc-format.js.map +1 -1
  428. package/dist/src/core/session/handoff-git-state.d.ts +3 -14
  429. package/dist/src/core/session/handoff-git-state.d.ts.map +1 -1
  430. package/dist/src/core/session/handoff-git-state.js +68 -124
  431. package/dist/src/core/session/handoff-git-state.js.map +1 -1
  432. package/dist/src/core/session/install-handoff-context.d.ts.map +1 -1
  433. package/dist/src/core/session/install-handoff-context.js +15 -24
  434. package/dist/src/core/session/install-handoff-context.js.map +1 -1
  435. package/dist/src/core/session/work-handoff.d.ts +21 -55
  436. package/dist/src/core/session/work-handoff.d.ts.map +1 -1
  437. package/dist/src/core/session/work-handoff.js +146 -261
  438. package/dist/src/core/session/work-handoff.js.map +1 -1
  439. package/dist/src/core/skill-gen/types.d.ts +23 -1
  440. package/dist/src/core/skill-gen/types.d.ts.map +1 -1
  441. package/dist/src/core/skill-gen/types.js +1 -1
  442. package/dist/src/core/skills/skill-judge.d.ts +0 -7
  443. package/dist/src/core/skills/skill-judge.d.ts.map +1 -1
  444. package/dist/src/core/skills/skill-judge.js +10 -3
  445. package/dist/src/core/skills/skill-judge.js.map +1 -1
  446. package/dist/src/core/state/state-gc.d.ts +65 -0
  447. package/dist/src/core/state/state-gc.d.ts.map +1 -0
  448. package/dist/src/core/state/state-gc.js +234 -0
  449. package/dist/src/core/state/state-gc.js.map +1 -0
  450. package/dist/src/core/status-line/status-line-updater.d.ts.map +1 -1
  451. package/dist/src/core/status-line/status-line-updater.js +1 -0
  452. package/dist/src/core/status-line/status-line-updater.js.map +1 -1
  453. package/dist/src/core/status-line-validator.js +2 -2
  454. package/dist/src/core/status-line-validator.js.map +1 -1
  455. package/dist/src/core/tasks/closure-gate.d.ts +27 -0
  456. package/dist/src/core/tasks/closure-gate.d.ts.map +1 -0
  457. package/dist/src/core/tasks/closure-gate.js +72 -0
  458. package/dist/src/core/tasks/closure-gate.js.map +1 -0
  459. package/dist/src/core/tasks/increment-updated.d.ts +27 -0
  460. package/dist/src/core/tasks/increment-updated.d.ts.map +1 -0
  461. package/dist/src/core/tasks/increment-updated.js +47 -0
  462. package/dist/src/core/tasks/increment-updated.js.map +1 -0
  463. package/dist/src/core/tasks/ledger.d.ts +115 -0
  464. package/dist/src/core/tasks/ledger.d.ts.map +1 -0
  465. package/dist/src/core/tasks/ledger.js +250 -0
  466. package/dist/src/core/tasks/ledger.js.map +1 -0
  467. package/dist/src/core/tasks/resolve-increment.d.ts +47 -0
  468. package/dist/src/core/tasks/resolve-increment.d.ts.map +1 -0
  469. package/dist/src/core/tasks/resolve-increment.js +153 -0
  470. package/dist/src/core/tasks/resolve-increment.js.map +1 -0
  471. package/dist/src/core/tasks/run-shell.d.ts +27 -0
  472. package/dist/src/core/tasks/run-shell.d.ts.map +1 -0
  473. package/dist/src/core/tasks/run-shell.js +67 -0
  474. package/dist/src/core/tasks/run-shell.js.map +1 -0
  475. package/dist/src/core/tasks/supersede.d.ts +24 -0
  476. package/dist/src/core/tasks/supersede.d.ts.map +1 -0
  477. package/dist/src/core/tasks/supersede.js +86 -0
  478. package/dist/src/core/tasks/supersede.js.map +1 -0
  479. package/dist/src/core/tasks/task-board.d.ts +75 -0
  480. package/dist/src/core/tasks/task-board.d.ts.map +1 -0
  481. package/dist/src/core/tasks/task-board.js +259 -0
  482. package/dist/src/core/tasks/task-board.js.map +1 -0
  483. package/dist/src/core/tasks/task-id.d.ts +24 -0
  484. package/dist/src/core/tasks/task-id.d.ts.map +1 -0
  485. package/dist/src/core/tasks/task-id.js +24 -0
  486. package/dist/src/core/tasks/task-id.js.map +1 -0
  487. package/dist/src/core/tasks/verify-runner.d.ts +87 -0
  488. package/dist/src/core/tasks/verify-runner.d.ts.map +1 -0
  489. package/dist/src/core/tasks/verify-runner.js +166 -0
  490. package/dist/src/core/tasks/verify-runner.js.map +1 -0
  491. package/dist/src/core/team-lead/template-loader.js +1 -1
  492. package/dist/src/core/team-lead/template-loader.js.map +1 -1
  493. package/dist/src/core/types/increment-metadata.d.ts +86 -35
  494. package/dist/src/core/types/increment-metadata.d.ts.map +1 -1
  495. package/dist/src/core/types/increment-metadata.js +115 -47
  496. package/dist/src/core/types/increment-metadata.js.map +1 -1
  497. package/dist/src/core/validation/increment-structure-validator.d.ts +2 -1
  498. package/dist/src/core/validation/increment-structure-validator.d.ts.map +1 -1
  499. package/dist/src/core/validation/increment-structure-validator.js +3 -13
  500. package/dist/src/core/validation/increment-structure-validator.js.map +1 -1
  501. package/dist/src/dashboard/server/dashboard-server.d.ts.map +1 -1
  502. package/dist/src/dashboard/server/dashboard-server.js +12 -19
  503. package/dist/src/dashboard/server/dashboard-server.js.map +1 -1
  504. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js +1 -1
  505. package/dist/src/dashboard/server/data/dashboard-data-aggregator.js.map +1 -1
  506. package/dist/src/generators/spec/task-parser.d.ts +18 -2
  507. package/dist/src/generators/spec/task-parser.d.ts.map +1 -1
  508. package/dist/src/generators/spec/task-parser.js +74 -6
  509. package/dist/src/generators/spec/task-parser.js.map +1 -1
  510. package/dist/src/importers/github-importer.d.ts.map +1 -1
  511. package/dist/src/importers/github-importer.js +6 -4
  512. package/dist/src/importers/github-importer.js.map +1 -1
  513. package/dist/src/importers/import-to-increment.js +2 -2
  514. package/dist/src/importers/import-to-increment.js.map +1 -1
  515. package/dist/src/init/research/types.d.ts +1 -1
  516. package/dist/src/progress/us-progress-tracker.d.ts +4 -0
  517. package/dist/src/progress/us-progress-tracker.d.ts.map +1 -1
  518. package/dist/src/progress/us-progress-tracker.js +10 -3
  519. package/dist/src/progress/us-progress-tracker.js.map +1 -1
  520. package/dist/src/sync/config.js +2 -2
  521. package/dist/src/sync/config.js.map +1 -1
  522. package/dist/src/sync/external-sync-configured.d.ts +23 -0
  523. package/dist/src/sync/external-sync-configured.d.ts.map +1 -0
  524. package/dist/src/sync/external-sync-configured.js +51 -0
  525. package/dist/src/sync/external-sync-configured.js.map +1 -0
  526. package/dist/src/sync/github-reconciler.js +2 -2
  527. package/dist/src/sync/github-reconciler.js.map +1 -1
  528. package/dist/src/sync/sync-coordinator.js +4 -4
  529. package/dist/src/sync/sync-coordinator.js.map +1 -1
  530. package/dist/src/sync/sync-target-resolver.js +1 -1
  531. package/dist/src/sync/sync-target-resolver.js.map +1 -1
  532. package/dist/src/utils/auth-helpers.d.ts +37 -16
  533. package/dist/src/utils/auth-helpers.d.ts.map +1 -1
  534. package/dist/src/utils/auth-helpers.js +88 -74
  535. package/dist/src/utils/auth-helpers.js.map +1 -1
  536. package/dist/src/utils/cost-reporter.js +1 -1
  537. package/dist/src/utils/cost-reporter.js.map +1 -1
  538. package/dist/src/utils/notification-constants.js +1 -1
  539. package/dist/src/utils/notification-constants.js.map +1 -1
  540. package/dist/src/utils/port-reachable.d.ts +3 -0
  541. package/dist/src/utils/port-reachable.d.ts.map +1 -0
  542. package/dist/src/utils/port-reachable.js +22 -0
  543. package/dist/src/utils/port-reachable.js.map +1 -0
  544. package/package.json +14 -8
  545. package/plugins/PLUGINS-INDEX.md +25 -44
  546. package/plugins/specweave/.claude-plugin/plugin.json +10 -15
  547. package/plugins/specweave/.lint/skill-lint.test.ts +93 -0
  548. package/plugins/specweave/PLUGIN.md +40 -105
  549. package/plugins/specweave/agents/sw-closer.md +16 -25
  550. package/plugins/specweave/defaults/rubric-defaults.md +11 -11
  551. package/plugins/specweave/hooks/hooks.json +13 -65
  552. package/plugins/specweave/hooks/run-worker.mjs +229 -0
  553. package/plugins/specweave/hooks/run.mjs +72 -0
  554. package/plugins/specweave/lib/external-sync/README.md +2 -3
  555. package/plugins/specweave/lib/integrations/github/github-access-error.js +2 -2
  556. package/plugins/specweave/lib/integrations/github/github-access-error.ts +3 -3
  557. package/plugins/specweave/lib/integrations/github/github-client-v2.js +19 -40
  558. package/plugins/specweave/lib/integrations/github/github-client-v2.ts +19 -40
  559. package/plugins/specweave/lib/integrations/github/github-feature-sync-cli.js +1 -1
  560. package/plugins/specweave/lib/integrations/github/github-feature-sync-cli.ts +1 -1
  561. package/plugins/specweave/lib/integrations/github/github-feature-sync.js +2 -2
  562. package/plugins/specweave/lib/integrations/github/github-feature-sync.ts +2 -2
  563. package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js +11 -9
  564. package/plugins/specweave/lib/vendor/core/increment/auto-transition-manager.js.map +1 -1
  565. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.d.ts +9 -5
  566. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +70 -13
  567. package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
  568. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.d.ts +7 -3
  569. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +16 -12
  570. package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -1
  571. package/plugins/specweave/lib/vendor/core/tasks/task-id.d.ts +24 -0
  572. package/plugins/specweave/lib/vendor/core/tasks/task-id.js +24 -0
  573. package/plugins/specweave/lib/vendor/core/tasks/task-id.js.map +1 -0
  574. package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +86 -35
  575. package/plugins/specweave/lib/vendor/core/types/increment-metadata.js +115 -47
  576. package/plugins/specweave/lib/vendor/core/types/increment-metadata.js.map +1 -1
  577. package/plugins/specweave/lib/vendor/generators/spec/task-parser.d.ts +18 -2
  578. package/plugins/specweave/lib/vendor/generators/spec/task-parser.js +74 -6
  579. package/plugins/specweave/lib/vendor/generators/spec/task-parser.js.map +1 -1
  580. package/plugins/specweave/lib/vendor/sync/config.js +2 -2
  581. package/plugins/specweave/lib/vendor/sync/config.js.map +1 -1
  582. package/plugins/specweave/lib/vendor/sync/github-reconciler.js +2 -2
  583. package/plugins/specweave/lib/vendor/sync/github-reconciler.js.map +1 -1
  584. package/plugins/specweave/lib/vendor/utils/auth-helpers.d.ts +37 -16
  585. package/plugins/specweave/lib/vendor/utils/auth-helpers.js +88 -74
  586. package/plugins/specweave/lib/vendor/utils/auth-helpers.js.map +1 -1
  587. package/plugins/specweave/marketplace.json +99 -91
  588. package/plugins/specweave/reference/ado/ado-specweave-mapping.md +5 -6
  589. package/plugins/specweave/reference/github/github-specweave-mapping.md +3 -4
  590. package/plugins/specweave/reference/jira/jira-specweave-mapping.md +5 -5
  591. package/plugins/specweave/scripts/README.md +23 -168
  592. package/plugins/specweave/scripts/jobs.js +3 -2
  593. package/plugins/specweave/scripts/progress.js +9 -8
  594. package/plugins/specweave/scripts/status.js +7 -6
  595. package/plugins/specweave/skills/auto/SKILL.md +47 -263
  596. package/plugins/specweave/skills/brainstorm/SKILL.md +53 -559
  597. package/plugins/specweave/skills/do/SKILL.md +31 -249
  598. package/plugins/specweave/skills/done/SKILL.md +23 -264
  599. package/plugins/specweave/skills/handoff/SKILL.md +22 -40
  600. package/plugins/specweave/skills/increment/SKILL.md +81 -489
  601. package/plugins/specweave/skills/qa/SKILL.md +45 -0
  602. package/plugins/specweave/skills/review/SKILL.md +102 -0
  603. package/plugins/specweave/skills/sync/SKILL.md +63 -0
  604. package/plugins/specweave/skills/team/SKILL.md +89 -0
  605. package/plugins/specweave/skills/{team-lead → team}/agents/_protocol.md +1 -1
  606. package/plugins/specweave/skills/{team-lead → team}/agents/architect.md +4 -2
  607. package/plugins/specweave/skills/{team-lead → team}/agents/backend.md +3 -3
  608. package/plugins/specweave/skills/{team-lead → team}/agents/database.md +2 -2
  609. package/plugins/specweave/skills/{team-lead → team}/agents/frontend.md +2 -2
  610. package/plugins/specweave/skills/{team-lead → team}/agents/pm.md +3 -2
  611. package/plugins/specweave/skills/{team-lead → team}/agents/security.md +2 -2
  612. package/plugins/specweave/skills/{team-lead → team}/agents/testing.md +4 -4
  613. package/src/templates/.gitattributes.template +3 -0
  614. package/src/templates/.gitignore.template +63 -27
  615. package/src/templates/AGENTS.md.template +52 -423
  616. package/src/templates/CLAUDE.md.template +50 -290
  617. package/src/templates/README.md.template +16 -146
  618. package/src/templates/git-hooks/pre-commit.template +22 -26
  619. package/dist/dashboard/assets/index-DAfC5dt1.css +0 -1
  620. package/dist/src/adapters/agents-md-generator.d.ts +0 -48
  621. package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
  622. package/dist/src/adapters/agents-md-generator.js +0 -129
  623. package/dist/src/adapters/agents-md-generator.js.map +0 -1
  624. package/dist/src/adapters/claude-md-generator.d.ts +0 -78
  625. package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
  626. package/dist/src/adapters/claude-md-generator.js +0 -248
  627. package/dist/src/adapters/claude-md-generator.js.map +0 -1
  628. package/dist/src/adapters/template-utils.d.ts +0 -16
  629. package/dist/src/adapters/template-utils.d.ts.map +0 -1
  630. package/dist/src/adapters/template-utils.js +0 -61
  631. package/dist/src/adapters/template-utils.js.map +0 -1
  632. package/dist/src/cli/commands/logs.d.ts +0 -13
  633. package/dist/src/cli/commands/logs.d.ts.map +0 -1
  634. package/dist/src/cli/commands/logs.js +0 -110
  635. package/dist/src/cli/commands/logs.js.map +0 -1
  636. package/dist/src/cli/commands/reflect-stop.d.ts +0 -30
  637. package/dist/src/cli/commands/reflect-stop.d.ts.map +0 -1
  638. package/dist/src/cli/commands/reflect-stop.js +0 -63
  639. package/dist/src/cli/commands/reflect-stop.js.map +0 -1
  640. package/dist/src/cli/commands/revert-wip-limit.d.ts +0 -8
  641. package/dist/src/cli/commands/revert-wip-limit.d.ts.map +0 -1
  642. package/dist/src/cli/commands/revert-wip-limit.js +0 -65
  643. package/dist/src/cli/commands/revert-wip-limit.js.map +0 -1
  644. package/dist/src/cli/commands/set-sync-target.d.ts +0 -41
  645. package/dist/src/cli/commands/set-sync-target.d.ts.map +0 -1
  646. package/dist/src/cli/commands/set-sync-target.js +0 -126
  647. package/dist/src/cli/commands/set-sync-target.js.map +0 -1
  648. package/dist/src/cli/commands/sync-flush.d.ts +0 -31
  649. package/dist/src/cli/commands/sync-flush.d.ts.map +0 -1
  650. package/dist/src/cli/commands/sync-flush.js +0 -114
  651. package/dist/src/cli/commands/sync-flush.js.map +0 -1
  652. package/dist/src/cli/commands/sync-scheduled.d.ts +0 -38
  653. package/dist/src/cli/commands/sync-scheduled.d.ts.map +0 -1
  654. package/dist/src/cli/commands/sync-scheduled.js +0 -171
  655. package/dist/src/cli/commands/sync-scheduled.js.map +0 -1
  656. package/dist/src/cli/commands/sync-task.d.ts +0 -16
  657. package/dist/src/cli/commands/sync-task.d.ts.map +0 -1
  658. package/dist/src/cli/commands/sync-task.js +0 -42
  659. package/dist/src/cli/commands/sync-task.js.map +0 -1
  660. package/dist/src/cli/commands/validate-jira.d.ts +0 -35
  661. package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
  662. package/dist/src/cli/commands/validate-jira.js +0 -116
  663. package/dist/src/cli/commands/validate-jira.js.map +0 -1
  664. package/dist/src/cli/helpers/init/claude-settings-permissions.d.ts +0 -20
  665. package/dist/src/cli/helpers/init/claude-settings-permissions.d.ts.map +0 -1
  666. package/dist/src/cli/helpers/init/claude-settings-permissions.js +0 -71
  667. package/dist/src/cli/helpers/init/claude-settings-permissions.js.map +0 -1
  668. package/dist/src/cli/helpers/init/dci-scripts-installer.d.ts +0 -21
  669. package/dist/src/cli/helpers/init/dci-scripts-installer.d.ts.map +0 -1
  670. package/dist/src/cli/helpers/init/dci-scripts-installer.js +0 -58
  671. package/dist/src/cli/helpers/init/dci-scripts-installer.js.map +0 -1
  672. package/dist/src/cli/helpers/init/deep-interview-config.d.ts +0 -35
  673. package/dist/src/cli/helpers/init/deep-interview-config.d.ts.map +0 -1
  674. package/dist/src/cli/helpers/init/deep-interview-config.js +0 -261
  675. package/dist/src/cli/helpers/init/deep-interview-config.js.map +0 -1
  676. package/dist/src/cli/helpers/init/quality-gates-config.d.ts +0 -57
  677. package/dist/src/cli/helpers/init/quality-gates-config.d.ts.map +0 -1
  678. package/dist/src/cli/helpers/init/quality-gates-config.js +0 -306
  679. package/dist/src/cli/helpers/init/quality-gates-config.js.map +0 -1
  680. package/dist/src/cli/helpers/init/translation-config.d.ts +0 -96
  681. package/dist/src/cli/helpers/init/translation-config.d.ts.map +0 -1
  682. package/dist/src/cli/helpers/init/translation-config.js +0 -472
  683. package/dist/src/cli/helpers/init/translation-config.js.map +0 -1
  684. package/dist/src/core/dashboard/dashboard-data.d.ts +0 -156
  685. package/dist/src/core/dashboard/dashboard-data.d.ts.map +0 -1
  686. package/dist/src/core/dashboard/dashboard-data.js +0 -186
  687. package/dist/src/core/dashboard/dashboard-data.js.map +0 -1
  688. package/dist/src/core/dashboard/index.d.ts +0 -9
  689. package/dist/src/core/dashboard/index.d.ts.map +0 -1
  690. package/dist/src/core/dashboard/index.js +0 -9
  691. package/dist/src/core/dashboard/index.js.map +0 -1
  692. package/dist/src/core/doctor/checkers/plugin-currency-checker.d.ts +0 -26
  693. package/dist/src/core/doctor/checkers/plugin-currency-checker.d.ts.map +0 -1
  694. package/dist/src/core/doctor/checkers/plugin-currency-checker.js +0 -128
  695. package/dist/src/core/doctor/checkers/plugin-currency-checker.js.map +0 -1
  696. package/dist/src/core/doctor/checkers/skill-currency-checker.d.ts +0 -25
  697. package/dist/src/core/doctor/checkers/skill-currency-checker.d.ts.map +0 -1
  698. package/dist/src/core/doctor/checkers/skill-currency-checker.js +0 -98
  699. package/dist/src/core/doctor/checkers/skill-currency-checker.js.map +0 -1
  700. package/dist/src/core/hooks/HealthReporter.d.ts +0 -57
  701. package/dist/src/core/hooks/HealthReporter.d.ts.map +0 -1
  702. package/dist/src/core/hooks/HealthReporter.js +0 -260
  703. package/dist/src/core/hooks/HealthReporter.js.map +0 -1
  704. package/dist/src/core/hooks/HookAutoFixer.d.ts +0 -44
  705. package/dist/src/core/hooks/HookAutoFixer.d.ts.map +0 -1
  706. package/dist/src/core/hooks/HookAutoFixer.js +0 -168
  707. package/dist/src/core/hooks/HookAutoFixer.js.map +0 -1
  708. package/dist/src/core/hooks/HookExecutor.d.ts +0 -57
  709. package/dist/src/core/hooks/HookExecutor.d.ts.map +0 -1
  710. package/dist/src/core/hooks/HookExecutor.js +0 -268
  711. package/dist/src/core/hooks/HookExecutor.js.map +0 -1
  712. package/dist/src/core/hooks/HookHealthChecker.d.ts +0 -52
  713. package/dist/src/core/hooks/HookHealthChecker.d.ts.map +0 -1
  714. package/dist/src/core/hooks/HookHealthChecker.js +0 -202
  715. package/dist/src/core/hooks/HookHealthChecker.js.map +0 -1
  716. package/dist/src/core/hooks/HookScanner.d.ts +0 -105
  717. package/dist/src/core/hooks/HookScanner.d.ts.map +0 -1
  718. package/dist/src/core/hooks/HookScanner.js +0 -307
  719. package/dist/src/core/hooks/HookScanner.js.map +0 -1
  720. package/dist/src/core/hooks/feature-id-resolver.d.ts +0 -16
  721. package/dist/src/core/hooks/feature-id-resolver.d.ts.map +0 -1
  722. package/dist/src/core/hooks/feature-id-resolver.js +0 -60
  723. package/dist/src/core/hooks/feature-id-resolver.js.map +0 -1
  724. package/dist/src/core/hooks/github-project-sync.d.ts +0 -16
  725. package/dist/src/core/hooks/github-project-sync.d.ts.map +0 -1
  726. package/dist/src/core/hooks/github-project-sync.js +0 -37
  727. package/dist/src/core/hooks/github-project-sync.js.map +0 -1
  728. package/dist/src/core/hooks/handlers/banner-check.d.ts +0 -42
  729. package/dist/src/core/hooks/handlers/banner-check.d.ts.map +0 -1
  730. package/dist/src/core/hooks/handlers/banner-check.js +0 -180
  731. package/dist/src/core/hooks/handlers/banner-check.js.map +0 -1
  732. package/dist/src/core/hooks/handlers/banner-state.d.ts +0 -44
  733. package/dist/src/core/hooks/handlers/banner-state.d.ts.map +0 -1
  734. package/dist/src/core/hooks/handlers/banner-state.js +0 -100
  735. package/dist/src/core/hooks/handlers/banner-state.js.map +0 -1
  736. package/dist/src/core/hooks/handlers/post-tool-use-analytics.d.ts +0 -11
  737. package/dist/src/core/hooks/handlers/post-tool-use-analytics.d.ts.map +0 -1
  738. package/dist/src/core/hooks/handlers/post-tool-use-analytics.js +0 -75
  739. package/dist/src/core/hooks/handlers/post-tool-use-analytics.js.map +0 -1
  740. package/dist/src/core/hooks/handlers/post-tool-use.d.ts +0 -11
  741. package/dist/src/core/hooks/handlers/post-tool-use.d.ts.map +0 -1
  742. package/dist/src/core/hooks/handlers/post-tool-use.js +0 -76
  743. package/dist/src/core/hooks/handlers/post-tool-use.js.map +0 -1
  744. package/dist/src/core/hooks/handlers/stop-auto.d.ts +0 -22
  745. package/dist/src/core/hooks/handlers/stop-auto.d.ts.map +0 -1
  746. package/dist/src/core/hooks/handlers/stop-auto.js +0 -227
  747. package/dist/src/core/hooks/handlers/stop-auto.js.map +0 -1
  748. package/dist/src/core/hooks/handlers/stop-reflect.d.ts +0 -14
  749. package/dist/src/core/hooks/handlers/stop-reflect.d.ts.map +0 -1
  750. package/dist/src/core/hooks/handlers/stop-reflect.js +0 -43
  751. package/dist/src/core/hooks/handlers/stop-reflect.js.map +0 -1
  752. package/dist/src/core/hooks/handlers/stop-sync.d.ts +0 -15
  753. package/dist/src/core/hooks/handlers/stop-sync.d.ts.map +0 -1
  754. package/dist/src/core/hooks/handlers/stop-sync.js +0 -68
  755. package/dist/src/core/hooks/handlers/stop-sync.js.map +0 -1
  756. package/dist/src/core/hooks/handlers/user-prompt-submit.d.ts +0 -14
  757. package/dist/src/core/hooks/handlers/user-prompt-submit.d.ts.map +0 -1
  758. package/dist/src/core/hooks/handlers/user-prompt-submit.js +0 -196
  759. package/dist/src/core/hooks/handlers/user-prompt-submit.js.map +0 -1
  760. package/dist/src/core/hooks/hook-health-tracker.d.ts +0 -54
  761. package/dist/src/core/hooks/hook-health-tracker.d.ts.map +0 -1
  762. package/dist/src/core/hooks/hook-health-tracker.js +0 -140
  763. package/dist/src/core/hooks/hook-health-tracker.js.map +0 -1
  764. package/dist/src/core/hooks/hook-logger.d.ts +0 -83
  765. package/dist/src/core/hooks/hook-logger.d.ts.map +0 -1
  766. package/dist/src/core/hooks/hook-logger.js +0 -120
  767. package/dist/src/core/hooks/hook-logger.js.map +0 -1
  768. package/dist/src/core/hooks/log-rotator.d.ts +0 -51
  769. package/dist/src/core/hooks/log-rotator.d.ts.map +0 -1
  770. package/dist/src/core/hooks/log-rotator.js +0 -85
  771. package/dist/src/core/hooks/log-rotator.js.map +0 -1
  772. package/dist/src/core/hooks/pretooluse-guard.d.ts +0 -37
  773. package/dist/src/core/hooks/pretooluse-guard.d.ts.map +0 -1
  774. package/dist/src/core/hooks/pretooluse-guard.js +0 -64
  775. package/dist/src/core/hooks/pretooluse-guard.js.map +0 -1
  776. package/dist/src/core/hooks/project-scope-guard.d.ts +0 -77
  777. package/dist/src/core/hooks/project-scope-guard.d.ts.map +0 -1
  778. package/dist/src/core/hooks/project-scope-guard.js +0 -206
  779. package/dist/src/core/hooks/project-scope-guard.js.map +0 -1
  780. package/dist/src/core/hooks/types.d.ts +0 -322
  781. package/dist/src/core/hooks/types.d.ts.map +0 -1
  782. package/dist/src/core/hooks/types.js +0 -10
  783. package/dist/src/core/hooks/types.js.map +0 -1
  784. package/dist/src/core/increment/limits.d.ts +0 -68
  785. package/dist/src/core/increment/limits.d.ts.map +0 -1
  786. package/dist/src/core/increment/limits.js +0 -227
  787. package/dist/src/core/increment/limits.js.map +0 -1
  788. package/dist/src/core/living-docs/delivery/delivery-generator.d.ts +0 -58
  789. package/dist/src/core/living-docs/delivery/delivery-generator.d.ts.map +0 -1
  790. package/dist/src/core/living-docs/delivery/delivery-generator.js +0 -501
  791. package/dist/src/core/living-docs/delivery/delivery-generator.js.map +0 -1
  792. package/dist/src/core/living-docs/delivery/index.d.ts +0 -8
  793. package/dist/src/core/living-docs/delivery/index.d.ts.map +0 -1
  794. package/dist/src/core/living-docs/delivery/index.js +0 -7
  795. package/dist/src/core/living-docs/delivery/index.js.map +0 -1
  796. package/dist/src/core/living-docs/diagrams/index.d.ts +0 -8
  797. package/dist/src/core/living-docs/diagrams/index.d.ts.map +0 -1
  798. package/dist/src/core/living-docs/diagrams/index.js +0 -7
  799. package/dist/src/core/living-docs/diagrams/index.js.map +0 -1
  800. package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts +0 -113
  801. package/dist/src/core/living-docs/diagrams/mermaid-generator.d.ts.map +0 -1
  802. package/dist/src/core/living-docs/diagrams/mermaid-generator.js +0 -533
  803. package/dist/src/core/living-docs/diagrams/mermaid-generator.js.map +0 -1
  804. package/dist/src/core/living-docs/governance/ecosystem-detector.d.ts +0 -38
  805. package/dist/src/core/living-docs/governance/ecosystem-detector.d.ts.map +0 -1
  806. package/dist/src/core/living-docs/governance/ecosystem-detector.js +0 -325
  807. package/dist/src/core/living-docs/governance/ecosystem-detector.js.map +0 -1
  808. package/dist/src/core/living-docs/governance/frontend-standards-parser.d.ts +0 -74
  809. package/dist/src/core/living-docs/governance/frontend-standards-parser.d.ts.map +0 -1
  810. package/dist/src/core/living-docs/governance/frontend-standards-parser.js +0 -366
  811. package/dist/src/core/living-docs/governance/frontend-standards-parser.js.map +0 -1
  812. package/dist/src/core/living-docs/governance/go-standards-parser.d.ts +0 -64
  813. package/dist/src/core/living-docs/governance/go-standards-parser.d.ts.map +0 -1
  814. package/dist/src/core/living-docs/governance/go-standards-parser.js +0 -229
  815. package/dist/src/core/living-docs/governance/go-standards-parser.js.map +0 -1
  816. package/dist/src/core/living-docs/governance/index.d.ts +0 -50
  817. package/dist/src/core/living-docs/governance/index.d.ts.map +0 -1
  818. package/dist/src/core/living-docs/governance/index.js +0 -56
  819. package/dist/src/core/living-docs/governance/index.js.map +0 -1
  820. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts +0 -89
  821. package/dist/src/core/living-docs/governance/java-standards-parser.d.ts.map +0 -1
  822. package/dist/src/core/living-docs/governance/java-standards-parser.js +0 -375
  823. package/dist/src/core/living-docs/governance/java-standards-parser.js.map +0 -1
  824. package/dist/src/core/living-docs/governance/python-standards-parser.d.ts +0 -83
  825. package/dist/src/core/living-docs/governance/python-standards-parser.d.ts.map +0 -1
  826. package/dist/src/core/living-docs/governance/python-standards-parser.js +0 -347
  827. package/dist/src/core/living-docs/governance/python-standards-parser.js.map +0 -1
  828. package/dist/src/core/living-docs/governance/standards-generator.d.ts +0 -38
  829. package/dist/src/core/living-docs/governance/standards-generator.d.ts.map +0 -1
  830. package/dist/src/core/living-docs/governance/standards-generator.js +0 -476
  831. package/dist/src/core/living-docs/governance/standards-generator.js.map +0 -1
  832. package/dist/src/core/living-docs/operations/index.d.ts +0 -8
  833. package/dist/src/core/living-docs/operations/index.d.ts.map +0 -1
  834. package/dist/src/core/living-docs/operations/index.js +0 -7
  835. package/dist/src/core/living-docs/operations/index.js.map +0 -1
  836. package/dist/src/core/living-docs/operations/ops-generator.d.ts +0 -53
  837. package/dist/src/core/living-docs/operations/ops-generator.d.ts.map +0 -1
  838. package/dist/src/core/living-docs/operations/ops-generator.js +0 -462
  839. package/dist/src/core/living-docs/operations/ops-generator.js.map +0 -1
  840. package/dist/src/core/reflect-nudge/aggregator.d.ts +0 -33
  841. package/dist/src/core/reflect-nudge/aggregator.d.ts.map +0 -1
  842. package/dist/src/core/reflect-nudge/aggregator.js +0 -80
  843. package/dist/src/core/reflect-nudge/aggregator.js.map +0 -1
  844. package/dist/src/core/reflect-nudge/eligibility.d.ts +0 -27
  845. package/dist/src/core/reflect-nudge/eligibility.d.ts.map +0 -1
  846. package/dist/src/core/reflect-nudge/eligibility.js +0 -114
  847. package/dist/src/core/reflect-nudge/eligibility.js.map +0 -1
  848. package/dist/src/core/reflect-nudge/index.d.ts +0 -14
  849. package/dist/src/core/reflect-nudge/index.d.ts.map +0 -1
  850. package/dist/src/core/reflect-nudge/index.js +0 -14
  851. package/dist/src/core/reflect-nudge/index.js.map +0 -1
  852. package/dist/src/core/reflect-nudge/interactive-prompt.d.ts +0 -28
  853. package/dist/src/core/reflect-nudge/interactive-prompt.d.ts.map +0 -1
  854. package/dist/src/core/reflect-nudge/interactive-prompt.js +0 -52
  855. package/dist/src/core/reflect-nudge/interactive-prompt.js.map +0 -1
  856. package/dist/src/core/reflect-nudge/prompt-renderer.d.ts +0 -23
  857. package/dist/src/core/reflect-nudge/prompt-renderer.d.ts.map +0 -1
  858. package/dist/src/core/reflect-nudge/prompt-renderer.js +0 -26
  859. package/dist/src/core/reflect-nudge/prompt-renderer.js.map +0 -1
  860. package/dist/src/core/reflect-nudge/session-end-nudge.d.ts +0 -31
  861. package/dist/src/core/reflect-nudge/session-end-nudge.d.ts.map +0 -1
  862. package/dist/src/core/reflect-nudge/session-end-nudge.js +0 -44
  863. package/dist/src/core/reflect-nudge/session-end-nudge.js.map +0 -1
  864. package/dist/src/core/reflection/index.d.ts +0 -23
  865. package/dist/src/core/reflection/index.d.ts.map +0 -1
  866. package/dist/src/core/reflection/index.js +0 -25
  867. package/dist/src/core/reflection/index.js.map +0 -1
  868. package/dist/src/core/reflection/reflect-handler.d.ts +0 -128
  869. package/dist/src/core/reflection/reflect-handler.d.ts.map +0 -1
  870. package/dist/src/core/reflection/reflect-handler.js +0 -742
  871. package/dist/src/core/reflection/reflect-handler.js.map +0 -1
  872. package/dist/src/core/reflection/skill-memories.d.ts +0 -113
  873. package/dist/src/core/reflection/skill-memories.d.ts.map +0 -1
  874. package/dist/src/core/reflection/skill-memories.js +0 -306
  875. package/dist/src/core/reflection/skill-memories.js.map +0 -1
  876. package/dist/src/core/scheduler/index.d.ts +0 -12
  877. package/dist/src/core/scheduler/index.d.ts.map +0 -1
  878. package/dist/src/core/scheduler/index.js +0 -12
  879. package/dist/src/core/scheduler/index.js.map +0 -1
  880. package/dist/src/core/scheduler/job-scheduler.d.ts +0 -179
  881. package/dist/src/core/scheduler/job-scheduler.d.ts.map +0 -1
  882. package/dist/src/core/scheduler/job-scheduler.js +0 -282
  883. package/dist/src/core/scheduler/job-scheduler.js.map +0 -1
  884. package/dist/src/core/scheduler/schedule-persistence.d.ts +0 -84
  885. package/dist/src/core/scheduler/schedule-persistence.d.ts.map +0 -1
  886. package/dist/src/core/scheduler/schedule-persistence.js +0 -188
  887. package/dist/src/core/scheduler/schedule-persistence.js.map +0 -1
  888. package/dist/src/core/scheduler/scheduled-job.d.ts +0 -188
  889. package/dist/src/core/scheduler/scheduled-job.d.ts.map +0 -1
  890. package/dist/src/core/scheduler/scheduled-job.js +0 -182
  891. package/dist/src/core/scheduler/scheduled-job.js.map +0 -1
  892. package/dist/src/core/scheduler/session-sync-executor.d.ts +0 -141
  893. package/dist/src/core/scheduler/session-sync-executor.d.ts.map +0 -1
  894. package/dist/src/core/scheduler/session-sync-executor.js +0 -358
  895. package/dist/src/core/scheduler/session-sync-executor.js.map +0 -1
  896. package/dist/src/core/session/reflect-checker.d.ts +0 -19
  897. package/dist/src/core/session/reflect-checker.d.ts.map +0 -1
  898. package/dist/src/core/session/reflect-checker.js +0 -30
  899. package/dist/src/core/session/reflect-checker.js.map +0 -1
  900. package/dist/src/core/sync/event-queue-ops.d.ts +0 -39
  901. package/dist/src/core/sync/event-queue-ops.d.ts.map +0 -1
  902. package/dist/src/core/sync/event-queue-ops.js +0 -109
  903. package/dist/src/core/sync/event-queue-ops.js.map +0 -1
  904. package/dist/src/core/sync/event-queue.d.ts +0 -43
  905. package/dist/src/core/sync/event-queue.d.ts.map +0 -1
  906. package/dist/src/core/sync/event-queue.js +0 -62
  907. package/dist/src/core/sync/event-queue.js.map +0 -1
  908. package/dist/src/core/sync/persistent-circuit-breaker.d.ts +0 -22
  909. package/dist/src/core/sync/persistent-circuit-breaker.d.ts.map +0 -1
  910. package/dist/src/core/sync/persistent-circuit-breaker.js +0 -65
  911. package/dist/src/core/sync/persistent-circuit-breaker.js.map +0 -1
  912. package/dist/src/core/sync/sync-resilience.d.ts +0 -49
  913. package/dist/src/core/sync/sync-resilience.d.ts.map +0 -1
  914. package/dist/src/core/sync/sync-resilience.js +0 -133
  915. package/dist/src/core/sync/sync-resilience.js.map +0 -1
  916. package/dist/src/core/us-sync-throttle.d.ts +0 -113
  917. package/dist/src/core/us-sync-throttle.d.ts.map +0 -1
  918. package/dist/src/core/us-sync-throttle.js +0 -195
  919. package/dist/src/core/us-sync-throttle.js.map +0 -1
  920. package/dist/src/hooks/auto-create-external-issue.d.ts +0 -19
  921. package/dist/src/hooks/auto-create-external-issue.d.ts.map +0 -1
  922. package/dist/src/hooks/auto-create-external-issue.js +0 -85
  923. package/dist/src/hooks/auto-create-external-issue.js.map +0 -1
  924. package/dist/src/hooks/generate-settings.d.ts +0 -8
  925. package/dist/src/hooks/generate-settings.d.ts.map +0 -1
  926. package/dist/src/hooks/generate-settings.js +0 -69
  927. package/dist/src/hooks/generate-settings.js.map +0 -1
  928. package/dist/src/hooks/hooks-status.d.ts +0 -12
  929. package/dist/src/hooks/hooks-status.d.ts.map +0 -1
  930. package/dist/src/hooks/hooks-status.js +0 -101
  931. package/dist/src/hooks/hooks-status.js.map +0 -1
  932. package/dist/src/hooks/index.d.ts +0 -11
  933. package/dist/src/hooks/index.d.ts.map +0 -1
  934. package/dist/src/hooks/index.js +0 -11
  935. package/dist/src/hooks/index.js.map +0 -1
  936. package/dist/src/hooks/platform.d.ts +0 -120
  937. package/dist/src/hooks/platform.d.ts.map +0 -1
  938. package/dist/src/hooks/platform.js +0 -278
  939. package/dist/src/hooks/platform.js.map +0 -1
  940. package/dist/src/hooks/processor.d.ts +0 -27
  941. package/dist/src/hooks/processor.d.ts.map +0 -1
  942. package/dist/src/hooks/processor.js +0 -334
  943. package/dist/src/hooks/processor.js.map +0 -1
  944. package/dist/src/hooks/scheduler-startup.d.ts +0 -19
  945. package/dist/src/hooks/scheduler-startup.d.ts.map +0 -1
  946. package/dist/src/hooks/scheduler-startup.js +0 -92
  947. package/dist/src/hooks/scheduler-startup.js.map +0 -1
  948. package/dist/src/hooks/session-start.d.ts +0 -16
  949. package/dist/src/hooks/session-start.d.ts.map +0 -1
  950. package/dist/src/hooks/session-start.js +0 -142
  951. package/dist/src/hooks/session-start.js.map +0 -1
  952. package/dist/src/integrations/ado/ado-dependency-loader.d.ts +0 -99
  953. package/dist/src/integrations/ado/ado-dependency-loader.d.ts.map +0 -1
  954. package/dist/src/integrations/ado/ado-dependency-loader.js +0 -237
  955. package/dist/src/integrations/ado/ado-dependency-loader.js.map +0 -1
  956. package/dist/src/integrations/ado/area-path-mapper.d.ts +0 -137
  957. package/dist/src/integrations/ado/area-path-mapper.d.ts.map +0 -1
  958. package/dist/src/integrations/ado/area-path-mapper.js +0 -263
  959. package/dist/src/integrations/ado/area-path-mapper.js.map +0 -1
  960. package/dist/src/integrations/jira/filter-processor.d.ts +0 -126
  961. package/dist/src/integrations/jira/filter-processor.d.ts.map +0 -1
  962. package/dist/src/integrations/jira/filter-processor.js +0 -222
  963. package/dist/src/integrations/jira/filter-processor.js.map +0 -1
  964. package/dist/src/integrations/jira/jira-dependency-loader.d.ts +0 -101
  965. package/dist/src/integrations/jira/jira-dependency-loader.d.ts.map +0 -1
  966. package/dist/src/integrations/jira/jira-dependency-loader.js +0 -200
  967. package/dist/src/integrations/jira/jira-dependency-loader.js.map +0 -1
  968. package/dist/src/integrations/jira/jira-hierarchy-mapper.d.ts +0 -107
  969. package/dist/src/integrations/jira/jira-hierarchy-mapper.d.ts.map +0 -1
  970. package/dist/src/integrations/jira/jira-hierarchy-mapper.js +0 -129
  971. package/dist/src/integrations/jira/jira-hierarchy-mapper.js.map +0 -1
  972. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -97
  973. package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
  974. package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -496
  975. package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
  976. package/dist/src/integrations/jira/jira-mapper.d.ts +0 -127
  977. package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
  978. package/dist/src/integrations/jira/jira-mapper.js +0 -508
  979. package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
  980. package/dist/src/integrations/jira/jira-token-provider.d.ts +0 -93
  981. package/dist/src/integrations/jira/jira-token-provider.d.ts.map +0 -1
  982. package/dist/src/integrations/jira/jira-token-provider.js +0 -160
  983. package/dist/src/integrations/jira/jira-token-provider.js.map +0 -1
  984. package/dist/src/skills/reflect-status.d.ts +0 -23
  985. package/dist/src/skills/reflect-status.d.ts.map +0 -1
  986. package/dist/src/skills/reflect-status.js +0 -55
  987. package/dist/src/skills/reflect-status.js.map +0 -1
  988. package/dist/src/sync/ado-reconciler.d.ts +0 -97
  989. package/dist/src/sync/ado-reconciler.d.ts.map +0 -1
  990. package/dist/src/sync/ado-reconciler.js +0 -370
  991. package/dist/src/sync/ado-reconciler.js.map +0 -1
  992. package/dist/src/sync/ado-sync-wrapper.d.ts +0 -137
  993. package/dist/src/sync/ado-sync-wrapper.d.ts.map +0 -1
  994. package/dist/src/sync/ado-sync-wrapper.js +0 -148
  995. package/dist/src/sync/ado-sync-wrapper.js.map +0 -1
  996. package/dist/src/sync/base-reconciler.d.ts +0 -120
  997. package/dist/src/sync/base-reconciler.d.ts.map +0 -1
  998. package/dist/src/sync/base-reconciler.js +0 -166
  999. package/dist/src/sync/base-reconciler.js.map +0 -1
  1000. package/dist/src/sync/engine.d.ts +0 -139
  1001. package/dist/src/sync/engine.d.ts.map +0 -1
  1002. package/dist/src/sync/engine.js +0 -129
  1003. package/dist/src/sync/engine.js.map +0 -1
  1004. package/dist/src/sync/external-item-sync-service.d.ts +0 -159
  1005. package/dist/src/sync/external-item-sync-service.d.ts.map +0 -1
  1006. package/dist/src/sync/external-item-sync-service.js +0 -446
  1007. package/dist/src/sync/external-item-sync-service.js.map +0 -1
  1008. package/dist/src/sync/github-sync-wrapper.d.ts +0 -195
  1009. package/dist/src/sync/github-sync-wrapper.d.ts.map +0 -1
  1010. package/dist/src/sync/github-sync-wrapper.js +0 -220
  1011. package/dist/src/sync/github-sync-wrapper.js.map +0 -1
  1012. package/dist/src/sync/hierarchy.d.ts +0 -52
  1013. package/dist/src/sync/hierarchy.d.ts.map +0 -1
  1014. package/dist/src/sync/hierarchy.js +0 -101
  1015. package/dist/src/sync/hierarchy.js.map +0 -1
  1016. package/dist/src/sync/jira-reconciler.d.ts +0 -109
  1017. package/dist/src/sync/jira-reconciler.d.ts.map +0 -1
  1018. package/dist/src/sync/jira-reconciler.js +0 -429
  1019. package/dist/src/sync/jira-reconciler.js.map +0 -1
  1020. package/dist/src/sync/jira-sync-wrapper.d.ts +0 -155
  1021. package/dist/src/sync/jira-sync-wrapper.d.ts.map +0 -1
  1022. package/dist/src/sync/jira-sync-wrapper.js +0 -175
  1023. package/dist/src/sync/jira-sync-wrapper.js.map +0 -1
  1024. package/dist/src/sync/migration.d.ts +0 -46
  1025. package/dist/src/sync/migration.d.ts.map +0 -1
  1026. package/dist/src/sync/migration.js +0 -97
  1027. package/dist/src/sync/migration.js.map +0 -1
  1028. package/dist/src/sync/projects-v2.d.ts +0 -61
  1029. package/dist/src/sync/projects-v2.d.ts.map +0 -1
  1030. package/dist/src/sync/projects-v2.js +0 -145
  1031. package/dist/src/sync/projects-v2.js.map +0 -1
  1032. package/dist/src/sync/providers/ado.d.ts +0 -54
  1033. package/dist/src/sync/providers/ado.d.ts.map +0 -1
  1034. package/dist/src/sync/providers/ado.js +0 -388
  1035. package/dist/src/sync/providers/ado.js.map +0 -1
  1036. package/dist/src/sync/providers/github.d.ts +0 -41
  1037. package/dist/src/sync/providers/github.d.ts.map +0 -1
  1038. package/dist/src/sync/providers/github.js +0 -237
  1039. package/dist/src/sync/providers/github.js.map +0 -1
  1040. package/dist/src/sync/providers/jira.d.ts +0 -44
  1041. package/dist/src/sync/providers/jira.d.ts.map +0 -1
  1042. package/dist/src/sync/providers/jira.js +0 -310
  1043. package/dist/src/sync/providers/jira.js.map +0 -1
  1044. package/dist/src/utils/auto-install.d.ts +0 -47
  1045. package/dist/src/utils/auto-install.d.ts.map +0 -1
  1046. package/dist/src/utils/auto-install.js +0 -220
  1047. package/dist/src/utils/auto-install.js.map +0 -1
  1048. package/dist/src/utils/image-generator.d.ts +0 -315
  1049. package/dist/src/utils/image-generator.d.ts.map +0 -1
  1050. package/dist/src/utils/image-generator.js +0 -588
  1051. package/dist/src/utils/image-generator.js.map +0 -1
  1052. package/plugins/COMMANDS-VS-SKILLS-ANALYSIS.md +0 -182
  1053. package/plugins/FINAL-AUDIT-RECOMMENDATIONS.md +0 -265
  1054. package/plugins/SKILLS-VS-AGENTS.md +0 -267
  1055. package/plugins/VALIDATION-REPORT.md +0 -134
  1056. package/plugins/specweave/agents/sw-architect.md +0 -22
  1057. package/plugins/specweave/agents/sw-planner.md +0 -81
  1058. package/plugins/specweave/agents/sw-pm.md +0 -23
  1059. package/plugins/specweave/commands/abandon.md +0 -320
  1060. package/plugins/specweave/commands/ado-cleanup-duplicates.md +0 -211
  1061. package/plugins/specweave/commands/ado-clone.md +0 -385
  1062. package/plugins/specweave/commands/ado-close.md +0 -238
  1063. package/plugins/specweave/commands/ado-create.md +0 -178
  1064. package/plugins/specweave/commands/ado-import-areas.md +0 -357
  1065. package/plugins/specweave/commands/ado-import-projects.md +0 -330
  1066. package/plugins/specweave/commands/ado-pull.md +0 -488
  1067. package/plugins/specweave/commands/ado-push.md +0 -388
  1068. package/plugins/specweave/commands/ado-reconcile.md +0 -119
  1069. package/plugins/specweave/commands/ado-status.md +0 -62
  1070. package/plugins/specweave/commands/ado-sync.md +0 -330
  1071. package/plugins/specweave/commands/analytics.md +0 -154
  1072. package/plugins/specweave/commands/archive.md +0 -488
  1073. package/plugins/specweave/commands/auto-status.md +0 -123
  1074. package/plugins/specweave/commands/cancel-auto.md +0 -94
  1075. package/plugins/specweave/commands/diagrams-generate.md +0 -172
  1076. package/plugins/specweave/commands/discrepancies.md +0 -142
  1077. package/plugins/specweave/commands/discrepancy-to-increment.md +0 -188
  1078. package/plugins/specweave/commands/docs-build.md +0 -159
  1079. package/plugins/specweave/commands/docs-generate.md +0 -445
  1080. package/plugins/specweave/commands/docs-health.md +0 -267
  1081. package/plugins/specweave/commands/docs-init.md +0 -338
  1082. package/plugins/specweave/commands/docs-organize.md +0 -183
  1083. package/plugins/specweave/commands/docs-validate.md +0 -249
  1084. package/plugins/specweave/commands/docs-view.md +0 -390
  1085. package/plugins/specweave/commands/docs.md +0 -215
  1086. package/plugins/specweave/commands/doctor.md +0 -68
  1087. package/plugins/specweave/commands/fix-duplicates.md +0 -517
  1088. package/plugins/specweave/commands/framework.md +0 -530
  1089. package/plugins/specweave/commands/github-cleanup-duplicates.md +0 -229
  1090. package/plugins/specweave/commands/github-clone.md +0 -634
  1091. package/plugins/specweave/commands/github-close.md +0 -440
  1092. package/plugins/specweave/commands/github-create.md +0 -330
  1093. package/plugins/specweave/commands/github-pull.md +0 -139
  1094. package/plugins/specweave/commands/github-push.md +0 -151
  1095. package/plugins/specweave/commands/github-reconcile.md +0 -111
  1096. package/plugins/specweave/commands/github-status.md +0 -532
  1097. package/plugins/specweave/commands/github-sync.md +0 -701
  1098. package/plugins/specweave/commands/github-update-user-story.md +0 -155
  1099. package/plugins/specweave/commands/handoff.md +0 -54
  1100. package/plugins/specweave/commands/import-external.md +0 -461
  1101. package/plugins/specweave/commands/jira-cleanup-duplicates.md +0 -218
  1102. package/plugins/specweave/commands/jira-close.md +0 -294
  1103. package/plugins/specweave/commands/jira-create.md +0 -195
  1104. package/plugins/specweave/commands/jira-import-boards.md +0 -330
  1105. package/plugins/specweave/commands/jira-import-projects-full.md +0 -297
  1106. package/plugins/specweave/commands/jira-import-projects.md +0 -96
  1107. package/plugins/specweave/commands/jira-pull.md +0 -161
  1108. package/plugins/specweave/commands/jira-push.md +0 -167
  1109. package/plugins/specweave/commands/jira-reconcile.md +0 -122
  1110. package/plugins/specweave/commands/jira-status.md +0 -212
  1111. package/plugins/specweave/commands/jira-sync.md +0 -254
  1112. package/plugins/specweave/commands/jobs.md +0 -52
  1113. package/plugins/specweave/commands/living-docs.md +0 -567
  1114. package/plugins/specweave/commands/lsp.md +0 -205
  1115. package/plugins/specweave/commands/next.md +0 -81
  1116. package/plugins/specweave/commands/progress.md +0 -39
  1117. package/plugins/specweave/commands/qa.md +0 -295
  1118. package/plugins/specweave/commands/reconcile.md +0 -440
  1119. package/plugins/specweave/commands/reflect.md +0 -264
  1120. package/plugins/specweave/commands/release-align.md +0 -504
  1121. package/plugins/specweave/commands/release-init.md +0 -429
  1122. package/plugins/specweave/commands/release-npm.md +0 -1084
  1123. package/plugins/specweave/commands/release-platform.md +0 -438
  1124. package/plugins/specweave/commands/release-rc.md +0 -494
  1125. package/plugins/specweave/commands/restore.md +0 -309
  1126. package/plugins/specweave/commands/save.md +0 -220
  1127. package/plugins/specweave/commands/state.md +0 -209
  1128. package/plugins/specweave/commands/sync-setup.md +0 -161
  1129. package/plugins/specweave/commands/sync-status.md +0 -356
  1130. package/plugins/specweave/commands/team-status.md +0 -70
  1131. package/plugins/specweave/commands/update-instructions.md +0 -81
  1132. package/plugins/specweave/lib/external-sync/hooks-common.sh +0 -266
  1133. package/plugins/specweave/lib/hooks/auto-transition.js +0 -50
  1134. package/plugins/specweave/lib/hooks/auto-transition.ts +0 -84
  1135. package/plugins/specweave/lib/hooks/close-github-issues-abandoned.js +0 -37
  1136. package/plugins/specweave/lib/hooks/close-github-issues-abandoned.ts +0 -59
  1137. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js +0 -0
  1138. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
  1139. package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
  1140. package/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -142
  1141. package/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
  1142. package/plugins/specweave/lib/hooks/git-diff-analyzer.ts +0 -269
  1143. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js +0 -0
  1144. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
  1145. package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
  1146. package/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -156
  1147. package/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
  1148. package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +0 -265
  1149. package/plugins/specweave/lib/hooks/launch-codebase-rescan.js +0 -90
  1150. package/plugins/specweave/lib/hooks/launch-codebase-rescan.ts +0 -135
  1151. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js +0 -0
  1152. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
  1153. package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
  1154. package/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -110
  1155. package/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
  1156. package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +0 -178
  1157. package/plugins/specweave/lib/hooks/project-bridge.js +0 -82
  1158. package/plugins/specweave/lib/hooks/reflection-config-loader.d.js +0 -0
  1159. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
  1160. package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
  1161. package/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -92
  1162. package/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
  1163. package/plugins/specweave/lib/hooks/reflection-config-loader.ts +0 -156
  1164. package/plugins/specweave/lib/hooks/reflection-parser.d.js +0 -0
  1165. package/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
  1166. package/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
  1167. package/plugins/specweave/lib/hooks/reflection-parser.js +0 -301
  1168. package/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
  1169. package/plugins/specweave/lib/hooks/reflection-parser.ts +0 -484
  1170. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js +0 -0
  1171. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
  1172. package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
  1173. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -182
  1174. package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
  1175. package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts +0 -306
  1176. package/plugins/specweave/lib/hooks/reflection-storage.d.js +0 -0
  1177. package/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
  1178. package/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
  1179. package/plugins/specweave/lib/hooks/reflection-storage.js +0 -231
  1180. package/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
  1181. package/plugins/specweave/lib/hooks/reflection-storage.ts +0 -369
  1182. package/plugins/specweave/lib/hooks/reopen-github-issues.js +0 -37
  1183. package/plugins/specweave/lib/hooks/reopen-github-issues.ts +0 -59
  1184. package/plugins/specweave/lib/hooks/run-self-reflection.d.js +0 -0
  1185. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
  1186. package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
  1187. package/plugins/specweave/lib/hooks/run-self-reflection.js +0 -132
  1188. package/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
  1189. package/plugins/specweave/lib/hooks/run-self-reflection.ts +0 -258
  1190. package/plugins/specweave/lib/hooks/session-start-reconcile-worker.js +0 -36
  1191. package/plugins/specweave/lib/hooks/session-start-reconcile-worker.ts +0 -58
  1192. package/plugins/specweave/lib/hooks/sync-cache.js +0 -295
  1193. package/plugins/specweave/lib/hooks/sync-increment-closure.js +0 -66
  1194. package/plugins/specweave/lib/hooks/sync-increment-closure.ts +0 -111
  1195. package/plugins/specweave/lib/hooks/sync-living-docs.d.js +0 -1
  1196. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
  1197. package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
  1198. package/plugins/specweave/lib/hooks/sync-living-docs.js +0 -494
  1199. package/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
  1200. package/plugins/specweave/lib/hooks/sync-living-docs.ts.DISABLED +0 -482
  1201. package/plugins/specweave/lib/hooks/sync-us-tasks.js +0 -476
  1202. package/plugins/specweave/lib/hooks/translate-file.d.js +0 -0
  1203. package/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
  1204. package/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
  1205. package/plugins/specweave/lib/hooks/translate-file.js +0 -290
  1206. package/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
  1207. package/plugins/specweave/lib/hooks/translate-file.ts +0 -429
  1208. package/plugins/specweave/lib/hooks/translate-living-docs.d.js +0 -0
  1209. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
  1210. package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
  1211. package/plugins/specweave/lib/hooks/translate-living-docs.js +0 -120
  1212. package/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
  1213. package/plugins/specweave/lib/hooks/translate-living-docs.ts +0 -225
  1214. package/plugins/specweave/lib/hooks/types/reflection-types.d.js +0 -0
  1215. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
  1216. package/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
  1217. package/plugins/specweave/lib/hooks/types/reflection-types.js +0 -58
  1218. package/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
  1219. package/plugins/specweave/lib/hooks/types/reflection-types.ts +0 -193
  1220. package/plugins/specweave/lib/hooks/update-ac-status.js +0 -188
  1221. package/plugins/specweave/lib/hooks/update-ac-status.ts +0 -340
  1222. package/plugins/specweave/lib/hooks/update-tasks-md.d.js +0 -1
  1223. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
  1224. package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
  1225. package/plugins/specweave/lib/hooks/update-tasks-md.js +0 -296
  1226. package/plugins/specweave/lib/hooks/update-tasks-md.js.map +0 -1
  1227. package/plugins/specweave/lib/hooks/update-tasks-md.ts +0 -489
  1228. package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +0 -169
  1229. package/plugins/specweave/lib/hooks/us-completion-orchestrator.ts +0 -318
  1230. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.js +0 -0
  1231. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.ts +0 -94
  1232. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.d.ts.map +0 -1
  1233. package/plugins/specweave/lib/integrations/ado/ado-board-resolver.js.map +0 -1
  1234. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.js +0 -0
  1235. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts +0 -134
  1236. package/plugins/specweave/lib/integrations/ado/ado-client-v2.d.ts.map +0 -1
  1237. package/plugins/specweave/lib/integrations/ado/ado-client-v2.js.map +0 -1
  1238. package/plugins/specweave/lib/integrations/ado/ado-client.d.js +0 -4
  1239. package/plugins/specweave/lib/integrations/ado/ado-client.d.ts +0 -112
  1240. package/plugins/specweave/lib/integrations/ado/ado-client.d.ts.map +0 -1
  1241. package/plugins/specweave/lib/integrations/ado/ado-client.js.map +0 -1
  1242. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.js +0 -0
  1243. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.ts +0 -40
  1244. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.d.ts.map +0 -1
  1245. package/plugins/specweave/lib/integrations/ado/ado-hierarchical-sync.js.map +0 -1
  1246. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.js +0 -0
  1247. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts +0 -38
  1248. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.d.ts.map +0 -1
  1249. package/plugins/specweave/lib/integrations/ado/ado-spec-commit-sync.js.map +0 -1
  1250. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.js +0 -0
  1251. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts +0 -100
  1252. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.d.ts.map +0 -1
  1253. package/plugins/specweave/lib/integrations/ado/ado-spec-sync.js.map +0 -1
  1254. package/plugins/specweave/lib/integrations/ado/project-selector.d.js +0 -0
  1255. package/plugins/specweave/lib/integrations/ado/project-selector.d.ts +0 -42
  1256. package/plugins/specweave/lib/integrations/ado/project-selector.d.ts.map +0 -1
  1257. package/plugins/specweave/lib/integrations/ado/project-selector.js.map +0 -1
  1258. package/plugins/specweave/lib/integrations/github/github-board-resolver.d.js +0 -0
  1259. package/plugins/specweave/lib/integrations/github/github-board-resolver.d.ts +0 -54
  1260. package/plugins/specweave/lib/integrations/github/github-board-resolver.d.ts.map +0 -1
  1261. package/plugins/specweave/lib/integrations/github/github-board-resolver.js.map +0 -1
  1262. package/plugins/specweave/lib/integrations/github/github-client.d.js +0 -0
  1263. package/plugins/specweave/lib/integrations/github/github-client.d.ts +0 -96
  1264. package/plugins/specweave/lib/integrations/github/github-client.d.ts.map +0 -1
  1265. package/plugins/specweave/lib/integrations/github/github-client.js.map +0 -1
  1266. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.js +0 -0
  1267. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.ts +0 -29
  1268. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.d.ts.map +0 -1
  1269. package/plugins/specweave/lib/integrations/github/github-hierarchical-sync.js.map +0 -1
  1270. package/plugins/specweave/lib/integrations/github/github-issue-updater.d.js +0 -0
  1271. package/plugins/specweave/lib/integrations/github/github-issue-updater.d.ts +0 -61
  1272. package/plugins/specweave/lib/integrations/github/github-issue-updater.d.ts.map +0 -1
  1273. package/plugins/specweave/lib/integrations/github/github-issue-updater.js.map +0 -1
  1274. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.js +0 -0
  1275. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts +0 -37
  1276. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.d.ts.map +0 -1
  1277. package/plugins/specweave/lib/integrations/github/github-spec-commit-sync.js.map +0 -1
  1278. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.js +0 -0
  1279. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts +0 -108
  1280. package/plugins/specweave/lib/integrations/github/github-spec-sync.d.ts.map +0 -1
  1281. package/plugins/specweave/lib/integrations/github/github-spec-sync.js.map +0 -1
  1282. package/plugins/specweave/lib/integrations/github/index.d.js +0 -11
  1283. package/plugins/specweave/lib/integrations/github/index.d.ts +0 -10
  1284. package/plugins/specweave/lib/integrations/github/index.d.ts.map +0 -1
  1285. package/plugins/specweave/lib/integrations/github/index.js.map +0 -1
  1286. package/plugins/specweave/lib/integrations/github/repo-selector.d.js +0 -0
  1287. package/plugins/specweave/lib/integrations/github/repo-selector.d.ts +0 -49
  1288. package/plugins/specweave/lib/integrations/github/repo-selector.d.ts.map +0 -1
  1289. package/plugins/specweave/lib/integrations/github/repo-selector.js.map +0 -1
  1290. package/plugins/specweave/lib/integrations/github/types.d.js +0 -0
  1291. package/plugins/specweave/lib/integrations/github/types.d.ts +0 -80
  1292. package/plugins/specweave/lib/integrations/github/types.d.ts.map +0 -1
  1293. package/plugins/specweave/lib/integrations/github/types.js.map +0 -1
  1294. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.js +0 -0
  1295. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts +0 -50
  1296. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.d.ts.map +0 -1
  1297. package/plugins/specweave/lib/integrations/jira/jira-board-resolver.js.map +0 -1
  1298. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.js +0 -0
  1299. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.ts +0 -33
  1300. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.d.ts.map +0 -1
  1301. package/plugins/specweave/lib/integrations/jira/jira-hierarchical-sync.js.map +0 -1
  1302. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.js +0 -0
  1303. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts +0 -43
  1304. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.d.ts.map +0 -1
  1305. package/plugins/specweave/lib/integrations/jira/jira-spec-commit-sync.js.map +0 -1
  1306. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.js +0 -0
  1307. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts +0 -105
  1308. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.d.ts.map +0 -1
  1309. package/plugins/specweave/lib/integrations/jira/jira-spec-sync.js.map +0 -1
  1310. package/plugins/specweave/lib/integrations/jira/project-selector.d.js +0 -0
  1311. package/plugins/specweave/lib/integrations/jira/project-selector.d.ts +0 -42
  1312. package/plugins/specweave/lib/integrations/jira/project-selector.d.ts.map +0 -1
  1313. package/plugins/specweave/lib/integrations/jira/project-selector.js.map +0 -1
  1314. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.js +0 -0
  1315. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts +0 -67
  1316. package/plugins/specweave/lib/integrations/jira/reorganization-detector.d.ts.map +0 -1
  1317. package/plugins/specweave/lib/integrations/jira/reorganization-detector.js.map +0 -1
  1318. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.js +0 -4
  1319. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts +0 -29
  1320. package/plugins/specweave/lib/integrations/jira/setup-wizard.d.ts.map +0 -1
  1321. package/plugins/specweave/lib/integrations/jira/setup-wizard.js.map +0 -1
  1322. package/plugins/specweave/scripts/analyze-standards.sh +0 -315
  1323. package/plugins/specweave/scripts/auto-status.sh +0 -283
  1324. package/plugins/specweave/scripts/cancel-auto.sh +0 -144
  1325. package/plugins/specweave/scripts/cleanup-legacy-state.sh +0 -80
  1326. package/plugins/specweave/scripts/cleanup-state.sh +0 -168
  1327. package/plugins/specweave/scripts/force-kill.sh +0 -133
  1328. package/plugins/specweave/scripts/heartbeat.sh +0 -134
  1329. package/plugins/specweave/scripts/hook-health.sh +0 -441
  1330. package/plugins/specweave/scripts/jira/import-projects.js +0 -181
  1331. package/plugins/specweave/scripts/jira/import-projects.ts +0 -286
  1332. package/plugins/specweave/scripts/lsp-check.sh +0 -331
  1333. package/plugins/specweave/scripts/lsp-warmup.sh +0 -144
  1334. package/plugins/specweave/scripts/read-analytics.sh +0 -286
  1335. package/plugins/specweave/scripts/read-costs.sh +0 -132
  1336. package/plugins/specweave/scripts/read-grill-context.sh +0 -149
  1337. package/plugins/specweave/scripts/read-jobs.sh +0 -371
  1338. package/plugins/specweave/scripts/read-progress.sh +0 -413
  1339. package/plugins/specweave/scripts/read-status.sh +0 -146
  1340. package/plugins/specweave/scripts/read-workflow.sh +0 -173
  1341. package/plugins/specweave/scripts/reflect-check.sh +0 -250
  1342. package/plugins/specweave/scripts/setup-auto.sh +0 -603
  1343. package/plugins/specweave/scripts/tests/test-setup-auto-selection.sh +0 -74
  1344. package/plugins/specweave/scripts/tests/test-setup-auto-usergoal.sh +0 -83
  1345. package/plugins/specweave/scripts/track-analytics.sh +0 -118
  1346. package/plugins/specweave/scripts/update-dashboard-cache.sh +0 -338
  1347. package/plugins/specweave/skills/ado-mapper/SKILL.md +0 -464
  1348. package/plugins/specweave/skills/ado-multi-project/SKILL.md +0 -550
  1349. package/plugins/specweave/skills/ado-resource-validator/SKILL.md +0 -901
  1350. package/plugins/specweave/skills/ado-sync/README.md +0 -414
  1351. package/plugins/specweave/skills/ado-sync/SKILL.md +0 -449
  1352. package/plugins/specweave/skills/analytics/SKILL.md +0 -46
  1353. package/plugins/specweave/skills/architect/SKILL.md +0 -113
  1354. package/plugins/specweave/skills/close-all/SKILL.md +0 -51
  1355. package/plugins/specweave/skills/code-reviewer/SKILL.md +0 -632
  1356. package/plugins/specweave/skills/code-reviewer/agents/reviewer-comments.md +0 -83
  1357. package/plugins/specweave/skills/code-reviewer/agents/reviewer-silent-failures.md +0 -84
  1358. package/plugins/specweave/skills/code-reviewer/agents/reviewer-spec-compliance.md +0 -102
  1359. package/plugins/specweave/skills/code-reviewer/agents/reviewer-tests.md +0 -101
  1360. package/plugins/specweave/skills/code-reviewer/agents/reviewer-types.md +0 -88
  1361. package/plugins/specweave/skills/debug/SKILL.md +0 -220
  1362. package/plugins/specweave/skills/diagrams/SKILL.md +0 -748
  1363. package/plugins/specweave/skills/e2e/SKILL.md +0 -425
  1364. package/plugins/specweave/skills/e2e/evals/evals.json +0 -122
  1365. package/plugins/specweave/skills/get/SKILL.md +0 -116
  1366. package/plugins/specweave/skills/github-issue-standard/SKILL.md +0 -13
  1367. package/plugins/specweave/skills/github-multi-project/SKILL.md +0 -258
  1368. package/plugins/specweave/skills/github-sync/SKILL.md +0 -40
  1369. package/plugins/specweave/skills/github-sync/evals/HOW-TO-RUN-EVALS.md +0 -50
  1370. package/plugins/specweave/skills/github-sync/evals/evals.json +0 -136
  1371. package/plugins/specweave/skills/grill/SKILL.md +0 -483
  1372. package/plugins/specweave/skills/help/SKILL.md +0 -179
  1373. package/plugins/specweave/skills/image/SKILL.md +0 -427
  1374. package/plugins/specweave/skills/import/SKILL.md +0 -191
  1375. package/plugins/specweave/skills/jira-mapper/SKILL.md +0 -638
  1376. package/plugins/specweave/skills/jira-resource-validator/SKILL.md +0 -743
  1377. package/plugins/specweave/skills/jira-sync/README.md +0 -291
  1378. package/plugins/specweave/skills/jira-sync/SKILL.md +0 -252
  1379. package/plugins/specweave/skills/judge-llm/SKILL.md +0 -235
  1380. package/plugins/specweave/skills/multi-project/SKILL.md +0 -371
  1381. package/plugins/specweave/skills/npm/SKILL.md +0 -1083
  1382. package/plugins/specweave/skills/plan/SKILL.md +0 -308
  1383. package/plugins/specweave/skills/pm/SKILL.md +0 -149
  1384. package/plugins/specweave/skills/pm/phases/00-deep-interview.md +0 -352
  1385. package/plugins/specweave/skills/pm/phases/01-research.md +0 -80
  1386. package/plugins/specweave/skills/pm/phases/02-spec-creation.md +0 -142
  1387. package/plugins/specweave/skills/pm/phases/03-validation.md +0 -89
  1388. package/plugins/specweave/skills/pm/templates/spec-template.md +0 -159
  1389. package/plugins/specweave/skills/pr/SKILL.md +0 -257
  1390. package/plugins/specweave/skills/pr-review/SKILL.md +0 -167
  1391. package/plugins/specweave/skills/progress-sync/SKILL.md +0 -452
  1392. package/plugins/specweave/skills/release-expert/SKILL.md +0 -502
  1393. package/plugins/specweave/skills/remotion/SKILL.md +0 -227
  1394. package/plugins/specweave/skills/skill-gen/SKILL.md +0 -186
  1395. package/plugins/specweave/skills/skill-gen/evals/evals.json +0 -79
  1396. package/plugins/specweave/skills/skill-refine/SKILL.md +0 -97
  1397. package/plugins/specweave/skills/sync-docs/SKILL.md +0 -72
  1398. package/plugins/specweave/skills/tdd-cycle/SKILL.md +0 -267
  1399. package/plugins/specweave/skills/tdd-green/SKILL.md +0 -84
  1400. package/plugins/specweave/skills/tdd-red/SKILL.md +0 -90
  1401. package/plugins/specweave/skills/tdd-refactor/SKILL.md +0 -59
  1402. package/plugins/specweave/skills/team-build/SKILL.md +0 -29
  1403. package/plugins/specweave/skills/team-lead/SKILL.md +0 -1239
  1404. package/plugins/specweave/skills/team-lead/reference/dynamic-workflows.md +0 -144
  1405. package/plugins/specweave/skills/team-merge/SKILL.md +0 -230
  1406. package/plugins/specweave/skills/umbrella/SKILL.md +0 -406
  1407. package/plugins/specweave/skills/validate/SKILL.md +0 -135
  1408. package/plugins/specweave/skills/video/SKILL.md +0 -350
  1409. package/src/templates/COMPLETION-REPORT.template.md +0 -128
  1410. package/src/templates/MEMORY-template.md +0 -9
  1411. package/src/templates/config-permissions-guide.md +0 -413
  1412. package/src/templates/config.json.template +0 -18
  1413. package/src/templates/docs/rfc-template.md +0 -229
  1414. package/src/templates/increment-metadata-template.yaml +0 -138
  1415. package/src/templates/tasks.md.template +0 -269
  1416. /package/plugins/specweave/skills/{team-lead → team}/agents/brainstorm-advocate.md +0 -0
  1417. /package/plugins/specweave/skills/{team-lead → team}/agents/brainstorm-critic.md +0 -0
  1418. /package/plugins/specweave/skills/{team-lead → team}/agents/brainstorm-pragmatist.md +0 -0
  1419. /package/plugins/specweave/skills/{team-lead → team}/agents/researcher.md +0 -0
  1420. /package/plugins/specweave/skills/{team-lead → team}/agents/reviewer-security.md +0 -0
@@ -1,1239 +0,0 @@
1
- ---
2
- description: Phase-agnostic orchestrator for parallel multi-agent work — brainstorm, plan, implement, review, research, or test. Auto-detects mode from intent. Use for implementation (3+ domains or 15+ tasks), brainstorming (multiple perspectives), parallel planning (PM + Architect), code review (delegates to sw:code-reviewer), research (multiple topics), or testing (parallel test layers). Also use when user says "team setup", "parallel agents", "team lead", "agent teams", "brainstorm with agents", "plan in parallel", "review code", "research this". Also auto-selects a dynamic Workflow for batch-class work (migrations, repo-wide audits, deep research, high-stakes verification) without being asked.
3
- version: 1.1.0
4
- ---
5
-
6
- # Team Lead
7
-
8
- **Plan and launch parallel development agents across domains using Claude Code's native Agent Teams.**
9
-
10
- ## Tool-Use Rationale
11
-
12
- - **Read**: Load the master `spec.md` once for fan-out decisions and read agent prompt templates under `plugins/specweave/skills/team-lead/agents/`. During the active phase, prefer `PLAN_READY` summaries from agents over re-reading full plan files.
13
- - **Bash**: Inspect team state (`specweave doctor`, `ls ~/.claude/teams/`, grep metadata.json) and run CLI-only operations — never to implement code.
14
- - **TeamCreate / Task / SendMessage**: Core orchestration primitives for spawning agents, routing messages, and handling heartbeats.
15
- - **Workflow**: Dynamic-workflow engine for batch-class fan-out (migrations, repo-wide audits, high-stakes verification, deep research) — auto-selected per §0.4, never requires the user to ask. See `reference/dynamic-workflows.md`.
16
-
17
- ## MANDATORY: Orchestrator Identity (NEVER SKIP)
18
-
19
- **You are an ORCHESTRATOR. You do NOT implement, review, or analyze code yourself.**
20
-
21
- - **ALWAYS** create a new team via `TeamCreate` and spawn agents via `Task()`
22
- - **NEVER** use `Bash`, `Edit`, `Read`, or `Agent` to do the actual work yourself
23
- - **NEVER** say "I'll do this directly" — that defeats the purpose of team-lead
24
- - Even if you just finished a previous team-lead session in this conversation, you MUST create a **new** team and spawn **new** agents
25
- - **Fan-out threshold**: Spawn agents when **domains ≥ 3** OR **tasks ≥ 15** OR `--parallel` flag is set. For 1-domain or <15-task work, execute directly without spawning.
26
- - Your only tools are: `TeamCreate`, `Task`, `SendMessage`, `Workflow` (for batch-class fan-out per §0.4), `Read` (for agent templates; during active phase use PLAN_READY summaries instead of reading full plan files), `Bash` (only for team state inspection), and `Skill()` (only during closure phase for grill/done)
27
- - **`Workflow` IS orchestration, not implementation** — per §0.4 you MAY launch a `Workflow()` for batch-class work (migrations, repo-wide audits, high-stakes verification, deep research). Delegating to a Workflow does NOT violate this rule; writing the code yourself does.
28
-
29
- **The test**: If you're about to call `Edit()` or write code yourself, STOP — you're violating this rule. (Launching a `Workflow()` that spawns agents to do the work is fine.)
30
-
31
- ---
32
-
33
- ## -1. Pre-Flight Cleanup (ALWAYS FIRST)
34
-
35
- **Before mode detection or any other step**, clean up stale teams from previous runs in this session.
36
-
37
- ### Cleanup Protocol
38
-
39
- 1. **First team-lead invocation in this session**: Nothing to clean. Proceed to Section 0.
40
-
41
- 2. **Repeat invocation** (you previously ran team-lead and remember the team name + agent names):
42
- - Send `shutdown_request` to each agent you previously spawned:
43
- ```typescript
44
- SendMessage({ type: "shutdown_request", recipient: "<previous-agent-name>" });
45
- ```
46
- - Call `TeamDelete()` with the previous team name
47
- - If `TeamDelete` fails (agents still shutting down), wait 3 seconds, retry once
48
-
49
- 3. **Use a unique team name** for each invocation to avoid collisions:
50
- - `impl-checkout-1`, `impl-checkout-2`
51
- - `review-auth-{timestamp}`
52
-
53
- **Do NOT** inspect the filesystem (`ls`, `jq`, reading config files). You either know the previous team name from this session, or there is nothing to clean.
54
-
55
- ---
56
-
57
- ## Usage
58
-
59
- ```bash
60
- sw:team-lead "<feature description>" [OPTIONS]
61
- ```
62
-
63
- ## Options
64
-
65
- | Option | Description | Default |
66
- |--------|-------------|---------|
67
- | `--dry-run` | Show proposed agent plan without launching | false |
68
- | `--mode` | Force operating mode: `brainstorm`, `plan`, `implement`, `review`, `research`, `test` | auto-detect |
69
- | `--domains` | Override domain detection (e.g., `--domains frontend,backend,testing`) | auto-detect |
70
- | `--max-agents` | Maximum number of concurrent agents | 6 |
71
- | `--preset` | Use a named agent configuration (e.g., `--preset full-stack`). Presets are shortcuts for common domain combinations. Available: `full-stack`, `api-only`, `frontend-only`, `microservice`. | — |
72
-
73
- ## Preset Configurations
74
-
75
- Presets expand into a pre-defined `--domains` set so you don't have to spell them out. A preset is applied before domain auto-detection and is overridden by an explicit `--domains` flag.
76
-
77
- | Preset | Domains | Typical Use |
78
- |--------|---------|-------------|
79
- | `full-stack` | frontend, backend, database, testing | Full web app increments that touch every layer |
80
- | `api-only` | backend, database, testing | Pure API work with no UI |
81
- | `frontend-only` | frontend, testing | UI-only increments (design, styling, components) |
82
- | `microservice` | backend, testing, devops | Single-service increments with deployment concerns |
83
-
84
- Usage:
85
-
86
- ```bash
87
- sw:team-lead --preset full-stack "Build checkout flow"
88
- sw:team-lead --preset api-only --max-agents 4 "Add payments API"
89
- ```
90
-
91
- `--preset` supersedes the deprecated `sw:team-build` skill — same preset names are honoured here.
92
-
93
- ---
94
-
95
- ## 0. Mode Detection (BEFORE Increment Pre-Flight)
96
-
97
- **Detect operating mode FIRST. This determines the entire workflow path.**
98
-
99
- ### Detection Rules (priority order)
100
-
101
- 1. **Explicit flag**: `--mode brainstorm|plan|implement|review|research|test`
102
- 2. **team_name prefix**: `review-*`, `brainstorm-*`, `research-*`, `plan-*`, `test-*`
103
- 3. **Intent keywords** in the user's request:
104
-
105
- | Keywords | Mode | Go To |
106
- |----------|------|-------|
107
- | "brainstorm", "ideate", "explore ideas", "what if", "pros and cons" | BRAINSTORM | Section 0a |
108
- | "plan", "spec", "design", "architect", "define requirements" | PLANNING | Section 0b |
109
- | "implement", "build", "code", "develop" *(or default)* | IMPLEMENTATION | Section 1 |
110
- | "review", "audit", "check code", "review PR", "code quality" | REVIEW | Section 0c |
111
- | "research", "investigate", "analyze", "explore codebase" | RESEARCH | Section 0d |
112
- | "test", "write tests", "test strategy", "test coverage" | TESTING | Section 0e |
113
-
114
- 4. **Default**: IMPLEMENTATION mode if no keywords match.
115
-
116
- ### Mode Configuration
117
-
118
- | Mode | Increment? | Agent Templates | Coordination | Output |
119
- |------|-----------|-----------------|--------------|--------|
120
- | BRAINSTORM | No | brainstorm-advocate, brainstorm-critic, brainstorm-pragmatist | Parallel → synthesize | Decision matrix |
121
- | PLANNING | Creates one | pm, architect (+ optional security reviewer) | PM + Architect parallel (Architect explores while PM specs) | spec.md, plan.md, tasks.md |
122
- | IMPLEMENTATION | Required | backend, frontend, database, testing, security | Contract-first phases | Working code |
123
- | REVIEW | Optional | Delegates to sw:code-reviewer | Parallel | Review report |
124
- | RESEARCH | No | researcher (1-3 instances) | Parallel → merge | Research report |
125
- | TESTING | Required | testing (split by layer) | Parallel | Test suites |
126
-
127
- ---
128
-
129
- ### 0a. BRAINSTORM Mode
130
-
131
- **team_name**: `brainstorm-{topic-slug}`
132
-
133
- **Engine** (per §0.4): Agent Teams — brainstorm needs interactive steering + the idea tree, not a deterministic batch. Pattern: perspective-diverse verify (advocate / critic / pragmatist fan out → synthesize).
134
-
135
- Skip increment pre-flight entirely. Brainstorm doesn't need a spec — it explores possibilities.
136
-
137
- 1. Create team: `TeamCreate({ team_name: "brainstorm-{slug}", description: "Brainstorm: {topic}" })`
138
- 2. Read agent templates from `agents/brainstorm-advocate.md`, `agents/brainstorm-critic.md`, `agents/brainstorm-pragmatist.md`
139
- 3. Replace `[BRAINSTORM_QUESTION]` with the user's question/topic
140
- 4. Spawn all 3 agents in parallel — each call MUST include `team_name` so agents join the team (and get tmux panes):
141
- ```
142
- Task({
143
- team_name: "brainstorm-{slug}",
144
- name: "brainstorm-advocate",
145
- subagent_type: "general-purpose",
146
- mode: "bypassPermissions",
147
- prompt: <replaced brainstorm-advocate.md content>
148
- })
149
- Task({
150
- team_name: "brainstorm-{slug}",
151
- name: "brainstorm-critic",
152
- subagent_type: "general-purpose",
153
- mode: "bypassPermissions",
154
- prompt: <replaced brainstorm-critic.md content>
155
- })
156
- Task({
157
- team_name: "brainstorm-{slug}",
158
- name: "brainstorm-pragmatist",
159
- subagent_type: "general-purpose",
160
- mode: "bypassPermissions",
161
- prompt: <replaced brainstorm-pragmatist.md content>
162
- })
163
- ```
164
- 5. **PASSIVE WAIT (CRITICAL)**: Do NOT apply §8b stuck detection to brainstorm agents.
165
- Brainstorm agents send `STATUS:` heartbeats (not task-granularity `T-{N}/{total}`).
166
- Wait patiently for `PERSPECTIVE_COMPLETE:` messages — expected 2-5 minutes per agent.
167
- **Do NOT send STATUS_CHECK or shutdown_request** while agents are working.
168
- The only valid intervention is responding to `BLOCKING_ISSUE:` messages.
169
- 6. Collect ALL 3 `PERSPECTIVE_COMPLETE:` messages before proceeding. Do NOT start synthesis after receiving only 1 or 2.
170
- 7. Synthesize perspectives into a decision matrix:
171
- - Compare approaches across dimensions (effort, risk, value, alignment)
172
- - Highlight points of agreement and disagreement
173
- - Provide a ranked recommendation
174
- 8. Offer handoff: "Ready to proceed? Run `sw:increment` to formalize the chosen approach."
175
- 9. **Cleanup (ALL 3 phases from Step 9 — NEVER skip Phase 3)**:
176
- - Phase 1: Send `shutdown_request` to each agent
177
- - Phase 2: `TeamDelete()` (retry once after 3s if it fails)
178
- - Phase 3: Run the orphaned pane safety net bash script from Step 9 — `SendMessage` shutdown does NOT close tmux panes, this script is the ONLY thing that does
179
- 10. **STOP** — do not proceed to implementation sections
180
-
181
- ---
182
-
183
- ### 0b. PLANNING Mode
184
-
185
- **team_name**: `plan-{feature-slug}`
186
-
187
- Planning mode runs PM and Architect agents in parallel for richer, faster spec creation.
188
-
189
- 1. **Check for existing increment**:
190
- - If increment exists: read it as context, agents will update/enhance its spec and plan
191
- - If no increment: create one (folder + metadata.json only, agents will write spec/plan)
192
-
193
- 2. **Spawn PM + Architect in parallel** (TRUE parallelism):
194
- - Read `agents/pm.md`, replace `[INCREMENT_ID]`, `[MASTER_INCREMENT_PATH]`, `[FEATURE_DESCRIPTION]`
195
- - Read `agents/architect.md`, replace `[INCREMENT_ID]`, `[MASTER_INCREMENT_PATH]`
196
- - **Spawn BOTH in a single step — each call MUST include `team_name`:**
197
- ```
198
- Task({
199
- team_name: "plan-{feature-slug}",
200
- name: "pm-agent",
201
- subagent_type: "general-purpose",
202
- mode: "bypassPermissions",
203
- prompt: <replaced pm.md content>
204
- })
205
- Task({
206
- team_name: "plan-{feature-slug}",
207
- name: "architect-agent",
208
- subagent_type: "general-purpose",
209
- mode: "bypassPermissions",
210
- prompt: <replaced architect.md content>
211
- })
212
- ```
213
- - PM writes spec.md with user stories and ACs
214
- - Architect starts codebase exploration immediately (does NOT need spec.md for this)
215
- - Architect polls for spec.md, reads it when PM finishes, then designs architecture
216
- - Optionally read `agents/reviewer-security.md`, replace `[REVIEW_TARGET]` with the spec, spawn Security reviewer after PM signals `PLAN_READY:`
217
- - Wait for all agents' `COMPLETION:` messages
218
-
219
- **Why this works**: Architect's workflow has two phases — exploration (no spec.md needed)
220
- and design (needs spec.md). By spawning both agents simultaneously, the Architect's
221
- exploration phase (~30s) overlaps with PM's spec writing, reducing total wall-clock time.
222
-
223
- 4. **Post-planning**:
224
- - Run `specweave sync-living-docs {increment-id}` to sync external tools
225
- - Present the spec + plan summary to the user
226
- - Recommend execution strategy: `sw:do`, `sw:auto`, or `sw:team-lead` (implementation mode)
227
-
228
- 5. **Cleanup (ALL 3 phases from Step 9 — NEVER skip Phase 3)**:
229
- - Phase 1: Send `shutdown_request` to each agent
230
- - Phase 2: `TeamDelete()` (retry once after 3s if it fails)
231
- - Phase 3: Run the orphaned pane safety net bash script from Step 9 — `SendMessage` shutdown does NOT close tmux panes, this script is the ONLY thing that does
232
- 6. **STOP** — do not proceed to implementation sections
233
-
234
- ---
235
-
236
- ### 0c. REVIEW Mode
237
-
238
- **Delegates entirely to `sw:code-reviewer`.**
239
-
240
- Team-lead does NOT spawn its own reviewer agents for review mode. The code-reviewer skill handles its own orchestration with 6 specialized reviewers.
241
-
242
- ```typescript
243
- Skill({ skill: "sw:code-reviewer", args: "<user's review target or flags>" })
244
- ```
245
-
246
- Pass through any arguments the user provided (--pr N, --changes, --cross-repo, path).
247
-
248
- **STOP** after the skill completes — do not proceed to implementation sections.
249
-
250
- ---
251
-
252
- ### 0d. RESEARCH Mode
253
-
254
- **team_name**: `research-{topic-slug}`
255
-
256
- **Engine** (per §0.4): prefer a **Dynamic Workflow** deep-research pipeline (fan-out searches → fetch → adversarially verify → synthesize a cited report, results held off-context) for multi-source / multi-subtopic research; use Agent Teams only for 2-3 steerable researchers. Falls back to Agent Teams when `quality.workflows.enabled` is off.
257
-
258
- Skip increment pre-flight. Research is exploratory — no spec needed.
259
-
260
- 1. Create team: `TeamCreate({ team_name: "research-{slug}", description: "Research: {topic}" })`
261
- 2. **Determine research agents**:
262
- - Single topic: spawn 1 researcher from `agents/researcher.md`
263
- - Multi-faceted topic: spawn 2-3 researchers with different scopes
264
- (e.g., "research auth" → one agent on OAuth providers, one on session management, one on security best practices)
265
- 3. Replace `[RESEARCH_TOPIC]` and `[RESEARCH_SCOPE]` in each agent prompt
266
- 4. Spawn all researchers in parallel — each call MUST include `team_name`:
267
- ```
268
- Task({
269
- team_name: "research-{slug}",
270
- name: "researcher-{scope}",
271
- subagent_type: "general-purpose",
272
- mode: "bypassPermissions",
273
- prompt: <replaced researcher.md content>
274
- })
275
- ```
276
- 5. Collect `RESEARCH_COMPLETE:` messages
277
- 6. Merge findings into a unified research report:
278
- - Cross-reference findings between agents
279
- - Resolve contradictions
280
- - Produce ranked recommendations
281
- 7. Offer handoff: `sw:increment` (to act on findings) or `sw:brainstorm` (to explore approaches)
282
- 8. **Cleanup (ALL 3 phases from Step 9 — NEVER skip Phase 3)**:
283
- - Phase 1: Send `shutdown_request` to each agent
284
- - Phase 2: `TeamDelete()` (retry once after 3s if it fails)
285
- - Phase 3: Run the orphaned pane safety net bash script from Step 9 — `SendMessage` shutdown does NOT close tmux panes, this script is the ONLY thing that does
286
- 9. **STOP** — do not proceed to implementation sections
287
-
288
- ---
289
-
290
- ### 0e. TESTING Mode
291
-
292
- **team_name**: `test-{increment-id}`
293
-
294
- **Engine** (per §0.4): route **many independent same-shape tests** to a **Dynamic Workflow** (generate → run → fix-loop until green); keep Agent Teams when test layers have setup dependencies. Falls back to Agent Teams when `quality.workflows.enabled` is off.
295
-
296
- Testing mode requires an increment (it needs to know WHAT to test).
297
-
298
- 1. **Verify increment exists** (same as implementation mode — see below)
299
- 2. Create team: `TeamCreate({ team_name: "test-{id}", description: "Testing: {increment}" })`
300
- 3. Spawn testing agents split by layer:
301
- - **Unit test agent**: read `agents/testing.md`, override scope to unit tests only
302
- - **E2E test agent**: read `agents/testing.md`, override scope to E2E tests only
303
- - Split scope via the agent prompt, not via separate templates
304
- 4. Spawn both in parallel — each call MUST include `team_name`:
305
- ```
306
- Task({
307
- team_name: "test-{id}",
308
- name: "unit-test-agent",
309
- subagent_type: "general-purpose",
310
- mode: "bypassPermissions",
311
- prompt: <replaced testing.md content with unit-test scope>
312
- })
313
- Task({
314
- team_name: "test-{id}",
315
- name: "e2e-test-agent",
316
- subagent_type: "general-purpose",
317
- mode: "bypassPermissions",
318
- prompt: <replaced testing.md content with e2e scope>
319
- })
320
- ```
321
- 5. Collect `COMPLETION:` messages
322
- 6. Run test suites to verify: `npx vitest run` + `npx playwright test`
323
- 7. Report results: pass/fail counts, coverage, uncovered ACs
324
- 8. **Cleanup (ALL 3 phases from Step 9 — NEVER skip Phase 3)**:
325
- - Phase 1: Send `shutdown_request` to each agent
326
- - Phase 2: `TeamDelete()` (retry once after 3s if it fails)
327
- - Phase 3: Run the orphaned pane safety net bash script from Step 9 — `SendMessage` shutdown does NOT close tmux panes, this script is the ONLY thing that does
328
- 9. **STOP** — do not proceed to implementation sections
329
-
330
- ---
331
-
332
- ## 0.4. Orchestration Engine Selection (AUTO-DETECT — never wait for a flag)
333
-
334
- **Run AFTER §0 Mode Detection, BEFORE §0.5 Increment Pre-Flight.** Pick the engine from the *shape* of the work, not from the user's words. The user must NEVER have to say "use a workflow" — you infer it.
335
-
336
- Three engines:
337
-
338
- | Engine | What it is | Owns |
339
- |--------|-----------|------|
340
- | **Dynamic Workflow** | `Workflow()` — deterministic JS scheduler, ≤16 concurrent / 1000 total subagents, results in script vars (off context), resumable, background | Large homogeneous fan-out: migrations, repo-wide audits, many-similar-tests, adversarial/judge verification |
341
- | **Agent Teams** (default) | `TeamCreate` + `Task` + `SendMessage` + tmux — model-driven, domain-aware, SpecWeave-lifecycle owner | Feature work: 3+ domains or 15+ tasks with cross-domain contracts + closure + sync |
342
- | **Inline** | This orchestrator, no spawn | <15 tasks, single domain, sequential |
343
-
344
- ### Decision table (first match wins)
345
-
346
- | Signal in the work | Engine | Why |
347
- |--------------------|--------|-----|
348
- | ≥~25 **same-shape** tasks, no cross-task deps (rename X→Y across N files, add header to N modules, port N tests) | **Dynamic Workflow** (top-level, bypass team-lead) | Pure fan-out under ONE budget + ONE scheduler — no glue needed |
349
- | Codebase **migration** / repo-wide **audit** / lint-sweep / dependency-bump across many files | **Dynamic Workflow** (top-level) | Domain-blind batch; team-lead's lifecycle is dead weight here |
350
- | High-stakes **verification** needing N independent checks (adversarial-verify, judge-panel, completeness-critic) | **Dynamic Workflow** (top-level) | Built-in reusable patterns; deterministic reduce |
351
- | **Deep research** spanning many sources/subtopics | **Dynamic Workflow** (pipeline) | fan-out → fetch → verify → synthesize, results off-context |
352
- | 3+ domains OR 15+ tasks **with cross-domain contracts** (frontend ⇐ OpenAPI ⇐ schema), needs increment activation + closure + GitHub/Jira/ADO sync | **Agent Teams** | Phased dependencies defeat fan-out; only team-lead owns the SpecWeave contract |
353
- | A single Agent-Teams **domain agent** discovers its OWN task list is a ≥~25 same-shape batch | Agent Teams **+ inner Workflow ×1** (see `agents/_protocol.md` Workflow Mode) | Legal one-level borrow; team-lead stays outer coordinator |
354
- | <15 tasks, 1 domain, sequential | **Inline** | Spawning overhead unjustified |
355
-
356
- ### AUTO-DETECT signals (no flag required)
357
-
358
- - **→ Dynamic Workflow**: `migrate`, `migration`, `port`, `rename across`, `repo-wide`, `codebase-wide`, `audit`, `sweep`, `bulk`, `every file`, `all <N> …`, `double-check`, `verify independently`, `judge`, `tournament`, `deep research`, `survey the literature`, `ultracode` keyword / `/effort ultracode`.
359
- - **→ Agent Teams**: `build <feature>`, `team`, `parallel agents`, `multi-domain`, increment with 3+ domains, contracts (Prisma/OpenAPI/shared types) in scope, anything needing `sw:done`/sync.
360
- - **→ Inline**: small single-domain change, hotfix, one-file edit.
361
-
362
- ### Guards (CHECK before routing to any Workflow)
363
-
364
- 1. **Default-off** — if `quality.workflows.enabled` is absent or `false`, do NOT auto-fire a Workflow and do NOT honor the inner borrow; fall back to Agent Teams / inline (classic behavior, byte-for-byte). This is what keeps the enhancement non-destructive.
365
- 2. **Budget gate** — read `quality.workflows.perRunTokenBudget` + `maxConcurrentWorkflows` from config. If a route would exceed either, DOWNGRADE to inline/sequential and tell the user.
366
- 3. **Nesting law** — `Workflow()` allows ONE nesting level and THROWS inside a leaf subagent. Legal chain: `team-lead (orchestrator, not a Workflow) → Task member → Workflow ×1 → leaves (cannot nest)`. team-lead may fire a top-level Workflow OR delegate the borrow to a member — never both for the same work.
367
- 4. **One top-level Workflow beats N nested ones** — for pure batch-class work, prefer a SINGLE top-level `Workflow` with `parallel()` over the items (one budget, one scheduler) instead of N domain agents each launching their own.
368
- 5. **Inject SpecWeave context** — Workflow is domain-blind (zero knowledge of specs/ACs/increments/gates). Every Workflow-routed agent prompt MUST carry the increment path, file-ownership patterns, AC list, and contract artifacts, or it produces unanchored code.
369
-
370
- See `reference/dynamic-workflows.md` for primitives, quality patterns, and the full `quality.workflows` config schema.
371
-
372
- ---
373
-
374
- ## 0.5. Increment Pre-Flight (IMPLEMENTATION and TESTING modes only)
375
-
376
- **This section applies only to IMPLEMENTATION mode (default) and TESTING mode.**
377
- All other modes handle their own increment logic (or skip it entirely) in Section 0a-0e above.
378
-
379
- The team-lead works best with an increment (spec.md, plan.md, tasks.md) but can also run **without one** in free-form mode.
380
-
381
- ### Check: Is an increment required?
382
-
383
- **Free-form mode** (no increment needed) applies when:
384
- - `SPECWEAVE_NO_INCREMENT=1` is set (via `specweave team --no-increment`)
385
- - The user explicitly opted out of increment creation
386
-
387
- In free-form mode: **skip the rest of Section 0.5** and proceed directly to Step 1. Agents will work from the natural language description instead of a spec. Note: without a spec, `sw:done` closure is not available — the team-lead simply coordinates agent completion.
388
-
389
- ### Standard mode: Verify increment exists
390
-
391
- ```bash
392
- # Single-repo
393
- find .specweave/increments -maxdepth 2 -name "spec.md" 2>/dev/null | head -5
394
-
395
- # Multi-repo (umbrella)
396
- find repositories -path "*/.specweave/increments/*/spec.md" -maxdepth 6 2>/dev/null | head -5
397
- ```
398
-
399
- ### If NO increment exists → Auto-invoke sw:increment
400
-
401
- Do NOT ask permission. Invoke the increment skill with the user's feature description:
402
-
403
- ```typescript
404
- Skill({ skill: "sw:increment", args: "the user's feature description" })
405
- ```
406
-
407
- Wait for sw:increment to complete (spec.md, plan.md, tasks.md created and user exits plan mode).
408
- Then continue to Step 1.
409
-
410
- If sw:increment fails (user rejects plan, skill errors, etc.): **STOP. Do NOT proceed.**
411
- Report the failure to the user and ask them to run `sw:increment` manually.
412
-
413
- ### If increment exists → Read the master spec
414
-
415
- Read the increment's spec.md. This is the **source of truth** for all agent work:
416
- - Scope and boundaries
417
- - User stories and acceptance criteria
418
- - Task breakdown and dependencies
419
-
420
- Store the increment path as `MASTER_INCREMENT_PATH` — you will reference it in agent prompts.
421
-
422
- **WHY THIS MATTERS**: Without a spec, agents infer scope from natural language alone.
423
- This leads to uncoordinated implementation, scope creep, and missing acceptance criteria.
424
- The spec-first principle exists because specs are the contract between user intent and agent execution.
425
-
426
- ### Activate the Master Increment (MANDATORY — standard mode only)
427
-
428
- **Before spawning ANY agents**, transition the master increment to `"active"` status. The `specweave complete` command silently exits on increments with `"planned"` or `"backlog"` status — if you skip this step, closure will fail.
429
-
430
- ```bash
431
- # Read current status
432
- STATUS=$(jq -r '.status' [MASTER_INCREMENT_PATH]/metadata.json)
433
-
434
- # If not already active, activate it
435
- if [ "$STATUS" != "active" ] && [ "$STATUS" != "ready_for_review" ]; then
436
- # Edit metadata.json: set status to "active" and update lastActivity
437
- Edit metadata.json:
438
- "status": "planned" → "status": "active"
439
- "lastActivity": "<current ISO timestamp>"
440
- fi
441
- ```
442
-
443
- **Why**: Agents implement tasks but don't manage the increment lifecycle. The team-lead owns status transitions — activate before work begins, close after work completes.
444
-
445
- ---
446
-
447
- ## 1. Tool Reference
448
-
449
- | Action | Tool | Parameters |
450
- |--------|------|------------|
451
- | Create team | `TeamCreate` | `team_name`, `description` |
452
- | Spawn agent | `Task` | `team_name`, `name`, `subagent_type`, `prompt`, `mode: "bypassPermissions"` |
453
- | Send message | `SendMessage` | `type`, `recipient`, `content`, `summary` |
454
- | Shutdown agent | `SendMessage` | `type: "shutdown_request"`, `recipient` |
455
- | Run batch fan-out | `Workflow` | `script` (a `meta` literal + `agent()`/`parallel()`/`pipeline()`) — for batch-class work per §0.4; see `reference/dynamic-workflows.md` |
456
-
457
- ---
458
-
459
- ## 2. Domain-to-Skill Mapping
460
-
461
- Analyze the feature request and map affected domains to SpecWeave skills.
462
-
463
- | Domain | Primary Skill | Additional Skills | When to Use |
464
- |--------|--------------|-------------------|-------------|
465
- | **Frontend** | `sw:architect` | — | UI components, pages, client-side state |
466
- | **Backend** | `sw:architect` | `infra:devops` | API endpoints, services, business logic |
467
- | **Database** | `sw:architect` | | Schema design, migrations, seed data |
468
- | **Shared/Types** | `sw:architect` | `sw:code-simplifier` | TypeScript interfaces, shared constants, API contracts |
469
- | **Testing** | `sw:e2e` | `sw:tdd-red`, `sw:validate` | Test strategy, E2E suites, integration tests |
470
- | **Security** | `sw:security` | `security:patterns` | Auth, authorization, threat modeling, OWASP |
471
- | **DevOps** | `infra:devops` | `k8s:deployment-generate`, `infra:observability` | CI/CD, Docker, K8s, monitoring |
472
- | **Mobile** | `mobile:react-native` | `mobile:screen-generate`, `mobile:expo` | Native/cross-platform mobile apps |
473
- | **ML** | `ml:engineer` | `ml:pipeline`, `ml:deploy` | Model training, inference pipelines, deployment |
474
-
475
- ### Auto-Detection Signals
476
-
477
- The orchestrator infers domains from the feature description and codebase structure (e.g., `src/components/` signals Frontend, `prisma/` signals Database, `src/api/` signals Backend, `tests/` signals Testing, auth-related keywords signal Security, Docker/K8s/CI files signal DevOps, React Native/Flutter signal Mobile, model/pipeline keywords signal ML).
478
-
479
- ---
480
-
481
- ## 3. Contract-First Spawning Protocol
482
-
483
- Agents are NOT all spawned simultaneously. The orchestrator follows a two-phase dependency protocol to prevent integration conflicts.
484
-
485
- ### Contract Artifacts
486
-
487
- | Artifact | Location | Producer | Consumers |
488
- |----------|----------|----------|-----------|
489
- | TypeScript interfaces | `src/types/` or `src/shared/types/` | Shared/Types agent | Frontend, Backend, Testing |
490
- | Prisma schema | `prisma/schema.prisma` | Database agent | Backend, Testing |
491
- | OpenAPI spec | `openapi.yaml` or `src/api/openapi.yaml` | Backend agent | Frontend, Testing |
492
- | GraphQL schema | `schema.graphql` | Backend agent | Frontend, Mobile |
493
- | API route types | `src/api/types/` | Backend agent | Frontend |
494
-
495
- ### Organization Discovery (CRITICAL -- resolve BEFORE spawning agents)
496
-
497
- **The orchestrator MUST resolve the actual organization/owner name before spawning ANY agents.**
498
- All `{ORG}` placeholders below must be replaced with the real value.
499
-
500
- **Discovery chain (in order of priority):**
501
-
502
- 1. **From config** (`repository.organization`):
503
- ```bash
504
- ORG=$(jq -r '.repository.organization // empty' .specweave/config.json 2>/dev/null)
505
- ```
506
-
507
- 2. **From sync profiles** (fallback if repository.organization not set):
508
- ```bash
509
- if [ -z "$ORG" ]; then
510
- ORG=$(jq -r '[.sync.profiles[].config.owner // .sync.profiles[].config.organization] | map(select(. != null)) | first // empty' .specweave/config.json 2>/dev/null)
511
- fi
512
- ```
513
-
514
- 3. **From umbrella childRepos** (fallback):
515
- ```bash
516
- if [ -z "$ORG" ]; then
517
- ORG=$(jq -r '.umbrella.childRepos[0].path // empty' .specweave/config.json 2>/dev/null | sed 's|repositories/||' | cut -d/ -f1)
518
- fi
519
- ```
520
-
521
- 4. **From existing filesystem** (last resort):
522
- ```bash
523
- if [ -z "$ORG" ]; then
524
- ORG=$(ls -d repositories/*/ 2>/dev/null | head -1 | xargs basename 2>/dev/null)
525
- fi
526
- ```
527
-
528
- 5. **If all fail**: Ask the user. NEVER guess or use a placeholder.
529
-
530
- **NEVER read org from .env files.** Organization belongs in `.specweave/config.json`.
531
-
532
- ### Multi-Repo Increment Placement (CRITICAL)
533
-
534
- **When `umbrella.enabled: true` in config.json, ALL increments go in the umbrella root `.specweave/increments/` — NOT in child repos.** Use the `project` field in metadata.json to route increments to the correct child repo context.
535
-
536
- ```
537
- # CORRECT: All increments at umbrella root, tagged by project
538
- umbrella-project/
539
- ├── .specweave/config.json
540
- ├── .specweave/increments/
541
- │ ├── 0001-domain-models/ # metadata.json: "project": "sw-ecom-domain"
542
- │ ├── 0002-shared-types/ # metadata.json: "project": "sw-ecom-shared"
543
- │ └── 0003-api-endpoints/ # metadata.json: "project": "sw-ecom-api"
544
- ├── repositories/
545
- │ ├── {ORG}sw-ecom-domain/ # NO .specweave/increments/ here
546
- │ ├── {ORG}sw-ecom-shared/ # NO .specweave/increments/ here
547
- │ └── {ORG}sw-ecom-api/ # NO .specweave/increments/ here
548
-
549
- # WRONG: Increments inside child repos
550
- umbrella-project/
551
- ├── repositories/{ORG}sw-ecom-domain/
552
- │ └── .specweave/increments/0001-domain-models/ # WRONG!
553
- ```
554
-
555
- **Rules:**
556
- - NEVER create `.specweave/increments/` inside child repos under `repositories/`
557
- - NEVER run `specweave init` in child repos — the umbrella root owns all increments
558
- - Each agent works on files inside its assigned repo in `repositories/`, but increments stay at umbrella root
559
- - Replace `{ORG}` with the actual organization discovered above
560
-
561
- ### Phase 1: Upstream Agents (Contracts First)
562
-
563
- **Contract chain order**: shared/types -> database -> backend -> frontend (upstream before downstream).
564
-
565
- Spawn agents that produce shared contracts. These MUST complete before downstream agents begin.
566
-
567
- **Upstream agents** (spawn first, wait for completion):
568
- - **Shared/Types agent** -- produces TypeScript interfaces, enums, constants
569
- - **Database agent** -- produces Prisma schema, migration files, seed data
570
-
571
- ```
572
- Phase 1: Upstream
573
- ├── Shared/Types Agent -> produces interfaces, enums
574
- └── Database Agent -> produces schema, migrations
575
-
576
- [WAIT for Phase 1 completion via CONTRACT_READY messages]
577
- ```
578
-
579
- ### Phase 2: Downstream Agents (Consume Contracts)
580
-
581
- Once upstream contracts are established, spawn downstream agents in parallel.
582
-
583
- **Downstream agents** (spawn in parallel after Phase 1):
584
- - **Backend agent** -- consumes types and schema, produces API endpoints
585
- - **Frontend agent** -- consumes types and API contracts, produces UI
586
- - **Testing agent** -- consumes all contracts, produces test suites
587
- - **Security agent** -- consumes all code, produces security hardening
588
- - **DevOps agent** -- consumes all code, produces deployment config
589
-
590
- ```
591
- Phase 2: Downstream (parallel)
592
- ├── Backend Agent (reads types + schema)
593
- ├── Frontend Agent (reads types + API spec)
594
- ├── Testing Agent (reads all contracts)
595
- ├── Security Agent (reads all code)
596
- └── DevOps Agent (reads all code)
597
- ```
598
-
599
- ### No-Dependency Case
600
-
601
- If the feature has no cross-domain dependencies (e.g., purely frontend work with no new types), skip Phase 1 and spawn all agents in parallel immediately.
602
-
603
- ### Spawn Decision Logic
604
-
605
- ```
606
- Analyze domains
607
-
608
- ├── Any upstream domains (shared/types, database)?
609
- │ YES -> Phase 1: spawn upstream, wait for contracts
610
- │ Phase 2: spawn downstream in parallel
611
- │ NO -> Spawn all agents in parallel (no dependency)
612
-
613
- └── Single domain?
614
- YES -> Spawn single agent, no orchestration needed
615
- ```
616
-
617
- ---
618
-
619
- ## 3b. Plan Review Workflow
620
-
621
- The team lead reviews agent plans **asynchronously**. Agents do NOT wait for approval — they proceed to implementation immediately after creating plans and sending a notification.
622
-
623
- ### Why Async Review
624
-
625
- The previous blocking handshake (where agents waited for explicit approval before implementing) caused sessions to freeze:
626
- - When 3-5 Phase 2 agents spawned simultaneously, they ALL blocked waiting for a response
627
- - Team-lead had to review each plan sequentially while all agents sat idle
628
- - If team-lead was processing another message (or in a long reasoning pass), agents waited indefinitely
629
- - In tmux/iTerm2, this appeared as a completely frozen session
630
-
631
- Async review eliminates the bottleneck: agents proceed immediately, and the team-lead only intervenes when something is wrong.
632
-
633
- ### Permission Mode: bypassPermissions (CRITICAL)
634
-
635
- **All agents MUST be spawned with `mode: "bypassPermissions"`.** This is required because:
636
- - Agents run as separate processes that encounter folder trust prompts
637
- - Trust prompts require interactive input that agents CANNOT provide
638
- - Without `bypassPermissions`, agents get STUCK waiting for trust confirmation and never execute
639
- - This applies to ALL agent spawns — upstream and downstream
640
-
641
- **NEVER use `mode: "plan"` for agent spawns** — it causes agents to block on the trust-folder prompt.
642
-
643
- ### Protocol (Async Notify + Correct)
644
-
645
- **Agent side** (built into every agent prompt template):
646
- 1. Read the increment spec and explore the codebase
647
- 2. Create plan files (spec.md, plan.md, tasks.md) in the increment directory
648
- 3. Send a structured plan notification to team-lead:
649
- ```
650
- SendMessage({
651
- type: "message",
652
- recipient: "team-lead",
653
- content: "PLAN_READY: Created .specweave/increments/[ID]/\nTasks: [count]\nACs covered: [list AC-IDs]\nKey decisions: [1-2 sentence summary]\nFiles to create/modify: [file list]\nArchitecture: [pattern/approach chosen]",
654
- summary: "Plan ready — proceeding to implementation"
655
- });
656
- ```
657
- 4. **Proceed to implementation IMMEDIATELY.** Do NOT wait for any response.
658
- 5. If team-lead sends `PLAN_CORRECTION` during implementation:
659
- - **Finish the current task** (don't leave half-done code)
660
- - Read the correction and update plan.md/tasks.md accordingly
661
- - Send `STATUS: Applied PLAN_CORRECTION. Revised [what changed]. Continuing from T-{N}.`
662
- - Resume implementation with the revised plan
663
-
664
- **Team-lead side**:
665
- 1. Receive `PLAN_READY` notification from agent
666
- 2. Review using the **structured summary in the message** (do NOT read full plan files unless a concern is detected)
667
- 3. Quick-evaluate:
668
- - Do the covered ACs match what this agent should handle?
669
- - Are the files within this agent's ownership boundaries?
670
- - Do any key decisions conflict with other agents' plans?
671
- - Is the task count reasonable (<15)?
672
- 4. If plan looks good: **do nothing** — agent is already implementing
673
- 5. If plan has issues: send correction:
674
-
675
- ```
676
- // Correct a plan issue (agent is already implementing)
677
- SendMessage({
678
- type: "message",
679
- recipient: "database-agent",
680
- content: "PLAN_CORRECTION: 1) Add index on user_id for sessions. 2) You're missing AC-US1-03 — add a task for it. Pause current work and revise before continuing.",
681
- summary: "Plan needs correction"
682
- });
683
- ```
684
- 6. If agent ignores `PLAN_CORRECTION` (continues without revising after 2 turns):
685
- ```
686
- SendMessage({ type: "shutdown_request", recipient: "database-agent" });
687
- // Report to user: "Agent ignored correction, shutting down. Manual intervention needed."
688
- ```
689
-
690
- ### Review Priorities
691
-
692
- Not all plans need deep review. Prioritize:
693
- - **Phase 1 (upstream) plans** — errors here cascade to all downstream agents
694
- - **Plans with >10 tasks** — higher risk of scope creep
695
- - **Plans touching shared files** — ownership conflicts
696
- - **Single-agent teams** — skip review entirely (no coordination needed)
697
-
698
- ### Multi-Increment Consideration
699
-
700
- For very large features, the team lead MAY split work into multiple increments per domain for better tracking and independent closure. Decide this during initial analysis (Step 1), before spawning agents.
701
-
702
- ### Task Cap Per Agent (CRITICAL — Context Overflow Prevention)
703
-
704
- **Maximum 40 tasks per agent** (`TASK_CAP = 40`). Raised in SpecWeave 1.1.0 from the previous cap: Opus 4.7's long-horizon coherence improvements mean agents can maintain coherent context across 40 tasks without degradation.
705
-
706
- When distributing tasks from the master spec:
707
- 1. Count tasks per domain
708
- 2. If a domain has >40 tasks: **split into 2 agents** (e.g., `jira-agent-a`, `jira-agent-b`) with non-overlapping task ranges
709
- 3. If splitting isn't natural, group tasks into phases and create 2 increments per domain
710
-
711
- ```
712
- Domain tasks analysis:
713
- Frontend: 32 tasks -> 1 agent (OK)
714
- Backend: 18 tasks -> 1 agent (OK)
715
- JIRA: 55 tasks -> SPLIT into 2 agents (tasks 1-28, tasks 29-55)
716
- ```
717
-
718
- **Why**: Each auto-mode iteration adds context (spec reads, edits, test outputs). Prior to 4.7, a 15-task cap was necessary because older models entered deep reasoning loops and effectively hung past ~20 tasks. Opus 4.7's long-horizon coherence holds across substantially more work, so the safe budget is now 40. Above 40, we still split to prevent edge-case context blowups.
719
-
720
- ---
721
-
722
- ## 4. Agent Spawn Prompt Templates
723
-
724
- Agent definitions live as reusable `.md` files in the `agents/` subdirectory. When spawning a domain agent, **Read the agent file and use its full content as the Task() prompt**, with placeholders replaced.
725
-
726
- ### Agent Reference Table
727
-
728
- | Agent | File | Domain | Phase | Primary Skills |
729
- |-------|------|--------|-------|---------------|
730
- | Frontend | `agents/frontend.md` | UI, components, pages | 2 (downstream) | `sw:architect` |
731
- | Backend | `agents/backend.md` | API, services, middleware | 2 (downstream) | `sw:architect`, `infra:devops` |
732
- | Database | `agents/database.md` | Schema, migrations, seeds | 1 (upstream) | `sw:architect` |
733
- | Testing | `agents/testing.md` | Unit, integration, E2E | 2 (downstream) | `sw:e2e`, `sw:tdd-red` |
734
- | Security | `agents/security.md` | Auth, validation, audit | 2 (downstream) | `sw:security` |
735
-
736
- ### How to Use Agent Files
737
-
738
- For each domain agent to spawn:
739
-
740
- 1. **Read** the agent definition: `Read("agents/{domain}.md")`
741
- 2. **Replace placeholders** in the content:
742
- - `[INCREMENT_ID]` → the increment ID (e.g., `0042-checkout-flow`)
743
- - `[MASTER_INCREMENT_PATH]` → full path to the master increment directory
744
- - `{ORG}` → the discovered organization name
745
- - `{repo-name}` → the assigned repository name
746
- 3. **Spawn** via Task() with the replaced content as the prompt:
747
- ```
748
- Task({
749
- team_name: "<team-name>",
750
- name: "<domain>-agent",
751
- subagent_type: "general-purpose",
752
- mode: "bypassPermissions",
753
- prompt: <replaced agent content>
754
- })
755
- ```
756
-
757
- **CRITICAL**: Always use `mode: "bypassPermissions"` — agents cannot handle interactive trust-folder prompts.
758
-
759
- ---
760
-
761
- ## 5. File Ownership
762
-
763
- Each agent has exclusive WRITE access to specific file patterns. This prevents merge conflicts.
764
-
765
- ### Ownership Map
766
-
767
- | Domain | WRITE Patterns | Notes |
768
- |--------|---------------|-------|
769
- | **Frontend** | `src/components/**`, `src/pages/**`, `src/hooks/**`, `src/styles/**`, `src/app/**`, `src/stores/**`, `public/**` | UI layer |
770
- | **Backend** | `src/api/**`, `src/services/**`, `src/middleware/**`, `src/routes/**`, `src/controllers/**` | API layer |
771
- | **Database** | `prisma/**`, `src/db/**`, `src/repositories/**`, `seeds/**`, `scripts/db/**` | Data layer |
772
- | **Shared/Types** | `src/types/**`, `src/shared/**`, `src/constants/**`, `src/utils/shared/**` | Contracts |
773
- | **Testing** | `tests/**`, `__tests__/**`, `e2e/**`, `**/*.test.ts`, `**/*.test.tsx`, `**/*.spec.ts`, `test-utils/**`, `fixtures/**` | All test files |
774
- | **Security** | `src/auth/**`, `src/middleware/auth*`, `src/middleware/security*`, `src/utils/crypto/**`, `src/utils/validation/**`, `security/**` | Auth and security |
775
- | **DevOps** | `.github/**`, `docker/**`, `Dockerfile*`, `docker-compose*`, `k8s/**`, `terraform/**`, `.gitlab-ci.yml`, `Makefile` | Infrastructure |
776
- | **Mobile** | `src/screens/**`, `src/navigation/**`, `ios/**`, `android/**`, `src/native/**` | Mobile app |
777
- | **ML** | `models/**`, `notebooks/**`, `src/ml/**`, `src/pipelines/**`, `data/**` | Machine learning |
778
-
779
- ### Ownership Rules
780
-
781
- 1. **WRITE only to files you own** -- agents must not modify files outside their ownership patterns
782
- 2. **READ any file** -- all agents have unrestricted read access for context
783
- 3. **Shared files require coordination** -- if two domains need to modify the same file (e.g., `package.json`), the orchestrator assigns a primary owner and others request changes via SendMessage
784
- 4. **New files** -- agents can create new files ONLY within their ownership patterns
785
- 5. **Conflict detection** -- the orchestrator checks for ownership overlap before spawning and resolves ambiguity upfront
786
- 6. **Repository directory structure** -- for multi-repo setups, ALL repository cloning and creation MUST use the `repositories/{ORG}/` directory convention
787
-
788
- ---
789
-
790
- ## 6. Communication Protocol
791
-
792
- Agents communicate contract readiness, blocking issues, and completion status using `SendMessage`.
793
-
794
- ### Message Types
795
-
796
- | Prefix | Purpose | Sender | Receiver |
797
- |--------|---------|--------|----------|
798
- | `CONTRACT_READY:` | Upstream contract is published | Upstream agent | team-lead (broadcasts to downstream) |
799
- | `PLAN_READY:` | Plan created, agent proceeding to implementation | Any agent | team-lead (async review) |
800
- | `STATUS:` | Heartbeat — task progress update | Any agent | team-lead (stuck detection) |
801
- | `BLOCKING_ISSUE:` | Agent is stuck, needs help | Any agent | team-lead |
802
- | `COMPLETION:` | Agent finished all tasks | Any agent | team-lead |
803
- | `PLAN_CORRECTION:` | Plan needs revision (async) | team-lead | Specific agent |
804
-
805
- ### Message Examples
806
-
807
- ```typescript
808
- // Upstream agent signals contract is ready
809
- SendMessage({
810
- type: "message",
811
- recipient: "team-lead",
812
- content: "CONTRACT_READY: TypeScript interfaces written to src/types/checkout.ts. Exports: CheckoutItem, CartSummary, PaymentIntent.",
813
- summary: "Shared types contract ready"
814
- });
815
-
816
- // Agent notifies plan is ready (does NOT wait for response)
817
- SendMessage({
818
- type: "message",
819
- recipient: "team-lead",
820
- content: "PLAN_READY: Created .specweave/increments/0202-checkout-backend/\nTasks: 8\nACs covered: AC-US1-01, AC-US1-02, AC-US2-01\nKey decisions: REST API with Express, JWT auth middleware\nFiles: src/api/checkout.ts, src/services/payment.ts, src/middleware/auth.ts\nArchitecture: Controller-Service-Repository pattern",
821
- summary: "Backend plan ready — proceeding to implementation"
822
- });
823
-
824
- // Agent heartbeat after each task completion
825
- SendMessage({
826
- type: "message",
827
- recipient: "team-lead",
828
- content: "STATUS: T-003/8 complete. Next: T-004 (implement payment service). Tests: 12/12 passing.",
829
- summary: "Backend agent: task 3 of 8 done"
830
- });
831
-
832
- // Agent reports a blocking issue
833
- SendMessage({
834
- type: "message",
835
- recipient: "team-lead",
836
- content: "BLOCKING_ISSUE: Cannot implement payment webhook -- Stripe webhook secret not found in .env. Need STRIPE_WEBHOOK_SECRET to proceed.",
837
- summary: "Blocked on missing Stripe secret"
838
- });
839
-
840
- // Agent signals completion
841
- SendMessage({
842
- type: "message",
843
- recipient: "team-lead",
844
- content: "COMPLETION: All 8 tasks done. Tests passing (24/24). Ready for team-lead closure.",
845
- summary: "Frontend agent completed all tasks"
846
- });
847
-
848
- // Team-lead sends async plan correction (agent is already implementing)
849
- SendMessage({
850
- type: "message",
851
- recipient: "database-agent",
852
- content: "PLAN_CORRECTION: 1) Add index on user_id for sessions table. 2) Missing AC-US1-03 — add a migration task. Pause and revise.",
853
- summary: "Plan correction for database agent"
854
- });
855
- ```
856
-
857
- ---
858
-
859
- ## 7. Spawning Agents
860
-
861
- ### Step 1: Create the Team
862
-
863
- ```typescript
864
- TeamCreate({
865
- team_name: "feature-checkout",
866
- description: "Building checkout flow across frontend, backend, and database"
867
- });
868
- ```
869
-
870
- ### Step 2: Spawn Upstream Agents (Phase 1)
871
-
872
- All agents are spawned with `mode: "bypassPermissions"` to prevent blocking on trust-folder prompts. Agents notify team-lead of their plans via PLAN_READY but proceed to implementation immediately (see Section 3b for async review protocol).
873
-
874
- For each agent: **Read the agent definition file** (see Section 4 reference table), replace placeholders (`[INCREMENT_ID]`, `[MASTER_INCREMENT_PATH]`, `{ORG}`, `{repo-name}`), and use the full content as the Task() prompt.
875
-
876
- ```typescript
877
- // Read agents/database.md, replace placeholders, then:
878
- Task({
879
- team_name: "feature-checkout",
880
- name: "database-agent",
881
- subagent_type: "general-purpose",
882
- mode: "bypassPermissions",
883
- prompt: <content of agents/database.md with placeholders replaced>,
884
- });
885
- ```
886
-
887
- ### Step 3: Wait for Phase 1 CONTRACT_READY Messages
888
-
889
- Messages are delivered automatically via SendMessage from upstream agents.
890
-
891
- ### Step 4: Spawn Downstream Agents (Phase 2)
892
-
893
- ```typescript
894
- // Read agents/backend.md, agents/frontend.md, agents/testing.md
895
- // Replace placeholders, then spawn each:
896
- Task({
897
- team_name: "feature-checkout",
898
- name: "backend-agent",
899
- subagent_type: "general-purpose",
900
- mode: "bypassPermissions",
901
- prompt: <content of agents/backend.md with placeholders replaced>,
902
- });
903
-
904
- Task({
905
- team_name: "feature-checkout",
906
- name: "frontend-agent",
907
- subagent_type: "general-purpose",
908
- mode: "bypassPermissions",
909
- prompt: <content of agents/frontend.md with placeholders replaced>,
910
- });
911
-
912
- Task({
913
- team_name: "feature-checkout",
914
- name: "testing-agent",
915
- subagent_type: "general-purpose",
916
- mode: "bypassPermissions",
917
- prompt: <content of agents/testing.md with placeholders replaced>,
918
- });
919
- ```
920
-
921
- ---
922
-
923
- ## 8. Quality Gates
924
-
925
- Quality gates are split: agents handle tests, team-lead handles closure (grill, done, judge-llm). This prevents context overflow in agents from loading 4+ additional skill definitions during closure.
926
-
927
- ### Per-Agent Quality Gate (Lightweight)
928
-
929
- ```
930
- Agent Workflow:
931
- 1. Execute all assigned tasks via sw:auto
932
- 2. Run all tests for owned code (unit + integration + E2E)
933
- 3. Run linter/type-check for owned code
934
- 4. If tests fail -> fix issues and repeat from step 2
935
- 5. Do NOT signal completion until all tests pass
936
- 6. Signal COMPLETION via SendMessage (include task count, test results summary)
937
- 7. Do NOT run sw:grill or sw:done — team-lead handles closure centrally
938
- ```
939
-
940
- **Why agents don't run sw:done**: The sw:done skill invokes 4 sub-skills (grill, judge-llm, sync-docs, qa), each loading a full SKILL.md. After many tasks of auto-mode context, this pushes agents into deep reasoning loops (30+ min hangs). Closure is delegated to `sw-closer` subagents that run in a fresh context, avoiding overflow for both agents and the team-lead orchestrator.
941
-
942
- ### Active Phase Responsibilities (While Agents Are Implementing)
943
-
944
- During the active phase (between spawning agents and receiving ALL COMPLETION signals), the team-lead focuses on orchestration:
945
-
946
- - Process SendMessage from agents (PLAN_READY, STATUS, CONTRACT_READY, BLOCKING_ISSUE, COMPLETION).
947
- - Async plan review (read PLAN_READY summaries, send PLAN_CORRECTION if needed).
948
- - Track heartbeat STATUS per agent for stuck detection.
949
- - Respond to BLOCKING_ISSUE messages.
950
- - Send STATUS_CHECK to silent agents.
951
- - Shutdown stuck agents and spawn replacements for the same domain on remaining tasks.
952
-
953
- Closure operations (grill, done, judge-llm) are performed by `sw-closer` subagents spawned from the closure phase below, not by the orchestrator itself. The orchestrator avoids calling `TeamDelete()` while agents are still running — that kills every live agent.
954
-
955
- ### Orchestrator Quality Gate — Closure Phase (SIMPLIFIED)
956
-
957
- **Closure begins ONLY after ALL agents have signaled COMPLETION (or been declared stuck).**
958
-
959
- **Do NOT manually run grill/done per increment — spawn `sw-closer` subagents instead.**
960
-
961
- ```
962
- AFTER ALL AGENTS COMPLETE:
963
- 1. Verify ALL agents signaled COMPLETION (no unresolved BLOCKING_ISSUE)
964
- 2. Determine closure order from team topology (shared → backend → frontend)
965
- 3. For each increment in dependency order, spawn sw-closer subagent:
966
- Agent({
967
- subagent_type: "sw:sw-closer",
968
- prompt: "Close increment <ID>. Increment path: .specweave/increments/<ID>/",
969
- description: "Close increment <ID>"
970
- })
971
- 4. Wait for each sw-closer to complete before spawning the next (dependency order)
972
- 5. If an sw-closer fails, log the failure and continue to the next increment
973
- 6. Run Step 9 cleanup (TeamDelete + kill tmux panes)
974
- ```
975
-
976
- **CRITICAL**: Do NOT attempt inline closure (grill → done → retry loops) yourself.
977
- Spawn `sw-closer` subagents instead — each runs in a fresh context with only the `sw:done` skill loaded, avoiding the context overflow that caused the "stuck after first agent" bug.
978
-
979
- **If all sw-closer subagents fail**, report the failures to the user with the error messages. Do NOT retry inline.
980
-
981
- ### Grill Checklist per Domain
982
-
983
- | Domain | Grill Checks |
984
- |--------|-------------|
985
- | Frontend | Components render, no console errors, accessibility, responsive |
986
- | Backend | API endpoints return correct status codes, validation works, error handling |
987
- | Database | Migrations apply cleanly, seed data loads, rollback works |
988
- | Testing | All tests pass, coverage threshold met, no flaky tests |
989
- | Security | No exposed secrets, input validation, auth working |
990
- | DevOps | Docker builds, CI passes, deployment config valid |
991
-
992
- ---
993
-
994
- ## 8b. Agent Timeout and Stuck Detection (Heartbeat-Based)
995
-
996
- Agents send `STATUS: T-{N}/{total}` heartbeat messages after each task completion. The team-lead uses these to detect stuck agents proactively.
997
-
998
- ### Heartbeat Tracking
999
-
1000
- The team-lead maintains a mental log of the last STATUS received from each agent:
1001
-
1002
- ```
1003
- Agent Heartbeat Log (example):
1004
- backend-agent: STATUS: T-003/8 (last seen: 2 turns ago)
1005
- frontend-agent: STATUS: T-005/12 (last seen: this turn)
1006
- database-agent: COMPLETION (done)
1007
- testing-agent: STATUS T-001/6 (last seen: 4 turns ago) ← STUCK?
1008
- ```
1009
-
1010
- ### Stuck Detection Rules
1011
-
1012
- **Note**: Claude Code has no built-in timers. Heartbeats are tracked relative to team-lead turns (each time the orchestrator processes messages). Time thresholds below are approximate wall-clock estimates based on typical turn cadence.
1013
-
1014
- | Condition | Wall-clock estimate | Action |
1015
- |-----------|---------------------|--------|
1016
- | Agent sent STATUS within the current no-progress window | ≤ 5 min | Healthy — no action needed |
1017
- | No STATUS / no progress from agent for the no-progress window | ~5 min | Send `STATUS_CHECK` message to agent |
1018
- | No STATUS / no response to STATUS_CHECK for the total-stuck window | ~20 min | Declare agent stuck |
1019
- | Agent sends STATUS but task number hasn't advanced for 3+ heartbeats | — | Stuck in loop — declare stuck |
1020
- | All agents stuck | — | STOP team, report to user |
1021
-
1022
- **Window rationale**: Raised from 2min/10min to 5min/20min in SpecWeave 1.1.0 — Opus 4.7's long-horizon coherence means legitimate pauses (tool use, extended reasoning, long file writes) are longer, so the old 2min window produced false stuck-detection on otherwise-healthy agents. Override via `quality.stuckDetection.{noProgressMin, totalStuckMin}` in `.specweave/config.json`.
1023
-
1024
- ### Stuck-in-Loop Detection
1025
-
1026
- An agent may appear to send heartbeats but actually be looping on the same task (e.g., test fails → fix → test fails → fix → ...). To detect this:
1027
-
1028
- - Track the task number in each STATUS message
1029
- - If the same task number appears in 3+ consecutive STATUS messages from the same agent, the agent is stuck in a loop
1030
- - Action: send a message to the agent with guidance, or declare stuck if the loop continues
1031
-
1032
- ### Stuck Agent Recovery
1033
-
1034
- When an agent is declared stuck:
1035
- 1. Do NOT wait for it — proceed with other agents
1036
- 2. Note the stuck agent's increment ID and last known task progress (from last STATUS)
1037
- 3. Send shutdown_request to the stuck agent to free resources
1038
- 4. During closure phase, the stuck agent's increment is left open for manual completion
1039
-
1040
- ### Preventing Stuck Agents
1041
-
1042
- - Enforce the 40-task cap (Section 3b) — split larger work across multiple agents
1043
- - Agents do NOT run sw:done (team-lead handles closure centrally)
1044
- - Heartbeat STATUS messages let team-lead detect problems early instead of after long silences
1045
- - If an agent's task count exceeds 40 despite the cap, split before spawning
1046
-
1047
- ### Workflow-Aware Stuck Detection (agent borrowing a Workflow)
1048
-
1049
- A domain agent that borrows a Workflow (see `agents/_protocol.md` Workflow Mode) goes **silent for minutes** while the background run executes — the normal 5min/20min windows would false-kill a healthy agent. Additive handling:
1050
-
1051
- 1. **Delegation state** — when an agent's STATUS contains `DELEGATING … workflow_id=`, mark it `state=workflow-delegating` and record the `workflow_id`. SUSPEND the normal 5/20 windows.
1052
- 2. **Extended windows** — while delegating, apply `quality.workflows.stuckDetection.{workflowNoProgressMin, workflowTotalStuckMin}` (defaults 20min / 60min) instead. Silence here is expected, not stuck.
1053
- 3. **Clear on completion** — a `STATUS: WORKFLOW_DONE` (or a `BLOCKING_ISSUE` citing the same `workflow_id`) restores `state=active` and the normal 5/20 windows from the next heartbeat.
1054
- 4. **Probe before kill** — if `workflowTotalStuckMin` elapses with no `WORKFLOW_DONE`, send ONE `STATUS_CHECK` asking the agent to report the Workflow's own progress (it is resumable/background). Declare stuck only after a second unanswered probe; prefer leaving the increment open over killing mid-batch.
1055
- 5. **Loop-detection unchanged** — the "same task number 3+ heartbeats = stuck loop" rule still applies to NON-delegating agents; a delegating agent emits no task-number heartbeats and is exempt by construction.
1056
-
1057
- **Default-off**: with no `quality.workflows` config, no agent ever enters `state=workflow-delegating`, so behavior is identical to today.
1058
-
1059
- ---
1060
-
1061
- ## 9. Workflow Summary
1062
-
1063
- ```
1064
- sw:team-lead "Build checkout flow"
1065
-
1066
- ├── Step 0: VERIFY INCREMENT EXISTS (BLOCKING)
1067
- │ ├── Found? → Read master spec.md as source of truth
1068
- │ └── Missing? → Auto-invoke sw:increment, wait for completion
1069
- ├── Step 0b: ACTIVATE MASTER INCREMENT (MANDATORY)
1070
- │ └── Edit metadata.json: set status to "active" BEFORE spawning agents
1071
- ├── Step 1: Analyze feature (from master spec) → identify domains → decide increment split
1072
- ├── Step 2: Create team via TeamCreate
1073
- ├── Step 3: Create per-domain increments (derived from master spec)
1074
-
1075
- │ ── ACTIVE PHASE (agents implementing, team-lead monitoring) ──
1076
-
1077
- ├── Step 4: Contract-first spawning (all agents with mode: "bypassPermissions")
1078
- │ ├── Phase 1: Spawn shared + database
1079
- │ │ └── Agents send PLAN_READY notification → proceed immediately
1080
- │ │ └── Team-lead reviews async, sends PLAN_CORRECTION only if needed
1081
- │ │ └── Wait for CONTRACT_READY
1082
- │ └── Phase 2: Spawn backend + frontend + testing
1083
- │ └── Agents send PLAN_READY notification → proceed immediately
1084
- ├── Step 5: Monitor progress via STATUS heartbeats
1085
- │ ├── Track per-agent: last STATUS task number and turn count
1086
- │ ├── No STATUS for 2 turns → send STATUS_CHECK
1087
- │ ├── No STATUS for 3 turns or same task 3+ times → declare stuck
1088
- │ └── DO NOT run grill/done/closure during this phase
1089
- ├── Step 6: Collect all COMPLETION signals (or declare remaining agents stuck)
1090
-
1091
- │ ── CLOSURE PHASE (all agents done) ──
1092
-
1093
- ├── Step 7: Spawn sw-closer subagents per increment (fresh context closure)
1094
- ├── Step 8: Shutdown agents → TeamDelete() → orphaned pane safety net (Step 9 below)
1095
- └── Done.
1096
- ```
1097
-
1098
- **IMPORTANT**: The intended entry point is: `sw:increment` → `sw:do` (detects 3+ domains) → `sw:team-lead`.
1099
- Direct invocation of `sw:team-lead` without an existing increment will trigger the guard and auto-invoke `sw:increment`.
1100
-
1101
- ### Step 9: Post-Completion Cleanup (MANDATORY — NEVER SKIP)
1102
-
1103
- **After delivering results OR after all sw-closer subagents complete, clean up the team.**
1104
-
1105
- #### Phase 1: Graceful Agent Shutdown
1106
-
1107
- Send `shutdown_request` to every agent you spawned. You know their names — you spawned them via `Task()`.
1108
-
1109
- ```typescript
1110
- // Replace with your actual agent names from this session
1111
- SendMessage({ type: "shutdown_request", recipient: "<agent-1-name>", content: "Team work complete" });
1112
- SendMessage({ type: "shutdown_request", recipient: "<agent-2-name>", content: "Team work complete" });
1113
- // ... for every agent you spawned
1114
- ```
1115
-
1116
- Harmless if agents already exited. **NOTE**: `shutdown_request` via `SendMessage` does NOT close the tmux pane — the agent's Claude process exits but the pane persists with "Resume this session". Phase 3 below is the ONLY mechanism that actually kills orphaned panes. **NEVER skip Phase 3.**
1117
-
1118
- #### Phase 2: Destroy Team
1119
-
1120
- ```typescript
1121
- TeamDelete();
1122
- ```
1123
-
1124
- If `TeamDelete` fails (agents still shutting down), wait 3 seconds, retry once.
1125
-
1126
- #### Phase 3: Kill Orphaned Panes (MANDATORY — this is the ONLY thing that closes tmux panes)
1127
-
1128
- `SendMessage` shutdown does NOT close tmux panes. Agent processes exit but panes persist showing "Resume this session". **This bash script is the ONLY cleanup mechanism. ALWAYS run it.**
1129
-
1130
- ```bash
1131
- if command -v tmux >/dev/null 2>&1; then
1132
- CURRENT_PANE=$(tmux display-message -p '#{pane_id}' 2>/dev/null || echo "")
1133
- for pane_id in $(tmux list-panes -a -F '#{pane_id}' 2>/dev/null); do
1134
- [ -n "$CURRENT_PANE" ] && [ "$pane_id" = "$CURRENT_PANE" ] && continue
1135
- if tmux capture-pane -t "$pane_id" -p -S -50 2>/dev/null | grep -q "Resume this session"; then
1136
- tmux kill-pane -t "$pane_id" 2>/dev/null
1137
- fi
1138
- done
1139
- fi
1140
- ```
1141
-
1142
- **Key**: Removed `$TMUX` guard — even if the orchestrator isn't inside tmux itself, agent panes still exist in tmux and need cleanup. The `tmux` command can manage external sessions.
1143
-
1144
- ### --dry-run Output
1145
-
1146
- When `--dry-run` is specified, display the proposed plan without executing.
1147
- **Do NOT call TeamCreate in dry-run mode** — just show the formatted plan text.
1148
-
1149
- ```
1150
- Team Orchestration Plan (DRY RUN)
1151
- ==================================================
1152
- Feature: Build checkout flow | Domains: 4
1153
-
1154
- Phase 1 (upstream):
1155
- 1. shared-types -> sw:architect, sw:code-simplifier | Increment: 0200-checkout-shared
1156
- 2. database -> sw:architect | Increment: 0201-checkout-database
1157
-
1158
- Phase 2 (downstream, parallel):
1159
- 3. backend -> sw:architect, infra:devops | Increment: 0202-checkout-backend
1160
- 4. frontend -> sw:architect | Increment: 0203-checkout-frontend
1161
-
1162
- Max agents: 4 (2 sequential + 2 parallel)
1163
- To execute, run without --dry-run.
1164
- ```
1165
-
1166
- ---
1167
-
1168
- ## 10. Troubleshooting
1169
-
1170
- | Issue | Cause | Fix |
1171
- |-------|-------|-----|
1172
- | **TeamCreate blocked by guard** | No increment with spec.md exists | Run `sw:increment "feature"` first, then retry `sw:team-lead`. The guard requires a substantive spec.md (>200 bytes, not a template) |
1173
- | **Agent stuck on trust folder** | Agent spawned without `bypassPermissions` | ALWAYS use `mode: "bypassPermissions"` — NEVER `mode: "plan"`. Trust prompts require interactive input agents cannot provide |
1174
- | **Session freezes after first agent completes** | Closure ran during active phase (pre-v0528 bug) | Ensure §8 active-phase rules are followed: NO grill/done until ALL agents signal COMPLETION |
1175
- | **Agent proceeds with wrong plan** | Async model means agents don't wait for approval | Send `PLAN_CORRECTION` immediately; agent should pause and revise. If ignored, send `shutdown_request` |
1176
- | **No heartbeat STATUS from agent** | Agent didn't implement heartbeat or is stuck | Check if agent template includes heartbeat step. If yes, agent is stuck — send STATUS_CHECK, then declare stuck after 3 turns |
1177
- | **Agent stuck in loop (same task repeated)** | Test fail → fix → test fail cycle | Heartbeat shows same task number 3+ times. Send guidance message or declare stuck |
1178
- | **Agents editing same files** | Overlapping file ownership patterns | Review ownership map; reassign conflicting files to a single owner; use `--dry-run` to validate before launch |
1179
- | **Token cost too high** | Too many agents or overly large prompts | Reduce `--max-agents`; use `--domains` to limit scope; split feature into smaller increments |
1180
- | **Agent stuck in long reasoning loop** | Too many tasks causing context overflow | Enforce the per-agent task cap (`TASK_CAP` = 40 in 1.1.0); split large domains into 2 agents; agents use `--simple-compat` mode |
1181
- | **Agent hung on sw:done** | Closure loads 4+ skill definitions into already-full context | Agents should NOT run sw:done — team-lead spawns `sw-closer` subagents (fresh context) for closure |
1182
- | **Contract agent takes too long** | Large schema or complex type system | Set a timeout in the agent prompt; if stuck >15 min, check agent output and consider splitting the contract work |
1183
- | **Phase 2 starts before Phase 1 finishes** | CONTRACT_READY not received yet | Ensure upstream agents send CONTRACT_READY via SendMessage before team-lead spawns downstream |
1184
- | **Agent fails mid-task** | Build error, test failure, or dependency issue | Send message to agent to fix; restart the agent with `sw:auto` on its increment |
1185
- | **`specweave complete` exits silently** | metadata.json status is "planned" (not "active") | Agents don't manage lifecycle status. Team-lead MUST activate the increment before spawning agents (see Step 0). Fix: edit metadata.json to set `"status": "active"` before running `specweave complete` |
1186
- | **Closure fails on multiple increments** | Quality gates fail (grill, desync, missing reports) | Each `sw-closer` subagent retries once automatically. If still failing, use `/sw:close-all` for batch retry |
1187
-
1188
- ---
1189
-
1190
- ## 11. Examples
1191
-
1192
- ### Example 1: Full-Stack Feature
1193
-
1194
- ```
1195
- User: sw:team-lead "Build user authentication with login, signup, password reset, and OAuth"
1196
-
1197
- Orchestrator detects domains: shared/types, database, backend, frontend, testing, security
1198
- Creates 6 increments.
1199
-
1200
- Phase 1:
1201
- - shared-types agent: Auth types (User, Session, AuthToken interfaces)
1202
- - database agent: User table, Session table, Prisma migrations
1203
-
1204
- Phase 2 (after contracts ready):
1205
- - backend agent: /api/auth/login, /api/auth/signup, /api/auth/reset, OAuth flow
1206
- - frontend agent: LoginForm, SignupForm, ResetPasswordForm, OAuthButton
1207
- - testing agent: Unit tests, E2E login flow, E2E signup flow
1208
- - security agent: Password hashing, JWT validation, rate limiting, CSRF
1209
- ```
1210
-
1211
- ### Example 2: Frontend-Only (No Dependencies)
1212
-
1213
- ```
1214
- User: sw:team-lead "Redesign dashboard" --domains frontend,testing
1215
- -> No upstream dependencies. Both agents spawn in parallel immediately.
1216
- ```
1217
-
1218
- ### Example 3: Dry Run
1219
-
1220
- ```
1221
- User: sw:team-lead "Add payment processing" --dry-run
1222
- -> Shows plan with domains, phases, file ownership. No agents spawned.
1223
- ```
1224
-
1225
- ---
1226
-
1227
- ## Related Skills
1228
-
1229
- | Skill | Purpose |
1230
- |-------|---------|
1231
- | `sw:team-status` | Show progress of all agents in the current team session |
1232
- | `sw:team-merge` | Merge completed agent work in dependency order |
1233
- | `sw:auto` | Autonomous execution (single-agent mode) |
1234
- | `sw:architect` | System architecture and ADRs |
1235
- | `sw:grill` | Quality validation gate |
1236
-
1237
- ## Resources
1238
-
1239
- - [Official Documentation](https://verified-skill.com/docs/reference/skills#team-lead)