@libar-dev/architect 1.0.0-pre.3 → 1.0.0-pre.5

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 (760) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +5 -5
  3. package/dist/api/arch-queries.d.ts.map +1 -1
  4. package/dist/api/context-assembler.d.ts.map +1 -1
  5. package/dist/api/handoff-generator.d.ts.map +1 -1
  6. package/dist/api/index.d.ts +8 -8
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +7 -7
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/{process-state.d.ts → pattern-graph-api.d.ts} +15 -15
  11. package/dist/api/pattern-graph-api.d.ts.map +1 -0
  12. package/dist/api/{process-state.js → pattern-graph-api.js} +13 -13
  13. package/dist/api/pattern-graph-api.js.map +1 -0
  14. package/dist/api/rules-query.d.ts +6 -6
  15. package/dist/api/rules-query.d.ts.map +1 -1
  16. package/dist/api/rules-query.js +4 -4
  17. package/dist/api/rules-query.js.map +1 -1
  18. package/dist/api/scope-validator.d.ts.map +1 -1
  19. package/dist/api/types.d.ts +8 -8
  20. package/dist/api/types.d.ts.map +1 -1
  21. package/dist/api/types.js +5 -5
  22. package/dist/cli/cli-schema.d.ts +3 -4
  23. package/dist/cli/cli-schema.d.ts.map +1 -1
  24. package/dist/cli/cli-schema.js +13 -14
  25. package/dist/cli/cli-schema.js.map +1 -1
  26. package/dist/cli/output-pipeline.d.ts.map +1 -1
  27. package/dist/cli/pattern-graph-cli.d.ts.map +1 -0
  28. package/dist/cli/validate-patterns.d.ts.map +1 -1
  29. package/dist/generators/built-in/cli-recipe-generator.d.ts +3 -4
  30. package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -1
  31. package/dist/generators/built-in/cli-recipe-generator.js +6 -7
  32. package/dist/generators/built-in/cli-recipe-generator.js.map +1 -1
  33. package/dist/generators/built-in/cli-reference-generator.d.ts +18 -0
  34. package/dist/generators/built-in/cli-reference-generator.d.ts.map +1 -0
  35. package/dist/generators/built-in/{process-api-reference-generator.js → cli-reference-generator.js} +13 -13
  36. package/dist/generators/built-in/cli-reference-generator.js.map +1 -0
  37. package/dist/generators/built-in/codec-generators.js +12 -12
  38. package/dist/generators/built-in/codec-generators.js.map +1 -1
  39. package/dist/generators/built-in/design-review-generator.d.ts.map +1 -1
  40. package/dist/generators/built-in/reference-generators.d.ts.map +1 -1
  41. package/dist/generators/codec-based.d.ts.map +1 -1
  42. package/dist/generators/index.d.ts.map +1 -1
  43. package/dist/generators/orchestrator.d.ts.map +1 -1
  44. package/dist/generators/pipeline/build-pipeline.d.ts +17 -14
  45. package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -1
  46. package/dist/generators/pipeline/build-pipeline.js +27 -21
  47. package/dist/generators/pipeline/build-pipeline.js.map +1 -1
  48. package/dist/generators/pipeline/index.d.ts.map +1 -1
  49. package/dist/generators/types.d.ts.map +1 -1
  50. package/dist/mcp/pipeline-session.d.ts.map +1 -1
  51. package/dist/renderable/codecs/index-codec.d.ts.map +1 -1
  52. package/dist/renderable/codecs/index-codec.js +54 -28
  53. package/dist/renderable/codecs/index-codec.js.map +1 -1
  54. package/docs/ANNOTATION-GUIDE.md +5 -5
  55. package/docs/ARCHITECTURE.md +79 -79
  56. package/docs/{PROCESS-API.md → CLI.md} +6 -6
  57. package/docs/CONFIGURATION.md +2 -2
  58. package/docs/DOCS-GAP-ANALYSIS.md +65 -65
  59. package/docs/INDEX.md +34 -34
  60. package/docs/MCP-SETUP.md +3 -3
  61. package/docs/METHODOLOGY.md +1 -1
  62. package/docs/SESSION-GUIDES.md +3 -3
  63. package/docs/VALIDATION.md +4 -4
  64. package/docs-live/ARCHITECTURE.md +48 -42
  65. package/docs-live/BUSINESS-RULES.md +3 -3
  66. package/docs-live/CHANGELOG-GENERATED.md +109 -103
  67. package/docs-live/INDEX.md +21 -21
  68. package/docs-live/PRODUCT-AREAS.md +7 -7
  69. package/docs-live/TAXONOMY.md +3 -5
  70. package/docs-live/_claude-md/annotation/annotation-overview.md +1 -1
  71. package/docs-live/_claude-md/annotation/annotation-reference.md +5 -5
  72. package/docs-live/_claude-md/architecture/architecture-types.md +4 -4
  73. package/docs-live/_claude-md/architecture/reference-sample.md +2 -2
  74. package/docs-live/_claude-md/data-api/data-api-overview.md +2 -2
  75. package/docs-live/_claude-md/generation/generation-overview.md +15 -15
  76. package/docs-live/_claude-md/process/process-overview.md +1 -1
  77. package/docs-live/_claude-md/validation/validation-overview.md +1 -1
  78. package/docs-live/business-rules/annotation.md +1 -2
  79. package/docs-live/business-rules/configuration.md +1 -1
  80. package/docs-live/business-rules/data-api.md +149 -136
  81. package/docs-live/business-rules/generation.md +172 -20
  82. package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +1 -1
  83. package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +5 -5
  84. package/docs-live/decisions/adr-006-single-read-model-architecture.md +24 -24
  85. package/docs-live/product-areas/ANNOTATION.md +19 -9
  86. package/docs-live/product-areas/CONFIGURATION.md +39 -19
  87. package/docs-live/product-areas/DATA-API.md +155 -151
  88. package/docs-live/product-areas/GENERATION.md +159 -144
  89. package/docs-live/product-areas/PROCESS.md +4 -4
  90. package/docs-live/product-areas/VALIDATION.md +35 -20
  91. package/docs-live/reference/ANNOTATION-REFERENCE.md +5 -5
  92. package/docs-live/reference/ARCHITECTURE-CODECS.md +11 -11
  93. package/docs-live/reference/ARCHITECTURE-TYPES.md +28 -25
  94. package/docs-live/reference/{PROCESS-API-RECIPES.md → CLI-RECIPES.md} +11 -11
  95. package/docs-live/reference/{PROCESS-API-REFERENCE.md → CLI-REFERENCE.md} +2 -2
  96. package/docs-live/reference/REFERENCE-SAMPLE.md +56 -56
  97. package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +3 -3
  98. package/docs-live/taxonomy/format-types.md +2 -2
  99. package/docs-live/taxonomy/metadata-tags.md +1 -23
  100. package/package.json +7 -7
  101. package/dist/api/arch-queries.d.ts +0 -95
  102. package/dist/api/arch-queries.js +0 -310
  103. package/dist/api/arch-queries.js.map +0 -1
  104. package/dist/api/context-assembler.d.ts +0 -124
  105. package/dist/api/context-assembler.js +0 -472
  106. package/dist/api/context-assembler.js.map +0 -1
  107. package/dist/api/context-formatter.d.ts +0 -26
  108. package/dist/api/context-formatter.js +0 -183
  109. package/dist/api/context-formatter.js.map +0 -1
  110. package/dist/api/coverage-analyzer.d.ts +0 -38
  111. package/dist/api/coverage-analyzer.d.ts.map +0 -1
  112. package/dist/api/coverage-analyzer.js +0 -117
  113. package/dist/api/coverage-analyzer.js.map +0 -1
  114. package/dist/api/fuzzy-match.d.ts +0 -75
  115. package/dist/api/fuzzy-match.d.ts.map +0 -1
  116. package/dist/api/fuzzy-match.js +0 -150
  117. package/dist/api/fuzzy-match.js.map +0 -1
  118. package/dist/api/handoff-generator.d.ts +0 -45
  119. package/dist/api/handoff-generator.js +0 -139
  120. package/dist/api/handoff-generator.js.map +0 -1
  121. package/dist/api/pattern-helpers.d.ts +0 -51
  122. package/dist/api/pattern-helpers.d.ts.map +0 -1
  123. package/dist/api/pattern-helpers.js +0 -84
  124. package/dist/api/pattern-helpers.js.map +0 -1
  125. package/dist/api/process-state.d.ts.map +0 -1
  126. package/dist/api/process-state.js.map +0 -1
  127. package/dist/api/scope-validator.d.ts +0 -56
  128. package/dist/api/scope-validator.js +0 -293
  129. package/dist/api/scope-validator.js.map +0 -1
  130. package/dist/api/stub-resolver.d.ts +0 -117
  131. package/dist/api/stub-resolver.d.ts.map +0 -1
  132. package/dist/api/stub-resolver.js +0 -154
  133. package/dist/api/stub-resolver.js.map +0 -1
  134. package/dist/api/summarize.d.ts +0 -75
  135. package/dist/api/summarize.d.ts.map +0 -1
  136. package/dist/api/summarize.js +0 -97
  137. package/dist/api/summarize.js.map +0 -1
  138. package/dist/cache/file-cache.d.ts +0 -72
  139. package/dist/cache/file-cache.d.ts.map +0 -1
  140. package/dist/cache/file-cache.js +0 -80
  141. package/dist/cache/file-cache.js.map +0 -1
  142. package/dist/cache/index.d.ts +0 -5
  143. package/dist/cache/index.d.ts.map +0 -1
  144. package/dist/cache/index.js +0 -5
  145. package/dist/cache/index.js.map +0 -1
  146. package/dist/cli/dataset-cache.d.ts +0 -66
  147. package/dist/cli/dataset-cache.js +0 -179
  148. package/dist/cli/dataset-cache.js.map +0 -1
  149. package/dist/cli/error-handler.d.ts +0 -84
  150. package/dist/cli/error-handler.d.ts.map +0 -1
  151. package/dist/cli/error-handler.js +0 -197
  152. package/dist/cli/error-handler.js.map +0 -1
  153. package/dist/cli/generate-docs.d.ts +0 -30
  154. package/dist/cli/generate-docs.js +0 -370
  155. package/dist/cli/generate-docs.js.map +0 -1
  156. package/dist/cli/lint-patterns.d.ts +0 -57
  157. package/dist/cli/lint-patterns.d.ts.map +0 -1
  158. package/dist/cli/lint-patterns.js +0 -257
  159. package/dist/cli/lint-patterns.js.map +0 -1
  160. package/dist/cli/lint-process.d.ts +0 -54
  161. package/dist/cli/lint-process.d.ts.map +0 -1
  162. package/dist/cli/lint-process.js +0 -319
  163. package/dist/cli/lint-process.js.map +0 -1
  164. package/dist/cli/lint-steps.d.ts +0 -32
  165. package/dist/cli/lint-steps.d.ts.map +0 -1
  166. package/dist/cli/lint-steps.js +0 -172
  167. package/dist/cli/lint-steps.js.map +0 -1
  168. package/dist/cli/mcp-server.d.ts +0 -22
  169. package/dist/cli/mcp-server.js +0 -57
  170. package/dist/cli/mcp-server.js.map +0 -1
  171. package/dist/cli/output-pipeline.d.ts +0 -130
  172. package/dist/cli/output-pipeline.js +0 -234
  173. package/dist/cli/output-pipeline.js.map +0 -1
  174. package/dist/cli/process-api.d.ts +0 -37
  175. package/dist/cli/process-api.d.ts.map +0 -1
  176. package/dist/cli/process-api.js +0 -1550
  177. package/dist/cli/process-api.js.map +0 -1
  178. package/dist/cli/repl.d.ts +0 -38
  179. package/dist/cli/repl.js +0 -239
  180. package/dist/cli/repl.js.map +0 -1
  181. package/dist/cli/validate-patterns.d.ts +0 -115
  182. package/dist/cli/validate-patterns.js +0 -707
  183. package/dist/cli/validate-patterns.js.map +0 -1
  184. package/dist/cli/version.d.ts +0 -35
  185. package/dist/cli/version.d.ts.map +0 -1
  186. package/dist/cli/version.js +0 -64
  187. package/dist/cli/version.js.map +0 -1
  188. package/dist/config/config-loader.d.ts +0 -167
  189. package/dist/config/config-loader.d.ts.map +0 -1
  190. package/dist/config/config-loader.js +0 -294
  191. package/dist/config/config-loader.js.map +0 -1
  192. package/dist/config/defaults.d.ts +0 -92
  193. package/dist/config/defaults.d.ts.map +0 -1
  194. package/dist/config/defaults.js +0 -103
  195. package/dist/config/defaults.js.map +0 -1
  196. package/dist/config/define-config.d.ts +0 -37
  197. package/dist/config/define-config.d.ts.map +0 -1
  198. package/dist/config/define-config.js +0 -38
  199. package/dist/config/define-config.js.map +0 -1
  200. package/dist/config/factory.d.ts +0 -79
  201. package/dist/config/factory.d.ts.map +0 -1
  202. package/dist/config/factory.js +0 -116
  203. package/dist/config/factory.js.map +0 -1
  204. package/dist/config/index.d.ts +0 -45
  205. package/dist/config/index.d.ts.map +0 -1
  206. package/dist/config/index.js +0 -48
  207. package/dist/config/index.js.map +0 -1
  208. package/dist/config/merge-sources.d.ts +0 -47
  209. package/dist/config/merge-sources.d.ts.map +0 -1
  210. package/dist/config/merge-sources.js +0 -61
  211. package/dist/config/merge-sources.js.map +0 -1
  212. package/dist/config/presets.d.ts +0 -115
  213. package/dist/config/presets.d.ts.map +0 -1
  214. package/dist/config/presets.js +0 -119
  215. package/dist/config/presets.js.map +0 -1
  216. package/dist/config/project-config-schema.d.ts +0 -192
  217. package/dist/config/project-config-schema.d.ts.map +0 -1
  218. package/dist/config/project-config-schema.js +0 -231
  219. package/dist/config/project-config-schema.js.map +0 -1
  220. package/dist/config/project-config.d.ts +0 -229
  221. package/dist/config/project-config.d.ts.map +0 -1
  222. package/dist/config/project-config.js +0 -37
  223. package/dist/config/project-config.js.map +0 -1
  224. package/dist/config/regex-builders.d.ts +0 -49
  225. package/dist/config/regex-builders.d.ts.map +0 -1
  226. package/dist/config/regex-builders.js +0 -85
  227. package/dist/config/regex-builders.js.map +0 -1
  228. package/dist/config/resolve-config.d.ts +0 -65
  229. package/dist/config/resolve-config.d.ts.map +0 -1
  230. package/dist/config/resolve-config.js +0 -150
  231. package/dist/config/resolve-config.js.map +0 -1
  232. package/dist/config/types.d.ts +0 -81
  233. package/dist/config/types.d.ts.map +0 -1
  234. package/dist/config/types.js +0 -22
  235. package/dist/config/types.js.map +0 -1
  236. package/dist/config/workflow-loader.d.ts +0 -90
  237. package/dist/config/workflow-loader.d.ts.map +0 -1
  238. package/dist/config/workflow-loader.js +0 -167
  239. package/dist/config/workflow-loader.js.map +0 -1
  240. package/dist/extractor/doc-extractor.d.ts +0 -233
  241. package/dist/extractor/doc-extractor.d.ts.map +0 -1
  242. package/dist/extractor/doc-extractor.js +0 -481
  243. package/dist/extractor/doc-extractor.js.map +0 -1
  244. package/dist/extractor/dual-source-extractor.d.ts +0 -161
  245. package/dist/extractor/dual-source-extractor.d.ts.map +0 -1
  246. package/dist/extractor/dual-source-extractor.js +0 -407
  247. package/dist/extractor/dual-source-extractor.js.map +0 -1
  248. package/dist/extractor/gherkin-extractor.d.ts +0 -170
  249. package/dist/extractor/gherkin-extractor.d.ts.map +0 -1
  250. package/dist/extractor/gherkin-extractor.js +0 -543
  251. package/dist/extractor/gherkin-extractor.js.map +0 -1
  252. package/dist/extractor/index.d.ts +0 -7
  253. package/dist/extractor/index.d.ts.map +0 -1
  254. package/dist/extractor/index.js +0 -11
  255. package/dist/extractor/index.js.map +0 -1
  256. package/dist/extractor/layer-inference.d.ts +0 -66
  257. package/dist/extractor/layer-inference.d.ts.map +0 -1
  258. package/dist/extractor/layer-inference.js +0 -93
  259. package/dist/extractor/layer-inference.js.map +0 -1
  260. package/dist/extractor/shape-extractor.d.ts +0 -79
  261. package/dist/extractor/shape-extractor.d.ts.map +0 -1
  262. package/dist/extractor/shape-extractor.js +0 -966
  263. package/dist/extractor/shape-extractor.js.map +0 -1
  264. package/dist/generators/built-in/codec-generators.d.ts +0 -29
  265. package/dist/generators/built-in/decision-doc-generator.d.ts +0 -204
  266. package/dist/generators/built-in/decision-doc-generator.js +0 -654
  267. package/dist/generators/built-in/decision-doc-generator.js.map +0 -1
  268. package/dist/generators/built-in/design-review-generator.d.ts +0 -26
  269. package/dist/generators/built-in/design-review-generator.js +0 -94
  270. package/dist/generators/built-in/design-review-generator.js.map +0 -1
  271. package/dist/generators/built-in/index.d.ts +0 -22
  272. package/dist/generators/built-in/index.js +0 -23
  273. package/dist/generators/built-in/index.js.map +0 -1
  274. package/dist/generators/built-in/process-api-reference-generator.d.ts +0 -18
  275. package/dist/generators/built-in/process-api-reference-generator.d.ts.map +0 -1
  276. package/dist/generators/built-in/process-api-reference-generator.js.map +0 -1
  277. package/dist/generators/built-in/reference-generators.d.ts +0 -51
  278. package/dist/generators/built-in/reference-generators.js +0 -320
  279. package/dist/generators/built-in/reference-generators.js.map +0 -1
  280. package/dist/generators/codec-based.d.ts +0 -63
  281. package/dist/generators/codec-based.js +0 -88
  282. package/dist/generators/codec-based.js.map +0 -1
  283. package/dist/generators/content-deduplicator.d.ts +0 -114
  284. package/dist/generators/content-deduplicator.d.ts.map +0 -1
  285. package/dist/generators/content-deduplicator.js +0 -356
  286. package/dist/generators/content-deduplicator.js.map +0 -1
  287. package/dist/generators/index.d.ts +0 -50
  288. package/dist/generators/index.js +0 -54
  289. package/dist/generators/index.js.map +0 -1
  290. package/dist/generators/orchestrator.d.ts +0 -265
  291. package/dist/generators/orchestrator.js +0 -570
  292. package/dist/generators/orchestrator.js.map +0 -1
  293. package/dist/generators/pipeline/context-inference.d.ts +0 -55
  294. package/dist/generators/pipeline/context-inference.d.ts.map +0 -1
  295. package/dist/generators/pipeline/context-inference.js +0 -76
  296. package/dist/generators/pipeline/context-inference.js.map +0 -1
  297. package/dist/generators/pipeline/index.d.ts +0 -27
  298. package/dist/generators/pipeline/index.js +0 -34
  299. package/dist/generators/pipeline/index.js.map +0 -1
  300. package/dist/generators/pipeline/merge-patterns.d.ts +0 -33
  301. package/dist/generators/pipeline/merge-patterns.d.ts.map +0 -1
  302. package/dist/generators/pipeline/merge-patterns.js +0 -50
  303. package/dist/generators/pipeline/merge-patterns.js.map +0 -1
  304. package/dist/generators/pipeline/relationship-resolver.d.ts +0 -47
  305. package/dist/generators/pipeline/relationship-resolver.d.ts.map +0 -1
  306. package/dist/generators/pipeline/relationship-resolver.js +0 -132
  307. package/dist/generators/pipeline/relationship-resolver.js.map +0 -1
  308. package/dist/generators/pipeline/sequence-utils.d.ts +0 -49
  309. package/dist/generators/pipeline/sequence-utils.d.ts.map +0 -1
  310. package/dist/generators/pipeline/sequence-utils.js +0 -235
  311. package/dist/generators/pipeline/sequence-utils.js.map +0 -1
  312. package/dist/generators/pipeline/transform-dataset.d.ts +0 -82
  313. package/dist/generators/pipeline/transform-dataset.d.ts.map +0 -1
  314. package/dist/generators/pipeline/transform-dataset.js +0 -355
  315. package/dist/generators/pipeline/transform-dataset.js.map +0 -1
  316. package/dist/generators/pipeline/transform-types.d.ts +0 -96
  317. package/dist/generators/pipeline/transform-types.d.ts.map +0 -1
  318. package/dist/generators/pipeline/transform-types.js +0 -18
  319. package/dist/generators/pipeline/transform-types.js.map +0 -1
  320. package/dist/generators/registry.d.ts +0 -64
  321. package/dist/generators/registry.js +0 -77
  322. package/dist/generators/registry.js.map +0 -1
  323. package/dist/generators/source-mapper.d.ts +0 -143
  324. package/dist/generators/source-mapper.d.ts.map +0 -1
  325. package/dist/generators/source-mapper.js +0 -602
  326. package/dist/generators/source-mapper.js.map +0 -1
  327. package/dist/generators/source-mapping-validator.d.ts +0 -118
  328. package/dist/generators/source-mapping-validator.d.ts.map +0 -1
  329. package/dist/generators/source-mapping-validator.js +0 -334
  330. package/dist/generators/source-mapping-validator.js.map +0 -1
  331. package/dist/generators/types.d.ts +0 -104
  332. package/dist/generators/types.js +0 -5
  333. package/dist/generators/types.js.map +0 -1
  334. package/dist/generators/warning-collector.d.ts +0 -144
  335. package/dist/generators/warning-collector.d.ts.map +0 -1
  336. package/dist/generators/warning-collector.js +0 -166
  337. package/dist/generators/warning-collector.js.map +0 -1
  338. package/dist/git/branch-diff.d.ts +0 -44
  339. package/dist/git/branch-diff.d.ts.map +0 -1
  340. package/dist/git/branch-diff.js +0 -57
  341. package/dist/git/branch-diff.js.map +0 -1
  342. package/dist/git/helpers.d.ts +0 -46
  343. package/dist/git/helpers.d.ts.map +0 -1
  344. package/dist/git/helpers.js +0 -67
  345. package/dist/git/helpers.js.map +0 -1
  346. package/dist/git/index.d.ts +0 -18
  347. package/dist/git/index.d.ts.map +0 -1
  348. package/dist/git/index.js +0 -18
  349. package/dist/git/index.js.map +0 -1
  350. package/dist/git/name-status.d.ts +0 -32
  351. package/dist/git/name-status.d.ts.map +0 -1
  352. package/dist/git/name-status.js +0 -66
  353. package/dist/git/name-status.js.map +0 -1
  354. package/dist/index.d.ts +0 -107
  355. package/dist/index.js +0 -122
  356. package/dist/index.js.map +0 -1
  357. package/dist/lint/engine.d.ts +0 -113
  358. package/dist/lint/engine.d.ts.map +0 -1
  359. package/dist/lint/engine.js +0 -228
  360. package/dist/lint/engine.js.map +0 -1
  361. package/dist/lint/index.d.ts +0 -26
  362. package/dist/lint/index.d.ts.map +0 -1
  363. package/dist/lint/index.js +0 -24
  364. package/dist/lint/index.js.map +0 -1
  365. package/dist/lint/process-guard/decider.d.ts +0 -166
  366. package/dist/lint/process-guard/decider.d.ts.map +0 -1
  367. package/dist/lint/process-guard/decider.js +0 -412
  368. package/dist/lint/process-guard/decider.js.map +0 -1
  369. package/dist/lint/process-guard/derive-state.d.ts +0 -96
  370. package/dist/lint/process-guard/derive-state.d.ts.map +0 -1
  371. package/dist/lint/process-guard/derive-state.js +0 -368
  372. package/dist/lint/process-guard/derive-state.js.map +0 -1
  373. package/dist/lint/process-guard/detect-changes.d.ts +0 -109
  374. package/dist/lint/process-guard/detect-changes.d.ts.map +0 -1
  375. package/dist/lint/process-guard/detect-changes.js +0 -487
  376. package/dist/lint/process-guard/detect-changes.js.map +0 -1
  377. package/dist/lint/process-guard/index.d.ts +0 -35
  378. package/dist/lint/process-guard/index.d.ts.map +0 -1
  379. package/dist/lint/process-guard/index.js +0 -39
  380. package/dist/lint/process-guard/index.js.map +0 -1
  381. package/dist/lint/process-guard/types.d.ts +0 -255
  382. package/dist/lint/process-guard/types.d.ts.map +0 -1
  383. package/dist/lint/process-guard/types.js +0 -31
  384. package/dist/lint/process-guard/types.js.map +0 -1
  385. package/dist/lint/rules.d.ts +0 -147
  386. package/dist/lint/rules.d.ts.map +0 -1
  387. package/dist/lint/rules.js +0 -289
  388. package/dist/lint/rules.js.map +0 -1
  389. package/dist/lint/steps/cross-checks.d.ts +0 -66
  390. package/dist/lint/steps/cross-checks.d.ts.map +0 -1
  391. package/dist/lint/steps/cross-checks.js +0 -290
  392. package/dist/lint/steps/cross-checks.js.map +0 -1
  393. package/dist/lint/steps/feature-checks.d.ts +0 -78
  394. package/dist/lint/steps/feature-checks.d.ts.map +0 -1
  395. package/dist/lint/steps/feature-checks.js +0 -279
  396. package/dist/lint/steps/feature-checks.js.map +0 -1
  397. package/dist/lint/steps/index.d.ts +0 -22
  398. package/dist/lint/steps/index.d.ts.map +0 -1
  399. package/dist/lint/steps/index.js +0 -26
  400. package/dist/lint/steps/index.js.map +0 -1
  401. package/dist/lint/steps/pair-resolver.d.ts +0 -29
  402. package/dist/lint/steps/pair-resolver.d.ts.map +0 -1
  403. package/dist/lint/steps/pair-resolver.js +0 -76
  404. package/dist/lint/steps/pair-resolver.js.map +0 -1
  405. package/dist/lint/steps/runner.d.ts +0 -28
  406. package/dist/lint/steps/runner.d.ts.map +0 -1
  407. package/dist/lint/steps/runner.js +0 -143
  408. package/dist/lint/steps/runner.js.map +0 -1
  409. package/dist/lint/steps/step-checks.d.ts +0 -41
  410. package/dist/lint/steps/step-checks.d.ts.map +0 -1
  411. package/dist/lint/steps/step-checks.js +0 -164
  412. package/dist/lint/steps/step-checks.js.map +0 -1
  413. package/dist/lint/steps/types.d.ts +0 -95
  414. package/dist/lint/steps/types.d.ts.map +0 -1
  415. package/dist/lint/steps/types.js +0 -79
  416. package/dist/lint/steps/types.js.map +0 -1
  417. package/dist/lint/steps/utils.d.ts +0 -22
  418. package/dist/lint/steps/utils.d.ts.map +0 -1
  419. package/dist/lint/steps/utils.js +0 -57
  420. package/dist/lint/steps/utils.js.map +0 -1
  421. package/dist/mcp/file-watcher.d.ts +0 -24
  422. package/dist/mcp/file-watcher.js +0 -75
  423. package/dist/mcp/file-watcher.js.map +0 -1
  424. package/dist/mcp/index.d.ts +0 -19
  425. package/dist/mcp/index.js +0 -21
  426. package/dist/mcp/index.js.map +0 -1
  427. package/dist/mcp/pipeline-session.d.ts +0 -33
  428. package/dist/mcp/pipeline-session.js +0 -149
  429. package/dist/mcp/pipeline-session.js.map +0 -1
  430. package/dist/mcp/server.d.ts +0 -28
  431. package/dist/mcp/server.js +0 -197
  432. package/dist/mcp/server.js.map +0 -1
  433. package/dist/mcp/tool-registry.d.ts +0 -4
  434. package/dist/mcp/tool-registry.js +0 -525
  435. package/dist/mcp/tool-registry.js.map +0 -1
  436. package/dist/renderable/codecs/adr.d.ts +0 -4730
  437. package/dist/renderable/codecs/adr.d.ts.map +0 -1
  438. package/dist/renderable/codecs/adr.js +0 -590
  439. package/dist/renderable/codecs/adr.js.map +0 -1
  440. package/dist/renderable/codecs/architecture.d.ts +0 -4760
  441. package/dist/renderable/codecs/architecture.d.ts.map +0 -1
  442. package/dist/renderable/codecs/architecture.js +0 -524
  443. package/dist/renderable/codecs/architecture.js.map +0 -1
  444. package/dist/renderable/codecs/business-rules.d.ts +0 -4777
  445. package/dist/renderable/codecs/business-rules.d.ts.map +0 -1
  446. package/dist/renderable/codecs/business-rules.js +0 -648
  447. package/dist/renderable/codecs/business-rules.js.map +0 -1
  448. package/dist/renderable/codecs/claude-module.d.ts +0 -4710
  449. package/dist/renderable/codecs/claude-module.d.ts.map +0 -1
  450. package/dist/renderable/codecs/claude-module.js +0 -214
  451. package/dist/renderable/codecs/claude-module.js.map +0 -1
  452. package/dist/renderable/codecs/composite.d.ts +0 -84
  453. package/dist/renderable/codecs/composite.d.ts.map +0 -1
  454. package/dist/renderable/codecs/composite.js +0 -124
  455. package/dist/renderable/codecs/composite.js.map +0 -1
  456. package/dist/renderable/codecs/convention-extractor.d.ts +0 -105
  457. package/dist/renderable/codecs/convention-extractor.d.ts.map +0 -1
  458. package/dist/renderable/codecs/convention-extractor.js +0 -353
  459. package/dist/renderable/codecs/convention-extractor.js.map +0 -1
  460. package/dist/renderable/codecs/decision-doc.d.ts +0 -308
  461. package/dist/renderable/codecs/decision-doc.d.ts.map +0 -1
  462. package/dist/renderable/codecs/decision-doc.js +0 -485
  463. package/dist/renderable/codecs/decision-doc.js.map +0 -1
  464. package/dist/renderable/codecs/design-review.d.ts +0 -55
  465. package/dist/renderable/codecs/design-review.d.ts.map +0 -1
  466. package/dist/renderable/codecs/design-review.js +0 -532
  467. package/dist/renderable/codecs/design-review.js.map +0 -1
  468. package/dist/renderable/codecs/diagram-utils.d.ts +0 -62
  469. package/dist/renderable/codecs/diagram-utils.d.ts.map +0 -1
  470. package/dist/renderable/codecs/diagram-utils.js +0 -70
  471. package/dist/renderable/codecs/diagram-utils.js.map +0 -1
  472. package/dist/renderable/codecs/helpers.d.ts +0 -553
  473. package/dist/renderable/codecs/helpers.d.ts.map +0 -1
  474. package/dist/renderable/codecs/helpers.js +0 -913
  475. package/dist/renderable/codecs/helpers.js.map +0 -1
  476. package/dist/renderable/codecs/index-codec.d.ts +0 -4714
  477. package/dist/renderable/codecs/index.d.ts +0 -46
  478. package/dist/renderable/codecs/index.d.ts.map +0 -1
  479. package/dist/renderable/codecs/index.js +0 -70
  480. package/dist/renderable/codecs/index.js.map +0 -1
  481. package/dist/renderable/codecs/patterns.d.ts +0 -4757
  482. package/dist/renderable/codecs/patterns.d.ts.map +0 -1
  483. package/dist/renderable/codecs/patterns.js +0 -462
  484. package/dist/renderable/codecs/patterns.js.map +0 -1
  485. package/dist/renderable/codecs/planning.d.ts +0 -14055
  486. package/dist/renderable/codecs/planning.d.ts.map +0 -1
  487. package/dist/renderable/codecs/planning.js +0 -449
  488. package/dist/renderable/codecs/planning.js.map +0 -1
  489. package/dist/renderable/codecs/pr-changes.d.ts +0 -4742
  490. package/dist/renderable/codecs/pr-changes.d.ts.map +0 -1
  491. package/dist/renderable/codecs/pr-changes.js +0 -425
  492. package/dist/renderable/codecs/pr-changes.js.map +0 -1
  493. package/dist/renderable/codecs/reference.d.ts +0 -215
  494. package/dist/renderable/codecs/reference.d.ts.map +0 -1
  495. package/dist/renderable/codecs/reference.js +0 -1578
  496. package/dist/renderable/codecs/reference.js.map +0 -1
  497. package/dist/renderable/codecs/reporting.d.ts +0 -14026
  498. package/dist/renderable/codecs/reporting.d.ts.map +0 -1
  499. package/dist/renderable/codecs/reporting.js +0 -365
  500. package/dist/renderable/codecs/reporting.js.map +0 -1
  501. package/dist/renderable/codecs/requirements.d.ts +0 -4743
  502. package/dist/renderable/codecs/requirements.d.ts.map +0 -1
  503. package/dist/renderable/codecs/requirements.js +0 -428
  504. package/dist/renderable/codecs/requirements.js.map +0 -1
  505. package/dist/renderable/codecs/session.d.ts +0 -9410
  506. package/dist/renderable/codecs/session.d.ts.map +0 -1
  507. package/dist/renderable/codecs/session.js +0 -848
  508. package/dist/renderable/codecs/session.js.map +0 -1
  509. package/dist/renderable/codecs/shape-matcher.d.ts +0 -54
  510. package/dist/renderable/codecs/shape-matcher.d.ts.map +0 -1
  511. package/dist/renderable/codecs/shape-matcher.js +0 -106
  512. package/dist/renderable/codecs/shape-matcher.js.map +0 -1
  513. package/dist/renderable/codecs/shared-schema.d.ts +0 -44
  514. package/dist/renderable/codecs/shared-schema.d.ts.map +0 -1
  515. package/dist/renderable/codecs/shared-schema.js +0 -43
  516. package/dist/renderable/codecs/shared-schema.js.map +0 -1
  517. package/dist/renderable/codecs/taxonomy.d.ts +0 -4733
  518. package/dist/renderable/codecs/taxonomy.d.ts.map +0 -1
  519. package/dist/renderable/codecs/taxonomy.js +0 -570
  520. package/dist/renderable/codecs/taxonomy.js.map +0 -1
  521. package/dist/renderable/codecs/timeline.d.ts +0 -14094
  522. package/dist/renderable/codecs/timeline.d.ts.map +0 -1
  523. package/dist/renderable/codecs/timeline.js +0 -906
  524. package/dist/renderable/codecs/timeline.js.map +0 -1
  525. package/dist/renderable/codecs/types/base.d.ts +0 -81
  526. package/dist/renderable/codecs/types/base.d.ts.map +0 -1
  527. package/dist/renderable/codecs/types/base.js +0 -56
  528. package/dist/renderable/codecs/types/base.js.map +0 -1
  529. package/dist/renderable/codecs/types/index.d.ts +0 -5
  530. package/dist/renderable/codecs/types/index.d.ts.map +0 -1
  531. package/dist/renderable/codecs/types/index.js +0 -5
  532. package/dist/renderable/codecs/types/index.js.map +0 -1
  533. package/dist/renderable/codecs/validation-rules.d.ts +0 -4773
  534. package/dist/renderable/codecs/validation-rules.d.ts.map +0 -1
  535. package/dist/renderable/codecs/validation-rules.js +0 -537
  536. package/dist/renderable/codecs/validation-rules.js.map +0 -1
  537. package/dist/renderable/generate.d.ts +0 -338
  538. package/dist/renderable/generate.d.ts.map +0 -1
  539. package/dist/renderable/generate.js +0 -437
  540. package/dist/renderable/generate.js.map +0 -1
  541. package/dist/renderable/index.d.ts +0 -36
  542. package/dist/renderable/index.d.ts.map +0 -1
  543. package/dist/renderable/index.js +0 -58
  544. package/dist/renderable/index.js.map +0 -1
  545. package/dist/renderable/load-preamble.d.ts +0 -56
  546. package/dist/renderable/load-preamble.d.ts.map +0 -1
  547. package/dist/renderable/load-preamble.js +0 -298
  548. package/dist/renderable/load-preamble.js.map +0 -1
  549. package/dist/renderable/render.d.ts +0 -61
  550. package/dist/renderable/render.d.ts.map +0 -1
  551. package/dist/renderable/render.js +0 -346
  552. package/dist/renderable/render.js.map +0 -1
  553. package/dist/renderable/schema.d.ts +0 -194
  554. package/dist/renderable/schema.d.ts.map +0 -1
  555. package/dist/renderable/schema.js +0 -197
  556. package/dist/renderable/schema.js.map +0 -1
  557. package/dist/renderable/utils.d.ts +0 -146
  558. package/dist/renderable/utils.d.ts.map +0 -1
  559. package/dist/renderable/utils.js +0 -362
  560. package/dist/renderable/utils.js.map +0 -1
  561. package/dist/scanner/ast-parser.d.ts +0 -75
  562. package/dist/scanner/ast-parser.d.ts.map +0 -1
  563. package/dist/scanner/ast-parser.js +0 -835
  564. package/dist/scanner/ast-parser.js.map +0 -1
  565. package/dist/scanner/gherkin-ast-parser.d.ts +0 -166
  566. package/dist/scanner/gherkin-ast-parser.d.ts.map +0 -1
  567. package/dist/scanner/gherkin-ast-parser.js +0 -507
  568. package/dist/scanner/gherkin-ast-parser.js.map +0 -1
  569. package/dist/scanner/gherkin-scanner.d.ts +0 -106
  570. package/dist/scanner/gherkin-scanner.d.ts.map +0 -1
  571. package/dist/scanner/gherkin-scanner.js +0 -149
  572. package/dist/scanner/gherkin-scanner.js.map +0 -1
  573. package/dist/scanner/index.d.ts +0 -85
  574. package/dist/scanner/index.d.ts.map +0 -1
  575. package/dist/scanner/index.js +0 -102
  576. package/dist/scanner/index.js.map +0 -1
  577. package/dist/scanner/pattern-scanner.d.ts +0 -83
  578. package/dist/scanner/pattern-scanner.d.ts.map +0 -1
  579. package/dist/scanner/pattern-scanner.js +0 -110
  580. package/dist/scanner/pattern-scanner.js.map +0 -1
  581. package/dist/taxonomy/categories.d.ts +0 -47
  582. package/dist/taxonomy/categories.d.ts.map +0 -1
  583. package/dist/taxonomy/categories.js +0 -175
  584. package/dist/taxonomy/categories.js.map +0 -1
  585. package/dist/taxonomy/claude-section-values.d.ts +0 -12
  586. package/dist/taxonomy/claude-section-values.d.ts.map +0 -1
  587. package/dist/taxonomy/claude-section-values.js +0 -17
  588. package/dist/taxonomy/claude-section-values.js.map +0 -1
  589. package/dist/taxonomy/conventions.d.ts +0 -13
  590. package/dist/taxonomy/conventions.d.ts.map +0 -1
  591. package/dist/taxonomy/conventions.js +0 -27
  592. package/dist/taxonomy/conventions.js.map +0 -1
  593. package/dist/taxonomy/deliverable-status.d.ts +0 -99
  594. package/dist/taxonomy/deliverable-status.d.ts.map +0 -1
  595. package/dist/taxonomy/deliverable-status.js +0 -131
  596. package/dist/taxonomy/deliverable-status.js.map +0 -1
  597. package/dist/taxonomy/format-types.d.ts +0 -17
  598. package/dist/taxonomy/format-types.d.ts.map +0 -1
  599. package/dist/taxonomy/format-types.js +0 -23
  600. package/dist/taxonomy/format-types.js.map +0 -1
  601. package/dist/taxonomy/generator-options.d.ts +0 -67
  602. package/dist/taxonomy/generator-options.d.ts.map +0 -1
  603. package/dist/taxonomy/generator-options.js +0 -75
  604. package/dist/taxonomy/generator-options.js.map +0 -1
  605. package/dist/taxonomy/hierarchy-levels.d.ts +0 -23
  606. package/dist/taxonomy/hierarchy-levels.d.ts.map +0 -1
  607. package/dist/taxonomy/hierarchy-levels.js +0 -22
  608. package/dist/taxonomy/hierarchy-levels.js.map +0 -1
  609. package/dist/taxonomy/index.d.ts +0 -35
  610. package/dist/taxonomy/index.d.ts.map +0 -1
  611. package/dist/taxonomy/index.js +0 -56
  612. package/dist/taxonomy/index.js.map +0 -1
  613. package/dist/taxonomy/layer-types.d.ts +0 -22
  614. package/dist/taxonomy/layer-types.d.ts.map +0 -1
  615. package/dist/taxonomy/layer-types.js +0 -28
  616. package/dist/taxonomy/layer-types.js.map +0 -1
  617. package/dist/taxonomy/normalized-status.d.ts +0 -99
  618. package/dist/taxonomy/normalized-status.d.ts.map +0 -1
  619. package/dist/taxonomy/normalized-status.js +0 -113
  620. package/dist/taxonomy/normalized-status.js.map +0 -1
  621. package/dist/taxonomy/registry-builder.d.ts +0 -104
  622. package/dist/taxonomy/registry-builder.d.ts.map +0 -1
  623. package/dist/taxonomy/registry-builder.js +0 -561
  624. package/dist/taxonomy/registry-builder.js.map +0 -1
  625. package/dist/taxonomy/risk-levels.d.ts +0 -16
  626. package/dist/taxonomy/risk-levels.d.ts.map +0 -1
  627. package/dist/taxonomy/risk-levels.js +0 -15
  628. package/dist/taxonomy/risk-levels.js.map +0 -1
  629. package/dist/taxonomy/severity-types.d.ts +0 -6
  630. package/dist/taxonomy/severity-types.d.ts.map +0 -1
  631. package/dist/taxonomy/severity-types.js +0 -5
  632. package/dist/taxonomy/severity-types.js.map +0 -1
  633. package/dist/taxonomy/status-values.d.ts +0 -39
  634. package/dist/taxonomy/status-values.d.ts.map +0 -1
  635. package/dist/taxonomy/status-values.js +0 -42
  636. package/dist/taxonomy/status-values.js.map +0 -1
  637. package/dist/types/branded.d.ts +0 -89
  638. package/dist/types/branded.d.ts.map +0 -1
  639. package/dist/types/branded.js +0 -57
  640. package/dist/types/branded.js.map +0 -1
  641. package/dist/types/errors.d.ts +0 -342
  642. package/dist/types/errors.d.ts.map +0 -1
  643. package/dist/types/errors.js +0 -251
  644. package/dist/types/errors.js.map +0 -1
  645. package/dist/types/index.d.ts +0 -41
  646. package/dist/types/index.d.ts.map +0 -1
  647. package/dist/types/index.js +0 -5
  648. package/dist/types/index.js.map +0 -1
  649. package/dist/types/result.d.ts +0 -78
  650. package/dist/types/result.d.ts.map +0 -1
  651. package/dist/types/result.js +0 -78
  652. package/dist/types/result.js.map +0 -1
  653. package/dist/utils/collection-utils.d.ts +0 -49
  654. package/dist/utils/collection-utils.d.ts.map +0 -1
  655. package/dist/utils/collection-utils.js +0 -58
  656. package/dist/utils/collection-utils.js.map +0 -1
  657. package/dist/utils/id-utils.d.ts +0 -46
  658. package/dist/utils/id-utils.d.ts.map +0 -1
  659. package/dist/utils/id-utils.js +0 -51
  660. package/dist/utils/id-utils.js.map +0 -1
  661. package/dist/utils/index.d.ts +0 -21
  662. package/dist/utils/index.d.ts.map +0 -1
  663. package/dist/utils/index.js +0 -21
  664. package/dist/utils/index.js.map +0 -1
  665. package/dist/utils/string-utils.d.ts +0 -150
  666. package/dist/utils/string-utils.d.ts.map +0 -1
  667. package/dist/utils/string-utils.js +0 -281
  668. package/dist/utils/string-utils.js.map +0 -1
  669. package/dist/validation/anti-patterns.d.ts +0 -134
  670. package/dist/validation/anti-patterns.d.ts.map +0 -1
  671. package/dist/validation/anti-patterns.js +0 -307
  672. package/dist/validation/anti-patterns.js.map +0 -1
  673. package/dist/validation/dod-validator.d.ts +0 -94
  674. package/dist/validation/dod-validator.d.ts.map +0 -1
  675. package/dist/validation/dod-validator.js +0 -198
  676. package/dist/validation/dod-validator.js.map +0 -1
  677. package/dist/validation/fsm/index.d.ts +0 -59
  678. package/dist/validation/fsm/index.d.ts.map +0 -1
  679. package/dist/validation/fsm/index.js +0 -64
  680. package/dist/validation/fsm/index.js.map +0 -1
  681. package/dist/validation/fsm/states.d.ts +0 -93
  682. package/dist/validation/fsm/states.d.ts.map +0 -1
  683. package/dist/validation/fsm/states.js +0 -98
  684. package/dist/validation/fsm/states.js.map +0 -1
  685. package/dist/validation/fsm/transitions.d.ts +0 -100
  686. package/dist/validation/fsm/transitions.d.ts.map +0 -1
  687. package/dist/validation/fsm/transitions.js +0 -122
  688. package/dist/validation/fsm/transitions.js.map +0 -1
  689. package/dist/validation/fsm/validator.d.ts +0 -163
  690. package/dist/validation/fsm/validator.d.ts.map +0 -1
  691. package/dist/validation/fsm/validator.js +0 -205
  692. package/dist/validation/fsm/validator.js.map +0 -1
  693. package/dist/validation/index.d.ts +0 -23
  694. package/dist/validation/index.d.ts.map +0 -1
  695. package/dist/validation/index.js +0 -25
  696. package/dist/validation/index.js.map +0 -1
  697. package/dist/validation/types.d.ts +0 -136
  698. package/dist/validation/types.d.ts.map +0 -1
  699. package/dist/validation/types.js +0 -56
  700. package/dist/validation/types.js.map +0 -1
  701. package/dist/validation-schemas/codec-utils.d.ts +0 -188
  702. package/dist/validation-schemas/codec-utils.d.ts.map +0 -1
  703. package/dist/validation-schemas/codec-utils.js +0 -258
  704. package/dist/validation-schemas/codec-utils.js.map +0 -1
  705. package/dist/validation-schemas/config.d.ts +0 -99
  706. package/dist/validation-schemas/config.d.ts.map +0 -1
  707. package/dist/validation-schemas/config.js +0 -178
  708. package/dist/validation-schemas/config.js.map +0 -1
  709. package/dist/validation-schemas/doc-directive.d.ts +0 -195
  710. package/dist/validation-schemas/doc-directive.d.ts.map +0 -1
  711. package/dist/validation-schemas/doc-directive.js +0 -239
  712. package/dist/validation-schemas/doc-directive.js.map +0 -1
  713. package/dist/validation-schemas/dual-source.d.ts +0 -167
  714. package/dist/validation-schemas/dual-source.d.ts.map +0 -1
  715. package/dist/validation-schemas/dual-source.js +0 -168
  716. package/dist/validation-schemas/dual-source.js.map +0 -1
  717. package/dist/validation-schemas/export-info.d.ts +0 -53
  718. package/dist/validation-schemas/export-info.d.ts.map +0 -1
  719. package/dist/validation-schemas/export-info.js +0 -101
  720. package/dist/validation-schemas/export-info.js.map +0 -1
  721. package/dist/validation-schemas/extracted-pattern.d.ts +0 -351
  722. package/dist/validation-schemas/extracted-pattern.d.ts.map +0 -1
  723. package/dist/validation-schemas/extracted-pattern.js +0 -459
  724. package/dist/validation-schemas/extracted-pattern.js.map +0 -1
  725. package/dist/validation-schemas/extracted-shape.d.ts +0 -200
  726. package/dist/validation-schemas/extracted-shape.d.ts.map +0 -1
  727. package/dist/validation-schemas/extracted-shape.js +0 -182
  728. package/dist/validation-schemas/extracted-shape.js.map +0 -1
  729. package/dist/validation-schemas/feature.d.ts +0 -554
  730. package/dist/validation-schemas/feature.d.ts.map +0 -1
  731. package/dist/validation-schemas/feature.js +0 -262
  732. package/dist/validation-schemas/feature.js.map +0 -1
  733. package/dist/validation-schemas/index.d.ts +0 -15
  734. package/dist/validation-schemas/index.d.ts.map +0 -1
  735. package/dist/validation-schemas/index.js +0 -32
  736. package/dist/validation-schemas/index.js.map +0 -1
  737. package/dist/validation-schemas/lint.d.ts +0 -46
  738. package/dist/validation-schemas/lint.d.ts.map +0 -1
  739. package/dist/validation-schemas/lint.js +0 -45
  740. package/dist/validation-schemas/lint.js.map +0 -1
  741. package/dist/validation-schemas/master-dataset.d.ts +0 -8299
  742. package/dist/validation-schemas/master-dataset.d.ts.map +0 -1
  743. package/dist/validation-schemas/master-dataset.js +0 -275
  744. package/dist/validation-schemas/master-dataset.js.map +0 -1
  745. package/dist/validation-schemas/output-schemas.d.ts +0 -183
  746. package/dist/validation-schemas/output-schemas.d.ts.map +0 -1
  747. package/dist/validation-schemas/output-schemas.js +0 -149
  748. package/dist/validation-schemas/output-schemas.js.map +0 -1
  749. package/dist/validation-schemas/scenario-ref.d.ts +0 -80
  750. package/dist/validation-schemas/scenario-ref.d.ts.map +0 -1
  751. package/dist/validation-schemas/scenario-ref.js +0 -73
  752. package/dist/validation-schemas/scenario-ref.js.map +0 -1
  753. package/dist/validation-schemas/tag-registry.d.ts +0 -210
  754. package/dist/validation-schemas/tag-registry.d.ts.map +0 -1
  755. package/dist/validation-schemas/tag-registry.js +0 -248
  756. package/dist/validation-schemas/tag-registry.js.map +0 -1
  757. package/dist/validation-schemas/workflow-config.d.ts +0 -125
  758. package/dist/validation-schemas/workflow-config.d.ts.map +0 -1
  759. package/dist/validation-schemas/workflow-config.js +0 -138
  760. package/dist/validation-schemas/workflow-config.js.map +0 -1
@@ -1,654 +0,0 @@
1
- /**
2
- * @architect
3
- * @architect-core
4
- * @architect-pattern DecisionDocGenerator
5
- * @architect-status completed
6
- * @architect-phase 27
7
- * @architect-arch-role service
8
- * @architect-arch-context generator
9
- * @architect-arch-layer application
10
- * @architect-depends-on DecisionDocCodec,SourceMapper
11
- *
12
- * ## Decision Doc Generator - Documentation from Decision Documents
13
- *
14
- * Orchestrates the full pipeline for generating documentation from decision
15
- * documents (ADR/PDR in .feature format):
16
- *
17
- * 1. Decision parsing - Extract source mappings, rules, DocStrings
18
- * 2. Source mapping - Aggregate content from TypeScript, Gherkin, decision sources
19
- * 3. Content assembly - Build RenderableDocument from aggregated sections
20
- * 4. Multi-level output - Generate compact (_claude-md/) and detailed (docs/) versions
21
- *
22
- * ### When to Use
23
- *
24
- * - When generating documentation from ADR/PDR decision documents
25
- * - When decision documents contain source mapping tables
26
- * - When building progressive disclosure docs at multiple detail levels
27
- *
28
- * ### Output Path Convention
29
- *
30
- * - Compact: `_claude-md/{section}/{module}.md` (~50 lines)
31
- * - Detailed: `docs/{PATTERN-NAME}.md` (~300 lines)
32
- */
33
- import { heading, paragraph, code, list, separator, collapsible, document as createDocument, } from '../../renderable/schema.js';
34
- import { renderToMarkdown } from '../../renderable/render.js';
35
- import { parseDecisionDocument, } from '../../renderable/codecs/decision-doc.js';
36
- import { parseDescriptionWithDocStrings, renderRuleDescription, renderPropertyDocsTable, } from '../../renderable/codecs/helpers.js';
37
- import { executeSourceMapping, } from '../source-mapper.js';
38
- import { toKebabCase, toUpperKebabCase } from '../../utils/string-utils.js';
39
- import { createWarningCollector, } from '../warning-collector.js';
40
- import { validateSourceMappingTable } from '../source-mapping-validator.js';
41
- import { deduplicateSections } from '../content-deduplicator.js';
42
- // =============================================================================
43
- // Output Path Resolution
44
- // =============================================================================
45
- /**
46
- * Determine output paths from decision metadata
47
- *
48
- * Uses pattern name and optional section to compute paths:
49
- * - Compact: _claude-md/{section}/{module}.md
50
- * - Detailed: docs/{PATTERN-NAME}.md
51
- *
52
- * @param patternName - Pattern name from decision document
53
- * @param options - Generator options including section override
54
- * @returns Computed output paths
55
- *
56
- * @example
57
- * ```typescript
58
- * const paths = determineOutputPaths('ProcessGuard', { section: 'validation' });
59
- * // Returns:
60
- * // {
61
- * // compact: '_claude-md/validation/process-guard.md',
62
- * // detailed: 'docs/PROCESS-GUARD.md'
63
- * // }
64
- * ```
65
- */
66
- export function determineOutputPaths(patternName, options) {
67
- // Convert PatternName to kebab-case for module name
68
- const moduleName = toKebabCase(patternName);
69
- // Use provided section or default to 'generated'
70
- const section = options?.section ?? 'generated';
71
- // Convert PatternName to UPPER-KEBAB-CASE for detailed path
72
- const upperKebab = toUpperKebabCase(patternName);
73
- return {
74
- compact: `_claude-md/${section}/${moduleName}.md`,
75
- detailed: `docs/${upperKebab}.md`,
76
- };
77
- }
78
- // =============================================================================
79
- // Content Generation
80
- // =============================================================================
81
- /**
82
- * Generate compact/summary output (~50 lines)
83
- *
84
- * Includes only essential tables and type definitions.
85
- * Suitable for Claude MD context files.
86
- *
87
- * @param decisionContent - Parsed decision document
88
- * @param aggregatedContent - Content from source mapping execution
89
- * @returns RenderableDocument for compact output
90
- */
91
- export function generateCompactOutput(decisionContent, aggregatedContent) {
92
- const sections = [];
93
- // Title and brief
94
- sections.push(heading(2, 'Overview'));
95
- // Extract key tables and types from aggregated sections
96
- for (const extracted of aggregatedContent.sections) {
97
- // Only include sections with substantial content
98
- if (!extracted.content || extracted.content.trim().length === 0) {
99
- continue;
100
- }
101
- // For compact output, only include:
102
- // 1. Type/interface definitions (shapes)
103
- // 2. Key tables
104
- if (extracted.shapes && extracted.shapes.length > 0) {
105
- sections.push(heading(3, extracted.section));
106
- // Render shapes as compact type list
107
- const typeList = extracted.shapes.map((shape) => `\`${shape.name}\` - ${shape.kind}`);
108
- sections.push(list(typeList));
109
- }
110
- else if (extracted.content.includes('|')) {
111
- // Content contains a table - include it
112
- sections.push(heading(3, extracted.section));
113
- sections.push(paragraph(extracted.content));
114
- }
115
- }
116
- // If no sections were added, add a placeholder
117
- if (sections.length <= 1) {
118
- sections.push(paragraph('*No structured content extracted.*'));
119
- }
120
- return createDocument(decisionContent.patternName, sections, {
121
- purpose: 'Compact reference for Claude context',
122
- detailLevel: 'summary',
123
- });
124
- }
125
- /**
126
- * Generate detailed output (~300 lines)
127
- *
128
- * Includes everything: JSDoc, examples, full descriptions.
129
- * Suitable for docs/ directory.
130
- *
131
- * @param decisionContent - Parsed decision document
132
- * @param aggregatedContent - Content from source mapping execution
133
- * @returns RenderableDocument for detailed output
134
- */
135
- export function generateDetailedOutput(decisionContent, aggregatedContent) {
136
- const sections = [];
137
- // Track rendered DocString content to prevent duplicates
138
- // Key is content hash (language + content) to identify unique DocStrings
139
- const renderedDocStrings = new Set();
140
- // Feature description
141
- if (decisionContent.description && decisionContent.description.trim().length > 0) {
142
- sections.push(paragraph(decisionContent.description));
143
- sections.push(separator());
144
- }
145
- // Context section from rules
146
- if (decisionContent.rules.context.length > 0) {
147
- sections.push(heading(2, 'Context'));
148
- for (const rule of decisionContent.rules.context) {
149
- sections.push(heading(3, rule.name.replace(/^Context\s*[-:]\s*/i, '')));
150
- if (rule.description) {
151
- sections.push(...renderRuleDescription(rule.description));
152
- }
153
- }
154
- }
155
- // Decision section from rules
156
- if (decisionContent.rules.decision.length > 0) {
157
- sections.push(heading(2, 'Decision'));
158
- for (const rule of decisionContent.rules.decision) {
159
- sections.push(heading(3, rule.name.replace(/^Decision\s*[-:]\s*/i, '')));
160
- if (rule.description) {
161
- sections.push(...renderRuleDescription(rule.description));
162
- }
163
- }
164
- }
165
- // Aggregated content sections
166
- // Include all sections from Source Mapping - both external files AND self-references
167
- // The Source Mapping table defines the canonical order of content
168
- // Self-references to rules will be rendered here, and we filter them from "Other rules" below
169
- const nonDuplicateSections = aggregatedContent.sections.filter((extracted) => {
170
- // Skip empty content
171
- if (!extracted.content || extracted.content.trim().length === 0) {
172
- return false;
173
- }
174
- return true;
175
- });
176
- if (nonDuplicateSections.length > 0) {
177
- sections.push(heading(2, 'Implementation Details'));
178
- for (const extracted of nonDuplicateSections) {
179
- sections.push(heading(3, extracted.section));
180
- // Handle different content types
181
- if (extracted.shapes && extracted.shapes.length > 0) {
182
- // Render full shape definitions with JSDoc
183
- for (const shape of extracted.shapes) {
184
- // Include JSDoc as part of the code block (combined with source)
185
- const fullSource = shape.jsDoc ? `${shape.jsDoc}\n${shape.sourceText}` : shape.sourceText;
186
- sections.push(code(fullSource, 'typescript'));
187
- // Add property description table for interfaces with documented properties
188
- const propertyTable = renderPropertyDocsTable(shape.propertyDocs);
189
- if (propertyTable) {
190
- sections.push(paragraph(propertyTable));
191
- }
192
- }
193
- }
194
- else if (extracted.docStrings && extracted.docStrings.length > 0) {
195
- // Check if content has meaningful text beyond just DocStrings
196
- // Rule block extractions include context text, tables, AND DocStrings
197
- // We should render full content to preserve all text, not just DocStrings
198
- const contentWithoutDocStrings = extracted.content
199
- .replace(/"""[\w]*\n[\s\S]*?"""/g, '') // Remove Gherkin DocStrings
200
- .replace(/```[\w]*\n[\s\S]*?```/g, '') // Remove markdown code blocks
201
- .trim();
202
- if (contentWithoutDocStrings.length > 0) {
203
- // Content has text beyond DocStrings - render full content with inline DocStrings
204
- sections.push(...parseDescriptionWithDocStrings(extracted.content));
205
- }
206
- else {
207
- // Content is ONLY DocStrings - render them as code blocks, skipping duplicates
208
- for (const ds of extracted.docStrings) {
209
- const contentKey = `${ds.language}:${ds.content}`;
210
- if (!renderedDocStrings.has(contentKey)) {
211
- renderedDocStrings.add(contentKey);
212
- sections.push(code(ds.content, ds.language));
213
- }
214
- }
215
- }
216
- }
217
- else {
218
- // Plain content - convert DocStrings to code fences
219
- sections.push(...parseDescriptionWithDocStrings(extracted.content));
220
- }
221
- }
222
- }
223
- // Consequences section from rules
224
- if (decisionContent.rules.consequences.length > 0) {
225
- sections.push(heading(2, 'Consequences'));
226
- for (const rule of decisionContent.rules.consequences) {
227
- sections.push(heading(3, rule.name.replace(/^Consequence[s]?\s*[-:]\s*/i, '')));
228
- if (rule.description) {
229
- sections.push(...renderRuleDescription(rule.description));
230
- }
231
- }
232
- }
233
- // Other rules (custom sections)
234
- // Skip if these rules are already covered by Source Mapping entries
235
- // to prevent duplicate content in reference documentation
236
- if (decisionContent.rules.other.length > 0) {
237
- // Build set of section names from Source Mapping (both self-references and external files)
238
- const sourceMappedSectionNames = new Set();
239
- for (const mapping of decisionContent.sourceMappings) {
240
- // Normalize section name for matching (case-insensitive)
241
- const normalizedSection = mapping.section.toLowerCase().trim();
242
- sourceMappedSectionNames.add(normalizedSection);
243
- }
244
- // Helper: extract significant words (3+ chars) for fuzzy matching
245
- const getWords = (text) => new Set(text
246
- .toLowerCase()
247
- .split(/[^a-z]+/)
248
- .filter((w) => w.length >= 3));
249
- // Only render rules that aren't covered by Source Mapping section names
250
- for (const rule of decisionContent.rules.other) {
251
- const ruleName = rule.name.toLowerCase().trim();
252
- const ruleWords = getWords(ruleName);
253
- // Check if any Source Mapping section matches this rule name
254
- // Match if: exact match, substring match, or 2+ words overlap
255
- const isCovered = Array.from(sourceMappedSectionNames).some((sectionName) => {
256
- // Exact or substring match
257
- if (ruleName === sectionName ||
258
- ruleName.includes(sectionName) ||
259
- sectionName.includes(ruleName)) {
260
- return true;
261
- }
262
- // Word overlap match (at least 2 significant words)
263
- const sectionWords = getWords(sectionName);
264
- let matches = 0;
265
- for (const word of ruleWords) {
266
- if (sectionWords.has(word))
267
- matches++;
268
- }
269
- return matches >= 2;
270
- });
271
- if (!isCovered) {
272
- sections.push(heading(2, rule.name));
273
- if (rule.description) {
274
- sections.push(...renderRuleDescription(rule.description));
275
- }
276
- }
277
- }
278
- }
279
- // DocStrings if not already included
280
- if (decisionContent.docStrings.length > 0 && aggregatedContent.sections.length === 0) {
281
- sections.push(heading(2, 'Examples'));
282
- for (const ds of decisionContent.docStrings) {
283
- sections.push(code(ds.content, ds.language));
284
- }
285
- }
286
- // Add generation warnings if any
287
- if (aggregatedContent.warnings.length > 0) {
288
- sections.push(separator());
289
- sections.push(collapsible('Generation Warnings', aggregatedContent.warnings.map((w) => paragraph(`- ${w.severity}: ${w.message}`))));
290
- }
291
- return createDocument(decisionContent.patternName, sections, {
292
- purpose: 'Full documentation generated from decision document',
293
- detailLevel: 'detailed',
294
- });
295
- }
296
- /**
297
- * Generate standard output (~150 lines)
298
- *
299
- * Balance between compact and detailed: tables, types, key descriptions.
300
- * Suitable for general documentation.
301
- *
302
- * @param decisionContent - Parsed decision document
303
- * @param aggregatedContent - Content from source mapping execution
304
- * @returns RenderableDocument for standard output
305
- */
306
- export function generateStandardOutput(decisionContent, aggregatedContent) {
307
- const sections = [];
308
- // Brief description
309
- if (decisionContent.description && decisionContent.description.trim().length > 0) {
310
- const briefDesc = decisionContent.description.split('\n').slice(0, 3).join('\n');
311
- sections.push(paragraph(briefDesc));
312
- sections.push(separator());
313
- }
314
- // Context summary
315
- if (decisionContent.rules.context.length > 0) {
316
- sections.push(heading(2, 'Context'));
317
- const contextNames = decisionContent.rules.context.map((r) => r.name.replace(/^Context\s*[-:]\s*/i, ''));
318
- sections.push(list(contextNames));
319
- }
320
- // Decision summary
321
- if (decisionContent.rules.decision.length > 0) {
322
- sections.push(heading(2, 'Decision'));
323
- for (const rule of decisionContent.rules.decision) {
324
- sections.push(heading(3, rule.name.replace(/^Decision\s*[-:]\s*/i, '')));
325
- // First paragraph only
326
- if (rule.description) {
327
- const firstPara = rule.description.split('\n\n')[0] ?? '';
328
- sections.push(paragraph(firstPara));
329
- }
330
- }
331
- }
332
- // Aggregated content with moderate detail
333
- for (const extracted of aggregatedContent.sections) {
334
- if (!extracted.content || extracted.content.trim().length === 0) {
335
- continue;
336
- }
337
- sections.push(heading(3, extracted.section));
338
- if (extracted.shapes && extracted.shapes.length > 0) {
339
- // Type definitions without full JSDoc
340
- for (const shape of extracted.shapes) {
341
- sections.push(code(shape.sourceText, 'typescript'));
342
- }
343
- }
344
- else {
345
- sections.push(paragraph(extracted.content));
346
- }
347
- }
348
- return createDocument(decisionContent.patternName, sections, {
349
- purpose: 'Standard documentation from decision document',
350
- detailLevel: 'standard',
351
- });
352
- }
353
- /**
354
- * Execute the generation pipeline: validation, extraction, deduplication
355
- *
356
- * Internal function that performs the expensive work once. Both single-level
357
- * and multi-level generators use this to avoid duplicate work.
358
- *
359
- * @param pattern - Extracted pattern with decision document content
360
- * @param options - Generator options
361
- * @returns Pipeline result or error
362
- */
363
- async function executePipeline(pattern, options) {
364
- // Default options - all robustness features enabled by default
365
- const enableValidation = options.enableValidation ?? true;
366
- const enableDeduplication = options.enableDeduplication ?? true;
367
- const enableWarningCollection = options.enableWarningCollection ?? true;
368
- // Step 1: Create WarningCollector for unified warning handling
369
- const warningCollector = enableWarningCollection
370
- ? createWarningCollector()
371
- : undefined;
372
- // Pattern name can come from directive.patternName or pattern.patternName or pattern.name
373
- // directive.patternName and pattern.patternName are optional, pattern.name is required
374
- // Use helper function to catch both null/undefined AND empty strings
375
- const getPatternName = () => {
376
- if (pattern.directive.patternName?.trim()) {
377
- return pattern.directive.patternName;
378
- }
379
- if (pattern.patternName?.trim()) {
380
- return pattern.patternName;
381
- }
382
- return pattern.name;
383
- };
384
- const patternName = getPatternName();
385
- const description = pattern.directive.description;
386
- const rules = pattern.rules ?? [];
387
- // Step 2: Parse decision document
388
- const decisionContent = parseDecisionDocument(patternName, description, rules);
389
- // Step 3 & 4: Validate and execute source mapping (if mappings exist)
390
- let aggregatedContent = {
391
- sections: [],
392
- warnings: [],
393
- success: true,
394
- };
395
- // Deduplication warnings when warningCollector is not used
396
- const dedupWarnings = [];
397
- if (decisionContent.sourceMappings.length > 0) {
398
- // Step 3: PRE-FLIGHT VALIDATION (if enabled)
399
- if (enableValidation) {
400
- const validatorOptions = warningCollector
401
- ? { baseDir: options.baseDir, warningCollector }
402
- : { baseDir: options.baseDir };
403
- const validationResult = validateSourceMappingTable(decisionContent.sourceMappings, validatorOptions);
404
- // Capture validation warnings after successful validation (Issue #4 fix)
405
- if (validationResult.isValid && warningCollector && validationResult.warnings.length > 0) {
406
- for (const warning of validationResult.warnings) {
407
- warningCollector.capture(warning);
408
- }
409
- }
410
- // If validation fails with errors, return early
411
- if (!validationResult.isValid) {
412
- const warnings = warningCollector
413
- ? warningCollector.getAll().map((w) => `${w.category}: ${w.message}`)
414
- : [];
415
- return {
416
- warnings,
417
- errors: validationResult.errors.map((e) => {
418
- // Include suggestions if available
419
- if (e.suggestions && e.suggestions.length > 0) {
420
- return `${e.message}. Did you mean: ${e.suggestions.join(', ')}?`;
421
- }
422
- return e.message;
423
- }),
424
- };
425
- }
426
- }
427
- // Step 4: EXECUTE SOURCE MAPPING (with warning collector)
428
- const baseMapperOptions = {
429
- baseDir: options.baseDir,
430
- decisionDocPath: pattern.source.file,
431
- decisionContent,
432
- detailLevel: options.detailLevel ?? 'standard',
433
- };
434
- const mapperOptions = warningCollector
435
- ? { ...baseMapperOptions, warningCollector }
436
- : baseMapperOptions;
437
- aggregatedContent = await executeSourceMapping(decisionContent.sourceMappings, mapperOptions);
438
- // Step 5: DEDUPLICATE SECTIONS (if enabled)
439
- if (enableDeduplication && aggregatedContent.sections.length > 0) {
440
- const dedupOptions = warningCollector ? { warningCollector } : undefined;
441
- const dedupResult = deduplicateSections(aggregatedContent.sections, dedupOptions);
442
- aggregatedContent.sections = dedupResult.sections;
443
- // Capture deduplication warnings when not using collector
444
- // (When collector is present, warnings are captured via side-effect)
445
- if (!warningCollector && dedupResult.warnings.length > 0) {
446
- dedupWarnings.push(...dedupResult.warnings);
447
- }
448
- }
449
- }
450
- return { decisionContent, aggregatedContent, warningCollector, patternName, dedupWarnings };
451
- }
452
- /**
453
- * Check if pipeline result is an error
454
- */
455
- function isPipelineError(result) {
456
- return 'errors' in result;
457
- }
458
- // =============================================================================
459
- // Main Generation Function
460
- // =============================================================================
461
- /**
462
- * Generate documentation from a decision document
463
- *
464
- * Main entry point that orchestrates the full pipeline:
465
- * 1. Create WarningCollector for unified warning handling
466
- * 2. Parse decision document to extract content
467
- * 3. Validate source mappings (if enabled) - fails fast on validation errors
468
- * 4. Execute source mapping to aggregate content from referenced files
469
- * 5. Deduplicate sections (if enabled)
470
- * 6. Generate output at specified detail level(s)
471
- * 7. Return output files with all warnings
472
- *
473
- * @param pattern - Extracted pattern with decision document content
474
- * @param options - Generator options
475
- * @returns Generation result with files and warnings
476
- *
477
- * @example
478
- * ```typescript
479
- * const result = await generateFromDecision(processGuardPattern, {
480
- * baseDir: process.cwd(),
481
- * detailLevel: 'detailed',
482
- * claudeMdSection: 'validation',
483
- * });
484
- *
485
- * for (const file of result.files) {
486
- * fs.writeFileSync(file.path, file.content);
487
- * }
488
- * ```
489
- */
490
- export async function generateFromDecision(pattern, options) {
491
- // Execute the pipeline
492
- const pipelineResult = await executePipeline(pattern, options);
493
- // If pipeline failed, return errors
494
- if (isPipelineError(pipelineResult)) {
495
- return {
496
- files: [],
497
- warnings: pipelineResult.warnings,
498
- errors: pipelineResult.errors,
499
- success: false,
500
- };
501
- }
502
- const { decisionContent, aggregatedContent, warningCollector, patternName, dedupWarnings } = pipelineResult;
503
- // Generate output at requested detail level
504
- const sectionOption = options.claudeMdSection ?? pattern.claudeSection;
505
- const outputPaths = determineOutputPaths(patternName, sectionOption ? { section: sectionOption } : undefined);
506
- const detailLevel = options.detailLevel ?? 'standard';
507
- // Generate based on detail level
508
- let doc;
509
- let outputPath;
510
- switch (detailLevel) {
511
- case 'summary':
512
- doc = generateCompactOutput(decisionContent, aggregatedContent);
513
- outputPath = outputPaths.compact;
514
- break;
515
- case 'detailed':
516
- doc = generateDetailedOutput(decisionContent, aggregatedContent);
517
- outputPath = outputPaths.detailed;
518
- break;
519
- case 'standard':
520
- default:
521
- doc = generateStandardOutput(decisionContent, aggregatedContent);
522
- outputPath = outputPaths.detailed;
523
- break;
524
- }
525
- // Render to markdown
526
- const content = renderToMarkdown(doc);
527
- const files = [{ path: outputPath, content }];
528
- // Collect all warnings and return
529
- // When warningCollector is present, it captures all warnings via side-effects
530
- // When not present, we need to merge extraction warnings with deduplication warnings
531
- const warnings = warningCollector
532
- ? warningCollector.getAll().map((w) => `${w.category}: ${w.message}`)
533
- : [
534
- ...aggregatedContent.warnings.map((w) => `${w.severity}: ${w.message}`),
535
- ...dedupWarnings.map((w) => `${w.category}: ${w.message}`),
536
- ];
537
- return { files, warnings, errors: [], success: true };
538
- }
539
- /**
540
- * Generate both compact and detailed outputs
541
- *
542
- * Runs the pipeline once and generates documentation at both detail levels.
543
- * More efficient than calling generateFromDecision twice.
544
- *
545
- * @param pattern - Extracted pattern with decision document content
546
- * @param options - Generator options
547
- * @returns Generation result with both output files
548
- */
549
- export async function generateFromDecisionMultiLevel(pattern, options) {
550
- // Execute the pipeline ONCE
551
- const pipelineResult = await executePipeline(pattern, options);
552
- // If pipeline failed, return errors
553
- if (isPipelineError(pipelineResult)) {
554
- return {
555
- files: [],
556
- warnings: pipelineResult.warnings,
557
- errors: pipelineResult.errors,
558
- success: false,
559
- };
560
- }
561
- const { decisionContent, aggregatedContent, warningCollector, patternName, dedupWarnings } = pipelineResult;
562
- // Determine output paths
563
- const sectionOption = options.claudeMdSection ?? pattern.claudeSection;
564
- const outputPaths = determineOutputPaths(patternName, sectionOption ? { section: sectionOption } : undefined);
565
- // Generate BOTH outputs from the same processed data
566
- const compactDoc = generateCompactOutput(decisionContent, aggregatedContent);
567
- const detailedDoc = generateDetailedOutput(decisionContent, aggregatedContent);
568
- const compactContent = renderToMarkdown(compactDoc);
569
- const detailedContent = renderToMarkdown(detailedDoc);
570
- const files = [
571
- { path: outputPaths.compact, content: compactContent },
572
- { path: outputPaths.detailed, content: detailedContent },
573
- ];
574
- // Collect all warnings
575
- // When warningCollector is present, it captures all warnings via side-effects
576
- // When not present, we need to merge extraction warnings with deduplication warnings
577
- const warnings = warningCollector
578
- ? warningCollector.getAll().map((w) => `${w.category}: ${w.message}`)
579
- : [
580
- ...aggregatedContent.warnings.map((w) => `${w.severity}: ${w.message}`),
581
- ...dedupWarnings.map((w) => `${w.category}: ${w.message}`),
582
- ];
583
- return { files, warnings, errors: [], success: true };
584
- }
585
- // =============================================================================
586
- // DocumentGenerator Implementation
587
- // =============================================================================
588
- /**
589
- * Decision Doc Generator for registry integration
590
- *
591
- * Implements DocumentGenerator interface for use with the generator registry.
592
- * Filters patterns by type to find ADR/PDR decision documents with source mappings.
593
- */
594
- export class DecisionDocGeneratorImpl {
595
- name = 'doc-from-decision';
596
- description = 'Generate documentation from ADR/PDR decision documents';
597
- async generate(patterns, context) {
598
- const allFiles = [];
599
- // Filter for decision documents (ADR/PDR patterns with source mappings)
600
- const decisionPatterns = patterns.filter((p) => {
601
- // Check if pattern has source mapping table in description or rules
602
- const description = p.directive.description;
603
- const hasSourceMappingInDesc = description.includes('| Section |') &&
604
- (description.includes('| Source File |') || description.includes('| Source |'));
605
- // Check rules for source mapping tables
606
- const hasSourceMappingInRules = (p.rules ?? []).some((rule) => rule.description.includes('| Section |') &&
607
- (rule.description.includes('| Source File |') || rule.description.includes('| Source |')));
608
- return hasSourceMappingInDesc || hasSourceMappingInRules;
609
- });
610
- // Collect all warnings and errors for metadata instead of console output
611
- const allWarnings = [];
612
- const allErrors = [];
613
- if (decisionPatterns.length === 0) {
614
- allWarnings.push('No decision documents with source mappings found. Ensure patterns have source mapping tables.');
615
- return {
616
- files: [],
617
- metadata: {
618
- warnings: allWarnings,
619
- errors: allErrors,
620
- patternsProcessed: 0,
621
- },
622
- };
623
- }
624
- // Generate documentation for each decision pattern
625
- for (const pattern of decisionPatterns) {
626
- // Use the canonical extracted claude section when present.
627
- const section = pattern.claudeSection ?? 'generated';
628
- const result = await generateFromDecisionMultiLevel(pattern, {
629
- baseDir: context.baseDir,
630
- detailLevel: 'detailed', // Generate both levels
631
- claudeMdSection: section,
632
- });
633
- allFiles.push(...result.files);
634
- // Collect errors and warnings (but don't fail)
635
- allErrors.push(...result.errors);
636
- allWarnings.push(...result.warnings);
637
- }
638
- return {
639
- files: allFiles,
640
- metadata: {
641
- warnings: allWarnings,
642
- errors: allErrors,
643
- patternsProcessed: decisionPatterns.length,
644
- },
645
- };
646
- }
647
- }
648
- /**
649
- * Create decision doc generator instance
650
- */
651
- export function createDecisionDocGenerator() {
652
- return new DecisionDocGeneratorImpl();
653
- }
654
- //# sourceMappingURL=decision-doc-generator.js.map