@libar-dev/architect 1.0.0-pre.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (800) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/LICENSE +25 -0
  3. package/LICENSE-MCP +62 -0
  4. package/README.md +147 -0
  5. package/dist/api/arch-queries.d.ts +95 -0
  6. package/dist/api/arch-queries.d.ts.map +1 -0
  7. package/dist/api/arch-queries.js +310 -0
  8. package/dist/api/arch-queries.js.map +1 -0
  9. package/dist/api/context-assembler.d.ts +124 -0
  10. package/dist/api/context-assembler.d.ts.map +1 -0
  11. package/dist/api/context-assembler.js +472 -0
  12. package/dist/api/context-assembler.js.map +1 -0
  13. package/dist/api/context-formatter.d.ts +26 -0
  14. package/dist/api/context-formatter.d.ts.map +1 -0
  15. package/dist/api/context-formatter.js +183 -0
  16. package/dist/api/context-formatter.js.map +1 -0
  17. package/dist/api/coverage-analyzer.d.ts +38 -0
  18. package/dist/api/coverage-analyzer.d.ts.map +1 -0
  19. package/dist/api/coverage-analyzer.js +117 -0
  20. package/dist/api/coverage-analyzer.js.map +1 -0
  21. package/dist/api/fuzzy-match.d.ts +75 -0
  22. package/dist/api/fuzzy-match.d.ts.map +1 -0
  23. package/dist/api/fuzzy-match.js +150 -0
  24. package/dist/api/fuzzy-match.js.map +1 -0
  25. package/dist/api/handoff-generator.d.ts +45 -0
  26. package/dist/api/handoff-generator.d.ts.map +1 -0
  27. package/dist/api/handoff-generator.js +139 -0
  28. package/dist/api/handoff-generator.js.map +1 -0
  29. package/dist/api/index.d.ts +61 -0
  30. package/dist/api/index.d.ts.map +1 -0
  31. package/dist/api/index.js +54 -0
  32. package/dist/api/index.js.map +1 -0
  33. package/dist/api/pattern-helpers.d.ts +51 -0
  34. package/dist/api/pattern-helpers.d.ts.map +1 -0
  35. package/dist/api/pattern-helpers.js +84 -0
  36. package/dist/api/pattern-helpers.js.map +1 -0
  37. package/dist/api/process-state.d.ts +224 -0
  38. package/dist/api/process-state.d.ts.map +1 -0
  39. package/dist/api/process-state.js +308 -0
  40. package/dist/api/process-state.js.map +1 -0
  41. package/dist/api/rules-query.d.ts +60 -0
  42. package/dist/api/rules-query.d.ts.map +1 -0
  43. package/dist/api/rules-query.js +154 -0
  44. package/dist/api/rules-query.js.map +1 -0
  45. package/dist/api/scope-validator.d.ts +56 -0
  46. package/dist/api/scope-validator.d.ts.map +1 -0
  47. package/dist/api/scope-validator.js +293 -0
  48. package/dist/api/scope-validator.js.map +1 -0
  49. package/dist/api/stub-resolver.d.ts +117 -0
  50. package/dist/api/stub-resolver.d.ts.map +1 -0
  51. package/dist/api/stub-resolver.js +154 -0
  52. package/dist/api/stub-resolver.js.map +1 -0
  53. package/dist/api/summarize.d.ts +75 -0
  54. package/dist/api/summarize.d.ts.map +1 -0
  55. package/dist/api/summarize.js +97 -0
  56. package/dist/api/summarize.js.map +1 -0
  57. package/dist/api/types.d.ts +221 -0
  58. package/dist/api/types.d.ts.map +1 -0
  59. package/dist/api/types.js +57 -0
  60. package/dist/api/types.js.map +1 -0
  61. package/dist/cache/file-cache.d.ts +72 -0
  62. package/dist/cache/file-cache.d.ts.map +1 -0
  63. package/dist/cache/file-cache.js +80 -0
  64. package/dist/cache/file-cache.js.map +1 -0
  65. package/dist/cache/index.d.ts +5 -0
  66. package/dist/cache/index.d.ts.map +1 -0
  67. package/dist/cache/index.js +5 -0
  68. package/dist/cache/index.js.map +1 -0
  69. package/dist/cli/cli-schema.d.ts +83 -0
  70. package/dist/cli/cli-schema.d.ts.map +1 -0
  71. package/dist/cli/cli-schema.js +505 -0
  72. package/dist/cli/cli-schema.js.map +1 -0
  73. package/dist/cli/dataset-cache.d.ts +66 -0
  74. package/dist/cli/dataset-cache.d.ts.map +1 -0
  75. package/dist/cli/dataset-cache.js +179 -0
  76. package/dist/cli/dataset-cache.js.map +1 -0
  77. package/dist/cli/error-handler.d.ts +84 -0
  78. package/dist/cli/error-handler.d.ts.map +1 -0
  79. package/dist/cli/error-handler.js +197 -0
  80. package/dist/cli/error-handler.js.map +1 -0
  81. package/dist/cli/generate-docs.d.ts +30 -0
  82. package/dist/cli/generate-docs.d.ts.map +1 -0
  83. package/dist/cli/generate-docs.js +370 -0
  84. package/dist/cli/generate-docs.js.map +1 -0
  85. package/dist/cli/lint-patterns.d.ts +57 -0
  86. package/dist/cli/lint-patterns.d.ts.map +1 -0
  87. package/dist/cli/lint-patterns.js +257 -0
  88. package/dist/cli/lint-patterns.js.map +1 -0
  89. package/dist/cli/lint-process.d.ts +54 -0
  90. package/dist/cli/lint-process.d.ts.map +1 -0
  91. package/dist/cli/lint-process.js +319 -0
  92. package/dist/cli/lint-process.js.map +1 -0
  93. package/dist/cli/lint-steps.d.ts +32 -0
  94. package/dist/cli/lint-steps.d.ts.map +1 -0
  95. package/dist/cli/lint-steps.js +172 -0
  96. package/dist/cli/lint-steps.js.map +1 -0
  97. package/dist/cli/mcp-server.d.ts +22 -0
  98. package/dist/cli/mcp-server.d.ts.map +1 -0
  99. package/dist/cli/mcp-server.js +57 -0
  100. package/dist/cli/mcp-server.js.map +1 -0
  101. package/dist/cli/output-pipeline.d.ts +130 -0
  102. package/dist/cli/output-pipeline.d.ts.map +1 -0
  103. package/dist/cli/output-pipeline.js +234 -0
  104. package/dist/cli/output-pipeline.js.map +1 -0
  105. package/dist/cli/process-api.d.ts +37 -0
  106. package/dist/cli/process-api.d.ts.map +1 -0
  107. package/dist/cli/process-api.js +1550 -0
  108. package/dist/cli/process-api.js.map +1 -0
  109. package/dist/cli/repl.d.ts +38 -0
  110. package/dist/cli/repl.d.ts.map +1 -0
  111. package/dist/cli/repl.js +239 -0
  112. package/dist/cli/repl.js.map +1 -0
  113. package/dist/cli/validate-patterns.d.ts +115 -0
  114. package/dist/cli/validate-patterns.d.ts.map +1 -0
  115. package/dist/cli/validate-patterns.js +707 -0
  116. package/dist/cli/validate-patterns.js.map +1 -0
  117. package/dist/cli/version.d.ts +35 -0
  118. package/dist/cli/version.d.ts.map +1 -0
  119. package/dist/cli/version.js +64 -0
  120. package/dist/cli/version.js.map +1 -0
  121. package/dist/config/config-loader.d.ts +167 -0
  122. package/dist/config/config-loader.d.ts.map +1 -0
  123. package/dist/config/config-loader.js +294 -0
  124. package/dist/config/config-loader.js.map +1 -0
  125. package/dist/config/defaults.d.ts +92 -0
  126. package/dist/config/defaults.d.ts.map +1 -0
  127. package/dist/config/defaults.js +103 -0
  128. package/dist/config/defaults.js.map +1 -0
  129. package/dist/config/define-config.d.ts +37 -0
  130. package/dist/config/define-config.d.ts.map +1 -0
  131. package/dist/config/define-config.js +38 -0
  132. package/dist/config/define-config.js.map +1 -0
  133. package/dist/config/factory.d.ts +79 -0
  134. package/dist/config/factory.d.ts.map +1 -0
  135. package/dist/config/factory.js +116 -0
  136. package/dist/config/factory.js.map +1 -0
  137. package/dist/config/index.d.ts +45 -0
  138. package/dist/config/index.d.ts.map +1 -0
  139. package/dist/config/index.js +48 -0
  140. package/dist/config/index.js.map +1 -0
  141. package/dist/config/merge-sources.d.ts +47 -0
  142. package/dist/config/merge-sources.d.ts.map +1 -0
  143. package/dist/config/merge-sources.js +61 -0
  144. package/dist/config/merge-sources.js.map +1 -0
  145. package/dist/config/presets.d.ts +115 -0
  146. package/dist/config/presets.d.ts.map +1 -0
  147. package/dist/config/presets.js +119 -0
  148. package/dist/config/presets.js.map +1 -0
  149. package/dist/config/project-config-schema.d.ts +192 -0
  150. package/dist/config/project-config-schema.d.ts.map +1 -0
  151. package/dist/config/project-config-schema.js +231 -0
  152. package/dist/config/project-config-schema.js.map +1 -0
  153. package/dist/config/project-config.d.ts +229 -0
  154. package/dist/config/project-config.d.ts.map +1 -0
  155. package/dist/config/project-config.js +37 -0
  156. package/dist/config/project-config.js.map +1 -0
  157. package/dist/config/regex-builders.d.ts +49 -0
  158. package/dist/config/regex-builders.d.ts.map +1 -0
  159. package/dist/config/regex-builders.js +85 -0
  160. package/dist/config/regex-builders.js.map +1 -0
  161. package/dist/config/resolve-config.d.ts +65 -0
  162. package/dist/config/resolve-config.d.ts.map +1 -0
  163. package/dist/config/resolve-config.js +150 -0
  164. package/dist/config/resolve-config.js.map +1 -0
  165. package/dist/config/types.d.ts +81 -0
  166. package/dist/config/types.d.ts.map +1 -0
  167. package/dist/config/types.js +22 -0
  168. package/dist/config/types.js.map +1 -0
  169. package/dist/config/workflow-loader.d.ts +90 -0
  170. package/dist/config/workflow-loader.d.ts.map +1 -0
  171. package/dist/config/workflow-loader.js +167 -0
  172. package/dist/config/workflow-loader.js.map +1 -0
  173. package/dist/extractor/doc-extractor.d.ts +233 -0
  174. package/dist/extractor/doc-extractor.d.ts.map +1 -0
  175. package/dist/extractor/doc-extractor.js +481 -0
  176. package/dist/extractor/doc-extractor.js.map +1 -0
  177. package/dist/extractor/dual-source-extractor.d.ts +161 -0
  178. package/dist/extractor/dual-source-extractor.d.ts.map +1 -0
  179. package/dist/extractor/dual-source-extractor.js +407 -0
  180. package/dist/extractor/dual-source-extractor.js.map +1 -0
  181. package/dist/extractor/gherkin-extractor.d.ts +170 -0
  182. package/dist/extractor/gherkin-extractor.d.ts.map +1 -0
  183. package/dist/extractor/gherkin-extractor.js +543 -0
  184. package/dist/extractor/gherkin-extractor.js.map +1 -0
  185. package/dist/extractor/index.d.ts +7 -0
  186. package/dist/extractor/index.d.ts.map +1 -0
  187. package/dist/extractor/index.js +11 -0
  188. package/dist/extractor/index.js.map +1 -0
  189. package/dist/extractor/layer-inference.d.ts +66 -0
  190. package/dist/extractor/layer-inference.d.ts.map +1 -0
  191. package/dist/extractor/layer-inference.js +93 -0
  192. package/dist/extractor/layer-inference.js.map +1 -0
  193. package/dist/extractor/shape-extractor.d.ts +79 -0
  194. package/dist/extractor/shape-extractor.d.ts.map +1 -0
  195. package/dist/extractor/shape-extractor.js +966 -0
  196. package/dist/extractor/shape-extractor.js.map +1 -0
  197. package/dist/generators/built-in/cli-recipe-generator.d.ts +30 -0
  198. package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -0
  199. package/dist/generators/built-in/cli-recipe-generator.js +155 -0
  200. package/dist/generators/built-in/cli-recipe-generator.js.map +1 -0
  201. package/dist/generators/built-in/codec-generators.d.ts +29 -0
  202. package/dist/generators/built-in/codec-generators.d.ts.map +1 -0
  203. package/dist/generators/built-in/codec-generators.js +195 -0
  204. package/dist/generators/built-in/codec-generators.js.map +1 -0
  205. package/dist/generators/built-in/decision-doc-generator.d.ts +204 -0
  206. package/dist/generators/built-in/decision-doc-generator.d.ts.map +1 -0
  207. package/dist/generators/built-in/decision-doc-generator.js +654 -0
  208. package/dist/generators/built-in/decision-doc-generator.js.map +1 -0
  209. package/dist/generators/built-in/design-review-generator.d.ts +26 -0
  210. package/dist/generators/built-in/design-review-generator.d.ts.map +1 -0
  211. package/dist/generators/built-in/design-review-generator.js +94 -0
  212. package/dist/generators/built-in/design-review-generator.js.map +1 -0
  213. package/dist/generators/built-in/index.d.ts +22 -0
  214. package/dist/generators/built-in/index.d.ts.map +1 -0
  215. package/dist/generators/built-in/index.js +23 -0
  216. package/dist/generators/built-in/index.js.map +1 -0
  217. package/dist/generators/built-in/process-api-reference-generator.d.ts +18 -0
  218. package/dist/generators/built-in/process-api-reference-generator.d.ts.map +1 -0
  219. package/dist/generators/built-in/process-api-reference-generator.js +85 -0
  220. package/dist/generators/built-in/process-api-reference-generator.js.map +1 -0
  221. package/dist/generators/built-in/reference-generators.d.ts +51 -0
  222. package/dist/generators/built-in/reference-generators.d.ts.map +1 -0
  223. package/dist/generators/built-in/reference-generators.js +320 -0
  224. package/dist/generators/built-in/reference-generators.js.map +1 -0
  225. package/dist/generators/codec-based.d.ts +63 -0
  226. package/dist/generators/codec-based.d.ts.map +1 -0
  227. package/dist/generators/codec-based.js +88 -0
  228. package/dist/generators/codec-based.js.map +1 -0
  229. package/dist/generators/content-deduplicator.d.ts +114 -0
  230. package/dist/generators/content-deduplicator.d.ts.map +1 -0
  231. package/dist/generators/content-deduplicator.js +356 -0
  232. package/dist/generators/content-deduplicator.js.map +1 -0
  233. package/dist/generators/index.d.ts +50 -0
  234. package/dist/generators/index.d.ts.map +1 -0
  235. package/dist/generators/index.js +54 -0
  236. package/dist/generators/index.js.map +1 -0
  237. package/dist/generators/orchestrator.d.ts +265 -0
  238. package/dist/generators/orchestrator.d.ts.map +1 -0
  239. package/dist/generators/orchestrator.js +570 -0
  240. package/dist/generators/orchestrator.js.map +1 -0
  241. package/dist/generators/pipeline/build-pipeline.d.ts +131 -0
  242. package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -0
  243. package/dist/generators/pipeline/build-pipeline.js +248 -0
  244. package/dist/generators/pipeline/build-pipeline.js.map +1 -0
  245. package/dist/generators/pipeline/context-inference.d.ts +55 -0
  246. package/dist/generators/pipeline/context-inference.d.ts.map +1 -0
  247. package/dist/generators/pipeline/context-inference.js +76 -0
  248. package/dist/generators/pipeline/context-inference.js.map +1 -0
  249. package/dist/generators/pipeline/index.d.ts +27 -0
  250. package/dist/generators/pipeline/index.d.ts.map +1 -0
  251. package/dist/generators/pipeline/index.js +34 -0
  252. package/dist/generators/pipeline/index.js.map +1 -0
  253. package/dist/generators/pipeline/merge-patterns.d.ts +33 -0
  254. package/dist/generators/pipeline/merge-patterns.d.ts.map +1 -0
  255. package/dist/generators/pipeline/merge-patterns.js +50 -0
  256. package/dist/generators/pipeline/merge-patterns.js.map +1 -0
  257. package/dist/generators/pipeline/relationship-resolver.d.ts +47 -0
  258. package/dist/generators/pipeline/relationship-resolver.d.ts.map +1 -0
  259. package/dist/generators/pipeline/relationship-resolver.js +132 -0
  260. package/dist/generators/pipeline/relationship-resolver.js.map +1 -0
  261. package/dist/generators/pipeline/sequence-utils.d.ts +49 -0
  262. package/dist/generators/pipeline/sequence-utils.d.ts.map +1 -0
  263. package/dist/generators/pipeline/sequence-utils.js +235 -0
  264. package/dist/generators/pipeline/sequence-utils.js.map +1 -0
  265. package/dist/generators/pipeline/transform-dataset.d.ts +82 -0
  266. package/dist/generators/pipeline/transform-dataset.d.ts.map +1 -0
  267. package/dist/generators/pipeline/transform-dataset.js +355 -0
  268. package/dist/generators/pipeline/transform-dataset.js.map +1 -0
  269. package/dist/generators/pipeline/transform-types.d.ts +96 -0
  270. package/dist/generators/pipeline/transform-types.d.ts.map +1 -0
  271. package/dist/generators/pipeline/transform-types.js +18 -0
  272. package/dist/generators/pipeline/transform-types.js.map +1 -0
  273. package/dist/generators/registry.d.ts +64 -0
  274. package/dist/generators/registry.d.ts.map +1 -0
  275. package/dist/generators/registry.js +77 -0
  276. package/dist/generators/registry.js.map +1 -0
  277. package/dist/generators/source-mapper.d.ts +143 -0
  278. package/dist/generators/source-mapper.d.ts.map +1 -0
  279. package/dist/generators/source-mapper.js +602 -0
  280. package/dist/generators/source-mapper.js.map +1 -0
  281. package/dist/generators/source-mapping-validator.d.ts +118 -0
  282. package/dist/generators/source-mapping-validator.d.ts.map +1 -0
  283. package/dist/generators/source-mapping-validator.js +334 -0
  284. package/dist/generators/source-mapping-validator.js.map +1 -0
  285. package/dist/generators/types.d.ts +104 -0
  286. package/dist/generators/types.d.ts.map +1 -0
  287. package/dist/generators/types.js +5 -0
  288. package/dist/generators/types.js.map +1 -0
  289. package/dist/generators/warning-collector.d.ts +144 -0
  290. package/dist/generators/warning-collector.d.ts.map +1 -0
  291. package/dist/generators/warning-collector.js +166 -0
  292. package/dist/generators/warning-collector.js.map +1 -0
  293. package/dist/git/branch-diff.d.ts +44 -0
  294. package/dist/git/branch-diff.d.ts.map +1 -0
  295. package/dist/git/branch-diff.js +57 -0
  296. package/dist/git/branch-diff.js.map +1 -0
  297. package/dist/git/helpers.d.ts +46 -0
  298. package/dist/git/helpers.d.ts.map +1 -0
  299. package/dist/git/helpers.js +67 -0
  300. package/dist/git/helpers.js.map +1 -0
  301. package/dist/git/index.d.ts +18 -0
  302. package/dist/git/index.d.ts.map +1 -0
  303. package/dist/git/index.js +18 -0
  304. package/dist/git/index.js.map +1 -0
  305. package/dist/git/name-status.d.ts +32 -0
  306. package/dist/git/name-status.d.ts.map +1 -0
  307. package/dist/git/name-status.js +66 -0
  308. package/dist/git/name-status.js.map +1 -0
  309. package/dist/index.d.ts +107 -0
  310. package/dist/index.d.ts.map +1 -0
  311. package/dist/index.js +122 -0
  312. package/dist/index.js.map +1 -0
  313. package/dist/lint/engine.d.ts +113 -0
  314. package/dist/lint/engine.d.ts.map +1 -0
  315. package/dist/lint/engine.js +228 -0
  316. package/dist/lint/engine.js.map +1 -0
  317. package/dist/lint/index.d.ts +26 -0
  318. package/dist/lint/index.d.ts.map +1 -0
  319. package/dist/lint/index.js +24 -0
  320. package/dist/lint/index.js.map +1 -0
  321. package/dist/lint/process-guard/decider.d.ts +166 -0
  322. package/dist/lint/process-guard/decider.d.ts.map +1 -0
  323. package/dist/lint/process-guard/decider.js +412 -0
  324. package/dist/lint/process-guard/decider.js.map +1 -0
  325. package/dist/lint/process-guard/derive-state.d.ts +96 -0
  326. package/dist/lint/process-guard/derive-state.d.ts.map +1 -0
  327. package/dist/lint/process-guard/derive-state.js +368 -0
  328. package/dist/lint/process-guard/derive-state.js.map +1 -0
  329. package/dist/lint/process-guard/detect-changes.d.ts +109 -0
  330. package/dist/lint/process-guard/detect-changes.d.ts.map +1 -0
  331. package/dist/lint/process-guard/detect-changes.js +487 -0
  332. package/dist/lint/process-guard/detect-changes.js.map +1 -0
  333. package/dist/lint/process-guard/index.d.ts +35 -0
  334. package/dist/lint/process-guard/index.d.ts.map +1 -0
  335. package/dist/lint/process-guard/index.js +39 -0
  336. package/dist/lint/process-guard/index.js.map +1 -0
  337. package/dist/lint/process-guard/types.d.ts +255 -0
  338. package/dist/lint/process-guard/types.d.ts.map +1 -0
  339. package/dist/lint/process-guard/types.js +31 -0
  340. package/dist/lint/process-guard/types.js.map +1 -0
  341. package/dist/lint/rules.d.ts +147 -0
  342. package/dist/lint/rules.d.ts.map +1 -0
  343. package/dist/lint/rules.js +289 -0
  344. package/dist/lint/rules.js.map +1 -0
  345. package/dist/lint/steps/cross-checks.d.ts +66 -0
  346. package/dist/lint/steps/cross-checks.d.ts.map +1 -0
  347. package/dist/lint/steps/cross-checks.js +290 -0
  348. package/dist/lint/steps/cross-checks.js.map +1 -0
  349. package/dist/lint/steps/feature-checks.d.ts +78 -0
  350. package/dist/lint/steps/feature-checks.d.ts.map +1 -0
  351. package/dist/lint/steps/feature-checks.js +279 -0
  352. package/dist/lint/steps/feature-checks.js.map +1 -0
  353. package/dist/lint/steps/index.d.ts +22 -0
  354. package/dist/lint/steps/index.d.ts.map +1 -0
  355. package/dist/lint/steps/index.js +26 -0
  356. package/dist/lint/steps/index.js.map +1 -0
  357. package/dist/lint/steps/pair-resolver.d.ts +29 -0
  358. package/dist/lint/steps/pair-resolver.d.ts.map +1 -0
  359. package/dist/lint/steps/pair-resolver.js +76 -0
  360. package/dist/lint/steps/pair-resolver.js.map +1 -0
  361. package/dist/lint/steps/runner.d.ts +28 -0
  362. package/dist/lint/steps/runner.d.ts.map +1 -0
  363. package/dist/lint/steps/runner.js +143 -0
  364. package/dist/lint/steps/runner.js.map +1 -0
  365. package/dist/lint/steps/step-checks.d.ts +41 -0
  366. package/dist/lint/steps/step-checks.d.ts.map +1 -0
  367. package/dist/lint/steps/step-checks.js +164 -0
  368. package/dist/lint/steps/step-checks.js.map +1 -0
  369. package/dist/lint/steps/types.d.ts +95 -0
  370. package/dist/lint/steps/types.d.ts.map +1 -0
  371. package/dist/lint/steps/types.js +79 -0
  372. package/dist/lint/steps/types.js.map +1 -0
  373. package/dist/lint/steps/utils.d.ts +22 -0
  374. package/dist/lint/steps/utils.d.ts.map +1 -0
  375. package/dist/lint/steps/utils.js +57 -0
  376. package/dist/lint/steps/utils.js.map +1 -0
  377. package/dist/mcp/file-watcher.d.ts +24 -0
  378. package/dist/mcp/file-watcher.d.ts.map +1 -0
  379. package/dist/mcp/file-watcher.js +75 -0
  380. package/dist/mcp/file-watcher.js.map +1 -0
  381. package/dist/mcp/index.d.ts +19 -0
  382. package/dist/mcp/index.d.ts.map +1 -0
  383. package/dist/mcp/index.js +21 -0
  384. package/dist/mcp/index.js.map +1 -0
  385. package/dist/mcp/pipeline-session.d.ts +33 -0
  386. package/dist/mcp/pipeline-session.d.ts.map +1 -0
  387. package/dist/mcp/pipeline-session.js +149 -0
  388. package/dist/mcp/pipeline-session.js.map +1 -0
  389. package/dist/mcp/server.d.ts +28 -0
  390. package/dist/mcp/server.d.ts.map +1 -0
  391. package/dist/mcp/server.js +197 -0
  392. package/dist/mcp/server.js.map +1 -0
  393. package/dist/mcp/tool-registry.d.ts +4 -0
  394. package/dist/mcp/tool-registry.d.ts.map +1 -0
  395. package/dist/mcp/tool-registry.js +525 -0
  396. package/dist/mcp/tool-registry.js.map +1 -0
  397. package/dist/renderable/codecs/adr.d.ts +4730 -0
  398. package/dist/renderable/codecs/adr.d.ts.map +1 -0
  399. package/dist/renderable/codecs/adr.js +590 -0
  400. package/dist/renderable/codecs/adr.js.map +1 -0
  401. package/dist/renderable/codecs/architecture.d.ts +4760 -0
  402. package/dist/renderable/codecs/architecture.d.ts.map +1 -0
  403. package/dist/renderable/codecs/architecture.js +524 -0
  404. package/dist/renderable/codecs/architecture.js.map +1 -0
  405. package/dist/renderable/codecs/business-rules.d.ts +4777 -0
  406. package/dist/renderable/codecs/business-rules.d.ts.map +1 -0
  407. package/dist/renderable/codecs/business-rules.js +648 -0
  408. package/dist/renderable/codecs/business-rules.js.map +1 -0
  409. package/dist/renderable/codecs/claude-module.d.ts +4710 -0
  410. package/dist/renderable/codecs/claude-module.d.ts.map +1 -0
  411. package/dist/renderable/codecs/claude-module.js +214 -0
  412. package/dist/renderable/codecs/claude-module.js.map +1 -0
  413. package/dist/renderable/codecs/composite.d.ts +84 -0
  414. package/dist/renderable/codecs/composite.d.ts.map +1 -0
  415. package/dist/renderable/codecs/composite.js +124 -0
  416. package/dist/renderable/codecs/composite.js.map +1 -0
  417. package/dist/renderable/codecs/convention-extractor.d.ts +105 -0
  418. package/dist/renderable/codecs/convention-extractor.d.ts.map +1 -0
  419. package/dist/renderable/codecs/convention-extractor.js +353 -0
  420. package/dist/renderable/codecs/convention-extractor.js.map +1 -0
  421. package/dist/renderable/codecs/decision-doc.d.ts +308 -0
  422. package/dist/renderable/codecs/decision-doc.d.ts.map +1 -0
  423. package/dist/renderable/codecs/decision-doc.js +485 -0
  424. package/dist/renderable/codecs/decision-doc.js.map +1 -0
  425. package/dist/renderable/codecs/design-review.d.ts +55 -0
  426. package/dist/renderable/codecs/design-review.d.ts.map +1 -0
  427. package/dist/renderable/codecs/design-review.js +532 -0
  428. package/dist/renderable/codecs/design-review.js.map +1 -0
  429. package/dist/renderable/codecs/diagram-utils.d.ts +62 -0
  430. package/dist/renderable/codecs/diagram-utils.d.ts.map +1 -0
  431. package/dist/renderable/codecs/diagram-utils.js +70 -0
  432. package/dist/renderable/codecs/diagram-utils.js.map +1 -0
  433. package/dist/renderable/codecs/helpers.d.ts +553 -0
  434. package/dist/renderable/codecs/helpers.d.ts.map +1 -0
  435. package/dist/renderable/codecs/helpers.js +913 -0
  436. package/dist/renderable/codecs/helpers.js.map +1 -0
  437. package/dist/renderable/codecs/index-codec.d.ts +4714 -0
  438. package/dist/renderable/codecs/index-codec.d.ts.map +1 -0
  439. package/dist/renderable/codecs/index-codec.js +250 -0
  440. package/dist/renderable/codecs/index-codec.js.map +1 -0
  441. package/dist/renderable/codecs/index.d.ts +46 -0
  442. package/dist/renderable/codecs/index.d.ts.map +1 -0
  443. package/dist/renderable/codecs/index.js +70 -0
  444. package/dist/renderable/codecs/index.js.map +1 -0
  445. package/dist/renderable/codecs/patterns.d.ts +4757 -0
  446. package/dist/renderable/codecs/patterns.d.ts.map +1 -0
  447. package/dist/renderable/codecs/patterns.js +462 -0
  448. package/dist/renderable/codecs/patterns.js.map +1 -0
  449. package/dist/renderable/codecs/planning.d.ts +14055 -0
  450. package/dist/renderable/codecs/planning.d.ts.map +1 -0
  451. package/dist/renderable/codecs/planning.js +449 -0
  452. package/dist/renderable/codecs/planning.js.map +1 -0
  453. package/dist/renderable/codecs/pr-changes.d.ts +4742 -0
  454. package/dist/renderable/codecs/pr-changes.d.ts.map +1 -0
  455. package/dist/renderable/codecs/pr-changes.js +425 -0
  456. package/dist/renderable/codecs/pr-changes.js.map +1 -0
  457. package/dist/renderable/codecs/reference.d.ts +215 -0
  458. package/dist/renderable/codecs/reference.d.ts.map +1 -0
  459. package/dist/renderable/codecs/reference.js +1578 -0
  460. package/dist/renderable/codecs/reference.js.map +1 -0
  461. package/dist/renderable/codecs/reporting.d.ts +14026 -0
  462. package/dist/renderable/codecs/reporting.d.ts.map +1 -0
  463. package/dist/renderable/codecs/reporting.js +365 -0
  464. package/dist/renderable/codecs/reporting.js.map +1 -0
  465. package/dist/renderable/codecs/requirements.d.ts +4743 -0
  466. package/dist/renderable/codecs/requirements.d.ts.map +1 -0
  467. package/dist/renderable/codecs/requirements.js +428 -0
  468. package/dist/renderable/codecs/requirements.js.map +1 -0
  469. package/dist/renderable/codecs/session.d.ts +9410 -0
  470. package/dist/renderable/codecs/session.d.ts.map +1 -0
  471. package/dist/renderable/codecs/session.js +848 -0
  472. package/dist/renderable/codecs/session.js.map +1 -0
  473. package/dist/renderable/codecs/shape-matcher.d.ts +54 -0
  474. package/dist/renderable/codecs/shape-matcher.d.ts.map +1 -0
  475. package/dist/renderable/codecs/shape-matcher.js +106 -0
  476. package/dist/renderable/codecs/shape-matcher.js.map +1 -0
  477. package/dist/renderable/codecs/shared-schema.d.ts +44 -0
  478. package/dist/renderable/codecs/shared-schema.d.ts.map +1 -0
  479. package/dist/renderable/codecs/shared-schema.js +43 -0
  480. package/dist/renderable/codecs/shared-schema.js.map +1 -0
  481. package/dist/renderable/codecs/taxonomy.d.ts +4733 -0
  482. package/dist/renderable/codecs/taxonomy.d.ts.map +1 -0
  483. package/dist/renderable/codecs/taxonomy.js +570 -0
  484. package/dist/renderable/codecs/taxonomy.js.map +1 -0
  485. package/dist/renderable/codecs/timeline.d.ts +14094 -0
  486. package/dist/renderable/codecs/timeline.d.ts.map +1 -0
  487. package/dist/renderable/codecs/timeline.js +906 -0
  488. package/dist/renderable/codecs/timeline.js.map +1 -0
  489. package/dist/renderable/codecs/types/base.d.ts +81 -0
  490. package/dist/renderable/codecs/types/base.d.ts.map +1 -0
  491. package/dist/renderable/codecs/types/base.js +56 -0
  492. package/dist/renderable/codecs/types/base.js.map +1 -0
  493. package/dist/renderable/codecs/types/index.d.ts +5 -0
  494. package/dist/renderable/codecs/types/index.d.ts.map +1 -0
  495. package/dist/renderable/codecs/types/index.js +5 -0
  496. package/dist/renderable/codecs/types/index.js.map +1 -0
  497. package/dist/renderable/codecs/validation-rules.d.ts +4773 -0
  498. package/dist/renderable/codecs/validation-rules.d.ts.map +1 -0
  499. package/dist/renderable/codecs/validation-rules.js +537 -0
  500. package/dist/renderable/codecs/validation-rules.js.map +1 -0
  501. package/dist/renderable/generate.d.ts +338 -0
  502. package/dist/renderable/generate.d.ts.map +1 -0
  503. package/dist/renderable/generate.js +437 -0
  504. package/dist/renderable/generate.js.map +1 -0
  505. package/dist/renderable/index.d.ts +36 -0
  506. package/dist/renderable/index.d.ts.map +1 -0
  507. package/dist/renderable/index.js +58 -0
  508. package/dist/renderable/index.js.map +1 -0
  509. package/dist/renderable/load-preamble.d.ts +56 -0
  510. package/dist/renderable/load-preamble.d.ts.map +1 -0
  511. package/dist/renderable/load-preamble.js +298 -0
  512. package/dist/renderable/load-preamble.js.map +1 -0
  513. package/dist/renderable/render.d.ts +61 -0
  514. package/dist/renderable/render.d.ts.map +1 -0
  515. package/dist/renderable/render.js +346 -0
  516. package/dist/renderable/render.js.map +1 -0
  517. package/dist/renderable/schema.d.ts +194 -0
  518. package/dist/renderable/schema.d.ts.map +1 -0
  519. package/dist/renderable/schema.js +197 -0
  520. package/dist/renderable/schema.js.map +1 -0
  521. package/dist/renderable/utils.d.ts +146 -0
  522. package/dist/renderable/utils.d.ts.map +1 -0
  523. package/dist/renderable/utils.js +362 -0
  524. package/dist/renderable/utils.js.map +1 -0
  525. package/dist/scanner/ast-parser.d.ts +75 -0
  526. package/dist/scanner/ast-parser.d.ts.map +1 -0
  527. package/dist/scanner/ast-parser.js +835 -0
  528. package/dist/scanner/ast-parser.js.map +1 -0
  529. package/dist/scanner/gherkin-ast-parser.d.ts +166 -0
  530. package/dist/scanner/gherkin-ast-parser.d.ts.map +1 -0
  531. package/dist/scanner/gherkin-ast-parser.js +507 -0
  532. package/dist/scanner/gherkin-ast-parser.js.map +1 -0
  533. package/dist/scanner/gherkin-scanner.d.ts +106 -0
  534. package/dist/scanner/gherkin-scanner.d.ts.map +1 -0
  535. package/dist/scanner/gherkin-scanner.js +149 -0
  536. package/dist/scanner/gherkin-scanner.js.map +1 -0
  537. package/dist/scanner/index.d.ts +85 -0
  538. package/dist/scanner/index.d.ts.map +1 -0
  539. package/dist/scanner/index.js +102 -0
  540. package/dist/scanner/index.js.map +1 -0
  541. package/dist/scanner/pattern-scanner.d.ts +83 -0
  542. package/dist/scanner/pattern-scanner.d.ts.map +1 -0
  543. package/dist/scanner/pattern-scanner.js +110 -0
  544. package/dist/scanner/pattern-scanner.js.map +1 -0
  545. package/dist/taxonomy/categories.d.ts +47 -0
  546. package/dist/taxonomy/categories.d.ts.map +1 -0
  547. package/dist/taxonomy/categories.js +175 -0
  548. package/dist/taxonomy/categories.js.map +1 -0
  549. package/dist/taxonomy/claude-section-values.d.ts +12 -0
  550. package/dist/taxonomy/claude-section-values.d.ts.map +1 -0
  551. package/dist/taxonomy/claude-section-values.js +17 -0
  552. package/dist/taxonomy/claude-section-values.js.map +1 -0
  553. package/dist/taxonomy/conventions.d.ts +13 -0
  554. package/dist/taxonomy/conventions.d.ts.map +1 -0
  555. package/dist/taxonomy/conventions.js +27 -0
  556. package/dist/taxonomy/conventions.js.map +1 -0
  557. package/dist/taxonomy/deliverable-status.d.ts +99 -0
  558. package/dist/taxonomy/deliverable-status.d.ts.map +1 -0
  559. package/dist/taxonomy/deliverable-status.js +131 -0
  560. package/dist/taxonomy/deliverable-status.js.map +1 -0
  561. package/dist/taxonomy/format-types.d.ts +17 -0
  562. package/dist/taxonomy/format-types.d.ts.map +1 -0
  563. package/dist/taxonomy/format-types.js +23 -0
  564. package/dist/taxonomy/format-types.js.map +1 -0
  565. package/dist/taxonomy/generator-options.d.ts +67 -0
  566. package/dist/taxonomy/generator-options.d.ts.map +1 -0
  567. package/dist/taxonomy/generator-options.js +75 -0
  568. package/dist/taxonomy/generator-options.js.map +1 -0
  569. package/dist/taxonomy/hierarchy-levels.d.ts +23 -0
  570. package/dist/taxonomy/hierarchy-levels.d.ts.map +1 -0
  571. package/dist/taxonomy/hierarchy-levels.js +22 -0
  572. package/dist/taxonomy/hierarchy-levels.js.map +1 -0
  573. package/dist/taxonomy/index.d.ts +35 -0
  574. package/dist/taxonomy/index.d.ts.map +1 -0
  575. package/dist/taxonomy/index.js +56 -0
  576. package/dist/taxonomy/index.js.map +1 -0
  577. package/dist/taxonomy/layer-types.d.ts +22 -0
  578. package/dist/taxonomy/layer-types.d.ts.map +1 -0
  579. package/dist/taxonomy/layer-types.js +28 -0
  580. package/dist/taxonomy/layer-types.js.map +1 -0
  581. package/dist/taxonomy/normalized-status.d.ts +99 -0
  582. package/dist/taxonomy/normalized-status.d.ts.map +1 -0
  583. package/dist/taxonomy/normalized-status.js +113 -0
  584. package/dist/taxonomy/normalized-status.js.map +1 -0
  585. package/dist/taxonomy/registry-builder.d.ts +104 -0
  586. package/dist/taxonomy/registry-builder.d.ts.map +1 -0
  587. package/dist/taxonomy/registry-builder.js +561 -0
  588. package/dist/taxonomy/registry-builder.js.map +1 -0
  589. package/dist/taxonomy/risk-levels.d.ts +16 -0
  590. package/dist/taxonomy/risk-levels.d.ts.map +1 -0
  591. package/dist/taxonomy/risk-levels.js +15 -0
  592. package/dist/taxonomy/risk-levels.js.map +1 -0
  593. package/dist/taxonomy/severity-types.d.ts +6 -0
  594. package/dist/taxonomy/severity-types.d.ts.map +1 -0
  595. package/dist/taxonomy/severity-types.js +5 -0
  596. package/dist/taxonomy/severity-types.js.map +1 -0
  597. package/dist/taxonomy/status-values.d.ts +39 -0
  598. package/dist/taxonomy/status-values.d.ts.map +1 -0
  599. package/dist/taxonomy/status-values.js +42 -0
  600. package/dist/taxonomy/status-values.js.map +1 -0
  601. package/dist/types/branded.d.ts +89 -0
  602. package/dist/types/branded.d.ts.map +1 -0
  603. package/dist/types/branded.js +57 -0
  604. package/dist/types/branded.js.map +1 -0
  605. package/dist/types/errors.d.ts +342 -0
  606. package/dist/types/errors.d.ts.map +1 -0
  607. package/dist/types/errors.js +251 -0
  608. package/dist/types/errors.js.map +1 -0
  609. package/dist/types/index.d.ts +41 -0
  610. package/dist/types/index.d.ts.map +1 -0
  611. package/dist/types/index.js +5 -0
  612. package/dist/types/index.js.map +1 -0
  613. package/dist/types/result.d.ts +78 -0
  614. package/dist/types/result.d.ts.map +1 -0
  615. package/dist/types/result.js +78 -0
  616. package/dist/types/result.js.map +1 -0
  617. package/dist/utils/collection-utils.d.ts +49 -0
  618. package/dist/utils/collection-utils.d.ts.map +1 -0
  619. package/dist/utils/collection-utils.js +58 -0
  620. package/dist/utils/collection-utils.js.map +1 -0
  621. package/dist/utils/id-utils.d.ts +46 -0
  622. package/dist/utils/id-utils.d.ts.map +1 -0
  623. package/dist/utils/id-utils.js +51 -0
  624. package/dist/utils/id-utils.js.map +1 -0
  625. package/dist/utils/index.d.ts +21 -0
  626. package/dist/utils/index.d.ts.map +1 -0
  627. package/dist/utils/index.js +21 -0
  628. package/dist/utils/index.js.map +1 -0
  629. package/dist/utils/string-utils.d.ts +150 -0
  630. package/dist/utils/string-utils.d.ts.map +1 -0
  631. package/dist/utils/string-utils.js +281 -0
  632. package/dist/utils/string-utils.js.map +1 -0
  633. package/dist/validation/anti-patterns.d.ts +134 -0
  634. package/dist/validation/anti-patterns.d.ts.map +1 -0
  635. package/dist/validation/anti-patterns.js +307 -0
  636. package/dist/validation/anti-patterns.js.map +1 -0
  637. package/dist/validation/dod-validator.d.ts +94 -0
  638. package/dist/validation/dod-validator.d.ts.map +1 -0
  639. package/dist/validation/dod-validator.js +198 -0
  640. package/dist/validation/dod-validator.js.map +1 -0
  641. package/dist/validation/fsm/index.d.ts +59 -0
  642. package/dist/validation/fsm/index.d.ts.map +1 -0
  643. package/dist/validation/fsm/index.js +64 -0
  644. package/dist/validation/fsm/index.js.map +1 -0
  645. package/dist/validation/fsm/states.d.ts +93 -0
  646. package/dist/validation/fsm/states.d.ts.map +1 -0
  647. package/dist/validation/fsm/states.js +98 -0
  648. package/dist/validation/fsm/states.js.map +1 -0
  649. package/dist/validation/fsm/transitions.d.ts +100 -0
  650. package/dist/validation/fsm/transitions.d.ts.map +1 -0
  651. package/dist/validation/fsm/transitions.js +122 -0
  652. package/dist/validation/fsm/transitions.js.map +1 -0
  653. package/dist/validation/fsm/validator.d.ts +163 -0
  654. package/dist/validation/fsm/validator.d.ts.map +1 -0
  655. package/dist/validation/fsm/validator.js +205 -0
  656. package/dist/validation/fsm/validator.js.map +1 -0
  657. package/dist/validation/index.d.ts +23 -0
  658. package/dist/validation/index.d.ts.map +1 -0
  659. package/dist/validation/index.js +25 -0
  660. package/dist/validation/index.js.map +1 -0
  661. package/dist/validation/types.d.ts +136 -0
  662. package/dist/validation/types.d.ts.map +1 -0
  663. package/dist/validation/types.js +56 -0
  664. package/dist/validation/types.js.map +1 -0
  665. package/dist/validation-schemas/codec-utils.d.ts +188 -0
  666. package/dist/validation-schemas/codec-utils.d.ts.map +1 -0
  667. package/dist/validation-schemas/codec-utils.js +258 -0
  668. package/dist/validation-schemas/codec-utils.js.map +1 -0
  669. package/dist/validation-schemas/config.d.ts +99 -0
  670. package/dist/validation-schemas/config.d.ts.map +1 -0
  671. package/dist/validation-schemas/config.js +178 -0
  672. package/dist/validation-schemas/config.js.map +1 -0
  673. package/dist/validation-schemas/doc-directive.d.ts +195 -0
  674. package/dist/validation-schemas/doc-directive.d.ts.map +1 -0
  675. package/dist/validation-schemas/doc-directive.js +239 -0
  676. package/dist/validation-schemas/doc-directive.js.map +1 -0
  677. package/dist/validation-schemas/dual-source.d.ts +167 -0
  678. package/dist/validation-schemas/dual-source.d.ts.map +1 -0
  679. package/dist/validation-schemas/dual-source.js +168 -0
  680. package/dist/validation-schemas/dual-source.js.map +1 -0
  681. package/dist/validation-schemas/export-info.d.ts +53 -0
  682. package/dist/validation-schemas/export-info.d.ts.map +1 -0
  683. package/dist/validation-schemas/export-info.js +101 -0
  684. package/dist/validation-schemas/export-info.js.map +1 -0
  685. package/dist/validation-schemas/extracted-pattern.d.ts +351 -0
  686. package/dist/validation-schemas/extracted-pattern.d.ts.map +1 -0
  687. package/dist/validation-schemas/extracted-pattern.js +459 -0
  688. package/dist/validation-schemas/extracted-pattern.js.map +1 -0
  689. package/dist/validation-schemas/extracted-shape.d.ts +200 -0
  690. package/dist/validation-schemas/extracted-shape.d.ts.map +1 -0
  691. package/dist/validation-schemas/extracted-shape.js +182 -0
  692. package/dist/validation-schemas/extracted-shape.js.map +1 -0
  693. package/dist/validation-schemas/feature.d.ts +554 -0
  694. package/dist/validation-schemas/feature.d.ts.map +1 -0
  695. package/dist/validation-schemas/feature.js +262 -0
  696. package/dist/validation-schemas/feature.js.map +1 -0
  697. package/dist/validation-schemas/index.d.ts +15 -0
  698. package/dist/validation-schemas/index.d.ts.map +1 -0
  699. package/dist/validation-schemas/index.js +32 -0
  700. package/dist/validation-schemas/index.js.map +1 -0
  701. package/dist/validation-schemas/lint.d.ts +46 -0
  702. package/dist/validation-schemas/lint.d.ts.map +1 -0
  703. package/dist/validation-schemas/lint.js +45 -0
  704. package/dist/validation-schemas/lint.js.map +1 -0
  705. package/dist/validation-schemas/master-dataset.d.ts +8299 -0
  706. package/dist/validation-schemas/master-dataset.d.ts.map +1 -0
  707. package/dist/validation-schemas/master-dataset.js +275 -0
  708. package/dist/validation-schemas/master-dataset.js.map +1 -0
  709. package/dist/validation-schemas/output-schemas.d.ts +183 -0
  710. package/dist/validation-schemas/output-schemas.d.ts.map +1 -0
  711. package/dist/validation-schemas/output-schemas.js +149 -0
  712. package/dist/validation-schemas/output-schemas.js.map +1 -0
  713. package/dist/validation-schemas/scenario-ref.d.ts +80 -0
  714. package/dist/validation-schemas/scenario-ref.d.ts.map +1 -0
  715. package/dist/validation-schemas/scenario-ref.js +73 -0
  716. package/dist/validation-schemas/scenario-ref.js.map +1 -0
  717. package/dist/validation-schemas/tag-registry.d.ts +210 -0
  718. package/dist/validation-schemas/tag-registry.d.ts.map +1 -0
  719. package/dist/validation-schemas/tag-registry.js +248 -0
  720. package/dist/validation-schemas/tag-registry.js.map +1 -0
  721. package/dist/validation-schemas/workflow-config.d.ts +125 -0
  722. package/dist/validation-schemas/workflow-config.d.ts.map +1 -0
  723. package/dist/validation-schemas/workflow-config.js +138 -0
  724. package/dist/validation-schemas/workflow-config.js.map +1 -0
  725. package/docs/ANNOTATION-GUIDE.md +271 -0
  726. package/docs/ARCHITECTURE.md +1636 -0
  727. package/docs/CONFIGURATION.md +337 -0
  728. package/docs/DOCS-GAP-ANALYSIS.md +811 -0
  729. package/docs/GHERKIN-PATTERNS.md +366 -0
  730. package/docs/INDEX.md +345 -0
  731. package/docs/MCP-SETUP.md +140 -0
  732. package/docs/METHODOLOGY.md +240 -0
  733. package/docs/PROCESS-API.md +65 -0
  734. package/docs/PROCESS-GUARD.md +341 -0
  735. package/docs/SESSION-GUIDES.md +391 -0
  736. package/docs/TAXONOMY.md +106 -0
  737. package/docs/VALIDATION.md +418 -0
  738. package/docs-live/ARCHITECTURE.md +362 -0
  739. package/docs-live/BUSINESS-RULES.md +24 -0
  740. package/docs-live/CHANGELOG-GENERATED.md +375 -0
  741. package/docs-live/DECISIONS.md +78 -0
  742. package/docs-live/INDEX.md +231 -0
  743. package/docs-live/PRODUCT-AREAS.md +255 -0
  744. package/docs-live/TAXONOMY.md +202 -0
  745. package/docs-live/VALIDATION-RULES.md +119 -0
  746. package/docs-live/_claude-md/annotation/annotation-overview.md +26 -0
  747. package/docs-live/_claude-md/annotation/annotation-reference.md +213 -0
  748. package/docs-live/_claude-md/architecture/architecture-codecs.md +160 -0
  749. package/docs-live/_claude-md/architecture/architecture-types.md +32 -0
  750. package/docs-live/_claude-md/architecture/reference-sample.md +162 -0
  751. package/docs-live/_claude-md/authoring/gherkin-authoring-guide.md +245 -0
  752. package/docs-live/_claude-md/configuration/configuration-guide.md +216 -0
  753. package/docs-live/_claude-md/configuration/configuration-overview.md +37 -0
  754. package/docs-live/_claude-md/core-types/core-types-overview.md +20 -0
  755. package/docs-live/_claude-md/data-api/data-api-overview.md +39 -0
  756. package/docs-live/_claude-md/generation/generation-overview.md +30 -0
  757. package/docs-live/_claude-md/process/process-overview.md +127 -0
  758. package/docs-live/_claude-md/validation/process-guard.md +185 -0
  759. package/docs-live/_claude-md/validation/validation-overview.md +37 -0
  760. package/docs-live/_claude-md/validation/validation-tools-guide.md +242 -0
  761. package/docs-live/_claude-md/workflow/session-workflow-guide.md +141 -0
  762. package/docs-live/business-rules/annotation.md +1462 -0
  763. package/docs-live/business-rules/configuration.md +465 -0
  764. package/docs-live/business-rules/core-types.md +531 -0
  765. package/docs-live/business-rules/data-api.md +1403 -0
  766. package/docs-live/business-rules/generation.md +4726 -0
  767. package/docs-live/business-rules/process.md +122 -0
  768. package/docs-live/business-rules/validation.md +998 -0
  769. package/docs-live/decisions/adr-001-taxonomy-canonical-values.md +197 -0
  770. package/docs-live/decisions/adr-002-gherkin-only-testing.md +57 -0
  771. package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +147 -0
  772. package/docs-live/decisions/adr-004-session-workflow-commands.md +137 -0
  773. package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +150 -0
  774. package/docs-live/decisions/adr-006-single-read-model-architecture.md +136 -0
  775. package/docs-live/decisions/adr-021-doc-generation-proof-of-concept.md +489 -0
  776. package/docs-live/product-areas/ANNOTATION.md +591 -0
  777. package/docs-live/product-areas/CONFIGURATION.md +1048 -0
  778. package/docs-live/product-areas/CORE-TYPES.md +221 -0
  779. package/docs-live/product-areas/DATA-API.md +850 -0
  780. package/docs-live/product-areas/GENERATION.md +1200 -0
  781. package/docs-live/product-areas/PROCESS.md +351 -0
  782. package/docs-live/product-areas/VALIDATION.md +1135 -0
  783. package/docs-live/reference/ANNOTATION-REFERENCE.md +232 -0
  784. package/docs-live/reference/ARCHITECTURE-CODECS.md +675 -0
  785. package/docs-live/reference/ARCHITECTURE-TYPES.md +436 -0
  786. package/docs-live/reference/CONFIGURATION-GUIDE.md +235 -0
  787. package/docs-live/reference/GHERKIN-AUTHORING-GUIDE.md +270 -0
  788. package/docs-live/reference/PROCESS-API-RECIPES.md +476 -0
  789. package/docs-live/reference/PROCESS-API-REFERENCE.md +63 -0
  790. package/docs-live/reference/PROCESS-GUARD-REFERENCE.md +258 -0
  791. package/docs-live/reference/REFERENCE-SAMPLE.md +1135 -0
  792. package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +384 -0
  793. package/docs-live/reference/VALIDATION-TOOLS-GUIDE.md +263 -0
  794. package/docs-live/taxonomy/categories.md +33 -0
  795. package/docs-live/taxonomy/format-types.md +67 -0
  796. package/docs-live/taxonomy/metadata-tags.md +693 -0
  797. package/docs-live/validation/error-catalog.md +78 -0
  798. package/docs-live/validation/fsm-transitions.md +50 -0
  799. package/docs-live/validation/protection-levels.md +51 -0
  800. package/package.json +233 -0
@@ -0,0 +1,320 @@
1
+ /**
2
+ * @architect
3
+ * @architect-pattern ReferenceGeneratorRegistration
4
+ * @architect-status active
5
+ * @architect-implements CodecDrivenReferenceGeneration
6
+ *
7
+ * ## Reference Generator Registrations
8
+ *
9
+ * Registers all reference document generators. Each config produces
10
+ * TWO generators: detailed (docs/) and summary (_claude-md/).
11
+ *
12
+ * **When to Use:** When adding or modifying reference document generators — register new product-area or reference configs here.
13
+ */
14
+ import { heading, paragraph, separator, table, document } from '../../renderable/schema.js';
15
+ import { renderToMarkdown, renderToClaudeMdModule } from '../../renderable/render.js';
16
+ import { createReferenceCodec, PRODUCT_AREA_META, buildScopedDiagram, } from '../../renderable/codecs/reference.js';
17
+ import { slugify, toKebabCase } from '../../utils/string-utils.js';
18
+ import { computeStatusCounts } from '../../renderable/utils.js';
19
+ // ============================================================================
20
+ // Reference Document Configurations
21
+ // ============================================================================
22
+ // ============================================================================
23
+ // Product Area Configs (ADR-001)
24
+ // ============================================================================
25
+ /**
26
+ * Canonical product area values from ADR-001.
27
+ * Each generates a composite overview document scoped to that area.
28
+ */
29
+ export const PRODUCT_AREA_VALUES = [
30
+ 'Annotation',
31
+ 'Configuration',
32
+ 'Generation',
33
+ 'Validation',
34
+ 'DataAPI',
35
+ 'CoreTypes',
36
+ 'Process',
37
+ ];
38
+ /**
39
+ * Creates reference document configs for all canonical product areas.
40
+ *
41
+ * Each config uses `productArea` as the primary filter — the codec
42
+ * auto-derives all content sources from the filtered pattern set.
43
+ * Explicit `conventionTags`, `shapeSelectors`, and `behaviorCategories`
44
+ * are left empty because the product-area decode path ignores them.
45
+ *
46
+ * @param options - Optional customization for output filenames
47
+ */
48
+ export function createProductAreaConfigs(options) {
49
+ const suffix = options?.docsFilenameSuffix ?? '.md';
50
+ return PRODUCT_AREA_VALUES.map((area) => {
51
+ const kebab = toKebabCase(area);
52
+ return {
53
+ title: `${area} Overview`,
54
+ productArea: area,
55
+ conventionTags: [],
56
+ shapeSelectors: [],
57
+ behaviorCategories: [],
58
+ claudeMdSection: kebab,
59
+ docsFilename: `${kebab.toUpperCase()}${suffix}`,
60
+ claudeMdFilename: `${kebab}-overview.md`,
61
+ };
62
+ });
63
+ }
64
+ // ============================================================================
65
+ // Reference Document Generator
66
+ // ============================================================================
67
+ /**
68
+ * Generator that wraps a reference codec for a specific config + detail level.
69
+ * Implements DocumentGenerator directly (not via CodecBasedGenerator).
70
+ */
71
+ class ReferenceDocGenerator {
72
+ name;
73
+ description;
74
+ config;
75
+ detailLevel;
76
+ outputPath;
77
+ constructor(name, description, config, detailLevel, outputPath) {
78
+ this.name = name;
79
+ this.description = description;
80
+ this.config = config;
81
+ this.detailLevel = detailLevel;
82
+ this.outputPath = outputPath;
83
+ }
84
+ generate(_patterns, context) {
85
+ const dataset = context.masterDataset;
86
+ if (!dataset)
87
+ return Promise.resolve({ files: [] });
88
+ const codec = createReferenceCodec(this.config, {
89
+ detailLevel: this.detailLevel,
90
+ generateDetailFiles: false,
91
+ });
92
+ const doc = codec.decode(dataset);
93
+ // Summary-level output (for _claude-md/) uses modular-claude-md compatible renderer
94
+ const render = this.detailLevel === 'summary' ? renderToClaudeMdModule : renderToMarkdown;
95
+ const content = render(doc);
96
+ return Promise.resolve({
97
+ files: [{ path: this.outputPath, content }],
98
+ });
99
+ }
100
+ }
101
+ // ============================================================================
102
+ // Registration
103
+ // ============================================================================
104
+ function toGeneratorName(title) {
105
+ return slugify(title.replace(/ Reference$/, ''));
106
+ }
107
+ /**
108
+ * Shared loop for generating detailed + summary file pairs from reference configs.
109
+ */
110
+ function generateDualOutputFiles(configs, dataset, pathPrefix) {
111
+ const files = [];
112
+ for (const config of configs) {
113
+ // Detailed output -> {pathPrefix}/{docsFilename}
114
+ const detailedCodec = createReferenceCodec(config, {
115
+ detailLevel: 'detailed',
116
+ generateDetailFiles: false,
117
+ });
118
+ const detailedDoc = detailedCodec.decode(dataset);
119
+ files.push({
120
+ path: `${pathPrefix}/${config.docsFilename}`,
121
+ content: renderToMarkdown(detailedDoc),
122
+ });
123
+ // Summary output -> _claude-md/{section}/{filename}
124
+ const summaryCodec = createReferenceCodec(config, {
125
+ detailLevel: 'summary',
126
+ generateDetailFiles: false,
127
+ });
128
+ const summaryDoc = summaryCodec.decode(dataset);
129
+ files.push({
130
+ path: `_claude-md/${config.claudeMdSection}/${config.claudeMdFilename}`,
131
+ content: renderToClaudeMdModule(summaryDoc),
132
+ });
133
+ }
134
+ return files;
135
+ }
136
+ /**
137
+ * Meta-generator that produces all reference documents (detailed + summary per config)
138
+ * from a single `-g reference-docs` invocation.
139
+ *
140
+ * Only handles configs WITHOUT `productArea` set. Product-area configs
141
+ * are handled by `ProductAreaDocsGenerator` instead.
142
+ */
143
+ class ReferenceDocsGenerator {
144
+ configs;
145
+ name = 'reference-docs';
146
+ description;
147
+ constructor(configs) {
148
+ this.configs = configs;
149
+ this.description = `All reference documents (${configs.length} detailed + ${configs.length} summary)`;
150
+ }
151
+ generate(_patterns, context) {
152
+ const dataset = context.masterDataset;
153
+ if (!dataset)
154
+ return Promise.resolve({ files: [] });
155
+ const files = generateDualOutputFiles(this.configs, dataset, 'reference');
156
+ return Promise.resolve({ files });
157
+ }
158
+ }
159
+ /**
160
+ * Meta-generator for product area overview documents.
161
+ *
162
+ * Handles configs WITH `productArea` set. Outputs detailed docs to
163
+ * `product-areas/{docsFilename}` and also generates a progressive
164
+ * disclosure index at `PRODUCT-AREAS.md`.
165
+ */
166
+ class ProductAreaDocsGenerator {
167
+ configs;
168
+ name = 'product-area-docs';
169
+ description;
170
+ constructor(configs) {
171
+ this.configs = configs;
172
+ this.description = `Product area overview documents (${configs.length} areas)`;
173
+ }
174
+ generate(_patterns, context) {
175
+ const dataset = context.masterDataset;
176
+ if (!dataset)
177
+ return Promise.resolve({ files: [] });
178
+ const files = generateDualOutputFiles(this.configs, dataset, 'product-areas');
179
+ // Progressive disclosure index
180
+ files.push({
181
+ path: 'PRODUCT-AREAS.md',
182
+ content: buildProductAreaIndex(this.configs, dataset),
183
+ });
184
+ return Promise.resolve({ files });
185
+ }
186
+ }
187
+ /**
188
+ * Builds a progressive disclosure index for product area documents.
189
+ *
190
+ * Data-driven: computes per-area statistics from MasterDataset patterns,
191
+ * renders cross-area progress table, and generates live Mermaid diagrams
192
+ * from annotation relationship data via buildScopedDiagram.
193
+ */
194
+ function buildProductAreaIndex(configs, dataset) {
195
+ const sections = [];
196
+ // Use pre-computed byProductArea view (ADR-006: no re-derivation from raw patterns)
197
+ const areaStats = new Map();
198
+ for (const [area, patterns] of Object.entries(dataset.byProductArea)) {
199
+ areaStats.set(area, computeStatusCounts(patterns));
200
+ }
201
+ // Per-area sections with intro prose and live statistics
202
+ for (const config of configs) {
203
+ const area = config.productArea;
204
+ if (area === undefined)
205
+ continue;
206
+ const meta = PRODUCT_AREA_META[area];
207
+ if (meta === undefined)
208
+ continue;
209
+ sections.push(heading(2, `[${area}](product-areas/${config.docsFilename})`));
210
+ sections.push(paragraph(`> **${meta.question}**`));
211
+ sections.push(paragraph(meta.intro));
212
+ // Live per-area statistics from pre-computed stats
213
+ const stats = areaStats.get(area);
214
+ if (stats !== undefined && stats.total > 0) {
215
+ sections.push(paragraph(`**${stats.total} patterns** — ${stats.completed} completed, ${stats.active} active, ${stats.planned} planned`));
216
+ }
217
+ // Key patterns from curated list
218
+ if (meta.keyPatterns.length > 0) {
219
+ sections.push(paragraph(`**Key patterns:** ${meta.keyPatterns.join(', ')}`));
220
+ }
221
+ }
222
+ sections.push(separator());
223
+ // Cross-area progress summary table (reuses pre-computed stats)
224
+ const tableHeaders = ['Area', 'Patterns', 'Completed', 'Active', 'Planned'];
225
+ const tableRows = [];
226
+ let totalPatterns = 0;
227
+ let totalCompleted = 0;
228
+ let totalActive = 0;
229
+ let totalPlanned = 0;
230
+ for (const config of configs) {
231
+ const area = config.productArea;
232
+ if (area === undefined)
233
+ continue;
234
+ const stats = areaStats.get(area) ?? { total: 0, completed: 0, active: 0, planned: 0 };
235
+ tableRows.push([
236
+ `[${area}](product-areas/${config.docsFilename})`,
237
+ String(stats.total),
238
+ String(stats.completed),
239
+ String(stats.active),
240
+ String(stats.planned),
241
+ ]);
242
+ totalPatterns += stats.total;
243
+ totalCompleted += stats.completed;
244
+ totalActive += stats.active;
245
+ totalPlanned += stats.planned;
246
+ }
247
+ tableRows.push([
248
+ '**Total**',
249
+ `**${totalPatterns}**`,
250
+ `**${totalCompleted}**`,
251
+ `**${totalActive}**`,
252
+ `**${totalPlanned}**`,
253
+ ]);
254
+ sections.push(heading(2, 'Progress Overview'));
255
+ sections.push(table(tableHeaders, tableRows));
256
+ sections.push(separator());
257
+ // Live cross-area diagrams from annotation data
258
+ // Collect key patterns from all areas for a curated cross-area view
259
+ const allKeyPatterns = [];
260
+ for (const config of configs) {
261
+ const area = config.productArea;
262
+ if (area === undefined)
263
+ continue;
264
+ const meta = PRODUCT_AREA_META[area];
265
+ if (meta !== undefined) {
266
+ allKeyPatterns.push(...meta.keyPatterns);
267
+ }
268
+ }
269
+ // Diagram 1: C4Context cross-area system overview
270
+ const c4Scope = {
271
+ title: 'System Architecture',
272
+ diagramType: 'C4Context',
273
+ patterns: allKeyPatterns,
274
+ };
275
+ sections.push(...buildScopedDiagram(dataset, c4Scope));
276
+ // Diagram 2: Flowchart showing cross-area relationships
277
+ const flowScope = {
278
+ title: 'Cross-Area Pattern Relationships',
279
+ direction: 'LR',
280
+ patterns: allKeyPatterns,
281
+ };
282
+ sections.push(...buildScopedDiagram(dataset, flowScope));
283
+ const doc = document('Product Areas', sections, {
284
+ purpose: 'Product area overview index',
285
+ detailLevel: 'Full reference',
286
+ });
287
+ return renderToMarkdown(doc);
288
+ }
289
+ /**
290
+ * Registers reference generators from the provided configs in the GeneratorRegistry.
291
+ *
292
+ * Partitions configs by `productArea` presence:
293
+ * - Configs WITH `productArea` -> "product-area-docs" meta-generator
294
+ * - Configs WITHOUT `productArea` -> "reference-docs" meta-generator
295
+ * - Individual generators registered for all configs
296
+ *
297
+ * @param registry - The generator registry to register into
298
+ * @param configs - Reference document configurations (from project config)
299
+ */
300
+ export function registerReferenceGenerators(registry, configs) {
301
+ // Partition configs by productArea presence
302
+ const productAreaConfigs = configs.filter((c) => c.productArea !== undefined);
303
+ const referenceConfigs = configs.filter((c) => c.productArea === undefined);
304
+ // Product area meta-generator
305
+ if (productAreaConfigs.length > 0) {
306
+ registry.register(new ProductAreaDocsGenerator(productAreaConfigs));
307
+ }
308
+ // Standard reference-docs meta-generator
309
+ if (referenceConfigs.length > 0) {
310
+ registry.register(new ReferenceDocsGenerator(referenceConfigs));
311
+ }
312
+ // Individual generators: selective invocation per document
313
+ for (const config of configs) {
314
+ const kebabName = toGeneratorName(config.title);
315
+ const docsPrefix = config.productArea !== undefined ? 'product-areas' : 'reference';
316
+ registry.register(new ReferenceDocGenerator(`${kebabName}-reference`, `${config.title} (detailed)`, config, 'detailed', `${docsPrefix}/${config.docsFilename}`));
317
+ registry.register(new ReferenceDocGenerator(`${kebabName}-reference-claude`, `${config.title} (summary)`, config, 'summary', `_claude-md/${config.claudeMdSection}/${config.claudeMdFilename}`));
318
+ }
319
+ }
320
+ //# sourceMappingURL=reference-generators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-generators.js","sourceRoot":"","sources":["../../../src/generators/built-in/reference-generators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @architect
3
+ * @architect-core
4
+ * @architect-pattern CodecBasedGenerator
5
+ * @architect-status completed
6
+ * @architect-arch-role service
7
+ * @architect-arch-context generator
8
+ * @architect-arch-layer application
9
+ *
10
+ * ## Codec-Based Generator
11
+ *
12
+ * Adapts the new RenderableDocument Model (RDM) codec system to the
13
+ * existing DocumentGenerator interface. This allows codec-based document
14
+ * generation to work seamlessly with the existing orchestrator.
15
+ *
16
+ * ### When to Use
17
+ *
18
+ * - When creating a new document type generator using the RDM codec pattern
19
+ * - When adapting a Zod codec to the DocumentGenerator interface
20
+ * - When understanding how codec-based generation integrates with the orchestrator
21
+ *
22
+ * Architecture:
23
+ * ```
24
+ * GeneratorContext.masterDataset → Codec.decode() → RenderableDocument → renderDocumentWithFiles() → OutputFile[]
25
+ * ```
26
+ */
27
+ import type { DocumentGenerator, GeneratorContext, GeneratorOutput } from './types.js';
28
+ import type { ExtractedPattern } from '../validation-schemas/index.js';
29
+ import { type DocumentType } from '../renderable/generate.js';
30
+ /**
31
+ * Codec-based generator that wraps the new RDM system.
32
+ *
33
+ * Each instance handles a single document type and uses the corresponding
34
+ * codec to transform MasterDataset into RenderableDocument, then renders
35
+ * to markdown.
36
+ */
37
+ export declare class CodecBasedGenerator implements DocumentGenerator {
38
+ readonly name: string;
39
+ private readonly documentType;
40
+ readonly description: string;
41
+ constructor(name: string, documentType: DocumentType);
42
+ generate(_patterns: readonly ExtractedPattern[], context: GeneratorContext): Promise<GeneratorOutput>;
43
+ }
44
+ /**
45
+ * Create a codec-based generator for a specific document type.
46
+ *
47
+ * @param name - Generator name for registry
48
+ * @param documentType - Document type key from DOCUMENT_TYPES
49
+ * @returns DocumentGenerator instance
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * const generator = createCodecGenerator("patterns-v2", "patterns");
54
+ * generatorRegistry.register(generator);
55
+ * ```
56
+ */
57
+ export declare function createCodecGenerator(name: string, documentType: DocumentType): DocumentGenerator;
58
+ /**
59
+ * Available codec-based document types.
60
+ * Re-exported from generate.ts for convenience.
61
+ */
62
+ export { DOCUMENT_TYPES, type DocumentType } from '../renderable/generate.js';
63
+ //# sourceMappingURL=codec-based.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-based.d.ts","sourceRoot":"","sources":["../../src/generators/codec-based.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAoB,KAAK,YAAY,EAAkB,MAAM,2BAA2B,CAAC;AAEhG;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;IAIzD,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAGlB,IAAI,EAAE,MAAM,EACJ,YAAY,EAAE,YAAY;IAK7C,QAAQ,CACN,SAAS,EAAE,SAAS,gBAAgB,EAAE,EACtC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC;CAyB5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,iBAAiB,CAEhG;AAED;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * @architect
3
+ * @architect-core
4
+ * @architect-pattern CodecBasedGenerator
5
+ * @architect-status completed
6
+ * @architect-arch-role service
7
+ * @architect-arch-context generator
8
+ * @architect-arch-layer application
9
+ *
10
+ * ## Codec-Based Generator
11
+ *
12
+ * Adapts the new RenderableDocument Model (RDM) codec system to the
13
+ * existing DocumentGenerator interface. This allows codec-based document
14
+ * generation to work seamlessly with the existing orchestrator.
15
+ *
16
+ * ### When to Use
17
+ *
18
+ * - When creating a new document type generator using the RDM codec pattern
19
+ * - When adapting a Zod codec to the DocumentGenerator interface
20
+ * - When understanding how codec-based generation integrates with the orchestrator
21
+ *
22
+ * Architecture:
23
+ * ```
24
+ * GeneratorContext.masterDataset → Codec.decode() → RenderableDocument → renderDocumentWithFiles() → OutputFile[]
25
+ * ```
26
+ */
27
+ import { generateDocument, DOCUMENT_TYPES } from '../renderable/generate.js';
28
+ /**
29
+ * Codec-based generator that wraps the new RDM system.
30
+ *
31
+ * Each instance handles a single document type and uses the corresponding
32
+ * codec to transform MasterDataset into RenderableDocument, then renders
33
+ * to markdown.
34
+ */
35
+ export class CodecBasedGenerator {
36
+ name;
37
+ documentType;
38
+ description;
39
+ constructor(name, documentType) {
40
+ this.name = name;
41
+ this.documentType = documentType;
42
+ this.description = DOCUMENT_TYPES[documentType].description;
43
+ }
44
+ generate(_patterns, context) {
45
+ // Codec-based generation requires MasterDataset
46
+ if (!context.masterDataset) {
47
+ return Promise.resolve({
48
+ files: [],
49
+ errors: [
50
+ {
51
+ type: 'generator',
52
+ message: `Generator "${this.name}" requires MasterDataset in context but none was provided. Ensure the orchestrator creates a MasterDataset before running codec-based generators.`,
53
+ },
54
+ ],
55
+ });
56
+ }
57
+ // Convert RuntimeMasterDataset to MasterDataset format
58
+ // The RDM codecs expect the Zod-inferred MasterDataset type
59
+ const dataset = context.masterDataset;
60
+ // Generate document using codec, passing through any codec-specific options
61
+ const outputFiles = generateDocument(this.documentType, dataset, context.codecOptions);
62
+ return Promise.resolve({
63
+ files: outputFiles,
64
+ });
65
+ }
66
+ }
67
+ /**
68
+ * Create a codec-based generator for a specific document type.
69
+ *
70
+ * @param name - Generator name for registry
71
+ * @param documentType - Document type key from DOCUMENT_TYPES
72
+ * @returns DocumentGenerator instance
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const generator = createCodecGenerator("patterns-v2", "patterns");
77
+ * generatorRegistry.register(generator);
78
+ * ```
79
+ */
80
+ export function createCodecGenerator(name, documentType) {
81
+ return new CodecBasedGenerator(name, documentType);
82
+ }
83
+ /**
84
+ * Available codec-based document types.
85
+ * Re-exported from generate.ts for convenience.
86
+ */
87
+ export { DOCUMENT_TYPES } from '../renderable/generate.js';
88
+ //# sourceMappingURL=codec-based.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codec-based.js","sourceRoot":"","sources":["../../src/generators/codec-based.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,gBAAgB,EAAqB,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAInB;IACQ;IAJV,WAAW,CAAS;IAE7B,YACW,IAAY,EACJ,YAA0B;QADlC,SAAI,GAAJ,IAAI,CAAQ;QACJ,iBAAY,GAAZ,YAAY,CAAc;QAE3C,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;IAC9D,CAAC;IAED,QAAQ,CACN,SAAsC,EACtC,OAAyB;QAEzB,gDAAgD;QAChD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,WAAoB;wBAC1B,OAAO,EAAE,cAAc,IAAI,CAAC,IAAI,mJAAmJ;qBACpL;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,4DAA4D;QAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QAEtC,4EAA4E;QAC5E,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAEvF,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,YAA0B;IAC3E,OAAO,IAAI,mBAAmB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAqB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @architect
3
+ * @architect-core
4
+ * @architect-pattern ContentDeduplicator
5
+ * @architect-status completed
6
+ * @architect-arch-role infrastructure
7
+ * @architect-arch-context generator
8
+ * @architect-arch-layer infrastructure
9
+ *
10
+ * ## Content Deduplicator - Duplicate Content Detection and Merging
11
+ *
12
+ * Identifies and merges duplicate sections extracted from multiple sources.
13
+ * Uses content fingerprinting to detect duplicates and merges them based on
14
+ * configurable priority rules.
15
+ *
16
+ * ### When to Use
17
+ *
18
+ * - After source mapping extracts content from multiple files
19
+ * - When multiple sources may contain the same documentation
20
+ * - Before assembling the final RenderableDocument
21
+ *
22
+ * ### Key Concepts
23
+ *
24
+ * - **Content Fingerprint**: SHA-256 hash of normalized text for duplicate detection
25
+ * - **Source Priority**: TypeScript > Decision > Feature file
26
+ * - **Content Richness**: More lines wins when priorities are equal
27
+ * - **Header Disambiguation**: Adds source suffix when headers conflict
28
+ */
29
+ import type { ExtractedSection } from './source-mapper.js';
30
+ import type { Warning, WarningCollector } from './warning-collector.js';
31
+ /**
32
+ * A content block with metadata for deduplication
33
+ */
34
+ export interface ContentBlock {
35
+ /** Section header text */
36
+ header: string;
37
+ /** Section body content */
38
+ body: string;
39
+ /** Source file path */
40
+ source: string;
41
+ /** Content fingerprint for duplicate detection */
42
+ fingerprint?: string;
43
+ /** Number of lines in the body */
44
+ lineCount: number;
45
+ /** Original index in the input array (for precise removal) */
46
+ originalIndex?: number;
47
+ }
48
+ /**
49
+ * A pair of content blocks that were merged
50
+ */
51
+ export interface MergedPair {
52
+ /** The content block that was kept */
53
+ kept: ContentBlock;
54
+ /** The content block that was removed */
55
+ removed: ContentBlock;
56
+ }
57
+ /**
58
+ * Result of deduplication processing.
59
+ *
60
+ * Warnings are captured via two parallel paths:
61
+ * 1. Through the optional `warningCollector` passed in options (side-effect, preferred)
62
+ * 2. In the returned `warnings` array (for callers without a collector)
63
+ *
64
+ * When a `warningCollector` is provided, warnings flow to both paths. Callers should
65
+ * use ONE path for consuming warnings - either the collector OR the returned array.
66
+ * The decision-doc-generator uses the collector when available, falling back to the
67
+ * returned array when warning collection is disabled.
68
+ */
69
+ export interface DeduplicationResult {
70
+ /** Deduplicated sections in original order */
71
+ sections: ExtractedSection[];
72
+ /** Pairs of content that were merged */
73
+ mergedPairs: MergedPair[];
74
+ /** Warnings produced during deduplication (always populated regardless of collector) */
75
+ warnings: Warning[];
76
+ }
77
+ /**
78
+ * Options for deduplication
79
+ */
80
+ export interface DeduplicatorOptions {
81
+ /** Optional warning collector for capturing warnings */
82
+ warningCollector?: WarningCollector;
83
+ }
84
+ /**
85
+ * Compute a content fingerprint using SHA-256.
86
+ * Returns a 16-character hex string (64 bits).
87
+ *
88
+ * Note: 16 hex chars (64 bits) provides sufficient collision resistance for
89
+ * documentation deduplication. Birthday paradox collision probability is
90
+ * less than 0.001% for up to 10,000 sections, which exceeds expected usage.
91
+ */
92
+ export declare function computeFingerprint(content: string): string;
93
+ /**
94
+ * Find duplicate content blocks by fingerprint.
95
+ * Returns a map from fingerprint to all blocks with that fingerprint.
96
+ */
97
+ export declare function findDuplicates(blocks: ContentBlock[]): Map<string, ContentBlock[]>;
98
+ /**
99
+ * Deduplicate sections extracted from multiple sources.
100
+ *
101
+ * Algorithm:
102
+ * 1. Convert sections to content blocks with fingerprints
103
+ * 2. Find duplicate fingerprints
104
+ * 3. For each duplicate group, keep highest priority source (or richest content)
105
+ * 4. Handle header conflicts (same header, different content)
106
+ * 5. Remove empty sections
107
+ * 6. Preserve original order (first occurrence position)
108
+ *
109
+ * @param sections - Extracted sections to deduplicate
110
+ * @param options - Deduplication options
111
+ * @returns Deduplicated sections with merge info and warnings
112
+ */
113
+ export declare function deduplicateSections(sections: readonly ExtractedSection[], options?: DeduplicatorOptions): DeduplicationResult;
114
+ //# sourceMappingURL=content-deduplicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-deduplicator.d.ts","sourceRoot":"","sources":["../../src/generators/content-deduplicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IAEf,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,IAAI,EAAE,YAAY,CAAC;IAEnB,yCAAyC;IACzC,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAE7B,wCAAwC;IACxC,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,wFAAwF;IACxF,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AA0CD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO1D;AA4DD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAyBlF;AA8ED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,EACrC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,mBAAmB,CA4IrB"}