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

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 (758) 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 -3
  23. package/dist/cli/cli-schema.js +13 -13
  24. package/dist/cli/cli-schema.js.map +1 -1
  25. package/dist/cli/output-pipeline.d.ts.map +1 -1
  26. package/dist/cli/pattern-graph-cli.d.ts.map +1 -0
  27. package/dist/cli/validate-patterns.d.ts.map +1 -1
  28. package/dist/generators/built-in/cli-recipe-generator.d.ts +3 -3
  29. package/dist/generators/built-in/cli-recipe-generator.js +6 -6
  30. package/dist/generators/built-in/cli-recipe-generator.js.map +1 -1
  31. package/dist/generators/built-in/cli-reference-generator.d.ts +18 -0
  32. package/dist/generators/built-in/cli-reference-generator.d.ts.map +1 -0
  33. package/dist/generators/built-in/{process-api-reference-generator.js → cli-reference-generator.js} +13 -13
  34. package/dist/generators/built-in/cli-reference-generator.js.map +1 -0
  35. package/dist/generators/built-in/codec-generators.js +12 -12
  36. package/dist/generators/built-in/codec-generators.js.map +1 -1
  37. package/dist/generators/built-in/design-review-generator.d.ts.map +1 -1
  38. package/dist/generators/built-in/reference-generators.d.ts.map +1 -1
  39. package/dist/generators/codec-based.d.ts.map +1 -1
  40. package/dist/generators/index.d.ts.map +1 -1
  41. package/dist/generators/orchestrator.d.ts.map +1 -1
  42. package/dist/generators/pipeline/build-pipeline.d.ts +17 -14
  43. package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -1
  44. package/dist/generators/pipeline/build-pipeline.js +27 -21
  45. package/dist/generators/pipeline/build-pipeline.js.map +1 -1
  46. package/dist/generators/pipeline/index.d.ts.map +1 -1
  47. package/dist/generators/types.d.ts.map +1 -1
  48. package/dist/mcp/pipeline-session.d.ts.map +1 -1
  49. package/dist/renderable/codecs/index-codec.d.ts.map +1 -1
  50. package/dist/renderable/codecs/index-codec.js +54 -28
  51. package/dist/renderable/codecs/index-codec.js.map +1 -1
  52. package/docs/ANNOTATION-GUIDE.md +5 -5
  53. package/docs/ARCHITECTURE.md +79 -79
  54. package/docs/{PROCESS-API.md → CLI.md} +6 -6
  55. package/docs/CONFIGURATION.md +2 -2
  56. package/docs/DOCS-GAP-ANALYSIS.md +65 -65
  57. package/docs/INDEX.md +34 -34
  58. package/docs/MCP-SETUP.md +3 -3
  59. package/docs/METHODOLOGY.md +1 -1
  60. package/docs/SESSION-GUIDES.md +3 -3
  61. package/docs/VALIDATION.md +4 -4
  62. package/docs-live/ARCHITECTURE.md +48 -42
  63. package/docs-live/BUSINESS-RULES.md +3 -3
  64. package/docs-live/CHANGELOG-GENERATED.md +109 -103
  65. package/docs-live/INDEX.md +21 -21
  66. package/docs-live/PRODUCT-AREAS.md +7 -7
  67. package/docs-live/TAXONOMY.md +3 -5
  68. package/docs-live/_claude-md/annotation/annotation-overview.md +1 -1
  69. package/docs-live/_claude-md/annotation/annotation-reference.md +5 -5
  70. package/docs-live/_claude-md/architecture/architecture-types.md +4 -4
  71. package/docs-live/_claude-md/architecture/reference-sample.md +2 -2
  72. package/docs-live/_claude-md/data-api/data-api-overview.md +2 -2
  73. package/docs-live/_claude-md/generation/generation-overview.md +15 -15
  74. package/docs-live/_claude-md/process/process-overview.md +1 -1
  75. package/docs-live/_claude-md/validation/validation-overview.md +1 -1
  76. package/docs-live/business-rules/annotation.md +1 -2
  77. package/docs-live/business-rules/configuration.md +1 -1
  78. package/docs-live/business-rules/data-api.md +149 -136
  79. package/docs-live/business-rules/generation.md +172 -20
  80. package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +1 -1
  81. package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +5 -5
  82. package/docs-live/decisions/adr-006-single-read-model-architecture.md +24 -24
  83. package/docs-live/product-areas/ANNOTATION.md +19 -9
  84. package/docs-live/product-areas/CONFIGURATION.md +39 -19
  85. package/docs-live/product-areas/DATA-API.md +155 -151
  86. package/docs-live/product-areas/GENERATION.md +159 -144
  87. package/docs-live/product-areas/PROCESS.md +4 -4
  88. package/docs-live/product-areas/VALIDATION.md +35 -20
  89. package/docs-live/reference/ANNOTATION-REFERENCE.md +5 -5
  90. package/docs-live/reference/ARCHITECTURE-CODECS.md +11 -11
  91. package/docs-live/reference/ARCHITECTURE-TYPES.md +28 -25
  92. package/docs-live/reference/{PROCESS-API-RECIPES.md → CLI-RECIPES.md} +11 -11
  93. package/docs-live/reference/{PROCESS-API-REFERENCE.md → CLI-REFERENCE.md} +2 -2
  94. package/docs-live/reference/REFERENCE-SAMPLE.md +56 -56
  95. package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +3 -3
  96. package/docs-live/taxonomy/format-types.md +2 -2
  97. package/docs-live/taxonomy/metadata-tags.md +1 -23
  98. package/package.json +7 -7
  99. package/dist/api/arch-queries.d.ts +0 -95
  100. package/dist/api/arch-queries.js +0 -310
  101. package/dist/api/arch-queries.js.map +0 -1
  102. package/dist/api/context-assembler.d.ts +0 -124
  103. package/dist/api/context-assembler.js +0 -472
  104. package/dist/api/context-assembler.js.map +0 -1
  105. package/dist/api/context-formatter.d.ts +0 -26
  106. package/dist/api/context-formatter.js +0 -183
  107. package/dist/api/context-formatter.js.map +0 -1
  108. package/dist/api/coverage-analyzer.d.ts +0 -38
  109. package/dist/api/coverage-analyzer.d.ts.map +0 -1
  110. package/dist/api/coverage-analyzer.js +0 -117
  111. package/dist/api/coverage-analyzer.js.map +0 -1
  112. package/dist/api/fuzzy-match.d.ts +0 -75
  113. package/dist/api/fuzzy-match.d.ts.map +0 -1
  114. package/dist/api/fuzzy-match.js +0 -150
  115. package/dist/api/fuzzy-match.js.map +0 -1
  116. package/dist/api/handoff-generator.d.ts +0 -45
  117. package/dist/api/handoff-generator.js +0 -139
  118. package/dist/api/handoff-generator.js.map +0 -1
  119. package/dist/api/pattern-helpers.d.ts +0 -51
  120. package/dist/api/pattern-helpers.d.ts.map +0 -1
  121. package/dist/api/pattern-helpers.js +0 -84
  122. package/dist/api/pattern-helpers.js.map +0 -1
  123. package/dist/api/process-state.d.ts.map +0 -1
  124. package/dist/api/process-state.js.map +0 -1
  125. package/dist/api/scope-validator.d.ts +0 -56
  126. package/dist/api/scope-validator.js +0 -293
  127. package/dist/api/scope-validator.js.map +0 -1
  128. package/dist/api/stub-resolver.d.ts +0 -117
  129. package/dist/api/stub-resolver.d.ts.map +0 -1
  130. package/dist/api/stub-resolver.js +0 -154
  131. package/dist/api/stub-resolver.js.map +0 -1
  132. package/dist/api/summarize.d.ts +0 -75
  133. package/dist/api/summarize.d.ts.map +0 -1
  134. package/dist/api/summarize.js +0 -97
  135. package/dist/api/summarize.js.map +0 -1
  136. package/dist/cache/file-cache.d.ts +0 -72
  137. package/dist/cache/file-cache.d.ts.map +0 -1
  138. package/dist/cache/file-cache.js +0 -80
  139. package/dist/cache/file-cache.js.map +0 -1
  140. package/dist/cache/index.d.ts +0 -5
  141. package/dist/cache/index.d.ts.map +0 -1
  142. package/dist/cache/index.js +0 -5
  143. package/dist/cache/index.js.map +0 -1
  144. package/dist/cli/dataset-cache.d.ts +0 -66
  145. package/dist/cli/dataset-cache.js +0 -179
  146. package/dist/cli/dataset-cache.js.map +0 -1
  147. package/dist/cli/error-handler.d.ts +0 -84
  148. package/dist/cli/error-handler.d.ts.map +0 -1
  149. package/dist/cli/error-handler.js +0 -197
  150. package/dist/cli/error-handler.js.map +0 -1
  151. package/dist/cli/generate-docs.d.ts +0 -30
  152. package/dist/cli/generate-docs.js +0 -370
  153. package/dist/cli/generate-docs.js.map +0 -1
  154. package/dist/cli/lint-patterns.d.ts +0 -57
  155. package/dist/cli/lint-patterns.d.ts.map +0 -1
  156. package/dist/cli/lint-patterns.js +0 -257
  157. package/dist/cli/lint-patterns.js.map +0 -1
  158. package/dist/cli/lint-process.d.ts +0 -54
  159. package/dist/cli/lint-process.d.ts.map +0 -1
  160. package/dist/cli/lint-process.js +0 -319
  161. package/dist/cli/lint-process.js.map +0 -1
  162. package/dist/cli/lint-steps.d.ts +0 -32
  163. package/dist/cli/lint-steps.d.ts.map +0 -1
  164. package/dist/cli/lint-steps.js +0 -172
  165. package/dist/cli/lint-steps.js.map +0 -1
  166. package/dist/cli/mcp-server.d.ts +0 -22
  167. package/dist/cli/mcp-server.js +0 -57
  168. package/dist/cli/mcp-server.js.map +0 -1
  169. package/dist/cli/output-pipeline.d.ts +0 -130
  170. package/dist/cli/output-pipeline.js +0 -234
  171. package/dist/cli/output-pipeline.js.map +0 -1
  172. package/dist/cli/process-api.d.ts +0 -37
  173. package/dist/cli/process-api.d.ts.map +0 -1
  174. package/dist/cli/process-api.js +0 -1550
  175. package/dist/cli/process-api.js.map +0 -1
  176. package/dist/cli/repl.d.ts +0 -38
  177. package/dist/cli/repl.js +0 -239
  178. package/dist/cli/repl.js.map +0 -1
  179. package/dist/cli/validate-patterns.d.ts +0 -115
  180. package/dist/cli/validate-patterns.js +0 -707
  181. package/dist/cli/validate-patterns.js.map +0 -1
  182. package/dist/cli/version.d.ts +0 -35
  183. package/dist/cli/version.d.ts.map +0 -1
  184. package/dist/cli/version.js +0 -64
  185. package/dist/cli/version.js.map +0 -1
  186. package/dist/config/config-loader.d.ts +0 -167
  187. package/dist/config/config-loader.d.ts.map +0 -1
  188. package/dist/config/config-loader.js +0 -294
  189. package/dist/config/config-loader.js.map +0 -1
  190. package/dist/config/defaults.d.ts +0 -92
  191. package/dist/config/defaults.d.ts.map +0 -1
  192. package/dist/config/defaults.js +0 -103
  193. package/dist/config/defaults.js.map +0 -1
  194. package/dist/config/define-config.d.ts +0 -37
  195. package/dist/config/define-config.d.ts.map +0 -1
  196. package/dist/config/define-config.js +0 -38
  197. package/dist/config/define-config.js.map +0 -1
  198. package/dist/config/factory.d.ts +0 -79
  199. package/dist/config/factory.d.ts.map +0 -1
  200. package/dist/config/factory.js +0 -116
  201. package/dist/config/factory.js.map +0 -1
  202. package/dist/config/index.d.ts +0 -45
  203. package/dist/config/index.d.ts.map +0 -1
  204. package/dist/config/index.js +0 -48
  205. package/dist/config/index.js.map +0 -1
  206. package/dist/config/merge-sources.d.ts +0 -47
  207. package/dist/config/merge-sources.d.ts.map +0 -1
  208. package/dist/config/merge-sources.js +0 -61
  209. package/dist/config/merge-sources.js.map +0 -1
  210. package/dist/config/presets.d.ts +0 -115
  211. package/dist/config/presets.d.ts.map +0 -1
  212. package/dist/config/presets.js +0 -119
  213. package/dist/config/presets.js.map +0 -1
  214. package/dist/config/project-config-schema.d.ts +0 -192
  215. package/dist/config/project-config-schema.d.ts.map +0 -1
  216. package/dist/config/project-config-schema.js +0 -231
  217. package/dist/config/project-config-schema.js.map +0 -1
  218. package/dist/config/project-config.d.ts +0 -229
  219. package/dist/config/project-config.d.ts.map +0 -1
  220. package/dist/config/project-config.js +0 -37
  221. package/dist/config/project-config.js.map +0 -1
  222. package/dist/config/regex-builders.d.ts +0 -49
  223. package/dist/config/regex-builders.d.ts.map +0 -1
  224. package/dist/config/regex-builders.js +0 -85
  225. package/dist/config/regex-builders.js.map +0 -1
  226. package/dist/config/resolve-config.d.ts +0 -65
  227. package/dist/config/resolve-config.d.ts.map +0 -1
  228. package/dist/config/resolve-config.js +0 -150
  229. package/dist/config/resolve-config.js.map +0 -1
  230. package/dist/config/types.d.ts +0 -81
  231. package/dist/config/types.d.ts.map +0 -1
  232. package/dist/config/types.js +0 -22
  233. package/dist/config/types.js.map +0 -1
  234. package/dist/config/workflow-loader.d.ts +0 -90
  235. package/dist/config/workflow-loader.d.ts.map +0 -1
  236. package/dist/config/workflow-loader.js +0 -167
  237. package/dist/config/workflow-loader.js.map +0 -1
  238. package/dist/extractor/doc-extractor.d.ts +0 -233
  239. package/dist/extractor/doc-extractor.d.ts.map +0 -1
  240. package/dist/extractor/doc-extractor.js +0 -481
  241. package/dist/extractor/doc-extractor.js.map +0 -1
  242. package/dist/extractor/dual-source-extractor.d.ts +0 -161
  243. package/dist/extractor/dual-source-extractor.d.ts.map +0 -1
  244. package/dist/extractor/dual-source-extractor.js +0 -407
  245. package/dist/extractor/dual-source-extractor.js.map +0 -1
  246. package/dist/extractor/gherkin-extractor.d.ts +0 -170
  247. package/dist/extractor/gherkin-extractor.d.ts.map +0 -1
  248. package/dist/extractor/gherkin-extractor.js +0 -543
  249. package/dist/extractor/gherkin-extractor.js.map +0 -1
  250. package/dist/extractor/index.d.ts +0 -7
  251. package/dist/extractor/index.d.ts.map +0 -1
  252. package/dist/extractor/index.js +0 -11
  253. package/dist/extractor/index.js.map +0 -1
  254. package/dist/extractor/layer-inference.d.ts +0 -66
  255. package/dist/extractor/layer-inference.d.ts.map +0 -1
  256. package/dist/extractor/layer-inference.js +0 -93
  257. package/dist/extractor/layer-inference.js.map +0 -1
  258. package/dist/extractor/shape-extractor.d.ts +0 -79
  259. package/dist/extractor/shape-extractor.d.ts.map +0 -1
  260. package/dist/extractor/shape-extractor.js +0 -966
  261. package/dist/extractor/shape-extractor.js.map +0 -1
  262. package/dist/generators/built-in/codec-generators.d.ts +0 -29
  263. package/dist/generators/built-in/decision-doc-generator.d.ts +0 -204
  264. package/dist/generators/built-in/decision-doc-generator.js +0 -654
  265. package/dist/generators/built-in/decision-doc-generator.js.map +0 -1
  266. package/dist/generators/built-in/design-review-generator.d.ts +0 -26
  267. package/dist/generators/built-in/design-review-generator.js +0 -94
  268. package/dist/generators/built-in/design-review-generator.js.map +0 -1
  269. package/dist/generators/built-in/index.d.ts +0 -22
  270. package/dist/generators/built-in/index.js +0 -23
  271. package/dist/generators/built-in/index.js.map +0 -1
  272. package/dist/generators/built-in/process-api-reference-generator.d.ts +0 -18
  273. package/dist/generators/built-in/process-api-reference-generator.d.ts.map +0 -1
  274. package/dist/generators/built-in/process-api-reference-generator.js.map +0 -1
  275. package/dist/generators/built-in/reference-generators.d.ts +0 -51
  276. package/dist/generators/built-in/reference-generators.js +0 -320
  277. package/dist/generators/built-in/reference-generators.js.map +0 -1
  278. package/dist/generators/codec-based.d.ts +0 -63
  279. package/dist/generators/codec-based.js +0 -88
  280. package/dist/generators/codec-based.js.map +0 -1
  281. package/dist/generators/content-deduplicator.d.ts +0 -114
  282. package/dist/generators/content-deduplicator.d.ts.map +0 -1
  283. package/dist/generators/content-deduplicator.js +0 -356
  284. package/dist/generators/content-deduplicator.js.map +0 -1
  285. package/dist/generators/index.d.ts +0 -50
  286. package/dist/generators/index.js +0 -54
  287. package/dist/generators/index.js.map +0 -1
  288. package/dist/generators/orchestrator.d.ts +0 -265
  289. package/dist/generators/orchestrator.js +0 -570
  290. package/dist/generators/orchestrator.js.map +0 -1
  291. package/dist/generators/pipeline/context-inference.d.ts +0 -55
  292. package/dist/generators/pipeline/context-inference.d.ts.map +0 -1
  293. package/dist/generators/pipeline/context-inference.js +0 -76
  294. package/dist/generators/pipeline/context-inference.js.map +0 -1
  295. package/dist/generators/pipeline/index.d.ts +0 -27
  296. package/dist/generators/pipeline/index.js +0 -34
  297. package/dist/generators/pipeline/index.js.map +0 -1
  298. package/dist/generators/pipeline/merge-patterns.d.ts +0 -33
  299. package/dist/generators/pipeline/merge-patterns.d.ts.map +0 -1
  300. package/dist/generators/pipeline/merge-patterns.js +0 -50
  301. package/dist/generators/pipeline/merge-patterns.js.map +0 -1
  302. package/dist/generators/pipeline/relationship-resolver.d.ts +0 -47
  303. package/dist/generators/pipeline/relationship-resolver.d.ts.map +0 -1
  304. package/dist/generators/pipeline/relationship-resolver.js +0 -132
  305. package/dist/generators/pipeline/relationship-resolver.js.map +0 -1
  306. package/dist/generators/pipeline/sequence-utils.d.ts +0 -49
  307. package/dist/generators/pipeline/sequence-utils.d.ts.map +0 -1
  308. package/dist/generators/pipeline/sequence-utils.js +0 -235
  309. package/dist/generators/pipeline/sequence-utils.js.map +0 -1
  310. package/dist/generators/pipeline/transform-dataset.d.ts +0 -82
  311. package/dist/generators/pipeline/transform-dataset.d.ts.map +0 -1
  312. package/dist/generators/pipeline/transform-dataset.js +0 -355
  313. package/dist/generators/pipeline/transform-dataset.js.map +0 -1
  314. package/dist/generators/pipeline/transform-types.d.ts +0 -96
  315. package/dist/generators/pipeline/transform-types.d.ts.map +0 -1
  316. package/dist/generators/pipeline/transform-types.js +0 -18
  317. package/dist/generators/pipeline/transform-types.js.map +0 -1
  318. package/dist/generators/registry.d.ts +0 -64
  319. package/dist/generators/registry.js +0 -77
  320. package/dist/generators/registry.js.map +0 -1
  321. package/dist/generators/source-mapper.d.ts +0 -143
  322. package/dist/generators/source-mapper.d.ts.map +0 -1
  323. package/dist/generators/source-mapper.js +0 -602
  324. package/dist/generators/source-mapper.js.map +0 -1
  325. package/dist/generators/source-mapping-validator.d.ts +0 -118
  326. package/dist/generators/source-mapping-validator.d.ts.map +0 -1
  327. package/dist/generators/source-mapping-validator.js +0 -334
  328. package/dist/generators/source-mapping-validator.js.map +0 -1
  329. package/dist/generators/types.d.ts +0 -104
  330. package/dist/generators/types.js +0 -5
  331. package/dist/generators/types.js.map +0 -1
  332. package/dist/generators/warning-collector.d.ts +0 -144
  333. package/dist/generators/warning-collector.d.ts.map +0 -1
  334. package/dist/generators/warning-collector.js +0 -166
  335. package/dist/generators/warning-collector.js.map +0 -1
  336. package/dist/git/branch-diff.d.ts +0 -44
  337. package/dist/git/branch-diff.d.ts.map +0 -1
  338. package/dist/git/branch-diff.js +0 -57
  339. package/dist/git/branch-diff.js.map +0 -1
  340. package/dist/git/helpers.d.ts +0 -46
  341. package/dist/git/helpers.d.ts.map +0 -1
  342. package/dist/git/helpers.js +0 -67
  343. package/dist/git/helpers.js.map +0 -1
  344. package/dist/git/index.d.ts +0 -18
  345. package/dist/git/index.d.ts.map +0 -1
  346. package/dist/git/index.js +0 -18
  347. package/dist/git/index.js.map +0 -1
  348. package/dist/git/name-status.d.ts +0 -32
  349. package/dist/git/name-status.d.ts.map +0 -1
  350. package/dist/git/name-status.js +0 -66
  351. package/dist/git/name-status.js.map +0 -1
  352. package/dist/index.d.ts +0 -107
  353. package/dist/index.js +0 -122
  354. package/dist/index.js.map +0 -1
  355. package/dist/lint/engine.d.ts +0 -113
  356. package/dist/lint/engine.d.ts.map +0 -1
  357. package/dist/lint/engine.js +0 -228
  358. package/dist/lint/engine.js.map +0 -1
  359. package/dist/lint/index.d.ts +0 -26
  360. package/dist/lint/index.d.ts.map +0 -1
  361. package/dist/lint/index.js +0 -24
  362. package/dist/lint/index.js.map +0 -1
  363. package/dist/lint/process-guard/decider.d.ts +0 -166
  364. package/dist/lint/process-guard/decider.d.ts.map +0 -1
  365. package/dist/lint/process-guard/decider.js +0 -412
  366. package/dist/lint/process-guard/decider.js.map +0 -1
  367. package/dist/lint/process-guard/derive-state.d.ts +0 -96
  368. package/dist/lint/process-guard/derive-state.d.ts.map +0 -1
  369. package/dist/lint/process-guard/derive-state.js +0 -368
  370. package/dist/lint/process-guard/derive-state.js.map +0 -1
  371. package/dist/lint/process-guard/detect-changes.d.ts +0 -109
  372. package/dist/lint/process-guard/detect-changes.d.ts.map +0 -1
  373. package/dist/lint/process-guard/detect-changes.js +0 -487
  374. package/dist/lint/process-guard/detect-changes.js.map +0 -1
  375. package/dist/lint/process-guard/index.d.ts +0 -35
  376. package/dist/lint/process-guard/index.d.ts.map +0 -1
  377. package/dist/lint/process-guard/index.js +0 -39
  378. package/dist/lint/process-guard/index.js.map +0 -1
  379. package/dist/lint/process-guard/types.d.ts +0 -255
  380. package/dist/lint/process-guard/types.d.ts.map +0 -1
  381. package/dist/lint/process-guard/types.js +0 -31
  382. package/dist/lint/process-guard/types.js.map +0 -1
  383. package/dist/lint/rules.d.ts +0 -147
  384. package/dist/lint/rules.d.ts.map +0 -1
  385. package/dist/lint/rules.js +0 -289
  386. package/dist/lint/rules.js.map +0 -1
  387. package/dist/lint/steps/cross-checks.d.ts +0 -66
  388. package/dist/lint/steps/cross-checks.d.ts.map +0 -1
  389. package/dist/lint/steps/cross-checks.js +0 -290
  390. package/dist/lint/steps/cross-checks.js.map +0 -1
  391. package/dist/lint/steps/feature-checks.d.ts +0 -78
  392. package/dist/lint/steps/feature-checks.d.ts.map +0 -1
  393. package/dist/lint/steps/feature-checks.js +0 -279
  394. package/dist/lint/steps/feature-checks.js.map +0 -1
  395. package/dist/lint/steps/index.d.ts +0 -22
  396. package/dist/lint/steps/index.d.ts.map +0 -1
  397. package/dist/lint/steps/index.js +0 -26
  398. package/dist/lint/steps/index.js.map +0 -1
  399. package/dist/lint/steps/pair-resolver.d.ts +0 -29
  400. package/dist/lint/steps/pair-resolver.d.ts.map +0 -1
  401. package/dist/lint/steps/pair-resolver.js +0 -76
  402. package/dist/lint/steps/pair-resolver.js.map +0 -1
  403. package/dist/lint/steps/runner.d.ts +0 -28
  404. package/dist/lint/steps/runner.d.ts.map +0 -1
  405. package/dist/lint/steps/runner.js +0 -143
  406. package/dist/lint/steps/runner.js.map +0 -1
  407. package/dist/lint/steps/step-checks.d.ts +0 -41
  408. package/dist/lint/steps/step-checks.d.ts.map +0 -1
  409. package/dist/lint/steps/step-checks.js +0 -164
  410. package/dist/lint/steps/step-checks.js.map +0 -1
  411. package/dist/lint/steps/types.d.ts +0 -95
  412. package/dist/lint/steps/types.d.ts.map +0 -1
  413. package/dist/lint/steps/types.js +0 -79
  414. package/dist/lint/steps/types.js.map +0 -1
  415. package/dist/lint/steps/utils.d.ts +0 -22
  416. package/dist/lint/steps/utils.d.ts.map +0 -1
  417. package/dist/lint/steps/utils.js +0 -57
  418. package/dist/lint/steps/utils.js.map +0 -1
  419. package/dist/mcp/file-watcher.d.ts +0 -24
  420. package/dist/mcp/file-watcher.js +0 -75
  421. package/dist/mcp/file-watcher.js.map +0 -1
  422. package/dist/mcp/index.d.ts +0 -19
  423. package/dist/mcp/index.js +0 -21
  424. package/dist/mcp/index.js.map +0 -1
  425. package/dist/mcp/pipeline-session.d.ts +0 -33
  426. package/dist/mcp/pipeline-session.js +0 -149
  427. package/dist/mcp/pipeline-session.js.map +0 -1
  428. package/dist/mcp/server.d.ts +0 -28
  429. package/dist/mcp/server.js +0 -197
  430. package/dist/mcp/server.js.map +0 -1
  431. package/dist/mcp/tool-registry.d.ts +0 -4
  432. package/dist/mcp/tool-registry.js +0 -525
  433. package/dist/mcp/tool-registry.js.map +0 -1
  434. package/dist/renderable/codecs/adr.d.ts +0 -4730
  435. package/dist/renderable/codecs/adr.d.ts.map +0 -1
  436. package/dist/renderable/codecs/adr.js +0 -590
  437. package/dist/renderable/codecs/adr.js.map +0 -1
  438. package/dist/renderable/codecs/architecture.d.ts +0 -4760
  439. package/dist/renderable/codecs/architecture.d.ts.map +0 -1
  440. package/dist/renderable/codecs/architecture.js +0 -524
  441. package/dist/renderable/codecs/architecture.js.map +0 -1
  442. package/dist/renderable/codecs/business-rules.d.ts +0 -4777
  443. package/dist/renderable/codecs/business-rules.d.ts.map +0 -1
  444. package/dist/renderable/codecs/business-rules.js +0 -648
  445. package/dist/renderable/codecs/business-rules.js.map +0 -1
  446. package/dist/renderable/codecs/claude-module.d.ts +0 -4710
  447. package/dist/renderable/codecs/claude-module.d.ts.map +0 -1
  448. package/dist/renderable/codecs/claude-module.js +0 -214
  449. package/dist/renderable/codecs/claude-module.js.map +0 -1
  450. package/dist/renderable/codecs/composite.d.ts +0 -84
  451. package/dist/renderable/codecs/composite.d.ts.map +0 -1
  452. package/dist/renderable/codecs/composite.js +0 -124
  453. package/dist/renderable/codecs/composite.js.map +0 -1
  454. package/dist/renderable/codecs/convention-extractor.d.ts +0 -105
  455. package/dist/renderable/codecs/convention-extractor.d.ts.map +0 -1
  456. package/dist/renderable/codecs/convention-extractor.js +0 -353
  457. package/dist/renderable/codecs/convention-extractor.js.map +0 -1
  458. package/dist/renderable/codecs/decision-doc.d.ts +0 -308
  459. package/dist/renderable/codecs/decision-doc.d.ts.map +0 -1
  460. package/dist/renderable/codecs/decision-doc.js +0 -485
  461. package/dist/renderable/codecs/decision-doc.js.map +0 -1
  462. package/dist/renderable/codecs/design-review.d.ts +0 -55
  463. package/dist/renderable/codecs/design-review.d.ts.map +0 -1
  464. package/dist/renderable/codecs/design-review.js +0 -532
  465. package/dist/renderable/codecs/design-review.js.map +0 -1
  466. package/dist/renderable/codecs/diagram-utils.d.ts +0 -62
  467. package/dist/renderable/codecs/diagram-utils.d.ts.map +0 -1
  468. package/dist/renderable/codecs/diagram-utils.js +0 -70
  469. package/dist/renderable/codecs/diagram-utils.js.map +0 -1
  470. package/dist/renderable/codecs/helpers.d.ts +0 -553
  471. package/dist/renderable/codecs/helpers.d.ts.map +0 -1
  472. package/dist/renderable/codecs/helpers.js +0 -913
  473. package/dist/renderable/codecs/helpers.js.map +0 -1
  474. package/dist/renderable/codecs/index-codec.d.ts +0 -4714
  475. package/dist/renderable/codecs/index.d.ts +0 -46
  476. package/dist/renderable/codecs/index.d.ts.map +0 -1
  477. package/dist/renderable/codecs/index.js +0 -70
  478. package/dist/renderable/codecs/index.js.map +0 -1
  479. package/dist/renderable/codecs/patterns.d.ts +0 -4757
  480. package/dist/renderable/codecs/patterns.d.ts.map +0 -1
  481. package/dist/renderable/codecs/patterns.js +0 -462
  482. package/dist/renderable/codecs/patterns.js.map +0 -1
  483. package/dist/renderable/codecs/planning.d.ts +0 -14055
  484. package/dist/renderable/codecs/planning.d.ts.map +0 -1
  485. package/dist/renderable/codecs/planning.js +0 -449
  486. package/dist/renderable/codecs/planning.js.map +0 -1
  487. package/dist/renderable/codecs/pr-changes.d.ts +0 -4742
  488. package/dist/renderable/codecs/pr-changes.d.ts.map +0 -1
  489. package/dist/renderable/codecs/pr-changes.js +0 -425
  490. package/dist/renderable/codecs/pr-changes.js.map +0 -1
  491. package/dist/renderable/codecs/reference.d.ts +0 -215
  492. package/dist/renderable/codecs/reference.d.ts.map +0 -1
  493. package/dist/renderable/codecs/reference.js +0 -1578
  494. package/dist/renderable/codecs/reference.js.map +0 -1
  495. package/dist/renderable/codecs/reporting.d.ts +0 -14026
  496. package/dist/renderable/codecs/reporting.d.ts.map +0 -1
  497. package/dist/renderable/codecs/reporting.js +0 -365
  498. package/dist/renderable/codecs/reporting.js.map +0 -1
  499. package/dist/renderable/codecs/requirements.d.ts +0 -4743
  500. package/dist/renderable/codecs/requirements.d.ts.map +0 -1
  501. package/dist/renderable/codecs/requirements.js +0 -428
  502. package/dist/renderable/codecs/requirements.js.map +0 -1
  503. package/dist/renderable/codecs/session.d.ts +0 -9410
  504. package/dist/renderable/codecs/session.d.ts.map +0 -1
  505. package/dist/renderable/codecs/session.js +0 -848
  506. package/dist/renderable/codecs/session.js.map +0 -1
  507. package/dist/renderable/codecs/shape-matcher.d.ts +0 -54
  508. package/dist/renderable/codecs/shape-matcher.d.ts.map +0 -1
  509. package/dist/renderable/codecs/shape-matcher.js +0 -106
  510. package/dist/renderable/codecs/shape-matcher.js.map +0 -1
  511. package/dist/renderable/codecs/shared-schema.d.ts +0 -44
  512. package/dist/renderable/codecs/shared-schema.d.ts.map +0 -1
  513. package/dist/renderable/codecs/shared-schema.js +0 -43
  514. package/dist/renderable/codecs/shared-schema.js.map +0 -1
  515. package/dist/renderable/codecs/taxonomy.d.ts +0 -4733
  516. package/dist/renderable/codecs/taxonomy.d.ts.map +0 -1
  517. package/dist/renderable/codecs/taxonomy.js +0 -570
  518. package/dist/renderable/codecs/taxonomy.js.map +0 -1
  519. package/dist/renderable/codecs/timeline.d.ts +0 -14094
  520. package/dist/renderable/codecs/timeline.d.ts.map +0 -1
  521. package/dist/renderable/codecs/timeline.js +0 -906
  522. package/dist/renderable/codecs/timeline.js.map +0 -1
  523. package/dist/renderable/codecs/types/base.d.ts +0 -81
  524. package/dist/renderable/codecs/types/base.d.ts.map +0 -1
  525. package/dist/renderable/codecs/types/base.js +0 -56
  526. package/dist/renderable/codecs/types/base.js.map +0 -1
  527. package/dist/renderable/codecs/types/index.d.ts +0 -5
  528. package/dist/renderable/codecs/types/index.d.ts.map +0 -1
  529. package/dist/renderable/codecs/types/index.js +0 -5
  530. package/dist/renderable/codecs/types/index.js.map +0 -1
  531. package/dist/renderable/codecs/validation-rules.d.ts +0 -4773
  532. package/dist/renderable/codecs/validation-rules.d.ts.map +0 -1
  533. package/dist/renderable/codecs/validation-rules.js +0 -537
  534. package/dist/renderable/codecs/validation-rules.js.map +0 -1
  535. package/dist/renderable/generate.d.ts +0 -338
  536. package/dist/renderable/generate.d.ts.map +0 -1
  537. package/dist/renderable/generate.js +0 -437
  538. package/dist/renderable/generate.js.map +0 -1
  539. package/dist/renderable/index.d.ts +0 -36
  540. package/dist/renderable/index.d.ts.map +0 -1
  541. package/dist/renderable/index.js +0 -58
  542. package/dist/renderable/index.js.map +0 -1
  543. package/dist/renderable/load-preamble.d.ts +0 -56
  544. package/dist/renderable/load-preamble.d.ts.map +0 -1
  545. package/dist/renderable/load-preamble.js +0 -298
  546. package/dist/renderable/load-preamble.js.map +0 -1
  547. package/dist/renderable/render.d.ts +0 -61
  548. package/dist/renderable/render.d.ts.map +0 -1
  549. package/dist/renderable/render.js +0 -346
  550. package/dist/renderable/render.js.map +0 -1
  551. package/dist/renderable/schema.d.ts +0 -194
  552. package/dist/renderable/schema.d.ts.map +0 -1
  553. package/dist/renderable/schema.js +0 -197
  554. package/dist/renderable/schema.js.map +0 -1
  555. package/dist/renderable/utils.d.ts +0 -146
  556. package/dist/renderable/utils.d.ts.map +0 -1
  557. package/dist/renderable/utils.js +0 -362
  558. package/dist/renderable/utils.js.map +0 -1
  559. package/dist/scanner/ast-parser.d.ts +0 -75
  560. package/dist/scanner/ast-parser.d.ts.map +0 -1
  561. package/dist/scanner/ast-parser.js +0 -835
  562. package/dist/scanner/ast-parser.js.map +0 -1
  563. package/dist/scanner/gherkin-ast-parser.d.ts +0 -166
  564. package/dist/scanner/gherkin-ast-parser.d.ts.map +0 -1
  565. package/dist/scanner/gherkin-ast-parser.js +0 -507
  566. package/dist/scanner/gherkin-ast-parser.js.map +0 -1
  567. package/dist/scanner/gherkin-scanner.d.ts +0 -106
  568. package/dist/scanner/gherkin-scanner.d.ts.map +0 -1
  569. package/dist/scanner/gherkin-scanner.js +0 -149
  570. package/dist/scanner/gherkin-scanner.js.map +0 -1
  571. package/dist/scanner/index.d.ts +0 -85
  572. package/dist/scanner/index.d.ts.map +0 -1
  573. package/dist/scanner/index.js +0 -102
  574. package/dist/scanner/index.js.map +0 -1
  575. package/dist/scanner/pattern-scanner.d.ts +0 -83
  576. package/dist/scanner/pattern-scanner.d.ts.map +0 -1
  577. package/dist/scanner/pattern-scanner.js +0 -110
  578. package/dist/scanner/pattern-scanner.js.map +0 -1
  579. package/dist/taxonomy/categories.d.ts +0 -47
  580. package/dist/taxonomy/categories.d.ts.map +0 -1
  581. package/dist/taxonomy/categories.js +0 -175
  582. package/dist/taxonomy/categories.js.map +0 -1
  583. package/dist/taxonomy/claude-section-values.d.ts +0 -12
  584. package/dist/taxonomy/claude-section-values.d.ts.map +0 -1
  585. package/dist/taxonomy/claude-section-values.js +0 -17
  586. package/dist/taxonomy/claude-section-values.js.map +0 -1
  587. package/dist/taxonomy/conventions.d.ts +0 -13
  588. package/dist/taxonomy/conventions.d.ts.map +0 -1
  589. package/dist/taxonomy/conventions.js +0 -27
  590. package/dist/taxonomy/conventions.js.map +0 -1
  591. package/dist/taxonomy/deliverable-status.d.ts +0 -99
  592. package/dist/taxonomy/deliverable-status.d.ts.map +0 -1
  593. package/dist/taxonomy/deliverable-status.js +0 -131
  594. package/dist/taxonomy/deliverable-status.js.map +0 -1
  595. package/dist/taxonomy/format-types.d.ts +0 -17
  596. package/dist/taxonomy/format-types.d.ts.map +0 -1
  597. package/dist/taxonomy/format-types.js +0 -23
  598. package/dist/taxonomy/format-types.js.map +0 -1
  599. package/dist/taxonomy/generator-options.d.ts +0 -67
  600. package/dist/taxonomy/generator-options.d.ts.map +0 -1
  601. package/dist/taxonomy/generator-options.js +0 -75
  602. package/dist/taxonomy/generator-options.js.map +0 -1
  603. package/dist/taxonomy/hierarchy-levels.d.ts +0 -23
  604. package/dist/taxonomy/hierarchy-levels.d.ts.map +0 -1
  605. package/dist/taxonomy/hierarchy-levels.js +0 -22
  606. package/dist/taxonomy/hierarchy-levels.js.map +0 -1
  607. package/dist/taxonomy/index.d.ts +0 -35
  608. package/dist/taxonomy/index.d.ts.map +0 -1
  609. package/dist/taxonomy/index.js +0 -56
  610. package/dist/taxonomy/index.js.map +0 -1
  611. package/dist/taxonomy/layer-types.d.ts +0 -22
  612. package/dist/taxonomy/layer-types.d.ts.map +0 -1
  613. package/dist/taxonomy/layer-types.js +0 -28
  614. package/dist/taxonomy/layer-types.js.map +0 -1
  615. package/dist/taxonomy/normalized-status.d.ts +0 -99
  616. package/dist/taxonomy/normalized-status.d.ts.map +0 -1
  617. package/dist/taxonomy/normalized-status.js +0 -113
  618. package/dist/taxonomy/normalized-status.js.map +0 -1
  619. package/dist/taxonomy/registry-builder.d.ts +0 -104
  620. package/dist/taxonomy/registry-builder.d.ts.map +0 -1
  621. package/dist/taxonomy/registry-builder.js +0 -561
  622. package/dist/taxonomy/registry-builder.js.map +0 -1
  623. package/dist/taxonomy/risk-levels.d.ts +0 -16
  624. package/dist/taxonomy/risk-levels.d.ts.map +0 -1
  625. package/dist/taxonomy/risk-levels.js +0 -15
  626. package/dist/taxonomy/risk-levels.js.map +0 -1
  627. package/dist/taxonomy/severity-types.d.ts +0 -6
  628. package/dist/taxonomy/severity-types.d.ts.map +0 -1
  629. package/dist/taxonomy/severity-types.js +0 -5
  630. package/dist/taxonomy/severity-types.js.map +0 -1
  631. package/dist/taxonomy/status-values.d.ts +0 -39
  632. package/dist/taxonomy/status-values.d.ts.map +0 -1
  633. package/dist/taxonomy/status-values.js +0 -42
  634. package/dist/taxonomy/status-values.js.map +0 -1
  635. package/dist/types/branded.d.ts +0 -89
  636. package/dist/types/branded.d.ts.map +0 -1
  637. package/dist/types/branded.js +0 -57
  638. package/dist/types/branded.js.map +0 -1
  639. package/dist/types/errors.d.ts +0 -342
  640. package/dist/types/errors.d.ts.map +0 -1
  641. package/dist/types/errors.js +0 -251
  642. package/dist/types/errors.js.map +0 -1
  643. package/dist/types/index.d.ts +0 -41
  644. package/dist/types/index.d.ts.map +0 -1
  645. package/dist/types/index.js +0 -5
  646. package/dist/types/index.js.map +0 -1
  647. package/dist/types/result.d.ts +0 -78
  648. package/dist/types/result.d.ts.map +0 -1
  649. package/dist/types/result.js +0 -78
  650. package/dist/types/result.js.map +0 -1
  651. package/dist/utils/collection-utils.d.ts +0 -49
  652. package/dist/utils/collection-utils.d.ts.map +0 -1
  653. package/dist/utils/collection-utils.js +0 -58
  654. package/dist/utils/collection-utils.js.map +0 -1
  655. package/dist/utils/id-utils.d.ts +0 -46
  656. package/dist/utils/id-utils.d.ts.map +0 -1
  657. package/dist/utils/id-utils.js +0 -51
  658. package/dist/utils/id-utils.js.map +0 -1
  659. package/dist/utils/index.d.ts +0 -21
  660. package/dist/utils/index.d.ts.map +0 -1
  661. package/dist/utils/index.js +0 -21
  662. package/dist/utils/index.js.map +0 -1
  663. package/dist/utils/string-utils.d.ts +0 -150
  664. package/dist/utils/string-utils.d.ts.map +0 -1
  665. package/dist/utils/string-utils.js +0 -281
  666. package/dist/utils/string-utils.js.map +0 -1
  667. package/dist/validation/anti-patterns.d.ts +0 -134
  668. package/dist/validation/anti-patterns.d.ts.map +0 -1
  669. package/dist/validation/anti-patterns.js +0 -307
  670. package/dist/validation/anti-patterns.js.map +0 -1
  671. package/dist/validation/dod-validator.d.ts +0 -94
  672. package/dist/validation/dod-validator.d.ts.map +0 -1
  673. package/dist/validation/dod-validator.js +0 -198
  674. package/dist/validation/dod-validator.js.map +0 -1
  675. package/dist/validation/fsm/index.d.ts +0 -59
  676. package/dist/validation/fsm/index.d.ts.map +0 -1
  677. package/dist/validation/fsm/index.js +0 -64
  678. package/dist/validation/fsm/index.js.map +0 -1
  679. package/dist/validation/fsm/states.d.ts +0 -93
  680. package/dist/validation/fsm/states.d.ts.map +0 -1
  681. package/dist/validation/fsm/states.js +0 -98
  682. package/dist/validation/fsm/states.js.map +0 -1
  683. package/dist/validation/fsm/transitions.d.ts +0 -100
  684. package/dist/validation/fsm/transitions.d.ts.map +0 -1
  685. package/dist/validation/fsm/transitions.js +0 -122
  686. package/dist/validation/fsm/transitions.js.map +0 -1
  687. package/dist/validation/fsm/validator.d.ts +0 -163
  688. package/dist/validation/fsm/validator.d.ts.map +0 -1
  689. package/dist/validation/fsm/validator.js +0 -205
  690. package/dist/validation/fsm/validator.js.map +0 -1
  691. package/dist/validation/index.d.ts +0 -23
  692. package/dist/validation/index.d.ts.map +0 -1
  693. package/dist/validation/index.js +0 -25
  694. package/dist/validation/index.js.map +0 -1
  695. package/dist/validation/types.d.ts +0 -136
  696. package/dist/validation/types.d.ts.map +0 -1
  697. package/dist/validation/types.js +0 -56
  698. package/dist/validation/types.js.map +0 -1
  699. package/dist/validation-schemas/codec-utils.d.ts +0 -188
  700. package/dist/validation-schemas/codec-utils.d.ts.map +0 -1
  701. package/dist/validation-schemas/codec-utils.js +0 -258
  702. package/dist/validation-schemas/codec-utils.js.map +0 -1
  703. package/dist/validation-schemas/config.d.ts +0 -99
  704. package/dist/validation-schemas/config.d.ts.map +0 -1
  705. package/dist/validation-schemas/config.js +0 -178
  706. package/dist/validation-schemas/config.js.map +0 -1
  707. package/dist/validation-schemas/doc-directive.d.ts +0 -195
  708. package/dist/validation-schemas/doc-directive.d.ts.map +0 -1
  709. package/dist/validation-schemas/doc-directive.js +0 -239
  710. package/dist/validation-schemas/doc-directive.js.map +0 -1
  711. package/dist/validation-schemas/dual-source.d.ts +0 -167
  712. package/dist/validation-schemas/dual-source.d.ts.map +0 -1
  713. package/dist/validation-schemas/dual-source.js +0 -168
  714. package/dist/validation-schemas/dual-source.js.map +0 -1
  715. package/dist/validation-schemas/export-info.d.ts +0 -53
  716. package/dist/validation-schemas/export-info.d.ts.map +0 -1
  717. package/dist/validation-schemas/export-info.js +0 -101
  718. package/dist/validation-schemas/export-info.js.map +0 -1
  719. package/dist/validation-schemas/extracted-pattern.d.ts +0 -351
  720. package/dist/validation-schemas/extracted-pattern.d.ts.map +0 -1
  721. package/dist/validation-schemas/extracted-pattern.js +0 -459
  722. package/dist/validation-schemas/extracted-pattern.js.map +0 -1
  723. package/dist/validation-schemas/extracted-shape.d.ts +0 -200
  724. package/dist/validation-schemas/extracted-shape.d.ts.map +0 -1
  725. package/dist/validation-schemas/extracted-shape.js +0 -182
  726. package/dist/validation-schemas/extracted-shape.js.map +0 -1
  727. package/dist/validation-schemas/feature.d.ts +0 -554
  728. package/dist/validation-schemas/feature.d.ts.map +0 -1
  729. package/dist/validation-schemas/feature.js +0 -262
  730. package/dist/validation-schemas/feature.js.map +0 -1
  731. package/dist/validation-schemas/index.d.ts +0 -15
  732. package/dist/validation-schemas/index.d.ts.map +0 -1
  733. package/dist/validation-schemas/index.js +0 -32
  734. package/dist/validation-schemas/index.js.map +0 -1
  735. package/dist/validation-schemas/lint.d.ts +0 -46
  736. package/dist/validation-schemas/lint.d.ts.map +0 -1
  737. package/dist/validation-schemas/lint.js +0 -45
  738. package/dist/validation-schemas/lint.js.map +0 -1
  739. package/dist/validation-schemas/master-dataset.d.ts +0 -8299
  740. package/dist/validation-schemas/master-dataset.d.ts.map +0 -1
  741. package/dist/validation-schemas/master-dataset.js +0 -275
  742. package/dist/validation-schemas/master-dataset.js.map +0 -1
  743. package/dist/validation-schemas/output-schemas.d.ts +0 -183
  744. package/dist/validation-schemas/output-schemas.d.ts.map +0 -1
  745. package/dist/validation-schemas/output-schemas.js +0 -149
  746. package/dist/validation-schemas/output-schemas.js.map +0 -1
  747. package/dist/validation-schemas/scenario-ref.d.ts +0 -80
  748. package/dist/validation-schemas/scenario-ref.d.ts.map +0 -1
  749. package/dist/validation-schemas/scenario-ref.js +0 -73
  750. package/dist/validation-schemas/scenario-ref.js.map +0 -1
  751. package/dist/validation-schemas/tag-registry.d.ts +0 -210
  752. package/dist/validation-schemas/tag-registry.d.ts.map +0 -1
  753. package/dist/validation-schemas/tag-registry.js +0 -248
  754. package/dist/validation-schemas/tag-registry.js.map +0 -1
  755. package/dist/validation-schemas/workflow-config.d.ts +0 -125
  756. package/dist/validation-schemas/workflow-config.d.ts.map +0 -1
  757. package/dist/validation-schemas/workflow-config.js +0 -138
  758. 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