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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +5 -5
  3. package/dist/api/arch-queries.d.ts.map +1 -1
  4. package/dist/api/context-assembler.d.ts.map +1 -1
  5. package/dist/api/handoff-generator.d.ts.map +1 -1
  6. package/dist/api/index.d.ts +8 -8
  7. package/dist/api/index.d.ts.map +1 -1
  8. package/dist/api/index.js +7 -7
  9. package/dist/api/index.js.map +1 -1
  10. package/dist/api/{process-state.d.ts → pattern-graph-api.d.ts} +15 -15
  11. package/dist/api/pattern-graph-api.d.ts.map +1 -0
  12. package/dist/api/{process-state.js → pattern-graph-api.js} +13 -13
  13. package/dist/api/pattern-graph-api.js.map +1 -0
  14. package/dist/api/rules-query.d.ts +6 -6
  15. package/dist/api/rules-query.d.ts.map +1 -1
  16. package/dist/api/rules-query.js +4 -4
  17. package/dist/api/rules-query.js.map +1 -1
  18. package/dist/api/scope-validator.d.ts.map +1 -1
  19. package/dist/api/types.d.ts +8 -8
  20. package/dist/api/types.d.ts.map +1 -1
  21. package/dist/api/types.js +5 -5
  22. package/dist/cli/cli-schema.d.ts +3 -4
  23. package/dist/cli/cli-schema.d.ts.map +1 -1
  24. package/dist/cli/cli-schema.js +13 -14
  25. package/dist/cli/cli-schema.js.map +1 -1
  26. package/dist/cli/output-pipeline.d.ts.map +1 -1
  27. package/dist/cli/pattern-graph-cli.d.ts.map +1 -0
  28. package/dist/cli/validate-patterns.d.ts.map +1 -1
  29. package/dist/generators/built-in/cli-recipe-generator.d.ts +3 -4
  30. package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -1
  31. package/dist/generators/built-in/cli-recipe-generator.js +6 -7
  32. package/dist/generators/built-in/cli-recipe-generator.js.map +1 -1
  33. package/dist/generators/built-in/cli-reference-generator.d.ts +18 -0
  34. package/dist/generators/built-in/cli-reference-generator.d.ts.map +1 -0
  35. package/dist/generators/built-in/{process-api-reference-generator.js → cli-reference-generator.js} +13 -13
  36. package/dist/generators/built-in/cli-reference-generator.js.map +1 -0
  37. package/dist/generators/built-in/codec-generators.js +12 -12
  38. package/dist/generators/built-in/codec-generators.js.map +1 -1
  39. package/dist/generators/built-in/design-review-generator.d.ts.map +1 -1
  40. package/dist/generators/built-in/reference-generators.d.ts.map +1 -1
  41. package/dist/generators/codec-based.d.ts.map +1 -1
  42. package/dist/generators/index.d.ts.map +1 -1
  43. package/dist/generators/orchestrator.d.ts.map +1 -1
  44. package/dist/generators/pipeline/build-pipeline.d.ts +17 -14
  45. package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -1
  46. package/dist/generators/pipeline/build-pipeline.js +27 -21
  47. package/dist/generators/pipeline/build-pipeline.js.map +1 -1
  48. package/dist/generators/pipeline/index.d.ts.map +1 -1
  49. package/dist/generators/types.d.ts.map +1 -1
  50. package/dist/mcp/pipeline-session.d.ts.map +1 -1
  51. package/dist/renderable/codecs/index-codec.d.ts.map +1 -1
  52. package/dist/renderable/codecs/index-codec.js +54 -28
  53. package/dist/renderable/codecs/index-codec.js.map +1 -1
  54. package/docs/ANNOTATION-GUIDE.md +5 -5
  55. package/docs/ARCHITECTURE.md +79 -79
  56. package/docs/{PROCESS-API.md → CLI.md} +6 -6
  57. package/docs/CONFIGURATION.md +2 -2
  58. package/docs/DOCS-GAP-ANALYSIS.md +65 -65
  59. package/docs/INDEX.md +34 -34
  60. package/docs/MCP-SETUP.md +3 -3
  61. package/docs/METHODOLOGY.md +1 -1
  62. package/docs/SESSION-GUIDES.md +3 -3
  63. package/docs/VALIDATION.md +4 -4
  64. package/docs-live/ARCHITECTURE.md +48 -42
  65. package/docs-live/BUSINESS-RULES.md +3 -3
  66. package/docs-live/CHANGELOG-GENERATED.md +109 -103
  67. package/docs-live/INDEX.md +21 -21
  68. package/docs-live/PRODUCT-AREAS.md +7 -7
  69. package/docs-live/TAXONOMY.md +3 -5
  70. package/docs-live/_claude-md/annotation/annotation-overview.md +1 -1
  71. package/docs-live/_claude-md/annotation/annotation-reference.md +5 -5
  72. package/docs-live/_claude-md/architecture/architecture-types.md +4 -4
  73. package/docs-live/_claude-md/architecture/reference-sample.md +2 -2
  74. package/docs-live/_claude-md/data-api/data-api-overview.md +2 -2
  75. package/docs-live/_claude-md/generation/generation-overview.md +15 -15
  76. package/docs-live/_claude-md/process/process-overview.md +1 -1
  77. package/docs-live/_claude-md/validation/validation-overview.md +1 -1
  78. package/docs-live/business-rules/annotation.md +1 -2
  79. package/docs-live/business-rules/configuration.md +1 -1
  80. package/docs-live/business-rules/data-api.md +149 -136
  81. package/docs-live/business-rules/generation.md +172 -20
  82. package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +1 -1
  83. package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +5 -5
  84. package/docs-live/decisions/adr-006-single-read-model-architecture.md +24 -24
  85. package/docs-live/product-areas/ANNOTATION.md +19 -9
  86. package/docs-live/product-areas/CONFIGURATION.md +39 -19
  87. package/docs-live/product-areas/DATA-API.md +155 -151
  88. package/docs-live/product-areas/GENERATION.md +159 -144
  89. package/docs-live/product-areas/PROCESS.md +4 -4
  90. package/docs-live/product-areas/VALIDATION.md +35 -20
  91. package/docs-live/reference/ANNOTATION-REFERENCE.md +5 -5
  92. package/docs-live/reference/ARCHITECTURE-CODECS.md +11 -11
  93. package/docs-live/reference/ARCHITECTURE-TYPES.md +28 -25
  94. package/docs-live/reference/{PROCESS-API-RECIPES.md → CLI-RECIPES.md} +11 -11
  95. package/docs-live/reference/{PROCESS-API-REFERENCE.md → CLI-REFERENCE.md} +2 -2
  96. package/docs-live/reference/REFERENCE-SAMPLE.md +56 -56
  97. package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +3 -3
  98. package/docs-live/taxonomy/format-types.md +2 -2
  99. package/docs-live/taxonomy/metadata-tags.md +1 -23
  100. package/package.json +7 -7
  101. package/dist/api/arch-queries.d.ts +0 -95
  102. package/dist/api/arch-queries.js +0 -310
  103. package/dist/api/arch-queries.js.map +0 -1
  104. package/dist/api/context-assembler.d.ts +0 -124
  105. package/dist/api/context-assembler.js +0 -472
  106. package/dist/api/context-assembler.js.map +0 -1
  107. package/dist/api/context-formatter.d.ts +0 -26
  108. package/dist/api/context-formatter.js +0 -183
  109. package/dist/api/context-formatter.js.map +0 -1
  110. package/dist/api/coverage-analyzer.d.ts +0 -38
  111. package/dist/api/coverage-analyzer.d.ts.map +0 -1
  112. package/dist/api/coverage-analyzer.js +0 -117
  113. package/dist/api/coverage-analyzer.js.map +0 -1
  114. package/dist/api/fuzzy-match.d.ts +0 -75
  115. package/dist/api/fuzzy-match.d.ts.map +0 -1
  116. package/dist/api/fuzzy-match.js +0 -150
  117. package/dist/api/fuzzy-match.js.map +0 -1
  118. package/dist/api/handoff-generator.d.ts +0 -45
  119. package/dist/api/handoff-generator.js +0 -139
  120. package/dist/api/handoff-generator.js.map +0 -1
  121. package/dist/api/pattern-helpers.d.ts +0 -51
  122. package/dist/api/pattern-helpers.d.ts.map +0 -1
  123. package/dist/api/pattern-helpers.js +0 -84
  124. package/dist/api/pattern-helpers.js.map +0 -1
  125. package/dist/api/process-state.d.ts.map +0 -1
  126. package/dist/api/process-state.js.map +0 -1
  127. package/dist/api/scope-validator.d.ts +0 -56
  128. package/dist/api/scope-validator.js +0 -293
  129. package/dist/api/scope-validator.js.map +0 -1
  130. package/dist/api/stub-resolver.d.ts +0 -117
  131. package/dist/api/stub-resolver.d.ts.map +0 -1
  132. package/dist/api/stub-resolver.js +0 -154
  133. package/dist/api/stub-resolver.js.map +0 -1
  134. package/dist/api/summarize.d.ts +0 -75
  135. package/dist/api/summarize.d.ts.map +0 -1
  136. package/dist/api/summarize.js +0 -97
  137. package/dist/api/summarize.js.map +0 -1
  138. package/dist/cache/file-cache.d.ts +0 -72
  139. package/dist/cache/file-cache.d.ts.map +0 -1
  140. package/dist/cache/file-cache.js +0 -80
  141. package/dist/cache/file-cache.js.map +0 -1
  142. package/dist/cache/index.d.ts +0 -5
  143. package/dist/cache/index.d.ts.map +0 -1
  144. package/dist/cache/index.js +0 -5
  145. package/dist/cache/index.js.map +0 -1
  146. package/dist/cli/dataset-cache.d.ts +0 -66
  147. package/dist/cli/dataset-cache.js +0 -179
  148. package/dist/cli/dataset-cache.js.map +0 -1
  149. package/dist/cli/error-handler.d.ts +0 -84
  150. package/dist/cli/error-handler.d.ts.map +0 -1
  151. package/dist/cli/error-handler.js +0 -197
  152. package/dist/cli/error-handler.js.map +0 -1
  153. package/dist/cli/generate-docs.d.ts +0 -30
  154. package/dist/cli/generate-docs.js +0 -370
  155. package/dist/cli/generate-docs.js.map +0 -1
  156. package/dist/cli/lint-patterns.d.ts +0 -57
  157. package/dist/cli/lint-patterns.d.ts.map +0 -1
  158. package/dist/cli/lint-patterns.js +0 -257
  159. package/dist/cli/lint-patterns.js.map +0 -1
  160. package/dist/cli/lint-process.d.ts +0 -54
  161. package/dist/cli/lint-process.d.ts.map +0 -1
  162. package/dist/cli/lint-process.js +0 -319
  163. package/dist/cli/lint-process.js.map +0 -1
  164. package/dist/cli/lint-steps.d.ts +0 -32
  165. package/dist/cli/lint-steps.d.ts.map +0 -1
  166. package/dist/cli/lint-steps.js +0 -172
  167. package/dist/cli/lint-steps.js.map +0 -1
  168. package/dist/cli/mcp-server.d.ts +0 -22
  169. package/dist/cli/mcp-server.js +0 -57
  170. package/dist/cli/mcp-server.js.map +0 -1
  171. package/dist/cli/output-pipeline.d.ts +0 -130
  172. package/dist/cli/output-pipeline.js +0 -234
  173. package/dist/cli/output-pipeline.js.map +0 -1
  174. package/dist/cli/process-api.d.ts +0 -37
  175. package/dist/cli/process-api.d.ts.map +0 -1
  176. package/dist/cli/process-api.js +0 -1550
  177. package/dist/cli/process-api.js.map +0 -1
  178. package/dist/cli/repl.d.ts +0 -38
  179. package/dist/cli/repl.js +0 -239
  180. package/dist/cli/repl.js.map +0 -1
  181. package/dist/cli/validate-patterns.d.ts +0 -115
  182. package/dist/cli/validate-patterns.js +0 -707
  183. package/dist/cli/validate-patterns.js.map +0 -1
  184. package/dist/cli/version.d.ts +0 -35
  185. package/dist/cli/version.d.ts.map +0 -1
  186. package/dist/cli/version.js +0 -64
  187. package/dist/cli/version.js.map +0 -1
  188. package/dist/config/config-loader.d.ts +0 -167
  189. package/dist/config/config-loader.d.ts.map +0 -1
  190. package/dist/config/config-loader.js +0 -294
  191. package/dist/config/config-loader.js.map +0 -1
  192. package/dist/config/defaults.d.ts +0 -92
  193. package/dist/config/defaults.d.ts.map +0 -1
  194. package/dist/config/defaults.js +0 -103
  195. package/dist/config/defaults.js.map +0 -1
  196. package/dist/config/define-config.d.ts +0 -37
  197. package/dist/config/define-config.d.ts.map +0 -1
  198. package/dist/config/define-config.js +0 -38
  199. package/dist/config/define-config.js.map +0 -1
  200. package/dist/config/factory.d.ts +0 -79
  201. package/dist/config/factory.d.ts.map +0 -1
  202. package/dist/config/factory.js +0 -116
  203. package/dist/config/factory.js.map +0 -1
  204. package/dist/config/index.d.ts +0 -45
  205. package/dist/config/index.d.ts.map +0 -1
  206. package/dist/config/index.js +0 -48
  207. package/dist/config/index.js.map +0 -1
  208. package/dist/config/merge-sources.d.ts +0 -47
  209. package/dist/config/merge-sources.d.ts.map +0 -1
  210. package/dist/config/merge-sources.js +0 -61
  211. package/dist/config/merge-sources.js.map +0 -1
  212. package/dist/config/presets.d.ts +0 -115
  213. package/dist/config/presets.d.ts.map +0 -1
  214. package/dist/config/presets.js +0 -119
  215. package/dist/config/presets.js.map +0 -1
  216. package/dist/config/project-config-schema.d.ts +0 -192
  217. package/dist/config/project-config-schema.d.ts.map +0 -1
  218. package/dist/config/project-config-schema.js +0 -231
  219. package/dist/config/project-config-schema.js.map +0 -1
  220. package/dist/config/project-config.d.ts +0 -229
  221. package/dist/config/project-config.d.ts.map +0 -1
  222. package/dist/config/project-config.js +0 -37
  223. package/dist/config/project-config.js.map +0 -1
  224. package/dist/config/regex-builders.d.ts +0 -49
  225. package/dist/config/regex-builders.d.ts.map +0 -1
  226. package/dist/config/regex-builders.js +0 -85
  227. package/dist/config/regex-builders.js.map +0 -1
  228. package/dist/config/resolve-config.d.ts +0 -65
  229. package/dist/config/resolve-config.d.ts.map +0 -1
  230. package/dist/config/resolve-config.js +0 -150
  231. package/dist/config/resolve-config.js.map +0 -1
  232. package/dist/config/types.d.ts +0 -81
  233. package/dist/config/types.d.ts.map +0 -1
  234. package/dist/config/types.js +0 -22
  235. package/dist/config/types.js.map +0 -1
  236. package/dist/config/workflow-loader.d.ts +0 -90
  237. package/dist/config/workflow-loader.d.ts.map +0 -1
  238. package/dist/config/workflow-loader.js +0 -167
  239. package/dist/config/workflow-loader.js.map +0 -1
  240. package/dist/extractor/doc-extractor.d.ts +0 -233
  241. package/dist/extractor/doc-extractor.d.ts.map +0 -1
  242. package/dist/extractor/doc-extractor.js +0 -481
  243. package/dist/extractor/doc-extractor.js.map +0 -1
  244. package/dist/extractor/dual-source-extractor.d.ts +0 -161
  245. package/dist/extractor/dual-source-extractor.d.ts.map +0 -1
  246. package/dist/extractor/dual-source-extractor.js +0 -407
  247. package/dist/extractor/dual-source-extractor.js.map +0 -1
  248. package/dist/extractor/gherkin-extractor.d.ts +0 -170
  249. package/dist/extractor/gherkin-extractor.d.ts.map +0 -1
  250. package/dist/extractor/gherkin-extractor.js +0 -543
  251. package/dist/extractor/gherkin-extractor.js.map +0 -1
  252. package/dist/extractor/index.d.ts +0 -7
  253. package/dist/extractor/index.d.ts.map +0 -1
  254. package/dist/extractor/index.js +0 -11
  255. package/dist/extractor/index.js.map +0 -1
  256. package/dist/extractor/layer-inference.d.ts +0 -66
  257. package/dist/extractor/layer-inference.d.ts.map +0 -1
  258. package/dist/extractor/layer-inference.js +0 -93
  259. package/dist/extractor/layer-inference.js.map +0 -1
  260. package/dist/extractor/shape-extractor.d.ts +0 -79
  261. package/dist/extractor/shape-extractor.d.ts.map +0 -1
  262. package/dist/extractor/shape-extractor.js +0 -966
  263. package/dist/extractor/shape-extractor.js.map +0 -1
  264. package/dist/generators/built-in/codec-generators.d.ts +0 -29
  265. package/dist/generators/built-in/decision-doc-generator.d.ts +0 -204
  266. package/dist/generators/built-in/decision-doc-generator.js +0 -654
  267. package/dist/generators/built-in/decision-doc-generator.js.map +0 -1
  268. package/dist/generators/built-in/design-review-generator.d.ts +0 -26
  269. package/dist/generators/built-in/design-review-generator.js +0 -94
  270. package/dist/generators/built-in/design-review-generator.js.map +0 -1
  271. package/dist/generators/built-in/index.d.ts +0 -22
  272. package/dist/generators/built-in/index.js +0 -23
  273. package/dist/generators/built-in/index.js.map +0 -1
  274. package/dist/generators/built-in/process-api-reference-generator.d.ts +0 -18
  275. package/dist/generators/built-in/process-api-reference-generator.d.ts.map +0 -1
  276. package/dist/generators/built-in/process-api-reference-generator.js.map +0 -1
  277. package/dist/generators/built-in/reference-generators.d.ts +0 -51
  278. package/dist/generators/built-in/reference-generators.js +0 -320
  279. package/dist/generators/built-in/reference-generators.js.map +0 -1
  280. package/dist/generators/codec-based.d.ts +0 -63
  281. package/dist/generators/codec-based.js +0 -88
  282. package/dist/generators/codec-based.js.map +0 -1
  283. package/dist/generators/content-deduplicator.d.ts +0 -114
  284. package/dist/generators/content-deduplicator.d.ts.map +0 -1
  285. package/dist/generators/content-deduplicator.js +0 -356
  286. package/dist/generators/content-deduplicator.js.map +0 -1
  287. package/dist/generators/index.d.ts +0 -50
  288. package/dist/generators/index.js +0 -54
  289. package/dist/generators/index.js.map +0 -1
  290. package/dist/generators/orchestrator.d.ts +0 -265
  291. package/dist/generators/orchestrator.js +0 -570
  292. package/dist/generators/orchestrator.js.map +0 -1
  293. package/dist/generators/pipeline/context-inference.d.ts +0 -55
  294. package/dist/generators/pipeline/context-inference.d.ts.map +0 -1
  295. package/dist/generators/pipeline/context-inference.js +0 -76
  296. package/dist/generators/pipeline/context-inference.js.map +0 -1
  297. package/dist/generators/pipeline/index.d.ts +0 -27
  298. package/dist/generators/pipeline/index.js +0 -34
  299. package/dist/generators/pipeline/index.js.map +0 -1
  300. package/dist/generators/pipeline/merge-patterns.d.ts +0 -33
  301. package/dist/generators/pipeline/merge-patterns.d.ts.map +0 -1
  302. package/dist/generators/pipeline/merge-patterns.js +0 -50
  303. package/dist/generators/pipeline/merge-patterns.js.map +0 -1
  304. package/dist/generators/pipeline/relationship-resolver.d.ts +0 -47
  305. package/dist/generators/pipeline/relationship-resolver.d.ts.map +0 -1
  306. package/dist/generators/pipeline/relationship-resolver.js +0 -132
  307. package/dist/generators/pipeline/relationship-resolver.js.map +0 -1
  308. package/dist/generators/pipeline/sequence-utils.d.ts +0 -49
  309. package/dist/generators/pipeline/sequence-utils.d.ts.map +0 -1
  310. package/dist/generators/pipeline/sequence-utils.js +0 -235
  311. package/dist/generators/pipeline/sequence-utils.js.map +0 -1
  312. package/dist/generators/pipeline/transform-dataset.d.ts +0 -82
  313. package/dist/generators/pipeline/transform-dataset.d.ts.map +0 -1
  314. package/dist/generators/pipeline/transform-dataset.js +0 -355
  315. package/dist/generators/pipeline/transform-dataset.js.map +0 -1
  316. package/dist/generators/pipeline/transform-types.d.ts +0 -96
  317. package/dist/generators/pipeline/transform-types.d.ts.map +0 -1
  318. package/dist/generators/pipeline/transform-types.js +0 -18
  319. package/dist/generators/pipeline/transform-types.js.map +0 -1
  320. package/dist/generators/registry.d.ts +0 -64
  321. package/dist/generators/registry.js +0 -77
  322. package/dist/generators/registry.js.map +0 -1
  323. package/dist/generators/source-mapper.d.ts +0 -143
  324. package/dist/generators/source-mapper.d.ts.map +0 -1
  325. package/dist/generators/source-mapper.js +0 -602
  326. package/dist/generators/source-mapper.js.map +0 -1
  327. package/dist/generators/source-mapping-validator.d.ts +0 -118
  328. package/dist/generators/source-mapping-validator.d.ts.map +0 -1
  329. package/dist/generators/source-mapping-validator.js +0 -334
  330. package/dist/generators/source-mapping-validator.js.map +0 -1
  331. package/dist/generators/types.d.ts +0 -104
  332. package/dist/generators/types.js +0 -5
  333. package/dist/generators/types.js.map +0 -1
  334. package/dist/generators/warning-collector.d.ts +0 -144
  335. package/dist/generators/warning-collector.d.ts.map +0 -1
  336. package/dist/generators/warning-collector.js +0 -166
  337. package/dist/generators/warning-collector.js.map +0 -1
  338. package/dist/git/branch-diff.d.ts +0 -44
  339. package/dist/git/branch-diff.d.ts.map +0 -1
  340. package/dist/git/branch-diff.js +0 -57
  341. package/dist/git/branch-diff.js.map +0 -1
  342. package/dist/git/helpers.d.ts +0 -46
  343. package/dist/git/helpers.d.ts.map +0 -1
  344. package/dist/git/helpers.js +0 -67
  345. package/dist/git/helpers.js.map +0 -1
  346. package/dist/git/index.d.ts +0 -18
  347. package/dist/git/index.d.ts.map +0 -1
  348. package/dist/git/index.js +0 -18
  349. package/dist/git/index.js.map +0 -1
  350. package/dist/git/name-status.d.ts +0 -32
  351. package/dist/git/name-status.d.ts.map +0 -1
  352. package/dist/git/name-status.js +0 -66
  353. package/dist/git/name-status.js.map +0 -1
  354. package/dist/index.d.ts +0 -107
  355. package/dist/index.js +0 -122
  356. package/dist/index.js.map +0 -1
  357. package/dist/lint/engine.d.ts +0 -113
  358. package/dist/lint/engine.d.ts.map +0 -1
  359. package/dist/lint/engine.js +0 -228
  360. package/dist/lint/engine.js.map +0 -1
  361. package/dist/lint/index.d.ts +0 -26
  362. package/dist/lint/index.d.ts.map +0 -1
  363. package/dist/lint/index.js +0 -24
  364. package/dist/lint/index.js.map +0 -1
  365. package/dist/lint/process-guard/decider.d.ts +0 -166
  366. package/dist/lint/process-guard/decider.d.ts.map +0 -1
  367. package/dist/lint/process-guard/decider.js +0 -412
  368. package/dist/lint/process-guard/decider.js.map +0 -1
  369. package/dist/lint/process-guard/derive-state.d.ts +0 -96
  370. package/dist/lint/process-guard/derive-state.d.ts.map +0 -1
  371. package/dist/lint/process-guard/derive-state.js +0 -368
  372. package/dist/lint/process-guard/derive-state.js.map +0 -1
  373. package/dist/lint/process-guard/detect-changes.d.ts +0 -109
  374. package/dist/lint/process-guard/detect-changes.d.ts.map +0 -1
  375. package/dist/lint/process-guard/detect-changes.js +0 -487
  376. package/dist/lint/process-guard/detect-changes.js.map +0 -1
  377. package/dist/lint/process-guard/index.d.ts +0 -35
  378. package/dist/lint/process-guard/index.d.ts.map +0 -1
  379. package/dist/lint/process-guard/index.js +0 -39
  380. package/dist/lint/process-guard/index.js.map +0 -1
  381. package/dist/lint/process-guard/types.d.ts +0 -255
  382. package/dist/lint/process-guard/types.d.ts.map +0 -1
  383. package/dist/lint/process-guard/types.js +0 -31
  384. package/dist/lint/process-guard/types.js.map +0 -1
  385. package/dist/lint/rules.d.ts +0 -147
  386. package/dist/lint/rules.d.ts.map +0 -1
  387. package/dist/lint/rules.js +0 -289
  388. package/dist/lint/rules.js.map +0 -1
  389. package/dist/lint/steps/cross-checks.d.ts +0 -66
  390. package/dist/lint/steps/cross-checks.d.ts.map +0 -1
  391. package/dist/lint/steps/cross-checks.js +0 -290
  392. package/dist/lint/steps/cross-checks.js.map +0 -1
  393. package/dist/lint/steps/feature-checks.d.ts +0 -78
  394. package/dist/lint/steps/feature-checks.d.ts.map +0 -1
  395. package/dist/lint/steps/feature-checks.js +0 -279
  396. package/dist/lint/steps/feature-checks.js.map +0 -1
  397. package/dist/lint/steps/index.d.ts +0 -22
  398. package/dist/lint/steps/index.d.ts.map +0 -1
  399. package/dist/lint/steps/index.js +0 -26
  400. package/dist/lint/steps/index.js.map +0 -1
  401. package/dist/lint/steps/pair-resolver.d.ts +0 -29
  402. package/dist/lint/steps/pair-resolver.d.ts.map +0 -1
  403. package/dist/lint/steps/pair-resolver.js +0 -76
  404. package/dist/lint/steps/pair-resolver.js.map +0 -1
  405. package/dist/lint/steps/runner.d.ts +0 -28
  406. package/dist/lint/steps/runner.d.ts.map +0 -1
  407. package/dist/lint/steps/runner.js +0 -143
  408. package/dist/lint/steps/runner.js.map +0 -1
  409. package/dist/lint/steps/step-checks.d.ts +0 -41
  410. package/dist/lint/steps/step-checks.d.ts.map +0 -1
  411. package/dist/lint/steps/step-checks.js +0 -164
  412. package/dist/lint/steps/step-checks.js.map +0 -1
  413. package/dist/lint/steps/types.d.ts +0 -95
  414. package/dist/lint/steps/types.d.ts.map +0 -1
  415. package/dist/lint/steps/types.js +0 -79
  416. package/dist/lint/steps/types.js.map +0 -1
  417. package/dist/lint/steps/utils.d.ts +0 -22
  418. package/dist/lint/steps/utils.d.ts.map +0 -1
  419. package/dist/lint/steps/utils.js +0 -57
  420. package/dist/lint/steps/utils.js.map +0 -1
  421. package/dist/mcp/file-watcher.d.ts +0 -24
  422. package/dist/mcp/file-watcher.js +0 -75
  423. package/dist/mcp/file-watcher.js.map +0 -1
  424. package/dist/mcp/index.d.ts +0 -19
  425. package/dist/mcp/index.js +0 -21
  426. package/dist/mcp/index.js.map +0 -1
  427. package/dist/mcp/pipeline-session.d.ts +0 -33
  428. package/dist/mcp/pipeline-session.js +0 -149
  429. package/dist/mcp/pipeline-session.js.map +0 -1
  430. package/dist/mcp/server.d.ts +0 -28
  431. package/dist/mcp/server.js +0 -197
  432. package/dist/mcp/server.js.map +0 -1
  433. package/dist/mcp/tool-registry.d.ts +0 -4
  434. package/dist/mcp/tool-registry.js +0 -525
  435. package/dist/mcp/tool-registry.js.map +0 -1
  436. package/dist/renderable/codecs/adr.d.ts +0 -4730
  437. package/dist/renderable/codecs/adr.d.ts.map +0 -1
  438. package/dist/renderable/codecs/adr.js +0 -590
  439. package/dist/renderable/codecs/adr.js.map +0 -1
  440. package/dist/renderable/codecs/architecture.d.ts +0 -4760
  441. package/dist/renderable/codecs/architecture.d.ts.map +0 -1
  442. package/dist/renderable/codecs/architecture.js +0 -524
  443. package/dist/renderable/codecs/architecture.js.map +0 -1
  444. package/dist/renderable/codecs/business-rules.d.ts +0 -4777
  445. package/dist/renderable/codecs/business-rules.d.ts.map +0 -1
  446. package/dist/renderable/codecs/business-rules.js +0 -648
  447. package/dist/renderable/codecs/business-rules.js.map +0 -1
  448. package/dist/renderable/codecs/claude-module.d.ts +0 -4710
  449. package/dist/renderable/codecs/claude-module.d.ts.map +0 -1
  450. package/dist/renderable/codecs/claude-module.js +0 -214
  451. package/dist/renderable/codecs/claude-module.js.map +0 -1
  452. package/dist/renderable/codecs/composite.d.ts +0 -84
  453. package/dist/renderable/codecs/composite.d.ts.map +0 -1
  454. package/dist/renderable/codecs/composite.js +0 -124
  455. package/dist/renderable/codecs/composite.js.map +0 -1
  456. package/dist/renderable/codecs/convention-extractor.d.ts +0 -105
  457. package/dist/renderable/codecs/convention-extractor.d.ts.map +0 -1
  458. package/dist/renderable/codecs/convention-extractor.js +0 -353
  459. package/dist/renderable/codecs/convention-extractor.js.map +0 -1
  460. package/dist/renderable/codecs/decision-doc.d.ts +0 -308
  461. package/dist/renderable/codecs/decision-doc.d.ts.map +0 -1
  462. package/dist/renderable/codecs/decision-doc.js +0 -485
  463. package/dist/renderable/codecs/decision-doc.js.map +0 -1
  464. package/dist/renderable/codecs/design-review.d.ts +0 -55
  465. package/dist/renderable/codecs/design-review.d.ts.map +0 -1
  466. package/dist/renderable/codecs/design-review.js +0 -532
  467. package/dist/renderable/codecs/design-review.js.map +0 -1
  468. package/dist/renderable/codecs/diagram-utils.d.ts +0 -62
  469. package/dist/renderable/codecs/diagram-utils.d.ts.map +0 -1
  470. package/dist/renderable/codecs/diagram-utils.js +0 -70
  471. package/dist/renderable/codecs/diagram-utils.js.map +0 -1
  472. package/dist/renderable/codecs/helpers.d.ts +0 -553
  473. package/dist/renderable/codecs/helpers.d.ts.map +0 -1
  474. package/dist/renderable/codecs/helpers.js +0 -913
  475. package/dist/renderable/codecs/helpers.js.map +0 -1
  476. package/dist/renderable/codecs/index-codec.d.ts +0 -4714
  477. package/dist/renderable/codecs/index.d.ts +0 -46
  478. package/dist/renderable/codecs/index.d.ts.map +0 -1
  479. package/dist/renderable/codecs/index.js +0 -70
  480. package/dist/renderable/codecs/index.js.map +0 -1
  481. package/dist/renderable/codecs/patterns.d.ts +0 -4757
  482. package/dist/renderable/codecs/patterns.d.ts.map +0 -1
  483. package/dist/renderable/codecs/patterns.js +0 -462
  484. package/dist/renderable/codecs/patterns.js.map +0 -1
  485. package/dist/renderable/codecs/planning.d.ts +0 -14055
  486. package/dist/renderable/codecs/planning.d.ts.map +0 -1
  487. package/dist/renderable/codecs/planning.js +0 -449
  488. package/dist/renderable/codecs/planning.js.map +0 -1
  489. package/dist/renderable/codecs/pr-changes.d.ts +0 -4742
  490. package/dist/renderable/codecs/pr-changes.d.ts.map +0 -1
  491. package/dist/renderable/codecs/pr-changes.js +0 -425
  492. package/dist/renderable/codecs/pr-changes.js.map +0 -1
  493. package/dist/renderable/codecs/reference.d.ts +0 -215
  494. package/dist/renderable/codecs/reference.d.ts.map +0 -1
  495. package/dist/renderable/codecs/reference.js +0 -1578
  496. package/dist/renderable/codecs/reference.js.map +0 -1
  497. package/dist/renderable/codecs/reporting.d.ts +0 -14026
  498. package/dist/renderable/codecs/reporting.d.ts.map +0 -1
  499. package/dist/renderable/codecs/reporting.js +0 -365
  500. package/dist/renderable/codecs/reporting.js.map +0 -1
  501. package/dist/renderable/codecs/requirements.d.ts +0 -4743
  502. package/dist/renderable/codecs/requirements.d.ts.map +0 -1
  503. package/dist/renderable/codecs/requirements.js +0 -428
  504. package/dist/renderable/codecs/requirements.js.map +0 -1
  505. package/dist/renderable/codecs/session.d.ts +0 -9410
  506. package/dist/renderable/codecs/session.d.ts.map +0 -1
  507. package/dist/renderable/codecs/session.js +0 -848
  508. package/dist/renderable/codecs/session.js.map +0 -1
  509. package/dist/renderable/codecs/shape-matcher.d.ts +0 -54
  510. package/dist/renderable/codecs/shape-matcher.d.ts.map +0 -1
  511. package/dist/renderable/codecs/shape-matcher.js +0 -106
  512. package/dist/renderable/codecs/shape-matcher.js.map +0 -1
  513. package/dist/renderable/codecs/shared-schema.d.ts +0 -44
  514. package/dist/renderable/codecs/shared-schema.d.ts.map +0 -1
  515. package/dist/renderable/codecs/shared-schema.js +0 -43
  516. package/dist/renderable/codecs/shared-schema.js.map +0 -1
  517. package/dist/renderable/codecs/taxonomy.d.ts +0 -4733
  518. package/dist/renderable/codecs/taxonomy.d.ts.map +0 -1
  519. package/dist/renderable/codecs/taxonomy.js +0 -570
  520. package/dist/renderable/codecs/taxonomy.js.map +0 -1
  521. package/dist/renderable/codecs/timeline.d.ts +0 -14094
  522. package/dist/renderable/codecs/timeline.d.ts.map +0 -1
  523. package/dist/renderable/codecs/timeline.js +0 -906
  524. package/dist/renderable/codecs/timeline.js.map +0 -1
  525. package/dist/renderable/codecs/types/base.d.ts +0 -81
  526. package/dist/renderable/codecs/types/base.d.ts.map +0 -1
  527. package/dist/renderable/codecs/types/base.js +0 -56
  528. package/dist/renderable/codecs/types/base.js.map +0 -1
  529. package/dist/renderable/codecs/types/index.d.ts +0 -5
  530. package/dist/renderable/codecs/types/index.d.ts.map +0 -1
  531. package/dist/renderable/codecs/types/index.js +0 -5
  532. package/dist/renderable/codecs/types/index.js.map +0 -1
  533. package/dist/renderable/codecs/validation-rules.d.ts +0 -4773
  534. package/dist/renderable/codecs/validation-rules.d.ts.map +0 -1
  535. package/dist/renderable/codecs/validation-rules.js +0 -537
  536. package/dist/renderable/codecs/validation-rules.js.map +0 -1
  537. package/dist/renderable/generate.d.ts +0 -338
  538. package/dist/renderable/generate.d.ts.map +0 -1
  539. package/dist/renderable/generate.js +0 -437
  540. package/dist/renderable/generate.js.map +0 -1
  541. package/dist/renderable/index.d.ts +0 -36
  542. package/dist/renderable/index.d.ts.map +0 -1
  543. package/dist/renderable/index.js +0 -58
  544. package/dist/renderable/index.js.map +0 -1
  545. package/dist/renderable/load-preamble.d.ts +0 -56
  546. package/dist/renderable/load-preamble.d.ts.map +0 -1
  547. package/dist/renderable/load-preamble.js +0 -298
  548. package/dist/renderable/load-preamble.js.map +0 -1
  549. package/dist/renderable/render.d.ts +0 -61
  550. package/dist/renderable/render.d.ts.map +0 -1
  551. package/dist/renderable/render.js +0 -346
  552. package/dist/renderable/render.js.map +0 -1
  553. package/dist/renderable/schema.d.ts +0 -194
  554. package/dist/renderable/schema.d.ts.map +0 -1
  555. package/dist/renderable/schema.js +0 -197
  556. package/dist/renderable/schema.js.map +0 -1
  557. package/dist/renderable/utils.d.ts +0 -146
  558. package/dist/renderable/utils.d.ts.map +0 -1
  559. package/dist/renderable/utils.js +0 -362
  560. package/dist/renderable/utils.js.map +0 -1
  561. package/dist/scanner/ast-parser.d.ts +0 -75
  562. package/dist/scanner/ast-parser.d.ts.map +0 -1
  563. package/dist/scanner/ast-parser.js +0 -835
  564. package/dist/scanner/ast-parser.js.map +0 -1
  565. package/dist/scanner/gherkin-ast-parser.d.ts +0 -166
  566. package/dist/scanner/gherkin-ast-parser.d.ts.map +0 -1
  567. package/dist/scanner/gherkin-ast-parser.js +0 -507
  568. package/dist/scanner/gherkin-ast-parser.js.map +0 -1
  569. package/dist/scanner/gherkin-scanner.d.ts +0 -106
  570. package/dist/scanner/gherkin-scanner.d.ts.map +0 -1
  571. package/dist/scanner/gherkin-scanner.js +0 -149
  572. package/dist/scanner/gherkin-scanner.js.map +0 -1
  573. package/dist/scanner/index.d.ts +0 -85
  574. package/dist/scanner/index.d.ts.map +0 -1
  575. package/dist/scanner/index.js +0 -102
  576. package/dist/scanner/index.js.map +0 -1
  577. package/dist/scanner/pattern-scanner.d.ts +0 -83
  578. package/dist/scanner/pattern-scanner.d.ts.map +0 -1
  579. package/dist/scanner/pattern-scanner.js +0 -110
  580. package/dist/scanner/pattern-scanner.js.map +0 -1
  581. package/dist/taxonomy/categories.d.ts +0 -47
  582. package/dist/taxonomy/categories.d.ts.map +0 -1
  583. package/dist/taxonomy/categories.js +0 -175
  584. package/dist/taxonomy/categories.js.map +0 -1
  585. package/dist/taxonomy/claude-section-values.d.ts +0 -12
  586. package/dist/taxonomy/claude-section-values.d.ts.map +0 -1
  587. package/dist/taxonomy/claude-section-values.js +0 -17
  588. package/dist/taxonomy/claude-section-values.js.map +0 -1
  589. package/dist/taxonomy/conventions.d.ts +0 -13
  590. package/dist/taxonomy/conventions.d.ts.map +0 -1
  591. package/dist/taxonomy/conventions.js +0 -27
  592. package/dist/taxonomy/conventions.js.map +0 -1
  593. package/dist/taxonomy/deliverable-status.d.ts +0 -99
  594. package/dist/taxonomy/deliverable-status.d.ts.map +0 -1
  595. package/dist/taxonomy/deliverable-status.js +0 -131
  596. package/dist/taxonomy/deliverable-status.js.map +0 -1
  597. package/dist/taxonomy/format-types.d.ts +0 -17
  598. package/dist/taxonomy/format-types.d.ts.map +0 -1
  599. package/dist/taxonomy/format-types.js +0 -23
  600. package/dist/taxonomy/format-types.js.map +0 -1
  601. package/dist/taxonomy/generator-options.d.ts +0 -67
  602. package/dist/taxonomy/generator-options.d.ts.map +0 -1
  603. package/dist/taxonomy/generator-options.js +0 -75
  604. package/dist/taxonomy/generator-options.js.map +0 -1
  605. package/dist/taxonomy/hierarchy-levels.d.ts +0 -23
  606. package/dist/taxonomy/hierarchy-levels.d.ts.map +0 -1
  607. package/dist/taxonomy/hierarchy-levels.js +0 -22
  608. package/dist/taxonomy/hierarchy-levels.js.map +0 -1
  609. package/dist/taxonomy/index.d.ts +0 -35
  610. package/dist/taxonomy/index.d.ts.map +0 -1
  611. package/dist/taxonomy/index.js +0 -56
  612. package/dist/taxonomy/index.js.map +0 -1
  613. package/dist/taxonomy/layer-types.d.ts +0 -22
  614. package/dist/taxonomy/layer-types.d.ts.map +0 -1
  615. package/dist/taxonomy/layer-types.js +0 -28
  616. package/dist/taxonomy/layer-types.js.map +0 -1
  617. package/dist/taxonomy/normalized-status.d.ts +0 -99
  618. package/dist/taxonomy/normalized-status.d.ts.map +0 -1
  619. package/dist/taxonomy/normalized-status.js +0 -113
  620. package/dist/taxonomy/normalized-status.js.map +0 -1
  621. package/dist/taxonomy/registry-builder.d.ts +0 -104
  622. package/dist/taxonomy/registry-builder.d.ts.map +0 -1
  623. package/dist/taxonomy/registry-builder.js +0 -561
  624. package/dist/taxonomy/registry-builder.js.map +0 -1
  625. package/dist/taxonomy/risk-levels.d.ts +0 -16
  626. package/dist/taxonomy/risk-levels.d.ts.map +0 -1
  627. package/dist/taxonomy/risk-levels.js +0 -15
  628. package/dist/taxonomy/risk-levels.js.map +0 -1
  629. package/dist/taxonomy/severity-types.d.ts +0 -6
  630. package/dist/taxonomy/severity-types.d.ts.map +0 -1
  631. package/dist/taxonomy/severity-types.js +0 -5
  632. package/dist/taxonomy/severity-types.js.map +0 -1
  633. package/dist/taxonomy/status-values.d.ts +0 -39
  634. package/dist/taxonomy/status-values.d.ts.map +0 -1
  635. package/dist/taxonomy/status-values.js +0 -42
  636. package/dist/taxonomy/status-values.js.map +0 -1
  637. package/dist/types/branded.d.ts +0 -89
  638. package/dist/types/branded.d.ts.map +0 -1
  639. package/dist/types/branded.js +0 -57
  640. package/dist/types/branded.js.map +0 -1
  641. package/dist/types/errors.d.ts +0 -342
  642. package/dist/types/errors.d.ts.map +0 -1
  643. package/dist/types/errors.js +0 -251
  644. package/dist/types/errors.js.map +0 -1
  645. package/dist/types/index.d.ts +0 -41
  646. package/dist/types/index.d.ts.map +0 -1
  647. package/dist/types/index.js +0 -5
  648. package/dist/types/index.js.map +0 -1
  649. package/dist/types/result.d.ts +0 -78
  650. package/dist/types/result.d.ts.map +0 -1
  651. package/dist/types/result.js +0 -78
  652. package/dist/types/result.js.map +0 -1
  653. package/dist/utils/collection-utils.d.ts +0 -49
  654. package/dist/utils/collection-utils.d.ts.map +0 -1
  655. package/dist/utils/collection-utils.js +0 -58
  656. package/dist/utils/collection-utils.js.map +0 -1
  657. package/dist/utils/id-utils.d.ts +0 -46
  658. package/dist/utils/id-utils.d.ts.map +0 -1
  659. package/dist/utils/id-utils.js +0 -51
  660. package/dist/utils/id-utils.js.map +0 -1
  661. package/dist/utils/index.d.ts +0 -21
  662. package/dist/utils/index.d.ts.map +0 -1
  663. package/dist/utils/index.js +0 -21
  664. package/dist/utils/index.js.map +0 -1
  665. package/dist/utils/string-utils.d.ts +0 -150
  666. package/dist/utils/string-utils.d.ts.map +0 -1
  667. package/dist/utils/string-utils.js +0 -281
  668. package/dist/utils/string-utils.js.map +0 -1
  669. package/dist/validation/anti-patterns.d.ts +0 -134
  670. package/dist/validation/anti-patterns.d.ts.map +0 -1
  671. package/dist/validation/anti-patterns.js +0 -307
  672. package/dist/validation/anti-patterns.js.map +0 -1
  673. package/dist/validation/dod-validator.d.ts +0 -94
  674. package/dist/validation/dod-validator.d.ts.map +0 -1
  675. package/dist/validation/dod-validator.js +0 -198
  676. package/dist/validation/dod-validator.js.map +0 -1
  677. package/dist/validation/fsm/index.d.ts +0 -59
  678. package/dist/validation/fsm/index.d.ts.map +0 -1
  679. package/dist/validation/fsm/index.js +0 -64
  680. package/dist/validation/fsm/index.js.map +0 -1
  681. package/dist/validation/fsm/states.d.ts +0 -93
  682. package/dist/validation/fsm/states.d.ts.map +0 -1
  683. package/dist/validation/fsm/states.js +0 -98
  684. package/dist/validation/fsm/states.js.map +0 -1
  685. package/dist/validation/fsm/transitions.d.ts +0 -100
  686. package/dist/validation/fsm/transitions.d.ts.map +0 -1
  687. package/dist/validation/fsm/transitions.js +0 -122
  688. package/dist/validation/fsm/transitions.js.map +0 -1
  689. package/dist/validation/fsm/validator.d.ts +0 -163
  690. package/dist/validation/fsm/validator.d.ts.map +0 -1
  691. package/dist/validation/fsm/validator.js +0 -205
  692. package/dist/validation/fsm/validator.js.map +0 -1
  693. package/dist/validation/index.d.ts +0 -23
  694. package/dist/validation/index.d.ts.map +0 -1
  695. package/dist/validation/index.js +0 -25
  696. package/dist/validation/index.js.map +0 -1
  697. package/dist/validation/types.d.ts +0 -136
  698. package/dist/validation/types.d.ts.map +0 -1
  699. package/dist/validation/types.js +0 -56
  700. package/dist/validation/types.js.map +0 -1
  701. package/dist/validation-schemas/codec-utils.d.ts +0 -188
  702. package/dist/validation-schemas/codec-utils.d.ts.map +0 -1
  703. package/dist/validation-schemas/codec-utils.js +0 -258
  704. package/dist/validation-schemas/codec-utils.js.map +0 -1
  705. package/dist/validation-schemas/config.d.ts +0 -99
  706. package/dist/validation-schemas/config.d.ts.map +0 -1
  707. package/dist/validation-schemas/config.js +0 -178
  708. package/dist/validation-schemas/config.js.map +0 -1
  709. package/dist/validation-schemas/doc-directive.d.ts +0 -195
  710. package/dist/validation-schemas/doc-directive.d.ts.map +0 -1
  711. package/dist/validation-schemas/doc-directive.js +0 -239
  712. package/dist/validation-schemas/doc-directive.js.map +0 -1
  713. package/dist/validation-schemas/dual-source.d.ts +0 -167
  714. package/dist/validation-schemas/dual-source.d.ts.map +0 -1
  715. package/dist/validation-schemas/dual-source.js +0 -168
  716. package/dist/validation-schemas/dual-source.js.map +0 -1
  717. package/dist/validation-schemas/export-info.d.ts +0 -53
  718. package/dist/validation-schemas/export-info.d.ts.map +0 -1
  719. package/dist/validation-schemas/export-info.js +0 -101
  720. package/dist/validation-schemas/export-info.js.map +0 -1
  721. package/dist/validation-schemas/extracted-pattern.d.ts +0 -351
  722. package/dist/validation-schemas/extracted-pattern.d.ts.map +0 -1
  723. package/dist/validation-schemas/extracted-pattern.js +0 -459
  724. package/dist/validation-schemas/extracted-pattern.js.map +0 -1
  725. package/dist/validation-schemas/extracted-shape.d.ts +0 -200
  726. package/dist/validation-schemas/extracted-shape.d.ts.map +0 -1
  727. package/dist/validation-schemas/extracted-shape.js +0 -182
  728. package/dist/validation-schemas/extracted-shape.js.map +0 -1
  729. package/dist/validation-schemas/feature.d.ts +0 -554
  730. package/dist/validation-schemas/feature.d.ts.map +0 -1
  731. package/dist/validation-schemas/feature.js +0 -262
  732. package/dist/validation-schemas/feature.js.map +0 -1
  733. package/dist/validation-schemas/index.d.ts +0 -15
  734. package/dist/validation-schemas/index.d.ts.map +0 -1
  735. package/dist/validation-schemas/index.js +0 -32
  736. package/dist/validation-schemas/index.js.map +0 -1
  737. package/dist/validation-schemas/lint.d.ts +0 -46
  738. package/dist/validation-schemas/lint.d.ts.map +0 -1
  739. package/dist/validation-schemas/lint.js +0 -45
  740. package/dist/validation-schemas/lint.js.map +0 -1
  741. package/dist/validation-schemas/master-dataset.d.ts +0 -8299
  742. package/dist/validation-schemas/master-dataset.d.ts.map +0 -1
  743. package/dist/validation-schemas/master-dataset.js +0 -275
  744. package/dist/validation-schemas/master-dataset.js.map +0 -1
  745. package/dist/validation-schemas/output-schemas.d.ts +0 -183
  746. package/dist/validation-schemas/output-schemas.d.ts.map +0 -1
  747. package/dist/validation-schemas/output-schemas.js +0 -149
  748. package/dist/validation-schemas/output-schemas.js.map +0 -1
  749. package/dist/validation-schemas/scenario-ref.d.ts +0 -80
  750. package/dist/validation-schemas/scenario-ref.d.ts.map +0 -1
  751. package/dist/validation-schemas/scenario-ref.js +0 -73
  752. package/dist/validation-schemas/scenario-ref.js.map +0 -1
  753. package/dist/validation-schemas/tag-registry.d.ts +0 -210
  754. package/dist/validation-schemas/tag-registry.d.ts.map +0 -1
  755. package/dist/validation-schemas/tag-registry.js +0 -248
  756. package/dist/validation-schemas/tag-registry.js.map +0 -1
  757. package/dist/validation-schemas/workflow-config.d.ts +0 -125
  758. package/dist/validation-schemas/workflow-config.d.ts.map +0 -1
  759. package/dist/validation-schemas/workflow-config.js +0 -138
  760. package/dist/validation-schemas/workflow-config.js.map +0 -1
@@ -1,906 +0,0 @@
1
- /**
2
- * @architect
3
- * @architect-core
4
- * @architect-pattern TimelineCodec
5
- * @architect-status completed
6
- * @architect-convention codec-registry
7
- * @architect-product-area:Generation
8
- *
9
- * ## RoadmapDocumentCodec
10
- *
11
- * **Purpose:** Development roadmap organized by phase with progress tracking.
12
- *
13
- * **Output Files:** `ROADMAP.md` (main roadmap), `phases/phase-<N>-<name>.md` (phase details)
14
- *
15
- * | Option | Type | Default | Description |
16
- * | --- | --- | --- | --- |
17
- * | generateDetailFiles | boolean | true | Create phase detail files |
18
- * | filterStatus | NormalizedStatusFilter[] | [] | Filter by status |
19
- * | includeProcess | boolean | true | Show quarter, effort, team metadata |
20
- * | includeDeliverables | boolean | true | List deliverables per phase |
21
- * | filterPhases | number[] | [] | Filter to specific phases |
22
- *
23
- * ## CompletedMilestonesCodec
24
- *
25
- * **Purpose:** Historical record of completed work organized by quarter.
26
- *
27
- * **Output Files:** `COMPLETED-MILESTONES.md` (summary), `milestones/<quarter>.md` (quarter details)
28
- *
29
- * ### When to Use
30
- *
31
- * - When documenting project history and completed phases
32
- * - When generating quarterly achievement summaries
33
- * - When tracking velocity by quarter
34
- *
35
- * ## CurrentWorkCodec
36
- *
37
- * **Purpose:** Active development work currently in progress.
38
- *
39
- * **Output Files:** `CURRENT-WORK.md` (summary), `current/phase-<N>-<name>.md` (active phase details)
40
- *
41
- * ### When to Use
42
- *
43
- * - When monitoring active development across all in-progress phases
44
- * - When generating sprint/session status dashboards
45
- * - When checking which patterns are currently being worked on
46
- */
47
- import { z } from 'zod';
48
- import { MasterDatasetSchema, } from '../../validation-schemas/master-dataset.js';
49
- import { heading, paragraph, separator, table, list, collapsible, linkOut, document, } from '../schema.js';
50
- import { normalizeStatus, isPatternComplete, isPatternActive, isPatternPlanned, } from '../../taxonomy/index.js';
51
- import { getDeliverableStatusEmoji } from '../../taxonomy/deliverable-status.js';
52
- import { getPhaseStatusEmoji } from '../../validation/types.js';
53
- import { getStatusEmoji, getDisplayName, extractSummary, completionPercentage, renderProgressBar, sortByPhaseAndName, formatBusinessValue, } from '../utils.js';
54
- import { toKebabCase, groupBy } from '../../utils/index.js';
55
- import { DEFAULT_BASE_OPTIONS, mergeOptions, } from './types/base.js';
56
- /**
57
- * Default options for RoadmapDocumentCodec
58
- */
59
- export const DEFAULT_ROADMAP_OPTIONS = {
60
- ...DEFAULT_BASE_OPTIONS,
61
- filterStatus: [],
62
- includeProcess: true,
63
- includeDeliverables: true,
64
- filterPhases: [],
65
- };
66
- /**
67
- * Default options for CompletedMilestonesCodec
68
- */
69
- export const DEFAULT_MILESTONES_OPTIONS = {
70
- ...DEFAULT_BASE_OPTIONS,
71
- filterQuarters: [],
72
- includeDeliverables: true,
73
- includeLinks: true,
74
- };
75
- /**
76
- * Default options for CurrentWorkCodec
77
- */
78
- export const DEFAULT_CURRENT_WORK_OPTIONS = {
79
- ...DEFAULT_BASE_OPTIONS,
80
- includeDeliverables: true,
81
- includeProcess: true,
82
- };
83
- import { RenderableDocumentOutputSchema } from './shared-schema.js';
84
- import { renderAcceptanceCriteria, renderBusinessRulesSection } from './helpers.js';
85
- // ═══════════════════════════════════════════════════════════════════════════
86
- // Roadmap Document Codec
87
- // ═══════════════════════════════════════════════════════════════════════════
88
- /**
89
- * Create a RoadmapDocumentCodec with custom options.
90
- *
91
- * @param options - Codec configuration options
92
- * @returns Configured Zod codec
93
- *
94
- * @example
95
- * ```typescript
96
- * // Disable detail files for summary output
97
- * const codec = createRoadmapCodec({ generateDetailFiles: false });
98
- *
99
- * // Filter to specific phases
100
- * const codec = createRoadmapCodec({ filterPhases: [1, 2, 3] });
101
- * ```
102
- */
103
- export function createRoadmapCodec(options) {
104
- const opts = mergeOptions(DEFAULT_ROADMAP_OPTIONS, options);
105
- return z.codec(MasterDatasetSchema, RenderableDocumentOutputSchema, {
106
- decode: (dataset) => {
107
- return buildRoadmapDocument(dataset, opts);
108
- },
109
- /** @throws Always - this codec is decode-only. See zod-codecs.md */
110
- encode: () => {
111
- throw new Error('RoadmapDocumentCodec is decode-only. See zod-codecs.md');
112
- },
113
- });
114
- }
115
- /**
116
- * Default Roadmap Document Codec
117
- *
118
- * Transforms MasterDataset → RenderableDocument for roadmap view.
119
- * Shows phases with progress, patterns grouped by phase.
120
- */
121
- export const RoadmapDocumentCodec = createRoadmapCodec();
122
- /**
123
- * Create a CompletedMilestonesCodec with custom options.
124
- *
125
- * @param options - Codec configuration options
126
- * @returns Configured Zod codec
127
- *
128
- * @example
129
- * ```typescript
130
- * // Filter to specific quarters
131
- * const codec = createMilestonesCodec({ filterQuarters: ["Q1-2025"] });
132
- * ```
133
- */
134
- export function createMilestonesCodec(options) {
135
- const opts = mergeOptions(DEFAULT_MILESTONES_OPTIONS, options);
136
- return z.codec(MasterDatasetSchema, RenderableDocumentOutputSchema, {
137
- decode: (dataset) => {
138
- return buildCompletedMilestonesDocument(dataset, opts);
139
- },
140
- /** @throws Always - this codec is decode-only. See zod-codecs.md */
141
- encode: () => {
142
- throw new Error('CompletedMilestonesCodec is decode-only. See zod-codecs.md');
143
- },
144
- });
145
- }
146
- /**
147
- * Default Completed Milestones Document Codec
148
- *
149
- * Transforms MasterDataset → RenderableDocument for completed milestones.
150
- * Shows historical completed phases and patterns.
151
- */
152
- export const CompletedMilestonesCodec = createMilestonesCodec();
153
- /**
154
- * Create a CurrentWorkCodec with custom options.
155
- *
156
- * @param options - Codec configuration options
157
- * @returns Configured Zod codec
158
- *
159
- * @example
160
- * ```typescript
161
- * // Disable deliverables in output
162
- * const codec = createCurrentWorkCodec({ includeDeliverables: false });
163
- *
164
- * // Compact output without detail files
165
- * const codec = createCurrentWorkCodec({ generateDetailFiles: false });
166
- * ```
167
- */
168
- export function createCurrentWorkCodec(options) {
169
- const opts = mergeOptions(DEFAULT_CURRENT_WORK_OPTIONS, options);
170
- return z.codec(MasterDatasetSchema, RenderableDocumentOutputSchema, {
171
- decode: (dataset) => {
172
- return buildCurrentWorkDocument(dataset, opts);
173
- },
174
- /** @throws Always - this codec is decode-only. See zod-codecs.md */
175
- encode: () => {
176
- throw new Error('CurrentWorkCodec is decode-only. See zod-codecs.md');
177
- },
178
- });
179
- }
180
- /**
181
- * Default Current Work Document Codec
182
- *
183
- * Transforms MasterDataset → RenderableDocument for current work.
184
- * Shows active phases with deliverables and progress tracking.
185
- */
186
- export const CurrentWorkCodec = createCurrentWorkCodec();
187
- // ═══════════════════════════════════════════════════════════════════════════
188
- // Roadmap Document Builder
189
- // ═══════════════════════════════════════════════════════════════════════════
190
- /**
191
- * Build roadmap document
192
- */
193
- function buildRoadmapDocument(dataset, options) {
194
- const sections = [];
195
- // 1. Overall progress summary
196
- sections.push(...buildOverallProgress(dataset));
197
- // 2. Phase navigation table (links to detail files)
198
- sections.push(...buildPhaseNavigationTable(dataset, options));
199
- // 3. Phase summaries (inline)
200
- sections.push(...buildPhaseBreakdown(dataset));
201
- // 4. Quarterly timeline (if quarters exist)
202
- if (Object.keys(dataset.byQuarter).length > 0) {
203
- sections.push(...buildQuarterlyTimeline(dataset));
204
- }
205
- // Build phase detail files (if enabled)
206
- const additionalFiles = options.generateDetailFiles
207
- ? buildPhaseDetailFiles(dataset, options)
208
- : {};
209
- const docOpts = {
210
- purpose: 'Track implementation progress by phase',
211
- detailLevel: options.generateDetailFiles
212
- ? 'Phase summaries with links to details'
213
- : 'Compact summary',
214
- };
215
- if (Object.keys(additionalFiles).length > 0) {
216
- docOpts.additionalFiles = additionalFiles;
217
- }
218
- return document('Development Roadmap', sections, docOpts);
219
- }
220
- /**
221
- * Build overall progress section
222
- */
223
- function buildOverallProgress(dataset) {
224
- const { counts, phaseCount } = dataset;
225
- const progress = completionPercentage(counts);
226
- const progressBar = renderProgressBar(counts.completed, counts.total, 20);
227
- // Count completed phases
228
- const completedPhases = dataset.byPhase.filter((p) => p.counts.total > 0 && p.counts.completed === p.counts.total).length;
229
- return [
230
- heading(2, 'Overall Progress'),
231
- paragraph(`**Patterns:** ${progressBar} (${progress}%)`),
232
- paragraph(`**Phases:** ${completedPhases}/${phaseCount} complete`),
233
- table(['Metric', 'Value'], [
234
- ['Total Patterns', String(counts.total)],
235
- ['Completed', String(counts.completed)],
236
- ['Active', String(counts.active)],
237
- ['Planned', String(counts.planned)],
238
- ]),
239
- separator(),
240
- ];
241
- }
242
- /**
243
- * Build phase breakdown section
244
- */
245
- function buildPhaseBreakdown(dataset) {
246
- const sections = [];
247
- sections.push(heading(2, 'Phases'));
248
- // Sort phases by number
249
- const sortedPhases = [...dataset.byPhase].sort((a, b) => a.phaseNumber - b.phaseNumber);
250
- for (const phase of sortedPhases) {
251
- sections.push(...buildPhaseSection(phase));
252
- }
253
- return sections;
254
- }
255
- /**
256
- * Build a single phase section
257
- */
258
- function buildPhaseSection(phase) {
259
- const sections = [];
260
- const { phaseNumber, phaseName, patterns, counts } = phase;
261
- const displayName = phaseName ?? `Phase ${phaseNumber}`;
262
- const progress = completionPercentage(counts);
263
- const progressBar = renderProgressBar(counts.completed, counts.total, 15);
264
- const isComplete = counts.total > 0 && counts.completed === counts.total;
265
- // Phase header with progress
266
- const statusEmoji = getPhaseStatusEmoji(isComplete, counts.active > 0);
267
- sections.push(heading(3, `${statusEmoji} ${displayName}`));
268
- sections.push(paragraph(`${progressBar} ${progress}% complete`));
269
- // Pattern table for this phase
270
- const sortedPatterns = sortByPhaseAndName([...patterns]);
271
- const rows = sortedPatterns.map((p) => {
272
- const emoji = getStatusEmoji(p.status);
273
- const name = getDisplayName(p);
274
- const status = normalizeStatus(p.status);
275
- const summary = extractSummary(p.directive.description, p.patternName);
276
- return [`${emoji} ${name}`, status, summary || '-'];
277
- });
278
- sections.push(table(['Pattern', 'Status', 'Description'], rows), separator());
279
- return sections;
280
- }
281
- /**
282
- * Build quarterly timeline section
283
- */
284
- function buildQuarterlyTimeline(dataset) {
285
- const sections = [];
286
- const quarters = Object.keys(dataset.byQuarter).sort();
287
- if (quarters.length === 0) {
288
- return [];
289
- }
290
- sections.push(heading(2, 'Quarterly Timeline'));
291
- // Current quarter detection
292
- const now = new Date();
293
- const currentQuarter = `Q${Math.ceil((now.getMonth() + 1) / 3)}-${now.getFullYear()}`;
294
- const rows = quarters.map((quarter) => {
295
- const patterns = dataset.byQuarter[quarter] ?? [];
296
- const completed = patterns.filter((p) => isPatternComplete(p.status)).length;
297
- const isCurrent = quarter === currentQuarter;
298
- const marker = isCurrent ? ' ← Current' : '';
299
- return [quarter + marker, String(patterns.length), String(completed)];
300
- });
301
- sections.push(table(['Quarter', 'Total', 'Completed'], rows), separator());
302
- return sections;
303
- }
304
- // ═══════════════════════════════════════════════════════════════════════════
305
- // Roadmap Progressive Disclosure
306
- // ═══════════════════════════════════════════════════════════════════════════
307
- /**
308
- * Build phase navigation table with links to detail files
309
- */
310
- function buildPhaseNavigationTable(dataset, options) {
311
- const sections = [];
312
- const sortedPhases = [...dataset.byPhase].sort((a, b) => a.phaseNumber - b.phaseNumber);
313
- if (sortedPhases.length === 0) {
314
- return [];
315
- }
316
- sections.push(heading(2, 'Phase Navigation'));
317
- const rows = sortedPhases.map((phase) => {
318
- const { phaseNumber, phaseName, counts } = phase;
319
- const displayName = phaseName ?? `Phase ${phaseNumber}`;
320
- const progress = completionPercentage(counts);
321
- const isComplete = counts.total > 0 && counts.completed === counts.total;
322
- const statusEmoji = getPhaseStatusEmoji(isComplete, counts.active > 0);
323
- const slug = getPhaseSlug(phaseNumber, phaseName);
324
- // Link to detail file if generating detail files, otherwise just display name
325
- const nameCell = options.generateDetailFiles
326
- ? `${statusEmoji} [${displayName}](phases/${slug}.md)`
327
- : `${statusEmoji} ${displayName}`;
328
- return [nameCell, `${counts.completed}/${counts.total}`, `${progress}%`];
329
- });
330
- sections.push(table(['Phase', 'Progress', 'Complete'], rows), separator());
331
- return sections;
332
- }
333
- /**
334
- * Generate slug for phase detail file
335
- *
336
- * Produces readable slugs with proper word separation:
337
- * - Phase 14 "DeciderPattern" → "phase-14-decider-pattern"
338
- * - Phase 19 "BddTestingInfrastructure" → "phase-19-bdd-testing-infrastructure"
339
- * - Phase 5 (no name) → "phase-5-unnamed"
340
- *
341
- * @param phaseNumber - The phase number
342
- * @param phaseName - Optional phase name (typically CamelCase)
343
- * @returns URL-safe slug for the phase
344
- *
345
- * @internal Exported for testing - not part of public API
346
- */
347
- export function getPhaseSlug(phaseNumber, phaseName) {
348
- const paddedPhase = String(phaseNumber).padStart(2, '0');
349
- const namePart = phaseName ? toKebabCase(phaseName) : 'unnamed';
350
- return `phase-${paddedPhase}-${namePart}`;
351
- }
352
- /**
353
- * Build phase detail files (progressive disclosure)
354
- */
355
- function buildPhaseDetailFiles(dataset, options) {
356
- const files = {};
357
- let sortedPhases = [...dataset.byPhase].sort((a, b) => a.phaseNumber - b.phaseNumber);
358
- // Apply phase filter if specified
359
- if (options.filterPhases.length > 0) {
360
- sortedPhases = sortedPhases.filter((p) => options.filterPhases.includes(p.phaseNumber));
361
- }
362
- for (const phase of sortedPhases) {
363
- if (phase.patterns.length === 0)
364
- continue;
365
- const slug = getPhaseSlug(phase.phaseNumber, phase.phaseName);
366
- files[`phases/${slug}.md`] = buildPhaseDetailDocument(phase, options);
367
- }
368
- return files;
369
- }
370
- /**
371
- * Build a single phase detail document
372
- */
373
- function buildPhaseDetailDocument(phase, _options) {
374
- const sections = [];
375
- const { phaseNumber, phaseName, patterns, counts } = phase;
376
- const displayName = phaseName ?? `Phase ${phaseNumber}`;
377
- // Summary
378
- const progress = completionPercentage(counts);
379
- const progressBar = renderProgressBar(counts.completed, counts.total, 20);
380
- sections.push(heading(2, 'Summary'), paragraph(`**Progress:** ${progressBar} (${progress}%)`), table(['Status', 'Count'], [
381
- ['✅ Completed', String(counts.completed)],
382
- ['🚧 Active', String(counts.active)],
383
- ['📋 Planned', String(counts.planned)],
384
- ['**Total**', String(counts.total)],
385
- ]), separator());
386
- // Patterns by status
387
- const completed = patterns.filter((p) => isPatternComplete(p.status));
388
- const active = patterns.filter((p) => isPatternActive(p.status));
389
- const planned = patterns.filter((p) => isPatternPlanned(p.status));
390
- if (active.length > 0) {
391
- sections.push(heading(2, '🚧 Active Patterns'));
392
- sections.push(...buildPatternDetailList(active));
393
- }
394
- if (planned.length > 0) {
395
- sections.push(heading(2, '📋 Planned Patterns'));
396
- sections.push(...buildPatternDetailList(planned));
397
- }
398
- if (completed.length > 0) {
399
- sections.push(heading(2, '✅ Completed Patterns'));
400
- sections.push(...buildPatternDetailList(completed));
401
- }
402
- // Back link
403
- sections.push(linkOut('← Back to Roadmap', '../ROADMAP.md'));
404
- return document(displayName, sections, {
405
- purpose: `Detailed patterns for ${displayName}`,
406
- });
407
- }
408
- /**
409
- * Build detailed pattern list for phase detail files
410
- */
411
- function buildPatternDetailList(patterns) {
412
- const sections = [];
413
- const sorted = sortByPhaseAndName([...patterns]);
414
- for (const pattern of sorted) {
415
- const emoji = getStatusEmoji(pattern.status);
416
- const name = getDisplayName(pattern);
417
- sections.push(heading(3, `${emoji} ${name}`));
418
- // Metadata table
419
- const metaRows = [['Status', normalizeStatus(pattern.status)]];
420
- if (pattern.effort) {
421
- metaRows.push(['Effort', pattern.effort]);
422
- }
423
- if (pattern.quarter) {
424
- metaRows.push(['Quarter', pattern.quarter]);
425
- }
426
- const businessValue = formatBusinessValue(pattern.businessValue);
427
- if (businessValue) {
428
- metaRows.push(['Business Value', businessValue]);
429
- }
430
- sections.push(table(['Property', 'Value'], metaRows));
431
- // Description
432
- if (pattern.directive.description) {
433
- sections.push(paragraph(pattern.directive.description));
434
- }
435
- // Dependencies
436
- if (pattern.dependsOn && pattern.dependsOn.length > 0) {
437
- sections.push(heading(4, 'Dependencies'), list(pattern.dependsOn.map((d) => `Depends on: ${d}`)));
438
- }
439
- if (pattern.enables && pattern.enables.length > 0) {
440
- sections.push(heading(4, 'Enables'), list(pattern.enables.map((e) => `Enables: ${e}`)));
441
- }
442
- // Use cases
443
- if (pattern.useCases && pattern.useCases.length > 0) {
444
- sections.push(heading(4, 'Use Cases'), list([...pattern.useCases]));
445
- }
446
- // Acceptance Criteria (scenarios with steps, DataTables, DocStrings)
447
- sections.push(...renderAcceptanceCriteria(pattern.scenarios));
448
- // Business Rules (from Gherkin Rule: keyword)
449
- sections.push(...renderBusinessRulesSection(pattern.rules));
450
- sections.push(separator());
451
- }
452
- return sections;
453
- }
454
- // ═══════════════════════════════════════════════════════════════════════════
455
- // Completed Milestones Document Builder
456
- // ═══════════════════════════════════════════════════════════════════════════
457
- /**
458
- * Build completed milestones document
459
- */
460
- function buildCompletedMilestonesDocument(dataset, options) {
461
- const sections = [];
462
- // Get completed patterns
463
- let completedPatterns = dataset.byStatus.completed;
464
- // Apply quarter filter if specified
465
- if (options.filterQuarters.length > 0) {
466
- completedPatterns = completedPatterns.filter((p) => p.quarter !== undefined && options.filterQuarters.includes(p.quarter));
467
- }
468
- if (completedPatterns.length === 0) {
469
- sections.push(heading(2, 'No Completed Milestones'), paragraph('No patterns have been completed yet.'));
470
- return document('Completed Milestones', sections, {
471
- purpose: 'Historical record of completed work',
472
- });
473
- }
474
- // 1. Summary
475
- sections.push(...buildCompletedSummary(dataset, completedPatterns));
476
- // 2. Quarterly navigation table (links to detail files)
477
- sections.push(...buildQuarterlyNavigationTable(dataset, completedPatterns, options));
478
- // 3. Completed phases
479
- sections.push(...buildCompletedPhases(dataset));
480
- // 4. Recent completions (limit from options)
481
- const recentLimit = options.limits.recentItems;
482
- sections.push(...buildRecentCompletions(completedPatterns, recentLimit));
483
- // Build quarterly detail files (if enabled)
484
- const additionalFiles = options.generateDetailFiles
485
- ? buildQuarterlyMilestoneFiles(dataset, completedPatterns, options)
486
- : {};
487
- const docOpts = {
488
- purpose: 'Historical record of completed work',
489
- detailLevel: options.generateDetailFiles
490
- ? 'Quarterly summaries with links to details'
491
- : 'Compact summary',
492
- };
493
- if (Object.keys(additionalFiles).length > 0) {
494
- docOpts.additionalFiles = additionalFiles;
495
- }
496
- return document('Completed Milestones', sections, docOpts);
497
- }
498
- /**
499
- * Build completed summary section
500
- */
501
- function buildCompletedSummary(dataset, completedPatterns) {
502
- const completedPhases = dataset.byPhase.filter((p) => p.counts.total > 0 && p.counts.completed === p.counts.total).length;
503
- return [
504
- heading(2, 'Summary'),
505
- table(['Metric', 'Value'], [
506
- ['Completed Patterns', String(completedPatterns.length)],
507
- ['Completed Phases', String(completedPhases)],
508
- ['Total Phases', String(dataset.phaseCount)],
509
- ]),
510
- separator(),
511
- ];
512
- }
513
- /**
514
- * Build completed phases section
515
- */
516
- function buildCompletedPhases(dataset) {
517
- const sections = [];
518
- // Filter to fully completed phases
519
- const completedPhases = dataset.byPhase.filter((p) => p.counts.total > 0 && p.counts.completed === p.counts.total);
520
- if (completedPhases.length === 0) {
521
- return [];
522
- }
523
- sections.push(heading(2, 'Completed Phases'));
524
- for (const phase of completedPhases.sort((a, b) => a.phaseNumber - b.phaseNumber)) {
525
- const displayName = phase.phaseName ?? `Phase ${phase.phaseNumber}`;
526
- // Use collapsible for phase details
527
- const phaseContent = [];
528
- const rows = phase.patterns.map((p) => {
529
- const name = getDisplayName(p);
530
- const summary = extractSummary(p.directive.description, p.patternName);
531
- return [name, summary || '-'];
532
- });
533
- phaseContent.push(table(['Pattern', 'Description'], rows));
534
- sections.push(collapsible(`✅ ${displayName} (${phase.counts.total} patterns)`, phaseContent));
535
- }
536
- sections.push(separator());
537
- return sections;
538
- }
539
- // ═══════════════════════════════════════════════════════════════════════════
540
- // Completed Milestones Progressive Disclosure
541
- // ═══════════════════════════════════════════════════════════════════════════
542
- /**
543
- * Build quarterly navigation table with links to detail files
544
- */
545
- function buildQuarterlyNavigationTable(_dataset, completedPatterns, options) {
546
- const sections = [];
547
- // Group completed patterns by quarter
548
- const byQuarter = groupBy(completedPatterns.filter((p) => p.quarter), (p) => p.quarter ?? '');
549
- if (byQuarter.size === 0) {
550
- return [];
551
- }
552
- sections.push(heading(2, 'Quarterly Navigation'));
553
- const quarters = [...byQuarter.keys()].sort().reverse(); // Most recent first
554
- const rows = quarters.map((quarter) => {
555
- const patterns = byQuarter.get(quarter) ?? [];
556
- // Link to detail file if generating detail files
557
- const quarterCell = options.generateDetailFiles
558
- ? `[${quarter}](milestones/${quarter}.md)`
559
- : quarter;
560
- return [quarterCell, String(patterns.length)];
561
- });
562
- sections.push(table(['Quarter', 'Completed'], rows), separator());
563
- return sections;
564
- }
565
- /**
566
- * Build recent completions section
567
- */
568
- function buildRecentCompletions(patterns, limit = 10) {
569
- const sections = [];
570
- // Get most recent patterns (assume last added = most recent)
571
- const recent = [...patterns].slice(-limit).reverse();
572
- if (recent.length === 0) {
573
- return [];
574
- }
575
- sections.push(heading(2, 'Recent Completions'));
576
- const items = recent.map((p) => {
577
- const name = getDisplayName(p);
578
- const phase = p.phase !== undefined ? ` (Phase ${p.phase})` : '';
579
- const quarter = p.quarter ? ` - ${p.quarter}` : '';
580
- return `✅ ${name}${phase}${quarter}`;
581
- });
582
- sections.push(list(items));
583
- if (patterns.length > limit) {
584
- sections.push(paragraph(`Showing ${limit} of ${patterns.length} completed patterns. See quarterly files for full history.`));
585
- }
586
- sections.push(separator());
587
- return sections;
588
- }
589
- /**
590
- * Build quarterly milestone detail files (progressive disclosure)
591
- */
592
- function buildQuarterlyMilestoneFiles(dataset, completedPatterns, _options) {
593
- const files = {};
594
- // Group completed patterns by quarter
595
- const byQuarter = groupBy(completedPatterns.filter((p) => p.quarter), (p) => p.quarter ?? '');
596
- for (const [quarter, patterns] of byQuarter.entries()) {
597
- if (patterns.length === 0)
598
- continue;
599
- files[`milestones/${quarter}.md`] = buildQuarterDetailDocument(quarter, patterns, dataset);
600
- }
601
- return files;
602
- }
603
- /**
604
- * Build a single quarterly detail document
605
- */
606
- function buildQuarterDetailDocument(quarter, patterns, dataset) {
607
- const sections = [];
608
- // Summary
609
- sections.push(heading(2, 'Summary'), table(['Metric', 'Value'], [
610
- ['Completed in Quarter', String(patterns.length)],
611
- ['Quarter', quarter],
612
- ]), separator());
613
- // Group by phase
614
- const byPhase = groupBy(patterns, (p) => p.phase ?? 0);
615
- const sortedPhases = [...byPhase.keys()].sort((a, b) => a - b);
616
- if (sortedPhases.length > 0) {
617
- sections.push(heading(2, 'By Phase'));
618
- for (const phaseNum of sortedPhases) {
619
- const phasePatterns = byPhase.get(phaseNum) ?? [];
620
- const phaseGroup = dataset.byPhase.find((p) => p.phaseNumber === phaseNum);
621
- const displayName = phaseGroup?.phaseName ?? `Phase ${phaseNum}`;
622
- const phaseContent = [];
623
- const rows = sortByPhaseAndName([...phasePatterns]).map((p) => {
624
- const name = getDisplayName(p);
625
- const summary = extractSummary(p.directive.description, p.patternName);
626
- const businessValue = formatBusinessValue(p.businessValue);
627
- return [name, summary || '-', businessValue || '-'];
628
- });
629
- phaseContent.push(table(['Pattern', 'Description', 'Business Value'], rows));
630
- sections.push(collapsible(`✅ ${displayName} (${phasePatterns.length})`, phaseContent));
631
- }
632
- sections.push(separator());
633
- }
634
- // All patterns in quarter
635
- sections.push(heading(2, 'All Patterns'));
636
- const rows = sortByPhaseAndName([...patterns]).map((p) => {
637
- const name = getDisplayName(p);
638
- const phase = p.phase !== undefined ? `Phase ${p.phase}` : '-';
639
- const summary = extractSummary(p.directive.description, p.patternName);
640
- return [`✅ ${name}`, phase, summary || '-'];
641
- });
642
- sections.push(table(['Pattern', 'Phase', 'Description'], rows), separator());
643
- // Back link
644
- sections.push(linkOut('← Back to Completed Milestones', '../COMPLETED-MILESTONES.md'));
645
- return document(`${quarter} Milestones`, sections, {
646
- purpose: `Completed patterns for ${quarter}`,
647
- });
648
- }
649
- // ═══════════════════════════════════════════════════════════════════════════
650
- // Current Work Document Builder
651
- // ═══════════════════════════════════════════════════════════════════════════
652
- /**
653
- * Build current work document
654
- *
655
- * Filters to active patterns only and shows:
656
- * - Progress summary for active work
657
- * - Phases with active patterns
658
- * - Deliverables (if configured)
659
- */
660
- function buildCurrentWorkDocument(dataset, options) {
661
- const sections = [];
662
- // Get active patterns only
663
- const activePatterns = dataset.byStatus.active;
664
- if (activePatterns.length === 0) {
665
- sections.push(heading(2, 'No Active Work'), paragraph('No patterns are currently in progress.'));
666
- return document('Current Work', sections, {
667
- purpose: 'Active development work currently in progress',
668
- });
669
- }
670
- // 1. Summary of active work
671
- sections.push(...buildCurrentWorkSummary(dataset, activePatterns));
672
- // 2. Active phases with patterns
673
- sections.push(...buildActivePhases(dataset, options));
674
- // 3. All active patterns table
675
- sections.push(...buildActivePatternsList(activePatterns, options));
676
- // Build phase detail files (if enabled and phases have active work)
677
- const additionalFiles = options.generateDetailFiles
678
- ? buildCurrentWorkDetailFiles(dataset, options)
679
- : {};
680
- const docOpts = {
681
- purpose: 'Active development work currently in progress',
682
- detailLevel: options.generateDetailFiles
683
- ? 'Phase summaries with links to details'
684
- : 'Compact summary',
685
- };
686
- if (Object.keys(additionalFiles).length > 0) {
687
- docOpts.additionalFiles = additionalFiles;
688
- }
689
- return document('Current Work', sections, docOpts);
690
- }
691
- /**
692
- * Build current work summary section
693
- */
694
- function buildCurrentWorkSummary(dataset, _activePatterns) {
695
- // Count phases with active work
696
- const activePhasesCount = dataset.byPhase.filter((p) => p.counts.active > 0).length;
697
- // Calculate overall progress (from total dataset)
698
- const { counts } = dataset;
699
- const progress = completionPercentage(counts);
700
- const progressBar = renderProgressBar(counts.completed, counts.total, 20);
701
- return [
702
- heading(2, 'Summary'),
703
- paragraph(`**Overall Progress:** ${progressBar} (${progress}%)`),
704
- table(['Metric', 'Value'], [
705
- ['Total Patterns', String(counts.total)],
706
- ['Completed', String(counts.completed)],
707
- ['Active', String(counts.active)],
708
- ['Planned', String(counts.planned)],
709
- ['Active Phases', String(activePhasesCount)],
710
- ]),
711
- separator(),
712
- ];
713
- }
714
- /**
715
- * Build active phases section
716
- */
717
- function buildActivePhases(dataset, options) {
718
- const sections = [];
719
- // Filter to phases with active patterns
720
- const activePhasesData = dataset.byPhase
721
- .filter((p) => p.counts.active > 0)
722
- .sort((a, b) => a.phaseNumber - b.phaseNumber);
723
- if (activePhasesData.length === 0) {
724
- return [];
725
- }
726
- sections.push(heading(2, 'Active Phases'));
727
- for (const phase of activePhasesData) {
728
- const { phaseNumber, phaseName, patterns, counts } = phase;
729
- const displayName = phaseName ?? `Phase ${phaseNumber}`;
730
- // Only show active patterns in this phase
731
- const activeInPhase = patterns.filter((p) => isPatternActive(p.status));
732
- const progress = completionPercentage(counts);
733
- const progressBar = renderProgressBar(counts.completed, counts.total, 15);
734
- sections.push(heading(3, `🚧 ${displayName}`));
735
- // Build status breakdown with all non-zero categories
736
- const statusParts = [`${counts.completed} done`, `${activeInPhase.length} active`];
737
- if (counts.planned > 0)
738
- statusParts.push(`${counts.planned} planned`);
739
- const statusText = statusParts.join(', ');
740
- sections.push(paragraph(`${progressBar} ${progress}% complete (${statusText})`));
741
- // Pattern table for active patterns in this phase
742
- const rows = sortByPhaseAndName([...activeInPhase]).map((p) => {
743
- const name = getDisplayName(p);
744
- const summary = extractSummary(p.directive.description, p.patternName);
745
- return [`🚧 ${name}`, summary || '-'];
746
- });
747
- sections.push(table(['Pattern', 'Description'], rows));
748
- // Deliverables for active patterns (if configured)
749
- if (options.includeDeliverables) {
750
- const allDeliverables = activeInPhase.flatMap((p) => p.deliverables ?? []);
751
- if (allDeliverables.length > 0) {
752
- const deliverableItems = allDeliverables.map((d) => {
753
- const statusEmoji = getDeliverableStatusEmoji(d.status);
754
- return `${statusEmoji} ${d.name}`;
755
- });
756
- sections.push(heading(4, 'Deliverables'), list(deliverableItems));
757
- }
758
- }
759
- // Link to detail file
760
- if (options.generateDetailFiles) {
761
- const slug = getPhaseSlug(phaseNumber, phaseName);
762
- sections.push(linkOut(`View ${displayName} details →`, `current/${slug}.md`));
763
- }
764
- sections.push(separator());
765
- }
766
- return sections;
767
- }
768
- /**
769
- * Build all active patterns list
770
- */
771
- function buildActivePatternsList(patterns, _options) {
772
- const sorted = sortByPhaseAndName([...patterns]);
773
- const rows = sorted.map((p) => {
774
- const name = getDisplayName(p);
775
- const phase = p.phase !== undefined ? `Phase ${p.phase}` : '-';
776
- const effort = p.effort ?? '-';
777
- const summary = extractSummary(p.directive.description, p.patternName);
778
- return [`🚧 ${name}`, phase, effort, summary || '-'];
779
- });
780
- return [
781
- heading(2, 'All Active Patterns'),
782
- table(['Pattern', 'Phase', 'Effort', 'Description'], rows),
783
- separator(),
784
- ];
785
- }
786
- /**
787
- * Build current work detail files (progressive disclosure)
788
- */
789
- function buildCurrentWorkDetailFiles(dataset, options) {
790
- const files = {};
791
- // Only create detail files for phases with active patterns
792
- const activePhasesData = dataset.byPhase
793
- .filter((p) => p.counts.active > 0)
794
- .sort((a, b) => a.phaseNumber - b.phaseNumber);
795
- for (const phase of activePhasesData) {
796
- const slug = getPhaseSlug(phase.phaseNumber, phase.phaseName);
797
- files[`current/${slug}.md`] = buildCurrentPhaseDetailDocument(phase, dataset, options);
798
- }
799
- return files;
800
- }
801
- /**
802
- * Build detail document for an active phase
803
- */
804
- function buildCurrentPhaseDetailDocument(phase, _dataset, options) {
805
- const sections = [];
806
- const { phaseNumber, phaseName, patterns, counts } = phase;
807
- const displayName = phaseName ?? `Phase ${phaseNumber}`;
808
- // Progress summary
809
- const progress = completionPercentage(counts);
810
- const progressBar = renderProgressBar(counts.completed, counts.total, 20);
811
- sections.push(heading(2, 'Progress'), paragraph(`**Progress:** ${progressBar} (${progress}%)`), table(['Status', 'Count'], [
812
- ['✅ Completed', String(counts.completed)],
813
- ['🚧 Active', String(counts.active)],
814
- ['📋 Planned', String(counts.planned)],
815
- ['**Total**', String(counts.total)],
816
- ]), separator());
817
- // Active patterns detail
818
- const activePatterns = patterns.filter((p) => isPatternActive(p.status));
819
- if (activePatterns.length > 0) {
820
- sections.push(heading(2, '🚧 Active Work'));
821
- for (const pattern of sortByPhaseAndName([...activePatterns])) {
822
- sections.push(...buildCurrentWorkPatternDetail(pattern, options));
823
- }
824
- }
825
- // Recently completed in this phase
826
- const completedPatterns = patterns.filter((p) => isPatternComplete(p.status));
827
- if (completedPatterns.length > 0) {
828
- sections.push(heading(2, '✅ Recently Completed'));
829
- const rows = sortByPhaseAndName([...completedPatterns]).map((p) => {
830
- const name = getDisplayName(p);
831
- const summary = extractSummary(p.directive.description, p.patternName);
832
- return [`✅ ${name}`, summary || '-'];
833
- });
834
- sections.push(table(['Pattern', 'Description'], rows));
835
- sections.push(separator());
836
- }
837
- // Upcoming in this phase
838
- const plannedPatterns = patterns.filter((p) => isPatternPlanned(p.status));
839
- if (plannedPatterns.length > 0) {
840
- const plannedContent = [];
841
- const rows = sortByPhaseAndName([...plannedPatterns]).map((p) => {
842
- const name = getDisplayName(p);
843
- const effort = p.effort ?? '-';
844
- return [`📋 ${name}`, effort];
845
- });
846
- plannedContent.push(table(['Pattern', 'Effort'], rows));
847
- sections.push(collapsible(`📋 Upcoming (${plannedPatterns.length})`, plannedContent));
848
- sections.push(separator());
849
- }
850
- // Back link
851
- sections.push(linkOut('← Back to Current Work', '../CURRENT-WORK.md'));
852
- return document(displayName, sections, {
853
- purpose: `Active work details for ${displayName}`,
854
- });
855
- }
856
- /**
857
- * Build detail section for a single active pattern
858
- */
859
- function buildCurrentWorkPatternDetail(pattern, options) {
860
- const sections = [];
861
- const name = getDisplayName(pattern);
862
- sections.push(heading(3, `🚧 ${name}`));
863
- // Metadata table
864
- const metaRows = [];
865
- if (pattern.effort) {
866
- metaRows.push(['Effort', pattern.effort]);
867
- }
868
- if (pattern.quarter) {
869
- metaRows.push(['Quarter', pattern.quarter]);
870
- }
871
- const businessValue = formatBusinessValue(pattern.businessValue);
872
- if (businessValue) {
873
- metaRows.push(['Business Value', businessValue]);
874
- }
875
- if (metaRows.length > 0) {
876
- sections.push(table(['Property', 'Value'], metaRows));
877
- }
878
- // Description
879
- if (pattern.directive.description) {
880
- sections.push(paragraph(pattern.directive.description));
881
- }
882
- // Deliverables (if configured)
883
- if (options.includeDeliverables && pattern.deliverables && pattern.deliverables.length > 0) {
884
- const deliverableItems = pattern.deliverables.map((d) => {
885
- const statusEmoji = getDeliverableStatusEmoji(d.status);
886
- const statusText = ` (${d.status})`;
887
- return `${statusEmoji} ${d.name}${statusText}`;
888
- });
889
- sections.push(heading(4, 'Deliverables'), list(deliverableItems));
890
- }
891
- // Dependencies
892
- if (pattern.dependsOn && pattern.dependsOn.length > 0) {
893
- sections.push(heading(4, 'Dependencies'), list(pattern.dependsOn.map((d) => `Depends on: ${d}`)));
894
- }
895
- // Use cases
896
- if (pattern.useCases && pattern.useCases.length > 0) {
897
- sections.push(heading(4, 'Use Cases'), list([...pattern.useCases]));
898
- }
899
- // Acceptance Criteria (scenarios with steps, DataTables, DocStrings)
900
- sections.push(...renderAcceptanceCriteria(pattern.scenarios));
901
- // Business Rules (from Gherkin Rule: keyword)
902
- sections.push(...renderBusinessRulesSection(pattern.rules));
903
- sections.push(separator());
904
- return sections;
905
- }
906
- //# sourceMappingURL=timeline.js.map