@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 +0,0 @@
1
- {"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../../../src/renderable/codecs/adr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,mBAAmB,EAEpB,MAAM,4CAA4C,CAAC;AAuBpD,OAAO,EAAE,KAAK,gBAAgB,EAAsC,MAAM,iBAAiB,CAAC;AAM5F;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,gBAAgB;IACvD,0CAA0C;IAC1C,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAExC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,eAAe,CAMzD,CAAC;AACF,OAAO,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAMpE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,eAAe,GACxB,CAAC,CAAC,QAAQ,CAAC,OAAO,mBAAmB,EAAE,OAAO,8BAA8B,CAAC,CAY/E;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAmB,CAAC"}
@@ -1,590 +0,0 @@
1
- /**
2
- * @architect
3
- * @architect-core
4
- * @architect-pattern AdrDocumentCodec
5
- * @architect-status completed
6
- * @architect-convention codec-registry
7
- * @architect-product-area:Generation
8
- *
9
- * ## AdrDocumentCodec
10
- *
11
- * Transforms MasterDataset into RenderableDocument for Architecture Decision Records.
12
- * Extracts ADRs from patterns with `@architect-adr` tags.
13
- *
14
- * **Purpose:** Architecture Decision Records extracted from patterns with @architect-adr tags.
15
- *
16
- * **Output Files:** `DECISIONS.md` (ADR index), `decisions/<category-slug>.md` (category details)
17
- *
18
- * ### When to Use
19
- *
20
- * - When generating Architecture Decision Record documentation
21
- * - When extracting ADRs from feature files with structured annotations
22
- * - When building custom ADR reports with configurable content sections
23
- *
24
- * ### Factory Pattern
25
- *
26
- * Use `createAdrCodec(options)` for custom options:
27
- * ```typescript
28
- * const codec = createAdrCodec({
29
- * groupBy: 'phase',
30
- * includeContext: true,
31
- * includeDecision: true,
32
- * includeConsequences: false,
33
- * });
34
- * const doc = codec.decode(dataset);
35
- * ```
36
- *
37
- * ### ADR Content
38
- *
39
- * ADR content is parsed from feature file descriptions:
40
- * - **Context**: Problem background and constraints
41
- * - **Decision**: The chosen solution
42
- * - **Consequences**: Positive and negative outcomes
43
- */
44
- import { z } from 'zod';
45
- import { MasterDatasetSchema, } from '../../validation-schemas/master-dataset.js';
46
- import { partitionRulesByPrefix, renderRuleDescription, dedent, } from './helpers.js';
47
- import { extractTablesFromDescription } from './convention-extractor.js';
48
- import { heading, paragraph, separator, table, code, collapsible, linkOut, document, } from '../schema.js';
49
- import { getDisplayName } from '../utils.js';
50
- import { groupBy } from '../../utils/index.js';
51
- import { DEFAULT_BASE_OPTIONS, mergeOptions } from './types/base.js';
52
- /**
53
- * Default options for AdrDocumentCodec
54
- */
55
- export const DEFAULT_ADR_OPTIONS = {
56
- ...DEFAULT_BASE_OPTIONS,
57
- groupBy: 'category',
58
- includeContext: true,
59
- includeDecision: true,
60
- includeConsequences: true,
61
- };
62
- import { RenderableDocumentOutputSchema } from './shared-schema.js';
63
- // ═══════════════════════════════════════════════════════════════════════════
64
- // ADR Document Codec
65
- // ═══════════════════════════════════════════════════════════════════════════
66
- /**
67
- * Create an AdrDocumentCodec with custom options.
68
- *
69
- * @param options - Codec configuration options
70
- * @returns Configured Zod codec
71
- *
72
- * @example
73
- * ```typescript
74
- * // Group by phase instead of category
75
- * const codec = createAdrCodec({ groupBy: 'phase' });
76
- *
77
- * // Hide consequences section
78
- * const codec = createAdrCodec({ includeConsequences: false });
79
- *
80
- * // Inline all categories (no progressive disclosure)
81
- * const codec = createAdrCodec({ generateDetailFiles: false });
82
- * ```
83
- */
84
- export function createAdrCodec(options) {
85
- const opts = mergeOptions(DEFAULT_ADR_OPTIONS, options);
86
- return z.codec(MasterDatasetSchema, RenderableDocumentOutputSchema, {
87
- decode: (dataset) => {
88
- return buildAdrDocument(dataset, opts);
89
- },
90
- /** @throws Always - this codec is decode-only. See zod-codecs.md */
91
- encode: () => {
92
- throw new Error('AdrDocumentCodec is decode-only. See zod-codecs.md');
93
- },
94
- });
95
- }
96
- /**
97
- * Default ADR Document Codec
98
- *
99
- * Transforms MasterDataset → RenderableDocument for architecture decisions.
100
- * Groups ADRs by category with progressive disclosure.
101
- */
102
- export const AdrDocumentCodec = createAdrCodec();
103
- // ═══════════════════════════════════════════════════════════════════════════
104
- // Document Builder
105
- // ═══════════════════════════════════════════════════════════════════════════
106
- /**
107
- * Build ADR document
108
- */
109
- function buildAdrDocument(dataset, options) {
110
- const sections = [];
111
- // Filter to patterns with ADR metadata
112
- const adrPatterns = dataset.patterns.filter((p) => p.adr !== undefined);
113
- if (adrPatterns.length === 0) {
114
- sections.push(heading(2, 'No Architecture Decisions'), paragraph('No patterns have @architect-adr tags.'));
115
- return document('Architecture Decision Records', sections, {
116
- purpose: 'Architectural decisions extracted from feature files',
117
- });
118
- }
119
- // 1. Summary
120
- sections.push(...buildAdrSummary(adrPatterns));
121
- // 2. ADRs by grouping
122
- if (options.groupBy === 'phase') {
123
- sections.push(...buildAdrsByPhase(adrPatterns, options));
124
- }
125
- else if (options.groupBy === 'date') {
126
- sections.push(...buildAdrsByDate(adrPatterns, options));
127
- }
128
- else {
129
- // Default: category
130
- sections.push(...buildAdrsByCategory(adrPatterns, options));
131
- }
132
- // 3. ADR index table
133
- sections.push(...buildAdrIndexTable(adrPatterns, options));
134
- // Build category detail files (if enabled and threshold met)
135
- const additionalFiles = options.generateDetailFiles
136
- ? buildAdrDetailFiles(adrPatterns, options)
137
- : {};
138
- const docOpts = {
139
- purpose: 'Architectural decisions extracted from feature files',
140
- detailLevel: options.generateDetailFiles
141
- ? 'Summary with links to category details'
142
- : 'Compact summary',
143
- };
144
- if (Object.keys(additionalFiles).length > 0) {
145
- docOpts.additionalFiles = additionalFiles;
146
- }
147
- return document('Architecture Decision Records', sections, docOpts);
148
- }
149
- // ═══════════════════════════════════════════════════════════════════════════
150
- // Section Builders
151
- // ═══════════════════════════════════════════════════════════════════════════
152
- /**
153
- * Build ADR summary section
154
- */
155
- function buildAdrSummary(patterns) {
156
- // Count by status
157
- const byStatus = groupBy(patterns.filter((p) => p.adrStatus), (p) => p.adrStatus ?? 'proposed');
158
- const accepted = byStatus.get('accepted')?.length ?? 0;
159
- const proposed = byStatus.get('proposed')?.length ?? 0;
160
- const deprecated = byStatus.get('deprecated')?.length ?? 0;
161
- const superseded = byStatus.get('superseded')?.length ?? 0;
162
- // Count by category
163
- const byCategory = groupBy(patterns.filter((p) => p.adrCategory), (p) => p.adrCategory ?? 'uncategorized');
164
- return [
165
- heading(2, 'Summary'),
166
- table(['Metric', 'Value'], [
167
- ['Total ADRs', String(patterns.length)],
168
- ['Accepted', String(accepted)],
169
- ['Proposed', String(proposed)],
170
- ['Deprecated', String(deprecated)],
171
- ['Superseded', String(superseded)],
172
- ['Categories', String(byCategory.size)],
173
- ]),
174
- separator(),
175
- ];
176
- }
177
- /**
178
- * Build ADRs grouped by category
179
- * Each ADR links to its individual detail file when generateDetailFiles is enabled
180
- */
181
- function buildAdrsByCategory(patterns, options) {
182
- const sections = [];
183
- const byCategory = groupBy(patterns, (p) => p.adrCategory ?? 'uncategorized');
184
- if (byCategory.size === 0) {
185
- return [];
186
- }
187
- sections.push(heading(2, 'By Category'));
188
- const sortedCategories = [...byCategory.keys()].sort();
189
- for (const category of sortedCategories) {
190
- const categoryPatterns = byCategory.get(category) ?? [];
191
- if (!options.generateDetailFiles) {
192
- // Inline the category (no progressive disclosure)
193
- sections.push(...buildCategorySection(category, categoryPatterns, options));
194
- }
195
- else {
196
- // Show category with list of ADRs linking to individual files
197
- sections.push(heading(3, category), paragraph(`${categoryPatterns.length} decisions`));
198
- // Sort by ADR number and create links
199
- const sorted = [...categoryPatterns].sort((a, b) => {
200
- const aNum = parseAdrNumber(a.adr);
201
- const bNum = parseAdrNumber(b.adr);
202
- return aNum - bNum;
203
- });
204
- const adrRows = sorted.map((p) => {
205
- const adrNum = p.adr ?? '???';
206
- const name = getDisplayName(p);
207
- const status = p.adrStatus ?? 'proposed';
208
- const slug = adrToSlug(p);
209
- return [`[ADR-${adrNum}](decisions/${slug}.md)`, name, status];
210
- });
211
- sections.push(table(['ADR', 'Title', 'Status'], adrRows), separator());
212
- }
213
- }
214
- return sections;
215
- }
216
- /**
217
- * Build a category section with ADRs
218
- */
219
- function buildCategorySection(category, patterns, options) {
220
- const sections = [];
221
- sections.push(heading(3, category));
222
- sections.push(paragraph(`${patterns.length} decisions`));
223
- // Sort by ADR number
224
- const sorted = [...patterns].sort((a, b) => {
225
- const aNum = parseAdrNumber(a.adr);
226
- const bNum = parseAdrNumber(b.adr);
227
- return aNum - bNum;
228
- });
229
- for (const pattern of sorted) {
230
- sections.push(...buildAdrEntry(pattern, options));
231
- }
232
- sections.push(separator());
233
- return sections;
234
- }
235
- /**
236
- * Build a single ADR entry
237
- */
238
- function buildAdrEntry(pattern, options) {
239
- const sections = [];
240
- const name = getDisplayName(pattern);
241
- const adrNum = pattern.adr ?? '???';
242
- const status = pattern.adrStatus ?? 'proposed';
243
- sections.push(heading(4, `ADR-${adrNum}: ${name}`));
244
- // Metadata
245
- const metaRows = [['Status', status]];
246
- if (pattern.adrCategory) {
247
- metaRows.push(['Category', pattern.adrCategory]);
248
- }
249
- if (pattern.phase !== undefined) {
250
- metaRows.push(['Phase', String(pattern.phase)]);
251
- }
252
- if (pattern.adrSupersedes) {
253
- metaRows.push(['Supersedes', `ADR-${pattern.adrSupersedes}`]);
254
- }
255
- if (pattern.adrSupersededBy) {
256
- metaRows.push(['Superseded By', `ADR-${pattern.adrSupersededBy}`]);
257
- }
258
- sections.push(table(['Property', 'Value'], metaRows));
259
- // ADR Content sections from Gherkin Rule: keywords
260
- // Rules are partitioned by semantic prefix: "Context...", "Decision...", "Consequence..."
261
- const partitioned = partitionRulesByPrefix(pattern.rules, {
262
- warnOnOther: true,
263
- patternName: name,
264
- });
265
- sections.push(...renderPartitionedAdrSections(partitioned, options, 5));
266
- return sections;
267
- }
268
- /**
269
- * Build ADRs grouped by phase
270
- */
271
- function buildAdrsByPhase(patterns, options) {
272
- const sections = [];
273
- const byPhase = groupBy(patterns, (p) => p.phase ?? 0);
274
- if (byPhase.size === 0) {
275
- return [];
276
- }
277
- sections.push(heading(2, 'By Phase'));
278
- const sortedPhases = [...byPhase.keys()].sort((a, b) => a - b);
279
- for (const phaseNum of sortedPhases) {
280
- const phasePatterns = byPhase.get(phaseNum) ?? [];
281
- const phaseContent = [];
282
- for (const pattern of phasePatterns) {
283
- phaseContent.push(...buildAdrEntry(pattern, options));
284
- }
285
- sections.push(collapsible(`Phase ${phaseNum} (${phasePatterns.length} decisions)`, phaseContent));
286
- }
287
- sections.push(separator());
288
- return sections;
289
- }
290
- /**
291
- * Build ADRs grouped by date (quarter)
292
- */
293
- function buildAdrsByDate(patterns, options) {
294
- const sections = [];
295
- const byQuarter = groupBy(patterns.filter((p) => p.quarter), (p) => p.quarter ?? 'undated');
296
- if (byQuarter.size === 0) {
297
- return [];
298
- }
299
- sections.push(heading(2, 'By Date'));
300
- const sortedQuarters = [...byQuarter.keys()].sort().reverse(); // Most recent first
301
- for (const quarter of sortedQuarters) {
302
- const quarterPatterns = byQuarter.get(quarter) ?? [];
303
- const quarterContent = [];
304
- for (const pattern of quarterPatterns) {
305
- quarterContent.push(...buildAdrEntry(pattern, options));
306
- }
307
- sections.push(collapsible(`${quarter} (${quarterPatterns.length} decisions)`, quarterContent));
308
- }
309
- sections.push(separator());
310
- return sections;
311
- }
312
- /**
313
- * Build ADR index table
314
- * Links to individual files when generateDetailFiles is enabled
315
- */
316
- function buildAdrIndexTable(patterns, options) {
317
- // Sort by ADR number
318
- const sorted = [...patterns].sort((a, b) => {
319
- const aNum = parseAdrNumber(a.adr);
320
- const bNum = parseAdrNumber(b.adr);
321
- return aNum - bNum;
322
- });
323
- const rows = sorted.map((p) => {
324
- const adrNum = p.adr ?? '???';
325
- const name = getDisplayName(p);
326
- const status = p.adrStatus ?? 'proposed';
327
- const category = p.adrCategory ?? '-';
328
- if (options.generateDetailFiles) {
329
- const slug = adrToSlug(p);
330
- return [`[ADR-${adrNum}](decisions/${slug}.md)`, name, status, category];
331
- }
332
- return [`ADR-${adrNum}`, name, status, category];
333
- });
334
- return [
335
- heading(2, 'ADR Index'),
336
- table(['ADR', 'Title', 'Status', 'Category'], rows),
337
- separator(),
338
- ];
339
- }
340
- // ═══════════════════════════════════════════════════════════════════════════
341
- // Individual ADR Detail Files (Progressive Disclosure)
342
- // ═══════════════════════════════════════════════════════════════════════════
343
- /**
344
- * Generate URL-safe slug from ADR number and name
345
- *
346
- * Handles edge cases:
347
- * - Empty pattern names fallback to "unnamed"
348
- * - ADR numbers are zero-padded to 3 digits
349
- * - Non-alphanumeric characters are replaced with hyphens
350
- *
351
- * @param pattern - The extracted pattern with ADR metadata
352
- * @returns URL-safe slug like "adr-001-my-decision"
353
- */
354
- function adrToSlug(pattern) {
355
- const adrNum = pattern.adr ?? '000';
356
- const displayName = getDisplayName(pattern);
357
- // Strip leading "ADR NNN" or "PDR NNN" prefix to avoid duplication (e.g., adr-001-adr-001-...)
358
- const stripped = displayName.replace(/^(?:ADR|PDR)\s*\d+\s*/i, '');
359
- const sluggedName = stripped
360
- .toLowerCase()
361
- .replace(/[^a-z0-9]+/g, '-')
362
- .replace(/^-+|-+$/g, '');
363
- // Fallback to "unnamed" if the slug would be empty
364
- const name = sluggedName.length > 0 ? sluggedName : 'unnamed';
365
- return `adr-${adrNum.padStart(3, '0')}-${name}`;
366
- }
367
- /**
368
- * Parse ADR number for sorting, handling non-numeric values
369
- *
370
- * Returns 0 for non-numeric ADR numbers to avoid NaN in sort comparisons.
371
- * Emits a warning when falling back to 0 for non-numeric values.
372
- * Examples: "001" → 1, "v1" → 0 (with warning), undefined → 0
373
- *
374
- * @param adr - The ADR number string to parse
375
- * @param onWarning - Optional callback for warnings (default: console.warn)
376
- */
377
- function parseAdrNumber(adr, onWarning = console.warn) {
378
- if (!adr)
379
- return 0;
380
- const parsed = parseInt(adr, 10);
381
- if (Number.isNaN(parsed)) {
382
- onWarning(`[adr-codec] Invalid ADR number "${adr}", defaulting to 0 for sorting`);
383
- return 0;
384
- }
385
- return parsed;
386
- }
387
- /**
388
- * Build individual ADR files (progressive disclosure)
389
- * Creates one file per ADR instead of grouping by category
390
- */
391
- function buildAdrDetailFiles(patterns, options) {
392
- const files = {};
393
- for (const pattern of patterns) {
394
- const slug = adrToSlug(pattern);
395
- files[`decisions/${slug}.md`] = buildSingleAdrDocument(pattern, options);
396
- }
397
- return files;
398
- }
399
- /**
400
- * Build a single ADR detail document
401
- */
402
- function buildSingleAdrDocument(pattern, options) {
403
- const sections = [];
404
- const name = getDisplayName(pattern);
405
- const adrNum = pattern.adr ?? '???';
406
- const status = pattern.adrStatus ?? 'proposed';
407
- // Metadata
408
- const metaRows = [['Status', status]];
409
- if (pattern.adrCategory) {
410
- metaRows.push(['Category', pattern.adrCategory]);
411
- }
412
- if (pattern.phase !== undefined) {
413
- metaRows.push(['Phase', String(pattern.phase)]);
414
- }
415
- if (pattern.adrSupersedes) {
416
- metaRows.push(['Supersedes', `ADR-${pattern.adrSupersedes}`]);
417
- }
418
- if (pattern.adrSupersededBy) {
419
- metaRows.push(['Superseded By', `ADR-${pattern.adrSupersededBy}`]);
420
- }
421
- sections.push(heading(2, 'Overview'), table(['Property', 'Value'], metaRows));
422
- // Feature description content (Context, Decision, Consequences as prose)
423
- // Some ADRs/PDRs use the Feature description for structured content instead of
424
- // Rule: prefix naming. Render it between Overview and Rules.
425
- // IMPORTANT: dedent BEFORE trim — trim strips first-line indent, defeating dedent.
426
- const featureDesc = pattern.directive.description;
427
- if (featureDesc.trim()) {
428
- sections.push(...renderFeatureDescription(featureDesc));
429
- }
430
- // ADR Content sections from Gherkin Rule: keywords
431
- // Rules are partitioned by semantic prefix: "Context...", "Decision...", "Consequence..."
432
- const partitioned = partitionRulesByPrefix(pattern.rules, {
433
- warnOnOther: true,
434
- patternName: name,
435
- });
436
- sections.push(...renderPartitionedAdrSections(partitioned, options, 2));
437
- // Back link
438
- sections.push(separator(), linkOut('← Back to All Decisions', '../DECISIONS.md'));
439
- return document(`ADR-${adrNum}: ${name}`, sections, {
440
- purpose: `Architecture decision record for ${name}`,
441
- });
442
- }
443
- // ═══════════════════════════════════════════════════════════════════════════
444
- // Utilities
445
- // ═══════════════════════════════════════════════════════════════════════════
446
- /**
447
- * Render a Feature description preserving content order.
448
- *
449
- * Unlike `renderRuleDescription` (which extracts annotations and tables out-of-order),
450
- * this function walks the description linearly, detecting transitions between prose,
451
- * table blocks, and DocString blocks. Each block type is rendered appropriately:
452
- * - Prose → `paragraph()` with dedented text
453
- * - Tables → `table()` with proper separator rows via `extractTablesFromDescription`
454
- * - DocStrings → `code()` with language hint and dedented content
455
- *
456
- * @param description - Raw Feature description text (Gherkin-indented)
457
- * @returns Array of SectionBlocks preserving the original content order
458
- */
459
- function renderFeatureDescription(description) {
460
- const blocks = [];
461
- const dedented = dedent(description);
462
- const lines = dedented.split('\n');
463
- let currentBlock = [];
464
- let blockType = 'prose';
465
- let docStringLang = '';
466
- const flushBlock = () => {
467
- const content = currentBlock.join('\n').trim();
468
- if (content.length === 0) {
469
- currentBlock = [];
470
- return;
471
- }
472
- if (blockType === 'table') {
473
- // Parse table lines into structured table with separator rows
474
- const extracted = extractTablesFromDescription(content);
475
- for (const tbl of extracted) {
476
- const rows = tbl.rows.map((row) => tbl.headers.map((h) => row[h] ?? ''));
477
- blocks.push(table([...tbl.headers], rows));
478
- }
479
- }
480
- else if (blockType === 'docstring') {
481
- blocks.push(code(dedent(content), docStringLang || 'text'));
482
- }
483
- else {
484
- blocks.push(paragraph(content));
485
- }
486
- currentBlock = [];
487
- };
488
- let inDocString = false;
489
- for (const line of lines) {
490
- const trimmed = line.trim();
491
- // DocString delimiter detection
492
- if (trimmed.startsWith('"""')) {
493
- if (!inDocString) {
494
- // Opening delimiter — flush current block, start DocString
495
- flushBlock();
496
- inDocString = true;
497
- blockType = 'docstring';
498
- docStringLang = trimmed.slice(3).trim();
499
- continue;
500
- }
501
- else {
502
- // Closing delimiter — flush DocString
503
- flushBlock();
504
- inDocString = false;
505
- blockType = 'prose';
506
- continue;
507
- }
508
- }
509
- if (inDocString) {
510
- currentBlock.push(line);
511
- continue;
512
- }
513
- // Detect table lines (start and end with |)
514
- const isTableLine = trimmed.startsWith('|') && trimmed.endsWith('|');
515
- if (isTableLine && blockType !== 'table') {
516
- // Transition: prose → table
517
- flushBlock();
518
- blockType = 'table';
519
- currentBlock.push(trimmed);
520
- }
521
- else if (!isTableLine && blockType === 'table') {
522
- // Transition: table → prose
523
- flushBlock();
524
- blockType = 'prose';
525
- currentBlock.push(trimmed);
526
- }
527
- else {
528
- // Prose lines: trimmed to strip Gherkin indentation
529
- // Table lines: trimmed for consistent pipe alignment
530
- // DocString lines: raw (handled separately above)
531
- currentBlock.push(trimmed);
532
- }
533
- }
534
- // Flush any remaining content
535
- flushBlock();
536
- return blocks;
537
- }
538
- /**
539
- * Render partitioned ADR sections (Context, Decision, Consequences)
540
- *
541
- * Shared helper to ensure consistent rendering between buildAdrEntry and buildSingleAdrDocument.
542
- *
543
- * @param partitioned - Partitioned ADR rules
544
- * @param options - ADR codec options
545
- * @param headingLevel - Heading level for section headers (2 for detail docs, 5 for inline entries)
546
- * @returns Array of SectionBlocks
547
- */
548
- function renderPartitionedAdrSections(partitioned, options, headingLevel) {
549
- const sections = [];
550
- // Render Context section
551
- if (options.includeContext && partitioned.context.length > 0) {
552
- sections.push(heading(headingLevel, 'Context'));
553
- for (const rule of partitioned.context) {
554
- if (rule.description) {
555
- sections.push(...renderRuleDescription(rule.description));
556
- }
557
- }
558
- }
559
- // Render Decision section
560
- if (options.includeDecision && partitioned.decision.length > 0) {
561
- sections.push(heading(headingLevel, 'Decision'));
562
- for (const rule of partitioned.decision) {
563
- if (rule.description) {
564
- sections.push(...renderRuleDescription(rule.description));
565
- }
566
- }
567
- }
568
- // Render Consequences section
569
- if (options.includeConsequences && partitioned.consequences.length > 0) {
570
- sections.push(heading(headingLevel, 'Consequences'));
571
- for (const rule of partitioned.consequences) {
572
- if (rule.description) {
573
- sections.push(...renderRuleDescription(rule.description));
574
- }
575
- }
576
- }
577
- // Render rules that don't match ADR prefixes (e.g., "DD-1 - ...", invariants)
578
- if (partitioned.other.length > 0) {
579
- sections.push(heading(headingLevel, 'Rules'));
580
- const ruleHeadingLevel = headingLevel === 2 ? 3 : 6;
581
- for (const rule of partitioned.other) {
582
- sections.push(heading(ruleHeadingLevel, rule.name));
583
- if (rule.description) {
584
- sections.push(...renderRuleDescription(rule.description));
585
- }
586
- }
587
- }
588
- return sections;
589
- }
590
- //# sourceMappingURL=adr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adr.js","sourceRoot":"","sources":["../../../src/renderable/codecs/adr.ts"],"names":[],"mappings":"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"}