@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,289 +0,0 @@
1
- /**
2
- * @architect
3
- * @architect-lint
4
- * @architect-pattern LintRules
5
- * @architect-status completed
6
- * @architect-arch-role service
7
- * @architect-arch-context lint
8
- * @architect-arch-layer application
9
- * @architect-implements PatternRelationshipModel
10
- * @architect-used-by LintEngine
11
- * @architect-extract-shapes LintRule, LintContext, defaultRules, severityOrder, filterRulesBySeverity, missingPatternName, missingStatus, invalidStatus, missingWhenToUse, tautologicalDescription, missingRelationships, patternConflictInImplements, missingRelationshipTarget
12
- *
13
- * ## LintRules - Annotation Quality Rules
14
- *
15
- * Defines lint rules that check @architect-* directives for completeness
16
- * and quality. Rules include: missing-pattern-name, missing-status,
17
- * missing-when-to-use, tautological-description, and missing-relationships.
18
- *
19
- * ### When to Use
20
- *
21
- * - Use `defaultRules` for standard quality checks
22
- * - Use `filterRulesBySeverity()` to customize which rules apply
23
- * - Use individual rules for targeted validation
24
- */
25
- import { PROCESS_STATUS_VALUES, VALID_PROCESS_STATUS_SET } from '../taxonomy/index.js';
26
- import { DEFAULT_TAG_PREFIX } from '../config/defaults.js';
27
- /**
28
- * Multiplier for determining if description has "substantial content" beyond the pattern name.
29
- * If description length > name length * this multiplier, it's considered substantial.
30
- */
31
- const SUBSTANTIAL_CONTENT_MULTIPLIER = 2;
32
- /**
33
- * Create a lint violation
34
- */
35
- function violation(rule, severity, message, file, line) {
36
- return { rule, severity, message, file, line };
37
- }
38
- /**
39
- * Get the tag prefix from context or use default.
40
- */
41
- function getTagPrefix(context) {
42
- return context?.registry?.tagPrefix ?? DEFAULT_TAG_PREFIX;
43
- }
44
- /**
45
- * Rule: missing-pattern-name
46
- *
47
- * Patterns must have an explicit name via the pattern tag.
48
- * Without a name, the pattern can't be referenced in relationships
49
- * or indexed properly.
50
- */
51
- export const missingPatternName = {
52
- id: 'missing-pattern-name',
53
- severity: 'error',
54
- description: 'Pattern must have explicit pattern name tag',
55
- check: (directive, file, line, context) => {
56
- // Skip if this is an implementation-only file (has implements tag)
57
- // Implementation files realize patterns defined elsewhere and don't need their own name
58
- const hasImplements = (directive.implements?.length ?? 0) > 0;
59
- if (hasImplements) {
60
- return null;
61
- }
62
- if (!directive.patternName || directive.patternName.trim() === '') {
63
- const tagPrefix = getTagPrefix(context);
64
- return violation('missing-pattern-name', 'error', `Pattern missing explicit name. Add ${tagPrefix}pattern YourPatternName`, file, line);
65
- }
66
- return null;
67
- },
68
- };
69
- /**
70
- * Rule: missing-status
71
- *
72
- * Patterns should have an explicit status (completed, active, roadmap, deferred).
73
- * This helps readers understand if the pattern is ready for use.
74
- */
75
- export const missingStatus = {
76
- id: 'missing-status',
77
- severity: 'warning',
78
- description: 'Pattern should have status tag (roadmap|active|completed|deferred)',
79
- check: (directive, file, line, context) => {
80
- if (!directive.status) {
81
- const tagPrefix = getTagPrefix(context);
82
- return violation('missing-status', 'warning', `No ${tagPrefix}status found. Add: ${tagPrefix}status roadmap|active|completed|deferred`, file, line);
83
- }
84
- return null;
85
- },
86
- };
87
- /**
88
- * Rule: invalid-status
89
- *
90
- * Status values must be valid PDR-005 FSM states.
91
- */
92
- export const invalidStatus = {
93
- id: 'invalid-status',
94
- severity: 'error',
95
- description: 'Status must be a valid FSM state (roadmap, active, completed, deferred)',
96
- check: (directive, file, line) => {
97
- // Skip if no status (handled by missing-status rule)
98
- if (!directive.status) {
99
- return null;
100
- }
101
- if (!VALID_PROCESS_STATUS_SET.has(directive.status.toLowerCase())) {
102
- return violation('invalid-status', 'error', `Invalid status '${directive.status}'. Valid values: ${PROCESS_STATUS_VALUES.join(', ')}.`, file, line);
103
- }
104
- return null;
105
- },
106
- };
107
- /**
108
- * Rule: missing-when-to-use
109
- *
110
- * Patterns should have a "When to Use" section for LLM-friendly guidance.
111
- * This helps developers understand when the pattern applies.
112
- */
113
- export const missingWhenToUse = {
114
- id: 'missing-when-to-use',
115
- severity: 'warning',
116
- description: 'Pattern should have "When to Use" section in description',
117
- check: (directive, file, line) => {
118
- // whenToUse is now an array of bullet points
119
- if (!directive.whenToUse || directive.whenToUse.length === 0) {
120
- return violation('missing-when-to-use', 'warning', 'No "When to Use" section found. Add ### When to Use or **When to use:** in description', file, line);
121
- }
122
- return null;
123
- },
124
- };
125
- /**
126
- * Rule: tautological-description
127
- *
128
- * The description should not simply repeat the pattern name.
129
- * A tautological description provides no useful information.
130
- */
131
- export const tautologicalDescription = {
132
- id: 'tautological-description',
133
- severity: 'error',
134
- description: 'Description should not simply repeat the pattern name',
135
- check: (directive, file, line) => {
136
- if (!directive.patternName || !directive.description) {
137
- return null;
138
- }
139
- // Get first meaningful line of description (skip empty lines and headings)
140
- const lines = directive.description.split('\n');
141
- const firstLine = lines
142
- .map((l) => l.trim())
143
- .find((l) => l.length > 0 && !l.startsWith('#') && !l.startsWith('**When'));
144
- if (!firstLine) {
145
- return null;
146
- }
147
- // Normalize for comparison (lowercase, remove punctuation)
148
- const normalizedName = directive.patternName.toLowerCase().replace(/[^a-z0-9]/g, '');
149
- const normalizedDesc = firstLine.toLowerCase().replace(/[^a-z0-9]/g, '');
150
- // Check if description starts with or equals the pattern name
151
- if (normalizedDesc === normalizedName || normalizedDesc.startsWith(normalizedName)) {
152
- // Allow if there's substantial content after the name
153
- if (normalizedDesc.length > normalizedName.length * SUBSTANTIAL_CONTENT_MULTIPLIER) {
154
- return null;
155
- }
156
- return violation('tautological-description', 'error', `Description repeats pattern name "${directive.patternName}". Provide meaningful context.`, file, line);
157
- }
158
- return null;
159
- },
160
- };
161
- /**
162
- * Rule: missing-relationships
163
- *
164
- * Patterns should declare their relationships (uses/usedBy) for
165
- * dependency tracking. This is informational only.
166
- */
167
- export const missingRelationships = {
168
- id: 'missing-relationships',
169
- severity: 'info',
170
- description: 'Consider adding uses and used-by tags',
171
- check: (directive, file, line, context) => {
172
- const hasUses = (directive.uses?.length ?? 0) > 0;
173
- const hasUsedBy = (directive.usedBy?.length ?? 0) > 0;
174
- if (!hasUses && !hasUsedBy) {
175
- const tagPrefix = getTagPrefix(context);
176
- return violation('missing-relationships', 'info', `Consider adding relationship tags: ${tagPrefix}uses and/or ${tagPrefix}used-by`, file, line);
177
- }
178
- return null;
179
- },
180
- };
181
- // ═══════════════════════════════════════════════════════════════════════════
182
- // Relationship Validation Rules (PatternRelationshipModel)
183
- // ═══════════════════════════════════════════════════════════════════════════
184
- /**
185
- * Rule: pattern-conflict-in-implements
186
- *
187
- * Validates that a file doesn't create a circular reference by defining
188
- * a pattern that it also implements. Having both @architect-pattern X
189
- * AND @architect-implements X on the same file is a conflict.
190
- *
191
- * However, a file CAN have both tags when they reference DIFFERENT patterns:
192
- * - @architect-pattern SubPattern (defines its own identity)
193
- * - @architect-implements ParentSpec (links to parent spec)
194
- *
195
- * This supports the sub-pattern hierarchy where implementation files can be
196
- * named patterns that also implement a larger spec (e.g., MockPaymentActions
197
- * implementing DurableEventsIntegration).
198
- */
199
- export const patternConflictInImplements = {
200
- id: 'pattern-conflict-in-implements',
201
- severity: 'error',
202
- description: 'Pattern cannot implement itself (circular reference)',
203
- check: (directive, file, line, context) => {
204
- const hasImplements = (directive.implements?.length ?? 0) > 0;
205
- const patternName = directive.patternName;
206
- if (hasImplements && patternName !== undefined) {
207
- // Only error if pattern name matches any implements target (circular reference)
208
- const patternNameLower = patternName.toLowerCase();
209
- const implementsTargets = directive.implements?.map((i) => i.toLowerCase()) ?? [];
210
- if (implementsTargets.includes(patternNameLower)) {
211
- const tagPrefix = getTagPrefix(context);
212
- return violation('pattern-conflict-in-implements', 'error', `Pattern '${patternName}' cannot implement itself. ` +
213
- `Remove either ${tagPrefix}pattern or ${tagPrefix}implements for this pattern.`, file, line);
214
- }
215
- // Different patterns: OK - this is a sub-pattern implementing a parent spec
216
- }
217
- return null;
218
- },
219
- };
220
- /**
221
- * Rule: missing-relationship-target
222
- *
223
- * Validates that relationship targets (uses, implements) reference
224
- * patterns that actually exist. Only triggers when a LintContext with
225
- * knownPatterns is provided (strict mode).
226
- *
227
- * This is a context-aware rule that requires access to the pattern registry.
228
- */
229
- export const missingRelationshipTarget = {
230
- id: 'missing-relationship-target',
231
- severity: 'warning',
232
- description: 'Relationship targets must reference existing patterns',
233
- check: (directive, file, line, context) => {
234
- // Skip if no context provided (non-strict mode)
235
- if (!context?.knownPatterns) {
236
- return null;
237
- }
238
- const violations = [];
239
- // Check uses targets
240
- for (const target of directive.uses ?? []) {
241
- if (!context.knownPatterns.has(target)) {
242
- violations.push(violation('missing-relationship-target', 'warning', `Relationship target '${target}' not found in known patterns`, file, line));
243
- }
244
- }
245
- // Check implements targets
246
- for (const target of directive.implements ?? []) {
247
- if (!context.knownPatterns.has(target)) {
248
- violations.push(violation('missing-relationship-target', 'warning', `Implementation target '${target}' not found in known patterns`, file, line));
249
- }
250
- }
251
- return violations.length > 0 ? violations : null;
252
- },
253
- };
254
- /**
255
- * All default lint rules
256
- *
257
- * Order matters for output - errors first, then warnings, then info.
258
- */
259
- export const defaultRules = [
260
- missingPatternName,
261
- tautologicalDescription,
262
- invalidStatus,
263
- patternConflictInImplements, // PatternRelationshipModel rule
264
- missingRelationshipTarget, // Context-aware relationship validation
265
- missingStatus,
266
- missingWhenToUse,
267
- missingRelationships,
268
- ];
269
- /**
270
- * Severity ordering for sorting and filtering
271
- * Exported for use by lint engine to avoid duplication
272
- */
273
- export const severityOrder = {
274
- error: 0,
275
- warning: 1,
276
- info: 2,
277
- };
278
- /**
279
- * Get rules filtered by minimum severity
280
- *
281
- * @param rules - Rules to filter
282
- * @param minSeverity - Minimum severity to include
283
- * @returns Filtered rules
284
- */
285
- export function filterRulesBySeverity(rules, minSeverity) {
286
- const minLevel = severityOrder[minSeverity];
287
- return rules.filter((rule) => severityOrder[rule.severity] <= minLevel);
288
- }
289
- //# sourceMappingURL=rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/lint/rules.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- /**
2
- * Cross-file lint checks for vitest-cucumber compatibility.
3
- *
4
- * These checks compare a .feature file with its corresponding .steps.ts
5
- * file to detect mismatches in structure (Rule/And/ScenarioOutline patterns).
6
- */
7
- import type { LintViolation } from '../../validation-schemas/lint.js';
8
- /**
9
- * Check 1: Detect function params used inside ScenarioOutline blocks.
10
- *
11
- * In vitest-cucumber, ScenarioOutline step callbacks receive values via a
12
- * `variables` object — NOT via function parameters. Using (_ctx, value: string)
13
- * as callback args is the #1 trap: the value will be undefined at runtime.
14
- *
15
- * Detection: Find ScenarioOutline/RuleScenarioOutline blocks in step files,
16
- * then within those blocks look for step callbacks with a second positional
17
- * parameter after _ctx.
18
- *
19
- * The heuristic is conservative: we only flag when we see an explicit second
20
- * positional parameter pattern. False negatives are acceptable; false positives
21
- * are not.
22
- */
23
- export declare function checkScenarioOutlineFunctionParams(featureContent: string, stepContent: string, stepFilePath: string): readonly LintViolation[];
24
- /**
25
- * Check 2: Detect missing And destructuring.
26
- *
27
- * If a feature file has And steps, the step definition must destructure And
28
- * from the scenario callback. Using Then(...) for And steps causes
29
- * StepAbleUnknowStepError at runtime.
30
- */
31
- export declare function checkMissingAndDestructuring(featureContent: string, stepContent: string, stepFilePath: string): readonly LintViolation[];
32
- /**
33
- * Check 3: Detect missing Rule() wrapper.
34
- *
35
- * If a feature file has Rule: blocks, the step definition must destructure
36
- * Rule from describeFeature and wrap scenarios with Rule('name', ...).
37
- * Using top-level Scenario() instead of RuleScenario() causes step
38
- * matching failures.
39
- */
40
- export declare function checkMissingRuleWrapper(featureContent: string, stepContent: string, stepFilePath: string): readonly LintViolation[];
41
- /**
42
- * Check 12: Detect quoted values in Scenario Outline steps (feature-file side).
43
- *
44
- * When a Scenario Outline's steps use quoted values (e.g., "foo") instead of
45
- * angle-bracket placeholders (e.g., <column>), this suggests the author is
46
- * using the Scenario pattern (Cucumber expression matching) instead of the
47
- * ScenarioOutline pattern (variable substitution). This is the feature-file
48
- * side of the Two-Pattern Problem — the step-file side is caught by
49
- * scenario-outline-function-params.
50
- *
51
- * Detection: Find Scenario Outline sections in the feature file, extract the
52
- * Examples table column names, then check if step lines within those sections
53
- * contain quoted values whose content matches a column name. Only those are
54
- * flagged — constant quoted values (e.g., "error") that don't correspond to
55
- * any Examples column are intentionally literal and should not be placeholders.
56
- *
57
- * This is a cross-file check because it's only meaningful when a paired step
58
- * file exists (roadmap specs without implementations shouldn't be flagged).
59
- * The _stepContent parameter is unused but maintains the cross-check signature.
60
- */
61
- export declare function checkOutlineQuotedValues(featureContent: string, _stepContent: string, stepFilePath: string, featurePath?: string): readonly LintViolation[];
62
- /**
63
- * Run all cross-file checks on a paired feature + step file.
64
- */
65
- export declare function runCrossChecks(featureContent: string, stepContent: string, stepFilePath: string, featurePath?: string): readonly LintViolation[];
66
- //# sourceMappingURL=cross-checks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-checks.d.ts","sourceRoot":"","sources":["../../../src/lint/steps/cross-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAItE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kCAAkC,CAChD,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,SAAS,aAAa,EAAE,CAwD1B;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,SAAS,aAAa,EAAE,CAqC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,SAAS,aAAa,EAAE,CAqC1B;AAwDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,SAAS,aAAa,EAAE,CAmE1B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,SAAS,aAAa,EAAE,CAO1B"}
@@ -1,290 +0,0 @@
1
- /**
2
- * Cross-file lint checks for vitest-cucumber compatibility.
3
- *
4
- * These checks compare a .feature file with its corresponding .steps.ts
5
- * file to detect mismatches in structure (Rule/And/ScenarioOutline patterns).
6
- */
7
- import { STEP_LINT_RULES } from './types.js';
8
- import { countBraceBalance } from './utils.js';
9
- /**
10
- * Check 1: Detect function params used inside ScenarioOutline blocks.
11
- *
12
- * In vitest-cucumber, ScenarioOutline step callbacks receive values via a
13
- * `variables` object — NOT via function parameters. Using (_ctx, value: string)
14
- * as callback args is the #1 trap: the value will be undefined at runtime.
15
- *
16
- * Detection: Find ScenarioOutline/RuleScenarioOutline blocks in step files,
17
- * then within those blocks look for step callbacks with a second positional
18
- * parameter after _ctx.
19
- *
20
- * The heuristic is conservative: we only flag when we see an explicit second
21
- * positional parameter pattern. False negatives are acceptable; false positives
22
- * are not.
23
- */
24
- export function checkScenarioOutlineFunctionParams(featureContent, stepContent, stepFilePath) {
25
- // Only check if the feature actually has Scenario Outline
26
- if (!/^\s*(Scenario Outline|Scenario Template):/m.test(featureContent)) {
27
- return [];
28
- }
29
- const violations = [];
30
- const lines = stepContent.split('\n');
31
- // Track whether we're inside a ScenarioOutline block using brace depth
32
- let inOutlineBlock = false;
33
- let braceDepth = 0;
34
- let outlineStartLine = 0;
35
- for (let i = 0; i < lines.length; i++) {
36
- const line = lines[i];
37
- if (line === undefined)
38
- continue;
39
- // Detect ScenarioOutline( or RuleScenarioOutline( call
40
- if (!inOutlineBlock && /(?:Scenario|RuleScenario)Outline\s*\(/.test(line)) {
41
- inOutlineBlock = true;
42
- outlineStartLine = i + 1;
43
- // Count opening braces on this line to start depth tracking
44
- braceDepth = countBraceBalance(line);
45
- continue;
46
- }
47
- if (inOutlineBlock) {
48
- braceDepth += countBraceBalance(line);
49
- // Check for step callbacks with function params: Given('text', (_ctx, value: type) =>
50
- // The pattern: a step keyword, string arg, then a callback with 2+ params
51
- const paramMatch = /(?:Given|When|Then|And|But)\s*\(\s*['"][^'"]*['"]\s*,\s*\(\s*_?ctx\s*(?::\s*\w+)?\s*,\s*(\w+)/.exec(line);
52
- if (paramMatch !== null) {
53
- const paramName = paramMatch[1] ?? 'unknown';
54
- violations.push({
55
- rule: STEP_LINT_RULES.scenarioOutlineFunctionParams.id,
56
- severity: STEP_LINT_RULES.scenarioOutlineFunctionParams.severity,
57
- message: `Step callback inside ScenarioOutline uses function param "${paramName}" — use variables object instead (ScenarioOutline started at line ${outlineStartLine})`,
58
- file: stepFilePath,
59
- line: i + 1,
60
- });
61
- }
62
- // End of ScenarioOutline block
63
- if (braceDepth <= 0) {
64
- inOutlineBlock = false;
65
- braceDepth = 0;
66
- }
67
- }
68
- }
69
- return violations;
70
- }
71
- /**
72
- * Check 2: Detect missing And destructuring.
73
- *
74
- * If a feature file has And steps, the step definition must destructure And
75
- * from the scenario callback. Using Then(...) for And steps causes
76
- * StepAbleUnknowStepError at runtime.
77
- */
78
- export function checkMissingAndDestructuring(featureContent, stepContent, stepFilePath) {
79
- // Check if feature has any And steps
80
- const hasAndSteps = /^\s+And\s+/m.test(featureContent);
81
- if (!hasAndSteps) {
82
- return [];
83
- }
84
- // Check if step file destructures And anywhere.
85
- // NOTE: This regex matches And inside ANY curly brace pair, including object
86
- // literals with an `And` property. This is a theoretical false negative (would
87
- // pass when it should flag), which is the safe direction. In practice, step
88
- // files don't have object literals with `And` keys.
89
- const destructuresAnd = /\{\s*[^}]*\bAnd\b[^}]*\}/.test(stepContent);
90
- if (destructuresAnd) {
91
- return [];
92
- }
93
- // Find the line of the describeFeature call for context
94
- const lines = stepContent.split('\n');
95
- let describeLine = 1;
96
- for (let i = 0; i < lines.length; i++) {
97
- const ln = lines[i];
98
- if (ln !== undefined && /describeFeature\s*\(/.test(ln)) {
99
- describeLine = i + 1;
100
- break;
101
- }
102
- }
103
- return [
104
- {
105
- rule: STEP_LINT_RULES.missingAndDestructuring.id,
106
- severity: STEP_LINT_RULES.missingAndDestructuring.severity,
107
- message: `Feature has And steps but step definition does not destructure And — add And to the destructuring pattern ({ Given, When, Then, And })`,
108
- file: stepFilePath,
109
- line: describeLine,
110
- },
111
- ];
112
- }
113
- /**
114
- * Check 3: Detect missing Rule() wrapper.
115
- *
116
- * If a feature file has Rule: blocks, the step definition must destructure
117
- * Rule from describeFeature and wrap scenarios with Rule('name', ...).
118
- * Using top-level Scenario() instead of RuleScenario() causes step
119
- * matching failures.
120
- */
121
- export function checkMissingRuleWrapper(featureContent, stepContent, stepFilePath) {
122
- // Check if feature has any Rule: blocks
123
- const hasRuleBlocks = /^\s*Rule:\s/m.test(featureContent);
124
- if (!hasRuleBlocks) {
125
- return [];
126
- }
127
- // Check if step file destructures Rule from describeFeature
128
- // Pattern: describeFeature(feature, ({ ... Rule ... }) =>
129
- // We look for Rule in any destructuring pattern, since it could appear anywhere
130
- const destructuresRule = /describeFeature\s*\([^,]*,\s*\(\s*\{[^}]*\bRule\b[^}]*\}/.test(stepContent);
131
- if (destructuresRule) {
132
- return [];
133
- }
134
- // Find the line of the describeFeature call for context
135
- const lines = stepContent.split('\n');
136
- let describeLine = 1;
137
- for (let i = 0; i < lines.length; i++) {
138
- const ln = lines[i];
139
- if (ln !== undefined && /describeFeature\s*\(/.test(ln)) {
140
- describeLine = i + 1;
141
- break;
142
- }
143
- }
144
- return [
145
- {
146
- rule: STEP_LINT_RULES.missingRuleWrapper.id,
147
- severity: STEP_LINT_RULES.missingRuleWrapper.severity,
148
- message: `Feature has Rule: blocks but step definition does not destructure Rule from describeFeature — use Rule('name', ({ RuleScenario }) => { ... })`,
149
- file: stepFilePath,
150
- line: describeLine,
151
- },
152
- ];
153
- }
154
- /**
155
- * Step keyword pattern for matching step lines in feature files.
156
- */
157
- const FEATURE_STEP_LINE = /^\s+(Given|When|Then|And|But)\s+(.+)$/;
158
- /**
159
- * Extract column names from Examples tables belonging to a Scenario Outline.
160
- *
161
- * Scans forward from the given start index (the Scenario Outline line) until
162
- * the next section boundary. Collects column names from every Examples table
163
- * header row found within that range.
164
- */
165
- function extractOutlineExamplesColumns(lines, outlineStartIndex) {
166
- const columns = new Set();
167
- let inExamples = false;
168
- let seenExamplesHeader = false;
169
- for (let i = outlineStartIndex + 1; i < lines.length; i++) {
170
- const line = lines[i];
171
- if (line === undefined)
172
- continue;
173
- // Stop at next section boundary (another Scenario, Rule, Feature, Background)
174
- if (/^\s*(Scenario Outline|Scenario Template|Scenario:|Feature:|Rule:|Background:)/.test(line)) {
175
- break;
176
- }
177
- // Enter Examples block
178
- if (/^\s*Examples:/.test(line)) {
179
- inExamples = true;
180
- seenExamplesHeader = false;
181
- continue;
182
- }
183
- // Inside Examples: first table row is the header with column names
184
- if (inExamples && !seenExamplesHeader && /^\s*\|/.test(line)) {
185
- seenExamplesHeader = true;
186
- const cells = line
187
- .split('|')
188
- .map((cell) => cell.trim())
189
- .filter((cell) => cell.length > 0);
190
- for (const cell of cells) {
191
- columns.add(cell);
192
- }
193
- }
194
- }
195
- return columns;
196
- }
197
- /**
198
- * Check 12: Detect quoted values in Scenario Outline steps (feature-file side).
199
- *
200
- * When a Scenario Outline's steps use quoted values (e.g., "foo") instead of
201
- * angle-bracket placeholders (e.g., <column>), this suggests the author is
202
- * using the Scenario pattern (Cucumber expression matching) instead of the
203
- * ScenarioOutline pattern (variable substitution). This is the feature-file
204
- * side of the Two-Pattern Problem — the step-file side is caught by
205
- * scenario-outline-function-params.
206
- *
207
- * Detection: Find Scenario Outline sections in the feature file, extract the
208
- * Examples table column names, then check if step lines within those sections
209
- * contain quoted values whose content matches a column name. Only those are
210
- * flagged — constant quoted values (e.g., "error") that don't correspond to
211
- * any Examples column are intentionally literal and should not be placeholders.
212
- *
213
- * This is a cross-file check because it's only meaningful when a paired step
214
- * file exists (roadmap specs without implementations shouldn't be flagged).
215
- * The _stepContent parameter is unused but maintains the cross-check signature.
216
- */
217
- export function checkOutlineQuotedValues(featureContent, _stepContent, stepFilePath, featurePath) {
218
- // Only check if the feature actually has Scenario Outline
219
- if (!/^\s*(Scenario Outline|Scenario Template):/m.test(featureContent)) {
220
- return [];
221
- }
222
- const violations = [];
223
- const lines = featureContent.split('\n');
224
- let inOutlineSection = false;
225
- let currentOutlineColumns = new Set();
226
- for (let i = 0; i < lines.length; i++) {
227
- const line = lines[i];
228
- if (line === undefined)
229
- continue;
230
- // Enter Scenario Outline section
231
- if (/^\s*(Scenario Outline|Scenario Template):/.test(line)) {
232
- inOutlineSection = true;
233
- currentOutlineColumns = extractOutlineExamplesColumns(lines, i);
234
- continue;
235
- }
236
- // Exit on new section boundary (but not Examples, which is part of Outline)
237
- if (/^\s*(Scenario:|Feature:|Rule:|Background:)/.test(line)) {
238
- inOutlineSection = false;
239
- continue;
240
- }
241
- if (!inOutlineSection)
242
- continue;
243
- // Check step lines within the Outline section
244
- const stepMatch = FEATURE_STEP_LINE.exec(line);
245
- if (stepMatch !== null) {
246
- const stepText = stepMatch[2] ?? '';
247
- // Skip steps that already use placeholders — the author clearly knows
248
- // about the ScenarioOutline pattern and chose to keep quoted values literal
249
- const hasPlaceholders = /<\w+>/.test(stepText);
250
- if (hasPlaceholders)
251
- continue;
252
- // Extract all quoted values from the step
253
- const quotedValues = [];
254
- const doubleQuoteMatches = stepText.matchAll(/"([^"]*)"/g);
255
- for (const m of doubleQuoteMatches) {
256
- if (m[1] !== undefined)
257
- quotedValues.push(m[1]);
258
- }
259
- const singleQuoteMatches = stepText.matchAll(/'([^']*)'/g);
260
- for (const m of singleQuoteMatches) {
261
- if (m[1] !== undefined)
262
- quotedValues.push(m[1]);
263
- }
264
- // Only flag if at least one quoted value matches an Examples column name
265
- const matchesColumn = quotedValues.some((val) => currentOutlineColumns.has(val));
266
- if (matchesColumn) {
267
- violations.push({
268
- rule: STEP_LINT_RULES.outlineQuotedValues.id,
269
- severity: STEP_LINT_RULES.outlineQuotedValues.severity,
270
- message: `Scenario Outline step uses quoted values instead of <placeholder> syntax — this suggests the Scenario pattern (Cucumber expressions) rather than ScenarioOutline pattern (variable substitution)`,
271
- file: featurePath ?? stepFilePath,
272
- line: i + 1,
273
- });
274
- }
275
- }
276
- }
277
- return violations;
278
- }
279
- /**
280
- * Run all cross-file checks on a paired feature + step file.
281
- */
282
- export function runCrossChecks(featureContent, stepContent, stepFilePath, featurePath) {
283
- return [
284
- ...checkScenarioOutlineFunctionParams(featureContent, stepContent, stepFilePath),
285
- ...checkMissingAndDestructuring(featureContent, stepContent, stepFilePath),
286
- ...checkMissingRuleWrapper(featureContent, stepContent, stepFilePath),
287
- ...checkOutlineQuotedValues(featureContent, stepContent, stepFilePath, featurePath),
288
- ];
289
- }
290
- //# sourceMappingURL=cross-checks.js.map