forgecraft-mcp 1.4.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/LICENSE +67 -0
  2. package/README.md +527 -525
  3. package/dist/analyzers/anchors/anchor-loader.d.ts +47 -0
  4. package/dist/analyzers/anchors/anchor-loader.d.ts.map +1 -0
  5. package/dist/analyzers/anchors/anchor-loader.js +113 -0
  6. package/dist/analyzers/anchors/anchor-loader.js.map +1 -0
  7. package/dist/analyzers/anti-pattern.d.ts.map +1 -1
  8. package/dist/analyzers/anti-pattern.js +38 -26
  9. package/dist/analyzers/anti-pattern.js.map +1 -1
  10. package/dist/analyzers/completeness-helpers.d.ts +5 -0
  11. package/dist/analyzers/completeness-helpers.d.ts.map +1 -1
  12. package/dist/analyzers/completeness-helpers.js +17 -0
  13. package/dist/analyzers/completeness-helpers.js.map +1 -1
  14. package/dist/analyzers/completeness.d.ts.map +1 -1
  15. package/dist/analyzers/completeness.js +4 -4
  16. package/dist/analyzers/completeness.js.map +1 -1
  17. package/dist/analyzers/gs-scorer.d.ts +3 -1
  18. package/dist/analyzers/gs-scorer.d.ts.map +1 -1
  19. package/dist/analyzers/gs-scorer.js +5 -2
  20. package/dist/analyzers/gs-scorer.js.map +1 -1
  21. package/dist/analyzers/package-json.d.ts.map +1 -1
  22. package/dist/analyzers/package-json.js +194 -34
  23. package/dist/analyzers/package-json.js.map +1 -1
  24. package/dist/analyzers/scorers/composable-scorer.d.ts +4 -2
  25. package/dist/analyzers/scorers/composable-scorer.d.ts.map +1 -1
  26. package/dist/analyzers/scorers/composable-scorer.js +50 -2
  27. package/dist/analyzers/scorers/composable-scorer.js.map +1 -1
  28. package/dist/analyzers/scorers/executable-scorer.d.ts +3 -2
  29. package/dist/analyzers/scorers/executable-scorer.d.ts.map +1 -1
  30. package/dist/analyzers/scorers/executable-scorer.js +64 -4
  31. package/dist/analyzers/scorers/executable-scorer.js.map +1 -1
  32. package/dist/analyzers/scorers/scorer-utils.d.ts +5 -3
  33. package/dist/analyzers/scorers/scorer-utils.d.ts.map +1 -1
  34. package/dist/analyzers/scorers/scorer-utils.js +34 -9
  35. package/dist/analyzers/scorers/scorer-utils.js.map +1 -1
  36. package/dist/analyzers/scorers/self-describing-scorer.d.ts +7 -4
  37. package/dist/analyzers/scorers/self-describing-scorer.d.ts.map +1 -1
  38. package/dist/analyzers/scorers/self-describing-scorer.js +17 -18
  39. package/dist/analyzers/scorers/self-describing-scorer.js.map +1 -1
  40. package/dist/cli/help.js +51 -51
  41. package/dist/disciplines/catalog.d.ts +16 -0
  42. package/dist/disciplines/catalog.d.ts.map +1 -0
  43. package/dist/disciplines/catalog.js +196 -0
  44. package/dist/disciplines/catalog.js.map +1 -0
  45. package/dist/disciplines/runner.d.ts +13 -0
  46. package/dist/disciplines/runner.d.ts.map +1 -0
  47. package/dist/disciplines/runner.js +35 -0
  48. package/dist/disciplines/runner.js.map +1 -0
  49. package/dist/registry/composer.d.ts.map +1 -1
  50. package/dist/registry/composer.js +9 -4
  51. package/dist/registry/composer.js.map +1 -1
  52. package/dist/registry/loader-tag.d.ts.map +1 -1
  53. package/dist/registry/loader-tag.js +1 -0
  54. package/dist/registry/loader-tag.js.map +1 -1
  55. package/dist/registry/remote-gates.js +1 -1
  56. package/dist/registry/remote-gates.js.map +1 -1
  57. package/dist/registry/renderer-skeletons.js +92 -92
  58. package/dist/registry/sentinel-renderer.js +299 -20
  59. package/dist/registry/sentinel-renderer.js.map +1 -1
  60. package/dist/sentinel/detect.d.ts +41 -0
  61. package/dist/sentinel/detect.d.ts.map +1 -0
  62. package/dist/sentinel/detect.js +122 -0
  63. package/dist/sentinel/detect.js.map +1 -0
  64. package/dist/sentinel/write.d.ts +54 -0
  65. package/dist/sentinel/write.d.ts.map +1 -0
  66. package/dist/sentinel/write.js +75 -0
  67. package/dist/sentinel/write.js.map +1 -0
  68. package/dist/shared/cnt-health.d.ts +16 -0
  69. package/dist/shared/cnt-health.d.ts.map +1 -1
  70. package/dist/shared/cnt-health.js +55 -8
  71. package/dist/shared/cnt-health.js.map +1 -1
  72. package/dist/shared/config.d.ts +14 -0
  73. package/dist/shared/config.d.ts.map +1 -1
  74. package/dist/shared/config.js +45 -0
  75. package/dist/shared/config.js.map +1 -1
  76. package/dist/shared/gs-score-logger.js +6 -6
  77. package/dist/shared/hook-installer.d.ts +58 -0
  78. package/dist/shared/hook-installer.d.ts.map +1 -0
  79. package/dist/shared/hook-installer.js +316 -0
  80. package/dist/shared/hook-installer.js.map +1 -0
  81. package/dist/shared/project-gates-helpers.d.ts +9 -0
  82. package/dist/shared/project-gates-helpers.d.ts.map +1 -1
  83. package/dist/shared/project-gates-helpers.js +35 -0
  84. package/dist/shared/project-gates-helpers.js.map +1 -1
  85. package/dist/shared/types/config.d.ts +7 -1
  86. package/dist/shared/types/config.d.ts.map +1 -1
  87. package/dist/shared/types/gates.d.ts +34 -0
  88. package/dist/shared/types/gates.d.ts.map +1 -1
  89. package/dist/shared/types/project.d.ts +68 -2
  90. package/dist/shared/types/project.d.ts.map +1 -1
  91. package/dist/shared/types/project.js +1 -0
  92. package/dist/shared/types/project.js.map +1 -1
  93. package/dist/shared/types/templates.d.ts +8 -1
  94. package/dist/shared/types/templates.d.ts.map +1 -1
  95. package/dist/shared/types/verify.d.ts +51 -1
  96. package/dist/shared/types/verify.d.ts.map +1 -1
  97. package/dist/shared/types/verify.js +37 -1
  98. package/dist/shared/types/verify.js.map +1 -1
  99. package/dist/tools/add-hook.d.ts.map +1 -1
  100. package/dist/tools/add-hook.js +8 -1
  101. package/dist/tools/add-hook.js.map +1 -1
  102. package/dist/tools/add-module.js +123 -123
  103. package/dist/tools/advice-registry.d.ts.map +1 -1
  104. package/dist/tools/advice-registry.js +108 -18
  105. package/dist/tools/advice-registry.js.map +1 -1
  106. package/dist/tools/advise-session-advisor.d.ts +16 -0
  107. package/dist/tools/advise-session-advisor.d.ts.map +1 -0
  108. package/dist/tools/advise-session-advisor.js +89 -0
  109. package/dist/tools/advise-session-advisor.js.map +1 -0
  110. package/dist/tools/advise-session-signals.d.ts +21 -0
  111. package/dist/tools/advise-session-signals.d.ts.map +1 -0
  112. package/dist/tools/advise-session-signals.js +113 -0
  113. package/dist/tools/advise-session-signals.js.map +1 -0
  114. package/dist/tools/advise-session.d.ts +22 -0
  115. package/dist/tools/advise-session.d.ts.map +1 -0
  116. package/dist/tools/advise-session.js +31 -0
  117. package/dist/tools/advise-session.js.map +1 -0
  118. package/dist/tools/analyze-harness.d.ts +18 -0
  119. package/dist/tools/analyze-harness.d.ts.map +1 -0
  120. package/dist/tools/analyze-harness.js +298 -0
  121. package/dist/tools/analyze-harness.js.map +1 -0
  122. package/dist/tools/audit.d.ts.map +1 -1
  123. package/dist/tools/audit.js +19 -0
  124. package/dist/tools/audit.js.map +1 -1
  125. package/dist/tools/change-request.d.ts +53 -0
  126. package/dist/tools/change-request.d.ts.map +1 -0
  127. package/dist/tools/change-request.js +395 -0
  128. package/dist/tools/change-request.js.map +1 -0
  129. package/dist/tools/check-cascade-contracts.d.ts +13 -0
  130. package/dist/tools/check-cascade-contracts.d.ts.map +1 -1
  131. package/dist/tools/check-cascade-contracts.js +73 -2
  132. package/dist/tools/check-cascade-contracts.js.map +1 -1
  133. package/dist/tools/check-cascade-report.js +64 -64
  134. package/dist/tools/check-cascade-steps.d.ts +3 -0
  135. package/dist/tools/check-cascade-steps.d.ts.map +1 -1
  136. package/dist/tools/check-cascade-steps.js +104 -15
  137. package/dist/tools/check-cascade-steps.js.map +1 -1
  138. package/dist/tools/check-cascade.d.ts +4 -3
  139. package/dist/tools/check-cascade.d.ts.map +1 -1
  140. package/dist/tools/check-cascade.js +30 -12
  141. package/dist/tools/check-cascade.js.map +1 -1
  142. package/dist/tools/check-derivation-chain.d.ts +37 -0
  143. package/dist/tools/check-derivation-chain.d.ts.map +1 -0
  144. package/dist/tools/check-derivation-chain.js +418 -0
  145. package/dist/tools/check-derivation-chain.js.map +1 -0
  146. package/dist/tools/check-spec-consistency.d.ts +25 -0
  147. package/dist/tools/check-spec-consistency.d.ts.map +1 -0
  148. package/dist/tools/check-spec-consistency.js +339 -0
  149. package/dist/tools/check-spec-consistency.js.map +1 -0
  150. package/dist/tools/check-t4.d.ts +54 -0
  151. package/dist/tools/check-t4.d.ts.map +1 -0
  152. package/dist/tools/check-t4.js +305 -0
  153. package/dist/tools/check-t4.js.map +1 -0
  154. package/dist/tools/close-cycle.d.ts +11 -0
  155. package/dist/tools/close-cycle.d.ts.map +1 -1
  156. package/dist/tools/close-cycle.js +364 -4
  157. package/dist/tools/close-cycle.js.map +1 -1
  158. package/dist/tools/cnt-add-routing.d.ts +31 -0
  159. package/dist/tools/cnt-add-routing.d.ts.map +1 -0
  160. package/dist/tools/cnt-add-routing.js +99 -0
  161. package/dist/tools/cnt-add-routing.js.map +1 -0
  162. package/dist/tools/configure-mcp.d.ts.map +1 -1
  163. package/dist/tools/configure-mcp.js +52 -2
  164. package/dist/tools/configure-mcp.js.map +1 -1
  165. package/dist/tools/consolidate-status.d.ts +31 -0
  166. package/dist/tools/consolidate-status.d.ts.map +1 -1
  167. package/dist/tools/consolidate-status.js +105 -0
  168. package/dist/tools/consolidate-status.js.map +1 -1
  169. package/dist/tools/executable-gates.d.ts +52 -0
  170. package/dist/tools/executable-gates.d.ts.map +1 -0
  171. package/dist/tools/executable-gates.js +333 -0
  172. package/dist/tools/executable-gates.js.map +1 -0
  173. package/dist/tools/extract-adrs-from-spec.d.ts +33 -0
  174. package/dist/tools/extract-adrs-from-spec.d.ts.map +1 -0
  175. package/dist/tools/extract-adrs-from-spec.js +410 -0
  176. package/dist/tools/extract-adrs-from-spec.js.map +1 -0
  177. package/dist/tools/extract-adrs-history.d.ts +47 -0
  178. package/dist/tools/extract-adrs-history.d.ts.map +1 -0
  179. package/dist/tools/extract-adrs-history.js +265 -0
  180. package/dist/tools/extract-adrs-history.js.map +1 -0
  181. package/dist/tools/forgecraft-dispatch-extended.d.ts.map +1 -1
  182. package/dist/tools/forgecraft-dispatch-extended.js +137 -0
  183. package/dist/tools/forgecraft-dispatch-extended.js.map +1 -1
  184. package/dist/tools/forgecraft-dispatch.d.ts.map +1 -1
  185. package/dist/tools/forgecraft-dispatch.js +16 -0
  186. package/dist/tools/forgecraft-dispatch.js.map +1 -1
  187. package/dist/tools/forgecraft-schema-params.d.ts +174 -2
  188. package/dist/tools/forgecraft-schema-params.d.ts.map +1 -1
  189. package/dist/tools/forgecraft-schema-params.js +197 -0
  190. package/dist/tools/forgecraft-schema-params.js.map +1 -1
  191. package/dist/tools/forgecraft-schema.d.ts +179 -7
  192. package/dist/tools/forgecraft-schema.d.ts.map +1 -1
  193. package/dist/tools/forgecraft-schema.js +37 -0
  194. package/dist/tools/forgecraft-schema.js.map +1 -1
  195. package/dist/tools/generate-adr.js +6 -6
  196. package/dist/tools/generate-adr.js.map +1 -1
  197. package/dist/tools/generate-decision.d.ts +77 -0
  198. package/dist/tools/generate-decision.d.ts.map +1 -0
  199. package/dist/tools/generate-decision.js +162 -0
  200. package/dist/tools/generate-decision.js.map +1 -0
  201. package/dist/tools/generate-env-probe.d.ts +49 -0
  202. package/dist/tools/generate-env-probe.d.ts.map +1 -0
  203. package/dist/tools/generate-env-probe.js +365 -0
  204. package/dist/tools/generate-env-probe.js.map +1 -0
  205. package/dist/tools/generate-harness.d.ts +53 -0
  206. package/dist/tools/generate-harness.d.ts.map +1 -0
  207. package/dist/tools/generate-harness.js +395 -0
  208. package/dist/tools/generate-harness.js.map +1 -0
  209. package/dist/tools/generate-roadmap.d.ts +1 -1
  210. package/dist/tools/generate-roadmap.d.ts.map +1 -1
  211. package/dist/tools/generate-roadmap.js +38 -4
  212. package/dist/tools/generate-roadmap.js.map +1 -1
  213. package/dist/tools/generate-session-prompt.d.ts +3 -3
  214. package/dist/tools/generate-session-prompt.d.ts.map +1 -1
  215. package/dist/tools/generate-session-prompt.js +9 -1
  216. package/dist/tools/generate-session-prompt.js.map +1 -1
  217. package/dist/tools/generate-slo-probe.d.ts +53 -0
  218. package/dist/tools/generate-slo-probe.d.ts.map +1 -0
  219. package/dist/tools/generate-slo-probe.js +366 -0
  220. package/dist/tools/generate-slo-probe.js.map +1 -0
  221. package/dist/tools/layer-status-gates.d.ts +24 -0
  222. package/dist/tools/layer-status-gates.d.ts.map +1 -0
  223. package/dist/tools/layer-status-gates.js +151 -0
  224. package/dist/tools/layer-status-gates.js.map +1 -0
  225. package/dist/tools/layer-status.d.ts +126 -0
  226. package/dist/tools/layer-status.d.ts.map +1 -0
  227. package/dist/tools/layer-status.js +647 -0
  228. package/dist/tools/layer-status.js.map +1 -0
  229. package/dist/tools/list.d.ts.map +1 -1
  230. package/dist/tools/list.js +9 -5
  231. package/dist/tools/list.js.map +1 -1
  232. package/dist/tools/postcondition-coverage.d.ts +57 -0
  233. package/dist/tools/postcondition-coverage.d.ts.map +1 -0
  234. package/dist/tools/postcondition-coverage.js +256 -0
  235. package/dist/tools/postcondition-coverage.js.map +1 -0
  236. package/dist/tools/probe-runners.d.ts +21 -0
  237. package/dist/tools/probe-runners.d.ts.map +1 -0
  238. package/dist/tools/probe-runners.js +246 -0
  239. package/dist/tools/probe-runners.js.map +1 -0
  240. package/dist/tools/probe-templates.d.ts +27 -0
  241. package/dist/tools/probe-templates.d.ts.map +1 -0
  242. package/dist/tools/probe-templates.js +279 -0
  243. package/dist/tools/probe-templates.js.map +1 -0
  244. package/dist/tools/propose-session.d.ts +28 -0
  245. package/dist/tools/propose-session.d.ts.map +1 -0
  246. package/dist/tools/propose-session.js +333 -0
  247. package/dist/tools/propose-session.js.map +1 -0
  248. package/dist/tools/refresh-output.js +14 -14
  249. package/dist/tools/review-stubs.d.ts +29 -0
  250. package/dist/tools/review-stubs.d.ts.map +1 -0
  251. package/dist/tools/review-stubs.js +173 -0
  252. package/dist/tools/review-stubs.js.map +1 -0
  253. package/dist/tools/roadmap-builder.d.ts +49 -1
  254. package/dist/tools/roadmap-builder.d.ts.map +1 -1
  255. package/dist/tools/roadmap-builder.js +210 -5
  256. package/dist/tools/roadmap-builder.js.map +1 -1
  257. package/dist/tools/run-env-probe.d.ts +57 -0
  258. package/dist/tools/run-env-probe.d.ts.map +1 -0
  259. package/dist/tools/run-env-probe.js +270 -0
  260. package/dist/tools/run-env-probe.js.map +1 -0
  261. package/dist/tools/run-harness.d.ts +52 -0
  262. package/dist/tools/run-harness.d.ts.map +1 -0
  263. package/dist/tools/run-harness.js +279 -0
  264. package/dist/tools/run-harness.js.map +1 -0
  265. package/dist/tools/run-slo-probe.d.ts +50 -0
  266. package/dist/tools/run-slo-probe.d.ts.map +1 -0
  267. package/dist/tools/run-slo-probe.js +281 -0
  268. package/dist/tools/run-slo-probe.js.map +1 -0
  269. package/dist/tools/scaffold-spec-stubs.js +115 -115
  270. package/dist/tools/scaffold-templates.js +62 -62
  271. package/dist/tools/scaffold-writer.d.ts.map +1 -1
  272. package/dist/tools/scaffold-writer.js +9 -0
  273. package/dist/tools/scaffold-writer.js.map +1 -1
  274. package/dist/tools/score-rubric.d.ts +19 -0
  275. package/dist/tools/score-rubric.d.ts.map +1 -0
  276. package/dist/tools/score-rubric.js +411 -0
  277. package/dist/tools/score-rubric.js.map +1 -0
  278. package/dist/tools/session-prompt-builders.d.ts +20 -0
  279. package/dist/tools/session-prompt-builders.d.ts.map +1 -1
  280. package/dist/tools/session-prompt-builders.js +78 -5
  281. package/dist/tools/session-prompt-builders.js.map +1 -1
  282. package/dist/tools/session-prompt-sections.d.ts +4 -2
  283. package/dist/tools/session-prompt-sections.d.ts.map +1 -1
  284. package/dist/tools/session-prompt-sections.js +22 -10
  285. package/dist/tools/session-prompt-sections.js.map +1 -1
  286. package/dist/tools/setup-artifact-writers.d.ts +69 -4
  287. package/dist/tools/setup-artifact-writers.d.ts.map +1 -1
  288. package/dist/tools/setup-artifact-writers.js +681 -5
  289. package/dist/tools/setup-artifact-writers.js.map +1 -1
  290. package/dist/tools/setup-cnt-builders.d.ts.map +1 -1
  291. package/dist/tools/setup-cnt-builders.js +162 -34
  292. package/dist/tools/setup-cnt-builders.js.map +1 -1
  293. package/dist/tools/setup-monitoring.d.ts +41 -0
  294. package/dist/tools/setup-monitoring.d.ts.map +1 -0
  295. package/dist/tools/setup-monitoring.js +364 -0
  296. package/dist/tools/setup-monitoring.js.map +1 -0
  297. package/dist/tools/setup-phase1.d.ts.map +1 -1
  298. package/dist/tools/setup-phase1.js +14 -1
  299. package/dist/tools/setup-phase1.js.map +1 -1
  300. package/dist/tools/setup-phase2.d.ts +14 -0
  301. package/dist/tools/setup-phase2.d.ts.map +1 -1
  302. package/dist/tools/setup-phase2.js +130 -3
  303. package/dist/tools/setup-phase2.js.map +1 -1
  304. package/dist/tools/setup-project.d.ts +8 -0
  305. package/dist/tools/setup-project.d.ts.map +1 -1
  306. package/dist/tools/setup-project.js +52 -2
  307. package/dist/tools/setup-project.js.map +1 -1
  308. package/dist/tools/spec-parser-tags.d.ts.map +1 -1
  309. package/dist/tools/spec-parser-tags.js +1 -0
  310. package/dist/tools/spec-parser-tags.js.map +1 -1
  311. package/dist/tools/verify-formatter.d.ts.map +1 -1
  312. package/dist/tools/verify-formatter.js +15 -1
  313. package/dist/tools/verify-formatter.js.map +1 -1
  314. package/dist/tools/verify.d.ts.map +1 -1
  315. package/dist/tools/verify.js +3 -0
  316. package/dist/tools/verify.js.map +1 -1
  317. package/package.json +98 -89
  318. package/templates/analytics/instructions.yaml +37 -37
  319. package/templates/analytics/mcp-servers.yaml +11 -11
  320. package/templates/analytics/structure.yaml +25 -25
  321. package/templates/api/harness/uc-template.hurl +20 -0
  322. package/templates/api/instructions.yaml +231 -231
  323. package/templates/api/mcp-servers.yaml +22 -22
  324. package/templates/api/nfr.yaml +23 -23
  325. package/templates/api/review.yaml +103 -103
  326. package/templates/api/structure.yaml +34 -34
  327. package/templates/api/verification.yaml +132 -132
  328. package/templates/cli/instructions.yaml +31 -31
  329. package/templates/cli/mcp-servers.yaml +11 -11
  330. package/templates/cli/review.yaml +53 -53
  331. package/templates/cli/structure.yaml +16 -16
  332. package/templates/data-lineage/instructions.yaml +28 -28
  333. package/templates/data-lineage/mcp-servers.yaml +22 -22
  334. package/templates/data-pipeline/instructions.yaml +84 -84
  335. package/templates/data-pipeline/mcp-servers.yaml +13 -13
  336. package/templates/data-pipeline/nfr.yaml +39 -39
  337. package/templates/data-pipeline/structure.yaml +23 -23
  338. package/templates/docs-manifest.yaml +227 -0
  339. package/templates/fintech/hooks.yaml +55 -55
  340. package/templates/fintech/instructions.yaml +112 -112
  341. package/templates/fintech/mcp-servers.yaml +13 -13
  342. package/templates/fintech/nfr.yaml +46 -46
  343. package/templates/fintech/playbook.yaml +210 -210
  344. package/templates/fintech/verification.yaml +239 -239
  345. package/templates/game/harness/uc-template.sim.ts +29 -0
  346. package/templates/game/instructions.yaml +289 -289
  347. package/templates/game/mcp-servers.yaml +38 -38
  348. package/templates/game/nfr.yaml +64 -64
  349. package/templates/game/playbook.yaml +214 -214
  350. package/templates/game/review.yaml +97 -97
  351. package/templates/game/structure.yaml +67 -67
  352. package/templates/game/verification.yaml +174 -174
  353. package/templates/healthcare/instructions.yaml +42 -42
  354. package/templates/healthcare/mcp-servers.yaml +13 -13
  355. package/templates/healthcare/nfr.yaml +47 -47
  356. package/templates/hipaa/instructions.yaml +41 -41
  357. package/templates/hipaa/mcp-servers.yaml +13 -13
  358. package/templates/infra/instructions.yaml +104 -104
  359. package/templates/infra/mcp-servers.yaml +20 -20
  360. package/templates/infra/nfr.yaml +46 -46
  361. package/templates/infra/review.yaml +65 -65
  362. package/templates/infra/structure.yaml +25 -25
  363. package/templates/library/instructions.yaml +36 -36
  364. package/templates/library/mcp-servers.yaml +20 -20
  365. package/templates/library/review.yaml +56 -56
  366. package/templates/library/structure.yaml +19 -19
  367. package/templates/medallion-architecture/instructions.yaml +41 -41
  368. package/templates/medallion-architecture/mcp-servers.yaml +22 -22
  369. package/templates/ml/instructions.yaml +85 -85
  370. package/templates/ml/mcp-servers.yaml +11 -11
  371. package/templates/ml/nfr.yaml +39 -39
  372. package/templates/ml/structure.yaml +25 -25
  373. package/templates/ml/verification.yaml +156 -156
  374. package/templates/mobile/instructions.yaml +44 -44
  375. package/templates/mobile/mcp-servers.yaml +11 -11
  376. package/templates/mobile/nfr.yaml +49 -49
  377. package/templates/mobile/structure.yaml +27 -27
  378. package/templates/mobile/verification.yaml +121 -121
  379. package/templates/observability-xray/instructions.yaml +40 -40
  380. package/templates/observability-xray/mcp-servers.yaml +15 -15
  381. package/templates/realtime/instructions.yaml +42 -42
  382. package/templates/realtime/mcp-servers.yaml +13 -13
  383. package/templates/soc2/instructions.yaml +41 -41
  384. package/templates/soc2/mcp-servers.yaml +24 -24
  385. package/templates/social/instructions.yaml +43 -43
  386. package/templates/social/mcp-servers.yaml +24 -24
  387. package/templates/state-machine/instructions.yaml +42 -42
  388. package/templates/state-machine/mcp-servers.yaml +11 -11
  389. package/templates/tools-registry.yaml +164 -164
  390. package/templates/universal/claude-md-blocks/layer-navigation.md +20 -0
  391. package/templates/universal/claude-md-blocks/nfr-contracts.md +22 -0
  392. package/templates/universal/hooks.yaml +879 -723
  393. package/templates/universal/instructions.yaml +1692 -1692
  394. package/templates/universal/mcp-servers.yaml +50 -50
  395. package/templates/universal/nfr.yaml +197 -197
  396. package/templates/universal/reference.yaml +326 -326
  397. package/templates/universal/review.yaml +204 -204
  398. package/templates/universal/skills.yaml +262 -262
  399. package/templates/universal/structure.yaml +67 -67
  400. package/templates/universal/verification.yaml +416 -416
  401. package/templates/web-next/hooks.yaml +114 -0
  402. package/templates/web-next/instructions.yaml +106 -0
  403. package/templates/web-react/harness/uc-template.spec.ts +35 -0
  404. package/templates/web-react/hooks.yaml +156 -44
  405. package/templates/web-react/instructions.yaml +296 -207
  406. package/templates/web-react/mcp-servers.yaml +20 -20
  407. package/templates/web-react/nfr.yaml +27 -27
  408. package/templates/web-react/review.yaml +94 -94
  409. package/templates/web-react/structure.yaml +46 -46
  410. package/templates/web-react/verification.yaml +126 -126
  411. package/templates/web-static/hooks.yaml +85 -0
  412. package/templates/web-static/instructions.yaml +204 -115
  413. package/templates/web-static/mcp-servers.yaml +20 -20
  414. package/templates/web3/instructions.yaml +44 -44
  415. package/templates/web3/mcp-servers.yaml +11 -11
  416. package/templates/web3/verification.yaml +159 -159
  417. package/templates/zero-trust/instructions.yaml +41 -41
  418. package/templates/zero-trust/mcp-servers.yaml +15 -15
@@ -0,0 +1,265 @@
1
+ /**
2
+ * extract_adrs_from_history tool handler.
3
+ *
4
+ * Scans git log for architectural decision candidates and emits
5
+ * retroactive ADR stubs into docs/adrs/active/.
6
+ *
7
+ * Uses heuristics:
8
+ * - Commit message keywords: "switch to", "replace", "adopt", "migrate",
9
+ * "chose", "use X instead", "move from", "change from", "refactor to"
10
+ * - Large feat/refactor commits (≥ threshold files changed)
11
+ * - Merge commit PR titles that describe architectural choices
12
+ *
13
+ * Each stub has Status: Retroactive and the commit date/message pre-filled.
14
+ * Practitioners resolve [NEEDS CLARIFICATION] sections after review.
15
+ *
16
+ * Idempotent: skips commits whose slug already exists in docs/adrs/active/.
17
+ */
18
+ import { existsSync, mkdirSync, readdirSync, writeFileSync } from "node:fs";
19
+ import { join } from "node:path";
20
+ import { execSync } from "node:child_process";
21
+ // ── Architecture decision keywords ───────────────────────────────────
22
+ const ARCH_KEYWORDS = [
23
+ "switch to",
24
+ "switched to",
25
+ "replace",
26
+ "replaced",
27
+ "adopt",
28
+ "adopted",
29
+ "migrate",
30
+ "migrated",
31
+ "migration",
32
+ "chose",
33
+ "choose",
34
+ "move from",
35
+ "moved from",
36
+ "change from",
37
+ "changed from",
38
+ "refactor to",
39
+ "extract",
40
+ "introduce",
41
+ "introduced",
42
+ "use X instead",
43
+ "restructure",
44
+ "redesign",
45
+ "drop",
46
+ "remove and replace",
47
+ "consolidate",
48
+ "split into",
49
+ "breaking change",
50
+ "breaking:",
51
+ "upgrade",
52
+ "downgrade",
53
+ ];
54
+ // ── Git helpers ───────────────────────────────────────────────────────
55
+ /**
56
+ * Run git log and return candidates for architectural decisions.
57
+ * Non-throwing — returns empty array when not a git repo or git unavailable.
58
+ */
59
+ export function findArchDecisionCandidates(projectDir, maxCandidates, largeCommitThreshold, ref) {
60
+ if (!existsSync(join(projectDir, ".git")))
61
+ return [];
62
+ let logOutput;
63
+ try {
64
+ // --no-merges skips merge commits (they're usually redundant with the PR title)
65
+ // We do a second pass with --merges for PR title candidates
66
+ logOutput = execSync(`git log --no-merges --format="%H|%as|%s|%ad" --date=short --shortstat ${ref}`, { cwd: projectDir, encoding: "utf-8", timeout: 15000 });
67
+ }
68
+ catch {
69
+ return [];
70
+ }
71
+ const candidates = [];
72
+ const blocks = logOutput.trim().split(/\n(?=[0-9a-f]{40}\|)/);
73
+ for (const block of blocks) {
74
+ const lines = block.split("\n");
75
+ const headerLine = lines[0];
76
+ if (!headerLine)
77
+ continue;
78
+ const parts = headerLine.split("|");
79
+ const hash = parts[0] ?? "";
80
+ const date = parts[1] ?? "";
81
+ const subject = parts[2] ?? "";
82
+ if (!hash || !date || !subject)
83
+ continue;
84
+ const statsLine = lines.find((l) => l.includes("changed"));
85
+ const filesChanged = statsLine
86
+ ? parseInt(/(\d+) files? changed/.exec(statsLine)?.[1] ?? "0", 10)
87
+ : 0;
88
+ const lowerSubject = subject.toLowerCase();
89
+ const matchedKeyword = ARCH_KEYWORDS.find((kw) => lowerSubject.includes(kw.toLowerCase()));
90
+ let reason = "";
91
+ if (matchedKeyword) {
92
+ reason = `keyword: "${matchedKeyword}"`;
93
+ }
94
+ else if (filesChanged >= largeCommitThreshold) {
95
+ reason = `large commit: ${filesChanged} files changed`;
96
+ }
97
+ if (!reason)
98
+ continue;
99
+ candidates.push({ hash, date, subject, filesChanged, reason });
100
+ if (candidates.length >= maxCandidates)
101
+ break;
102
+ }
103
+ return candidates;
104
+ }
105
+ // ── ADR directory helpers ─────────────────────────────────────────────
106
+ function resolveAdrDir(projectDir) {
107
+ const canonical = join(projectDir, "docs", "adrs", "active");
108
+ const legacy = join(projectDir, "docs", "adrs");
109
+ return existsSync(canonical) ? canonical : legacy;
110
+ }
111
+ function nextAdrNumber(adrDir) {
112
+ if (!existsSync(adrDir))
113
+ return 1;
114
+ const existing = readdirSync(adrDir)
115
+ .map((f) => /^(\d{4})-/.exec(f)?.[1])
116
+ .filter((n) => n !== undefined)
117
+ .map((n) => parseInt(n, 10));
118
+ return existing.length > 0 ? Math.max(...existing) + 1 : 1;
119
+ }
120
+ function subjectToSlug(subject) {
121
+ return subject
122
+ .toLowerCase()
123
+ .replace(/[^a-z0-9\s-]/g, "")
124
+ .trim()
125
+ .replace(/[\s_]+/g, "-")
126
+ .replace(/-{2,}/g, "-")
127
+ .slice(0, 55);
128
+ }
129
+ function slugExists(adrDir, slug) {
130
+ if (!existsSync(adrDir))
131
+ return false;
132
+ return readdirSync(adrDir).some((f) => f.includes(slug));
133
+ }
134
+ // ── ADR content builder ───────────────────────────────────────────────
135
+ function renderRetroactiveAdr(number, subject, date, hash, reason) {
136
+ const id = `ADR-${String(number).padStart(4, "0")}`;
137
+ const shortHash = hash.slice(0, 8);
138
+ return [
139
+ `# ${id}: ${subject}`,
140
+ ``,
141
+ `**Date:** ${date}`,
142
+ `**Status:** Retroactive`,
143
+ `**Commit:** \`${shortHash}\` — extracted by forgecraft from git history (${reason})`,
144
+ ``,
145
+ `## Status`,
146
+ ``,
147
+ `Retroactive — decision was made implicitly. Practitioner should:`,
148
+ `1. Verify this is actually a recorded architectural decision (not just a refactor).`,
149
+ `2. Fill in Context / Decision / Alternatives from memory, PR description, or Slack history.`,
150
+ `3. Change status to \`Accepted\` once filled in.`,
151
+ `4. Delete this file if the commit does not represent a real decision.`,
152
+ ``,
153
+ `## Context`,
154
+ ``,
155
+ `[NEEDS CLARIFICATION: what problem or constraint forced this change? What was the situation before?]`,
156
+ ``,
157
+ `**Original commit message:** ${subject}`,
158
+ ``,
159
+ `## Decision`,
160
+ ``,
161
+ `[NEEDS CLARIFICATION: what was decided and why was this option chosen over alternatives?]`,
162
+ ``,
163
+ `## Alternatives Considered`,
164
+ ``,
165
+ `- [NEEDS CLARIFICATION: what was the status quo before this change?]`,
166
+ `- [NEEDS CLARIFICATION: what other options were evaluated?]`,
167
+ ``,
168
+ `## Consequences`,
169
+ ``,
170
+ `[NEEDS CLARIFICATION: what became easier, harder, or newly constrained as a result?]`,
171
+ ``,
172
+ `---`,
173
+ ``,
174
+ `_This ADR was generated retroactively by ForgeCraft from git history. Resolve all [NEEDS CLARIFICATION] sections before accepting._`,
175
+ ].join("\n");
176
+ }
177
+ // ── Handler ───────────────────────────────────────────────────────────
178
+ /**
179
+ * Scan git history for architectural decisions and emit retroactive ADR stubs.
180
+ *
181
+ * @param args - Input with project_dir and optional config
182
+ * @returns MCP tool result with written/skipped counts and candidate list
183
+ */
184
+ export async function extractAdrsFromHistoryHandler(args) {
185
+ const projectDir = args.project_dir;
186
+ const maxCandidates = args.max_candidates ?? 10;
187
+ const largeCommitThreshold = args.large_commit_threshold ?? 5;
188
+ const ref = args.ref ?? "HEAD";
189
+ if (!existsSync(join(projectDir, ".git"))) {
190
+ return {
191
+ content: [
192
+ {
193
+ type: "text",
194
+ text: "Not a git repository — cannot extract ADR candidates from history.",
195
+ },
196
+ ],
197
+ };
198
+ }
199
+ const candidates = findArchDecisionCandidates(projectDir, maxCandidates, largeCommitThreshold, ref);
200
+ if (candidates.length === 0) {
201
+ return {
202
+ content: [
203
+ {
204
+ type: "text",
205
+ text: [
206
+ "## No ADR candidates found",
207
+ "",
208
+ "No commits matching architectural decision keywords were found in recent history.",
209
+ "",
210
+ "You can:",
211
+ `- Lower the large_commit_threshold (current: ${largeCommitThreshold} files) to catch smaller refactors`,
212
+ "- Run with a specific ref: `extract_adrs_from_history --ref main`",
213
+ '- Write ADRs manually: `generate_adr --title "..." --context "..." --decision "..."`',
214
+ ].join("\n"),
215
+ },
216
+ ],
217
+ };
218
+ }
219
+ const adrDir = resolveAdrDir(projectDir);
220
+ mkdirSync(adrDir, { recursive: true });
221
+ const written = [];
222
+ const skipped = [];
223
+ for (const candidate of candidates) {
224
+ const slug = subjectToSlug(candidate.subject);
225
+ if (slugExists(adrDir, slug)) {
226
+ skipped.push(candidate.subject);
227
+ continue;
228
+ }
229
+ const number = nextAdrNumber(adrDir);
230
+ const filename = `${String(number).padStart(4, "0")}-${slug}.md`;
231
+ const filePath = join(adrDir, filename);
232
+ const content = renderRetroactiveAdr(number, candidate.subject, candidate.date, candidate.hash, candidate.reason);
233
+ writeFileSync(filePath, content, "utf-8");
234
+ written.push(filename);
235
+ }
236
+ const relativeAdrDir = adrDir.replace(projectDir, "").replace(/^[\\/]/, "");
237
+ const lines = [
238
+ `## Retroactive ADR Extraction`,
239
+ ``,
240
+ `Scanned git history (${ref}). Found **${candidates.length}** candidate(s).`,
241
+ ``,
242
+ `**Written:** ${written.length}`,
243
+ `**Skipped (already exist):** ${skipped.length}`,
244
+ `**Directory:** \`${relativeAdrDir}\``,
245
+ ``,
246
+ ];
247
+ if (written.length > 0) {
248
+ lines.push(`### Written ADR stubs`, ``);
249
+ for (const f of written) {
250
+ lines.push(`- \`${relativeAdrDir}/${f}\``);
251
+ }
252
+ lines.push(``);
253
+ lines.push(`> All stubs have **Status: Retroactive** and \`[NEEDS CLARIFICATION]\` markers.`, `> Review each file: fill in Context / Decision / Alternatives / Consequences from memory or PR history, then change status to \`Accepted\`.`, `> Delete any stub that doesn't represent a real architectural decision.`, ``);
254
+ }
255
+ if (skipped.length > 0) {
256
+ lines.push(`### Skipped (slug already in ADR dir)`, ``);
257
+ for (const s of skipped) {
258
+ lines.push(`- ${s}`);
259
+ }
260
+ lines.push(``);
261
+ }
262
+ lines.push(`### How to prioritize`, ``, `1. Decisions that are **still in force** — fill in and accept these first`, `2. Decisions that have since been **superseded** — record briefly, mark \`Superseded\``, `3. Commits that turned out **not** to be decisions — delete the stub`, ``, `Once all retroactive ADRs are processed, \`Auditable\` moves to 2/2.`);
263
+ return { content: [{ type: "text", text: lines.join("\n") }] };
264
+ }
265
+ //# sourceMappingURL=extract-adrs-history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-adrs-history.js","sourceRoot":"","sources":["../../src/tools/extract-adrs-history.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-dispatch-extended.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch-extended.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAS7D,OAAO,EAEL,WAAW,EAEZ,MAAM,kCAAkC,CAAC;AAE1C;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CA4GrB;AAED,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"forgecraft-dispatch-extended.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch-extended.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiB7D,OAAO,EAEL,WAAW,EAEZ,MAAM,kCAAkC,CAAC;AAI1C;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAgVrB;AAED,YAAY,EAAE,GAAG,EAAE,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -12,6 +12,8 @@ import { generateRoadmapHandler } from "./generate-roadmap.js";
12
12
  import { cntAddNodeHandler } from "./cnt-add-node.js";
13
13
  import { startHardeningHandler } from "./start-hardening.js";
14
14
  import { requireParam, errorResult, unknownActionResult, } from "./forgecraft-dispatch-helpers.js";
15
+ import { generateHarnessHandler } from "./generate-harness.js";
16
+ import { runHarnessHandler } from "./run-harness.js";
15
17
  /**
16
18
  * Dispatch governance, generation, and hardening actions.
17
19
  * Returns an error result for unrecognized actions.
@@ -31,6 +33,25 @@ export async function dispatchExtendedAction(action, args) {
31
33
  alternatives: args.adr_alternatives,
32
34
  consequences: args.adr_consequences,
33
35
  });
36
+ case "cnt_add_routing": {
37
+ const { cntAddRoutingHandler } = await import("./cnt-add-routing.js");
38
+ return cntAddRoutingHandler({
39
+ project_dir: requireParam(args.project_dir, "project_dir", "cnt_add_routing"),
40
+ });
41
+ }
42
+ case "generate_decision": {
43
+ const { generateDecisionHandler } = await import("./generate-decision.js");
44
+ return generateDecisionHandler({
45
+ project_dir: requireParam(args.project_dir, "project_dir", "generate_decision"),
46
+ title: requireParam(args.decision_title, "decision_title", "generate_decision"),
47
+ trigger: args.decision_trigger,
48
+ root_cause: args.decision_root_cause,
49
+ fix: args.decision_fix,
50
+ regression_test: args.decision_regression_test,
51
+ chronicle_session_id: args.decision_chronicle_session_id,
52
+ related_adr: args.decision_related_adr,
53
+ });
54
+ }
34
55
  case "contribute_gate": {
35
56
  const result = await contributeGates({
36
57
  projectRoot: requireParam(args.project_dir, "project_dir", "contribute_gate"),
@@ -77,6 +98,122 @@ export async function dispatchExtendedAction(action, args) {
77
98
  });
78
99
  case "start_hardening":
79
100
  return startHardeningHandler(args);
101
+ case "generate_harness":
102
+ return generateHarnessHandler({
103
+ project_dir: requireParam(args.project_dir, "project_dir", "generate_harness"),
104
+ uc_ids: args.harness_uc_ids,
105
+ force: args.force,
106
+ });
107
+ case "run_harness":
108
+ return runHarnessHandler({
109
+ project_dir: requireParam(args.project_dir, "project_dir", "run_harness"),
110
+ uc_ids: args.harness_uc_ids,
111
+ timeout_ms: args.harness_timeout_ms,
112
+ });
113
+ case "generate_env_probe": {
114
+ const { generateEnvProbeHandler } = await import("./generate-env-probe.js");
115
+ return generateEnvProbeHandler(args);
116
+ }
117
+ case "run_env_probe": {
118
+ const { runEnvProbeHandler } = await import("./run-env-probe.js");
119
+ return runEnvProbeHandler(args);
120
+ }
121
+ case "generate_slo_probe": {
122
+ const { generateSloProbeHandler } = await import("./generate-slo-probe.js");
123
+ return generateSloProbeHandler(args);
124
+ }
125
+ case "run_slo_probe": {
126
+ const { runSloProbeHandler } = await import("./run-slo-probe.js");
127
+ return runSloProbeHandler(args);
128
+ }
129
+ case "propose_session": {
130
+ const { proposeSessionHandler } = await import("./propose-session.js");
131
+ return proposeSessionHandler(args);
132
+ }
133
+ case "check_spec_consistency": {
134
+ const { checkSpecConsistencyHandler } = await import("./check-spec-consistency.js");
135
+ return checkSpecConsistencyHandler(args);
136
+ }
137
+ case "change_request": {
138
+ const { changeRequestHandler } = await import("./change-request.js");
139
+ return changeRequestHandler({
140
+ project_dir: requireParam(args.project_dir, "project_dir", "change_request"),
141
+ title: requireParam(args.change_title, "change_title", "change_request"),
142
+ description: requireParam(args.change_description, "change_description", "change_request"),
143
+ type: requireParam(args.change_type, "change_type", "change_request"),
144
+ breaking: args.change_breaking,
145
+ breaking_details: args.change_breaking_details,
146
+ supersedes_adr: args.change_supersedes_adr,
147
+ affected_artifacts: args.change_affected_artifacts,
148
+ });
149
+ }
150
+ case "list_changes": {
151
+ const { listChangesHandler } = await import("./change-request.js");
152
+ return listChangesHandler({
153
+ project_dir: requireParam(args.project_dir, "project_dir", "list_changes"),
154
+ status: args.changes_status_filter,
155
+ });
156
+ }
157
+ case "setup_monitoring": {
158
+ const { setupMonitoringHandler } = await import("./setup-monitoring.js");
159
+ return setupMonitoringHandler({
160
+ project_dir: requireParam(args.project_dir, "project_dir", "setup_monitoring"),
161
+ project_name: args.project_name,
162
+ force: args.monitoring_force,
163
+ });
164
+ }
165
+ case "check_t4": {
166
+ const { checkT4Handler } = await import("./check-t4.js");
167
+ return checkT4Handler({
168
+ project_dir: requireParam(args.project_dir, "project_dir", "check_t4"),
169
+ acknowledge: args.t4_acknowledge,
170
+ resolve: args.t4_resolve,
171
+ show_resolved: args.t4_show_resolved,
172
+ });
173
+ }
174
+ case "extract_adrs_from_history": {
175
+ const { extractAdrsFromHistoryHandler } = await import("./extract-adrs-history.js");
176
+ return extractAdrsFromHistoryHandler({
177
+ project_dir: requireParam(args.project_dir, "project_dir", "extract_adrs_from_history"),
178
+ max_candidates: args.adrs_max_candidates,
179
+ large_commit_threshold: args.adrs_large_commit_threshold,
180
+ ref: args.adrs_ref,
181
+ });
182
+ }
183
+ case "extract_adrs_from_spec": {
184
+ const { extractAdrsFromSpecHandler } = await import("./extract-adrs-from-spec.js");
185
+ return extractAdrsFromSpecHandler({
186
+ project_dir: requireParam(args.project_dir, "project_dir", "extract_adrs_from_spec"),
187
+ spec_path: args.spec_path,
188
+ max_adrs: args.adrs_from_spec_max,
189
+ });
190
+ }
191
+ case "review_stubs": {
192
+ const { reviewStubsHandler } = await import("./review-stubs.js");
193
+ return reviewStubsHandler({
194
+ project_dir: requireParam(args.project_dir, "project_dir", "review_stubs"),
195
+ });
196
+ }
197
+ case "check_derivation_chain": {
198
+ const { checkDerivationChainHandler } = await import("./check-derivation-chain.js");
199
+ return checkDerivationChainHandler({
200
+ project_dir: requireParam(args.project_dir, "project_dir", "check_derivation_chain"),
201
+ });
202
+ }
203
+ case "score_rubric": {
204
+ const { scoreRubricHandler } = await import("./score-rubric.js");
205
+ return scoreRubricHandler({
206
+ project_dir: requireParam(args.project_dir, "project_dir", "score_rubric"),
207
+ });
208
+ }
209
+ case "analyze_harness": {
210
+ const { analyzeHarnessHandler } = await import("./analyze-harness.js");
211
+ return analyzeHarnessHandler({
212
+ project_dir: requireParam(args.project_dir, "project_dir", "analyze_harness"),
213
+ submit_issues: args.analyze_submit_issues,
214
+ force_fetch: args.analyze_force_fetch,
215
+ });
216
+ }
80
217
  default:
81
218
  return unknownActionResult(action);
82
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-dispatch-extended.js","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch-extended.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgecraft-dispatch-extended.js","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch-extended.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-dispatch.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAO,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA0B1D,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,wBAAwB,CAAC;AAQrE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CA4PrB"}
1
+ {"version":3,"file":"forgecraft-dispatch.d.ts","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAO,UAAU,EAAE,MAAM,oBAAoB,CAAC;AA4B1D,OAAO,KAAK,EAAE,cAAc,EAAU,MAAM,wBAAwB,CAAC;AAQrE,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,UAAU,CAAC,CAqRrB"}
@@ -26,6 +26,8 @@ import { generateSessionPromptHandler } from "./generate-session-prompt.js";
26
26
  import { getVerificationStrategyHandler } from "./get-verification-strategy.js";
27
27
  import { recordVerificationHandler, getVerificationStatusHandler, } from "./verification-state.js";
28
28
  import { setupProjectHandler } from "./setup-project.js";
29
+ import { layerStatusHandler } from "./layer-status.js";
30
+ import { adviseSessionHandler } from "./advise-session.js";
29
31
  import { requireParam, dispatchList, dispatchGetReference, } from "./forgecraft-dispatch-helpers.js";
30
32
  import { dispatchExtendedAction } from "./forgecraft-dispatch-extended.js";
31
33
  export async function dispatchForgecraft(args) {
@@ -43,6 +45,11 @@ export async function dispatchForgecraft(args) {
43
45
  use_playwright: args.use_playwright,
44
46
  tool_sample_split: args.tool_sample_split,
45
47
  project_type_override: args.project_type_override,
48
+ problem_statement: args.problem_statement,
49
+ primary_users: args.primary_users,
50
+ success_criteria: args.success_criteria,
51
+ spec_file_confirmed: args.spec_file_confirmed,
52
+ use_cases: args.use_cases,
46
53
  tags: args.tags,
47
54
  });
48
55
  case "list":
@@ -194,6 +201,15 @@ export async function dispatchForgecraft(args) {
194
201
  tags: args.tags,
195
202
  show_pending_only: args.show_pending_only ?? false,
196
203
  });
204
+ case "layer_status":
205
+ return layerStatusHandler({
206
+ project_dir: requireParam(args.project_dir, "project_dir", "layer_status"),
207
+ });
208
+ case "advise_session":
209
+ return adviseSessionHandler({
210
+ project_dir: requireParam(args.project_dir, "project_dir", "advise_session"),
211
+ max_items: typeof args.max_items === "number" ? args.max_items : undefined,
212
+ });
197
213
  default:
198
214
  return dispatchExtendedAction(action, args);
199
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"forgecraft-dispatch.js","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forgecraft-dispatch.js","sourceRoot":"","sources":["../../src/tools/forgecraft-dispatch.ts"],"names":[],"mappings":"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"}