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

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