@lumenflow/core 4.23.0 → 5.0.0

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 (439) hide show
  1. package/dist/arg-parser.d.ts.map +1 -1
  2. package/dist/arg-parser.js +16 -0
  3. package/dist/arg-parser.js.map +1 -1
  4. package/dist/atomic-merge.d.ts.map +1 -1
  5. package/dist/atomic-merge.js +25 -18
  6. package/dist/atomic-merge.js.map +1 -1
  7. package/dist/client-ids.d.ts +1 -15
  8. package/dist/client-ids.d.ts.map +1 -1
  9. package/dist/client-ids.js +4 -13
  10. package/dist/client-ids.js.map +1 -1
  11. package/dist/code-path-validator.d.ts.map +1 -1
  12. package/dist/code-path-validator.js +6 -3
  13. package/dist/code-path-validator.js.map +1 -1
  14. package/dist/config-contract.d.ts +1 -30
  15. package/dist/config-contract.d.ts.map +1 -1
  16. package/dist/config-contract.js +4 -60
  17. package/dist/config-contract.js.map +1 -1
  18. package/dist/constants/backlog-patterns.d.ts +1 -20
  19. package/dist/constants/backlog-patterns.d.ts.map +1 -1
  20. package/dist/constants/backlog-patterns.js +2 -23
  21. package/dist/constants/backlog-patterns.js.map +1 -1
  22. package/dist/constants/dora-constants.d.ts +19 -2
  23. package/dist/constants/dora-constants.d.ts.map +1 -1
  24. package/dist/constants/dora-constants.js +20 -2
  25. package/dist/constants/dora-constants.js.map +1 -1
  26. package/dist/constants/duration-constants.d.ts +1 -28
  27. package/dist/constants/duration-constants.d.ts.map +1 -1
  28. package/dist/constants/duration-constants.js +4 -28
  29. package/dist/constants/duration-constants.js.map +1 -1
  30. package/dist/constants/gate-constants.d.ts +1 -23
  31. package/dist/constants/gate-constants.d.ts.map +1 -1
  32. package/dist/constants/gate-constants.js +4 -23
  33. package/dist/constants/gate-constants.js.map +1 -1
  34. package/dist/constants/index.d.ts +1 -1
  35. package/dist/constants/index.d.ts.map +1 -1
  36. package/dist/constants/index.js +1 -1
  37. package/dist/constants/index.js.map +1 -1
  38. package/dist/constants/lock-constants.d.ts +1 -28
  39. package/dist/constants/lock-constants.d.ts.map +1 -1
  40. package/dist/constants/lock-constants.js +2 -28
  41. package/dist/constants/lock-constants.js.map +1 -1
  42. package/dist/core/tool.schemas.d.ts +11 -11
  43. package/dist/core/worktree-guard.js +2 -2
  44. package/dist/core/worktree-guard.js.map +1 -1
  45. package/dist/cycle-detector.d.ts +4 -48
  46. package/dist/cycle-detector.d.ts.map +1 -1
  47. package/dist/cycle-detector.js +4 -78
  48. package/dist/cycle-detector.js.map +1 -1
  49. package/dist/date-utils.d.ts +1 -65
  50. package/dist/date-utils.d.ts.map +1 -1
  51. package/dist/date-utils.js +4 -140
  52. package/dist/date-utils.js.map +1 -1
  53. package/dist/delegation-monitor.d.ts +2 -0
  54. package/dist/delegation-monitor.d.ts.map +1 -1
  55. package/dist/delegation-monitor.js +29 -2
  56. package/dist/delegation-monitor.js.map +1 -1
  57. package/dist/delegation-recovery.d.ts +36 -17
  58. package/dist/delegation-recovery.d.ts.map +1 -1
  59. package/dist/delegation-recovery.js +285 -82
  60. package/dist/delegation-recovery.js.map +1 -1
  61. package/dist/delegation-registry-schema.d.ts +257 -31
  62. package/dist/delegation-registry-schema.d.ts.map +1 -1
  63. package/dist/delegation-registry-schema.js +43 -34
  64. package/dist/delegation-registry-schema.js.map +1 -1
  65. package/dist/delegation-registry-store.d.ts +4 -128
  66. package/dist/delegation-registry-store.d.ts.map +1 -1
  67. package/dist/delegation-registry-store.js +39 -178
  68. package/dist/delegation-registry-store.js.map +1 -1
  69. package/dist/delegation-tree.d.ts +12 -20
  70. package/dist/delegation-tree.d.ts.map +1 -1
  71. package/dist/delegation-tree.js +40 -29
  72. package/dist/delegation-tree.js.map +1 -1
  73. package/dist/delivery-review-contract.d.ts +1 -1
  74. package/dist/delivery-review-contract.d.ts.map +1 -1
  75. package/dist/docs-layout-presets.d.ts +1 -30
  76. package/dist/docs-layout-presets.d.ts.map +1 -1
  77. package/dist/docs-layout-presets.js +4 -38
  78. package/dist/docs-layout-presets.js.map +1 -1
  79. package/dist/domain/context.schemas.d.ts +3 -3
  80. package/dist/domain/orchestration.constants.d.ts +1 -110
  81. package/dist/domain/orchestration.constants.d.ts.map +1 -1
  82. package/dist/domain/orchestration.constants.js +2 -127
  83. package/dist/domain/orchestration.constants.js.map +1 -1
  84. package/dist/domain/orchestration.schemas.d.ts +1 -306
  85. package/dist/domain/orchestration.schemas.d.ts.map +1 -1
  86. package/dist/domain/orchestration.schemas.js +2 -211
  87. package/dist/domain/orchestration.schemas.js.map +1 -1
  88. package/dist/domain/orchestration.types.d.ts +1 -133
  89. package/dist/domain/orchestration.types.d.ts.map +1 -1
  90. package/dist/domain/orchestration.types.js +2 -2
  91. package/dist/domain/orchestration.types.js.map +1 -1
  92. package/dist/domain/recovery.schemas.d.ts +3 -3
  93. package/dist/domain/validation.schemas.d.ts +4 -4
  94. package/dist/error-handler.d.ts +4 -173
  95. package/dist/error-handler.d.ts.map +1 -1
  96. package/dist/error-handler.js +4 -244
  97. package/dist/error-handler.js.map +1 -1
  98. package/dist/file-classifiers.d.ts.map +1 -1
  99. package/dist/file-classifiers.js +26 -0
  100. package/dist/file-classifiers.js.map +1 -1
  101. package/dist/git-adapter.d.ts +4 -448
  102. package/dist/git-adapter.d.ts.map +1 -1
  103. package/dist/git-adapter.js +4 -772
  104. package/dist/git-adapter.js.map +1 -1
  105. package/dist/git-context-extractor.d.ts +4 -98
  106. package/dist/git-context-extractor.d.ts.map +1 -1
  107. package/dist/git-context-extractor.js +4 -563
  108. package/dist/git-context-extractor.js.map +1 -1
  109. package/dist/git-staged-validator.d.ts +4 -29
  110. package/dist/git-staged-validator.d.ts.map +1 -1
  111. package/dist/git-staged-validator.js +4 -46
  112. package/dist/git-staged-validator.js.map +1 -1
  113. package/dist/incremental-lint.d.ts.map +1 -1
  114. package/dist/incremental-lint.js +3 -2
  115. package/dist/incremental-lint.js.map +1 -1
  116. package/dist/incremental-test.d.ts +1 -32
  117. package/dist/incremental-test.d.ts.map +1 -1
  118. package/dist/incremental-test.js +4 -61
  119. package/dist/incremental-test.js.map +1 -1
  120. package/dist/index.d.ts +3 -2
  121. package/dist/index.d.ts.map +1 -1
  122. package/dist/index.js +10 -2
  123. package/dist/index.js.map +1 -1
  124. package/dist/integration-target.d.ts +30 -0
  125. package/dist/integration-target.d.ts.map +1 -0
  126. package/dist/integration-target.js +51 -0
  127. package/dist/integration-target.js.map +1 -0
  128. package/dist/lane-checker.d.ts.map +1 -1
  129. package/dist/lane-checker.js +8 -0
  130. package/dist/lane-checker.js.map +1 -1
  131. package/dist/lumenflow-config-schema.d.ts +73 -29
  132. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  133. package/dist/lumenflow-config-schema.js +1 -1
  134. package/dist/lumenflow-config-schema.js.map +1 -1
  135. package/dist/lumenflow-config.d.ts +10 -34
  136. package/dist/lumenflow-config.d.ts.map +1 -1
  137. package/dist/lumenflow-config.js +32 -142
  138. package/dist/lumenflow-config.js.map +1 -1
  139. package/dist/manual-test-validator.d.ts +1 -96
  140. package/dist/manual-test-validator.d.ts.map +1 -1
  141. package/dist/manual-test-validator.js +4 -245
  142. package/dist/manual-test-validator.js.map +1 -1
  143. package/dist/micro-worktree-shared.d.ts.map +1 -1
  144. package/dist/micro-worktree-shared.js +10 -9
  145. package/dist/micro-worktree-shared.js.map +1 -1
  146. package/dist/micro-worktree.d.ts.map +1 -1
  147. package/dist/micro-worktree.js +26 -23
  148. package/dist/micro-worktree.js.map +1 -1
  149. package/dist/normalize-config-keys.d.ts +1 -10
  150. package/dist/normalize-config-keys.d.ts.map +1 -1
  151. package/dist/normalize-config-keys.js +7 -73
  152. package/dist/normalize-config-keys.js.map +1 -1
  153. package/dist/object-guards.d.ts +1 -10
  154. package/dist/object-guards.d.ts.map +1 -1
  155. package/dist/object-guards.js +7 -20
  156. package/dist/object-guards.js.map +1 -1
  157. package/dist/ports/config.ports.d.ts +1 -82
  158. package/dist/ports/config.ports.d.ts.map +1 -1
  159. package/dist/ports/config.ports.js +2 -1
  160. package/dist/ports/config.ports.js.map +1 -1
  161. package/dist/ports/dashboard-renderer.port.d.ts +1 -112
  162. package/dist/ports/dashboard-renderer.port.d.ts.map +1 -1
  163. package/dist/ports/dashboard-renderer.port.js +2 -1
  164. package/dist/ports/dashboard-renderer.port.js.map +1 -1
  165. package/dist/ports/git-validator.ports.d.ts +5 -110
  166. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  167. package/dist/ports/git-validator.ports.js +8 -1
  168. package/dist/ports/git-validator.ports.js.map +1 -1
  169. package/dist/ports/sync-validator.ports.d.ts +1 -51
  170. package/dist/ports/sync-validator.ports.d.ts.map +1 -1
  171. package/dist/ports/sync-validator.ports.js +2 -1
  172. package/dist/ports/sync-validator.ports.js.map +1 -1
  173. package/dist/ports/wu-helpers.ports.d.ts +1 -156
  174. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  175. package/dist/ports/wu-helpers.ports.js +2 -1
  176. package/dist/ports/wu-helpers.ports.js.map +1 -1
  177. package/dist/ports/wu-state.ports.d.ts +1 -208
  178. package/dist/ports/wu-state.ports.d.ts.map +1 -1
  179. package/dist/ports/wu-state.ports.js +2 -1
  180. package/dist/ports/wu-state.ports.js.map +1 -1
  181. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  182. package/dist/rebase-artifact-cleanup.js +6 -3
  183. package/dist/rebase-artifact-cleanup.js.map +1 -1
  184. package/dist/sandbox-allowlist.d.ts +1 -15
  185. package/dist/sandbox-allowlist.d.ts.map +1 -1
  186. package/dist/sandbox-allowlist.js +4 -74
  187. package/dist/sandbox-allowlist.js.map +1 -1
  188. package/dist/sandbox-backend-linux.d.ts +1 -5
  189. package/dist/sandbox-backend-linux.d.ts.map +1 -1
  190. package/dist/sandbox-backend-linux.js +4 -64
  191. package/dist/sandbox-backend-linux.js.map +1 -1
  192. package/dist/sandbox-backend-macos.d.ts +1 -5
  193. package/dist/sandbox-backend-macos.d.ts.map +1 -1
  194. package/dist/sandbox-backend-macos.js +4 -109
  195. package/dist/sandbox-backend-macos.js.map +1 -1
  196. package/dist/sandbox-backend-windows.d.ts +1 -5
  197. package/dist/sandbox-backend-windows.d.ts.map +1 -1
  198. package/dist/sandbox-backend-windows.js +4 -27
  199. package/dist/sandbox-backend-windows.js.map +1 -1
  200. package/dist/sandbox-profile.d.ts +1 -57
  201. package/dist/sandbox-profile.d.ts.map +1 -1
  202. package/dist/sandbox-profile.js +4 -65
  203. package/dist/sandbox-profile.js.map +1 -1
  204. package/dist/schemas/agents-config.d.ts +47 -0
  205. package/dist/schemas/agents-config.d.ts.map +1 -1
  206. package/dist/schemas/agents-config.js +59 -0
  207. package/dist/schemas/agents-config.js.map +1 -1
  208. package/dist/schemas/command-schemas.d.ts +4 -4
  209. package/dist/schemas/flow-arg-validators.d.ts +2 -2
  210. package/dist/schemas/flow-schemas.d.ts +4 -4
  211. package/dist/schemas/gates-section-config.d.ts +32 -13
  212. package/dist/schemas/gates-section-config.d.ts.map +1 -1
  213. package/dist/schemas/gates-section-config.js +16 -1
  214. package/dist/schemas/gates-section-config.js.map +1 -1
  215. package/dist/schemas/initiative-arg-validators.d.ts +2 -2
  216. package/dist/schemas/initiative-schemas.d.ts +12 -12
  217. package/dist/schemas/lanes-config.d.ts +5 -5
  218. package/dist/schemas/memory-arg-validators.d.ts +6 -0
  219. package/dist/schemas/memory-arg-validators.d.ts.map +1 -1
  220. package/dist/schemas/memory-config.d.ts +4 -4
  221. package/dist/schemas/memory-schemas.d.ts +12 -0
  222. package/dist/schemas/memory-schemas.d.ts.map +1 -1
  223. package/dist/schemas/memory-schemas.js +12 -0
  224. package/dist/schemas/memory-schemas.js.map +1 -1
  225. package/dist/schemas/operational-config.d.ts +4 -4
  226. package/dist/schemas/setup-arg-validators.d.ts +3 -3
  227. package/dist/schemas/setup-schemas.d.ts +8 -8
  228. package/dist/schemas/wu-config.d.ts +3 -3
  229. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -2
  230. package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -4
  231. package/dist/section-headings.d.ts +1 -34
  232. package/dist/section-headings.d.ts.map +1 -1
  233. package/dist/section-headings.js +2 -51
  234. package/dist/section-headings.js.map +1 -1
  235. package/dist/spawn-constraints-generator.js +3 -3
  236. package/dist/spawn-constraints-generator.js.map +1 -1
  237. package/dist/spawn-guidance-generators.d.ts +1 -1
  238. package/dist/spawn-guidance-generators.d.ts.map +1 -1
  239. package/dist/spawn-policy-resolver.d.ts +1 -1
  240. package/dist/spawn-policy-resolver.d.ts.map +1 -1
  241. package/dist/spawn-task-builder.d.ts +17 -1
  242. package/dist/spawn-task-builder.d.ts.map +1 -1
  243. package/dist/spawn-task-builder.js +63 -1
  244. package/dist/spawn-task-builder.js.map +1 -1
  245. package/dist/spawn-template-assembler.d.ts +1 -1
  246. package/dist/spawn-template-assembler.d.ts.map +1 -1
  247. package/dist/state-machine.d.ts +1 -9
  248. package/dist/state-machine.d.ts.map +1 -1
  249. package/dist/state-machine.js +2 -86
  250. package/dist/state-machine.js.map +1 -1
  251. package/dist/sync-validator.d.ts.map +1 -1
  252. package/dist/sync-validator.js +15 -12
  253. package/dist/sync-validator.js.map +1 -1
  254. package/dist/telemetry.d.ts +20 -6
  255. package/dist/telemetry.d.ts.map +1 -1
  256. package/dist/telemetry.js +27 -6
  257. package/dist/telemetry.js.map +1 -1
  258. package/dist/work-classifier.d.ts +1 -102
  259. package/dist/work-classifier.d.ts.map +1 -1
  260. package/dist/work-classifier.js +2 -424
  261. package/dist/work-classifier.js.map +1 -1
  262. package/dist/worktree-symlink.d.ts +2 -2
  263. package/dist/worktree-symlink.d.ts.map +1 -1
  264. package/dist/worktree-symlink.js +37 -12
  265. package/dist/worktree-symlink.js.map +1 -1
  266. package/dist/wu-cli-constants.d.ts +1 -433
  267. package/dist/wu-cli-constants.d.ts.map +1 -1
  268. package/dist/wu-cli-constants.js +4 -436
  269. package/dist/wu-cli-constants.js.map +1 -1
  270. package/dist/wu-consistency-file-repairs.d.ts.map +1 -1
  271. package/dist/wu-consistency-file-repairs.js +5 -3
  272. package/dist/wu-consistency-file-repairs.js.map +1 -1
  273. package/dist/wu-context-constants.d.ts +22 -0
  274. package/dist/wu-context-constants.d.ts.map +1 -1
  275. package/dist/wu-context-constants.js +22 -0
  276. package/dist/wu-context-constants.js.map +1 -1
  277. package/dist/wu-doc-types.d.ts +1 -47
  278. package/dist/wu-doc-types.d.ts.map +1 -1
  279. package/dist/wu-domain-constants.d.ts +1 -295
  280. package/dist/wu-domain-constants.d.ts.map +1 -1
  281. package/dist/wu-domain-constants.js +4 -397
  282. package/dist/wu-domain-constants.js.map +1 -1
  283. package/dist/wu-done-branch-only.d.ts +1 -1
  284. package/dist/wu-done-branch-only.d.ts.map +1 -1
  285. package/dist/wu-done-branch-only.js +22 -13
  286. package/dist/wu-done-branch-only.js.map +1 -1
  287. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  288. package/dist/wu-done-branch-utils.js +5 -3
  289. package/dist/wu-done-branch-utils.js.map +1 -1
  290. package/dist/wu-done-cleanup.d.ts.map +1 -1
  291. package/dist/wu-done-cleanup.js +66 -22
  292. package/dist/wu-done-cleanup.js.map +1 -1
  293. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  294. package/dist/wu-done-concurrent-merge.js +9 -6
  295. package/dist/wu-done-concurrent-merge.js.map +1 -1
  296. package/dist/wu-done-errors.d.ts +3 -3
  297. package/dist/wu-done-errors.d.ts.map +1 -1
  298. package/dist/wu-done-inputs.d.ts.map +1 -1
  299. package/dist/wu-done-inputs.js +3 -0
  300. package/dist/wu-done-inputs.js.map +1 -1
  301. package/dist/wu-done-merge-phase.d.ts.map +1 -1
  302. package/dist/wu-done-merge-phase.js +4 -2
  303. package/dist/wu-done-merge-phase.js.map +1 -1
  304. package/dist/wu-done-merge.d.ts.map +1 -1
  305. package/dist/wu-done-merge.js +16 -8
  306. package/dist/wu-done-merge.js.map +1 -1
  307. package/dist/wu-done-merged-worktree.d.ts.map +1 -1
  308. package/dist/wu-done-merged-worktree.js +7 -8
  309. package/dist/wu-done-merged-worktree.js.map +1 -1
  310. package/dist/wu-done-messages.d.ts.map +1 -1
  311. package/dist/wu-done-messages.js +12 -5
  312. package/dist/wu-done-messages.js.map +1 -1
  313. package/dist/wu-done-metadata.d.ts.map +1 -1
  314. package/dist/wu-done-metadata.js +3 -8
  315. package/dist/wu-done-metadata.js.map +1 -1
  316. package/dist/wu-done-preflight-checks.d.ts.map +1 -1
  317. package/dist/wu-done-preflight-checks.js +21 -15
  318. package/dist/wu-done-preflight-checks.js.map +1 -1
  319. package/dist/wu-done-rebase.d.ts.map +1 -1
  320. package/dist/wu-done-rebase.js +10 -8
  321. package/dist/wu-done-rebase.js.map +1 -1
  322. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  323. package/dist/wu-done-retry-helpers.js +13 -11
  324. package/dist/wu-done-retry-helpers.js.map +1 -1
  325. package/dist/wu-done-validation.d.ts.map +1 -1
  326. package/dist/wu-done-validation.js +4 -2
  327. package/dist/wu-done-validation.js.map +1 -1
  328. package/dist/wu-done-worktree-services.d.ts.map +1 -1
  329. package/dist/wu-done-worktree-services.js +4 -2
  330. package/dist/wu-done-worktree-services.js.map +1 -1
  331. package/dist/wu-done-worktree.d.ts.map +1 -1
  332. package/dist/wu-done-worktree.js +4 -2
  333. package/dist/wu-done-worktree.js.map +1 -1
  334. package/dist/wu-git-constants.d.ts +1 -175
  335. package/dist/wu-git-constants.d.ts.map +1 -1
  336. package/dist/wu-git-constants.js +4 -175
  337. package/dist/wu-git-constants.js.map +1 -1
  338. package/dist/wu-helpers.d.ts +24 -0
  339. package/dist/wu-helpers.d.ts.map +1 -1
  340. package/dist/wu-helpers.js +37 -4
  341. package/dist/wu-helpers.js.map +1 -1
  342. package/dist/wu-id-format.d.ts +1 -137
  343. package/dist/wu-id-format.d.ts.map +1 -1
  344. package/dist/wu-id-format.js +2 -249
  345. package/dist/wu-id-format.js.map +1 -1
  346. package/dist/wu-id-generator.d.ts.map +1 -1
  347. package/dist/wu-id-generator.js +8 -5
  348. package/dist/wu-id-generator.js.map +1 -1
  349. package/dist/wu-paths-constants.d.ts +1 -253
  350. package/dist/wu-paths-constants.d.ts.map +1 -1
  351. package/dist/wu-paths-constants.js +4 -273
  352. package/dist/wu-paths-constants.js.map +1 -1
  353. package/dist/wu-paths.d.ts +1 -274
  354. package/dist/wu-paths.d.ts.map +1 -1
  355. package/dist/wu-paths.js +4 -236
  356. package/dist/wu-paths.js.map +1 -1
  357. package/dist/wu-rules-resolvers.d.ts.map +1 -1
  358. package/dist/wu-rules-resolvers.js +11 -6
  359. package/dist/wu-rules-resolvers.js.map +1 -1
  360. package/dist/wu-schema.d.ts +1 -830
  361. package/dist/wu-schema.d.ts.map +1 -1
  362. package/dist/wu-schema.js +4 -929
  363. package/dist/wu-schema.js.map +1 -1
  364. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  365. package/dist/wu-spawn-helpers.js +5 -2
  366. package/dist/wu-spawn-helpers.js.map +1 -1
  367. package/dist/wu-spawn.d.ts +2 -2
  368. package/dist/wu-spawn.d.ts.map +1 -1
  369. package/dist/wu-spawn.js +2 -2
  370. package/dist/wu-spawn.js.map +1 -1
  371. package/dist/wu-state-schema.d.ts +1 -291
  372. package/dist/wu-state-schema.d.ts.map +1 -1
  373. package/dist/wu-state-schema.js +4 -212
  374. package/dist/wu-state-schema.js.map +1 -1
  375. package/dist/wu-status-transition.d.ts +3 -1
  376. package/dist/wu-status-transition.d.ts.map +1 -1
  377. package/dist/wu-status-transition.js +9 -24
  378. package/dist/wu-status-transition.js.map +1 -1
  379. package/dist/wu-statuses.d.ts +1 -208
  380. package/dist/wu-statuses.d.ts.map +1 -1
  381. package/dist/wu-statuses.js +4 -242
  382. package/dist/wu-statuses.js.map +1 -1
  383. package/dist/wu-transaction-collectors.d.ts +1 -0
  384. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  385. package/dist/wu-transaction-collectors.js +13 -8
  386. package/dist/wu-transaction-collectors.js.map +1 -1
  387. package/dist/wu-type-helpers.d.ts +1 -27
  388. package/dist/wu-type-helpers.d.ts.map +1 -1
  389. package/dist/wu-type-helpers.js +4 -46
  390. package/dist/wu-type-helpers.js.map +1 -1
  391. package/dist/wu-ui-constants.d.ts +1 -235
  392. package/dist/wu-ui-constants.d.ts.map +1 -1
  393. package/dist/wu-ui-constants.js +5 -235
  394. package/dist/wu-ui-constants.js.map +1 -1
  395. package/dist/wu-validation-constants.d.ts +1 -60
  396. package/dist/wu-validation-constants.d.ts.map +1 -1
  397. package/dist/wu-validation-constants.js +4 -66
  398. package/dist/wu-validation-constants.js.map +1 -1
  399. package/dist/wu-yaml.d.ts +1 -112
  400. package/dist/wu-yaml.d.ts.map +1 -1
  401. package/dist/wu-yaml.js +4 -304
  402. package/dist/wu-yaml.js.map +1 -1
  403. package/package.json +12 -9
  404. package/dist/coverage-gate.d.ts +0 -128
  405. package/dist/coverage-gate.d.ts.map +0 -1
  406. package/dist/coverage-gate.js +0 -211
  407. package/dist/coverage-gate.js.map +0 -1
  408. package/dist/gates-agent-mode.d.ts +0 -108
  409. package/dist/gates-agent-mode.d.ts.map +0 -1
  410. package/dist/gates-agent-mode.js +0 -138
  411. package/dist/gates-agent-mode.js.map +0 -1
  412. package/dist/gates-config-internal.d.ts +0 -54
  413. package/dist/gates-config-internal.d.ts.map +0 -1
  414. package/dist/gates-config-internal.js +0 -107
  415. package/dist/gates-config-internal.js.map +0 -1
  416. package/dist/gates-config.d.ts +0 -68
  417. package/dist/gates-config.d.ts.map +0 -1
  418. package/dist/gates-config.js +0 -193
  419. package/dist/gates-config.js.map +0 -1
  420. package/dist/gates-coverage.d.ts +0 -42
  421. package/dist/gates-coverage.d.ts.map +0 -1
  422. package/dist/gates-coverage.js +0 -162
  423. package/dist/gates-coverage.js.map +0 -1
  424. package/dist/gates-presets.d.ts +0 -52
  425. package/dist/gates-presets.d.ts.map +0 -1
  426. package/dist/gates-presets.js +0 -117
  427. package/dist/gates-presets.js.map +0 -1
  428. package/dist/gates-schemas.d.ts +0 -143
  429. package/dist/gates-schemas.d.ts.map +0 -1
  430. package/dist/gates-schemas.js +0 -67
  431. package/dist/gates-schemas.js.map +0 -1
  432. package/dist/package-manager-resolver.d.ts +0 -80
  433. package/dist/package-manager-resolver.d.ts.map +0 -1
  434. package/dist/package-manager-resolver.js +0 -245
  435. package/dist/package-manager-resolver.js.map +0 -1
  436. package/dist/resolve-policy.d.ts +0 -293
  437. package/dist/resolve-policy.d.ts.map +0 -1
  438. package/dist/resolve-policy.js +0 -303
  439. package/dist/resolve-policy.js.map +0 -1
@@ -1,293 +0,0 @@
1
- /// <reference path="./types.d.ts" />
2
- /**
3
- * Resolve Policy - Single Source of Truth for Methodology Decisions
4
- *
5
- * WU-1259: Provides a unified policy resolver that both wu:spawn and gates use.
6
- *
7
- * This module:
8
- * - Defines the methodology.* config schema
9
- * - Implements resolvePolicy() to produce ResolvedPolicy
10
- * - Applies precedence: template defaults -> methodology.overrides -> explicit gates.* -> CLI flags
11
- *
12
- * @module resolve-policy
13
- */
14
- import { z } from 'zod';
15
- import { type WUType } from './wu-statuses.js';
16
- /**
17
- * Testing methodology options
18
- */
19
- export declare const TESTING_METHODOLOGY: {
20
- readonly TDD: "tdd";
21
- readonly TEST_AFTER: "test-after";
22
- readonly NONE: "none";
23
- };
24
- export type TestingMethodology = (typeof TESTING_METHODOLOGY)[keyof typeof TESTING_METHODOLOGY];
25
- /**
26
- * Architecture methodology options
27
- */
28
- export declare const ARCHITECTURE_METHODOLOGY: {
29
- readonly HEXAGONAL: "hexagonal";
30
- readonly LAYERED: "layered";
31
- readonly NONE: "none";
32
- };
33
- export type ArchitectureMethodology = (typeof ARCHITECTURE_METHODOLOGY)[keyof typeof ARCHITECTURE_METHODOLOGY];
34
- /**
35
- * Coverage mode options
36
- */
37
- export declare const COVERAGE_MODE: {
38
- readonly BLOCK: "block";
39
- readonly WARN: "warn";
40
- readonly OFF: "off";
41
- };
42
- export type CoverageMode = (typeof COVERAGE_MODE)[keyof typeof COVERAGE_MODE];
43
- /**
44
- * Zod schema for testing methodology enum
45
- */
46
- export declare const TestingMethodologySchema: z.ZodEnum<{
47
- tdd: "tdd";
48
- "test-after": "test-after";
49
- none: "none";
50
- }>;
51
- /**
52
- * Zod schema for architecture methodology enum
53
- */
54
- export declare const ArchitectureMethodologySchema: z.ZodEnum<{
55
- none: "none";
56
- hexagonal: "hexagonal";
57
- layered: "layered";
58
- }>;
59
- /**
60
- * Zod schema for coverage mode enum
61
- */
62
- export declare const CoverageModeSchema: z.ZodEnum<{
63
- block: "block";
64
- warn: "warn";
65
- off: "off";
66
- }>;
67
- export declare const TddDiffEvidenceConfigSchema: z.ZodObject<{
68
- mode: z.ZodOptional<z.ZodEnum<{
69
- block: "block";
70
- warn: "warn";
71
- off: "off";
72
- }>>;
73
- applies_to_types: z.ZodOptional<z.ZodArray<z.ZodEnum<{
74
- feature: "feature";
75
- bug: "bug";
76
- documentation: "documentation";
77
- process: "process";
78
- tooling: "tooling";
79
- chore: "chore";
80
- refactor: "refactor";
81
- }>>>;
82
- exempt_paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
83
- }, z.core.$strip>;
84
- export type TddDiffEvidenceConfig = z.infer<typeof TddDiffEvidenceConfigSchema>;
85
- /**
86
- * Methodology overrides schema
87
- *
88
- * These allow tweaking template defaults without changing methodology.
89
- */
90
- export declare const MethodologyOverridesSchema: z.ZodObject<{
91
- coverage_threshold: z.ZodOptional<z.ZodNumber>;
92
- coverage_mode: z.ZodOptional<z.ZodEnum<{
93
- block: "block";
94
- warn: "warn";
95
- off: "off";
96
- }>>;
97
- }, z.core.$strip>;
98
- export type MethodologyOverrides = z.infer<typeof MethodologyOverridesSchema>;
99
- /**
100
- * WU-1899: Work classification UI pattern configuration
101
- *
102
- * Allows extending default UI detection patterns with project-specific
103
- * code path patterns and lane hints. Custom values EXTEND defaults,
104
- * they do not replace them.
105
- *
106
- * @example
107
- * ```yaml
108
- * methodology:
109
- * work_classification:
110
- * ui:
111
- * code_path_patterns:
112
- * - 'src/widgets/*.tsx'
113
- * lane_hints:
114
- * - 'Design'
115
- * ```
116
- */
117
- export declare const WorkClassificationUiSchema: z.ZodObject<{
118
- code_path_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
119
- lane_hints: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
- }, z.core.$strip>;
121
- /** WU-1899: TypeScript type for work classification UI config */
122
- export type WorkClassificationUi = z.infer<typeof WorkClassificationUiSchema>;
123
- /**
124
- * WU-1899: Work classification configuration schema
125
- *
126
- * Controls signal-based work domain detection for code-path-aware
127
- * UI/backend/docs/infra classification.
128
- *
129
- * @example
130
- * ```yaml
131
- * methodology:
132
- * work_classification:
133
- * ui:
134
- * code_path_patterns:
135
- * - 'src/widgets/*.tsx'
136
- * lane_hints:
137
- * - 'Design'
138
- * ```
139
- */
140
- export declare const WorkClassificationConfigSchema: z.ZodObject<{
141
- ui: z.ZodOptional<z.ZodObject<{
142
- code_path_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
143
- lane_hints: z.ZodOptional<z.ZodArray<z.ZodString>>;
144
- }, z.core.$strip>>;
145
- }, z.core.$strip>;
146
- /** WU-1899: TypeScript type for work classification config */
147
- export type WorkClassificationSchemaConfig = z.infer<typeof WorkClassificationConfigSchema>;
148
- /**
149
- * Main methodology configuration schema
150
- *
151
- * Config example in workspace.yaml:
152
- * ```yaml
153
- * methodology:
154
- * testing: 'tdd' # tdd | test-after | none
155
- * architecture: 'hexagonal' # hexagonal | layered | none
156
- * overrides:
157
- * coverage_threshold: 85 # Override TDD's default 90%
158
- * coverage_mode: 'warn' # Override TDD's default 'block'
159
- * work_classification:
160
- * ui:
161
- * code_path_patterns:
162
- * - 'src/widgets/*.tsx'
163
- * lane_hints:
164
- * - 'Design'
165
- * ```
166
- */
167
- export declare const MethodologyConfigSchema: z.ZodObject<{
168
- testing: z.ZodDefault<z.ZodEnum<{
169
- tdd: "tdd";
170
- "test-after": "test-after";
171
- none: "none";
172
- }>>;
173
- architecture: z.ZodDefault<z.ZodEnum<{
174
- none: "none";
175
- hexagonal: "hexagonal";
176
- layered: "layered";
177
- }>>;
178
- overrides: z.ZodOptional<z.ZodObject<{
179
- coverage_threshold: z.ZodOptional<z.ZodNumber>;
180
- coverage_mode: z.ZodOptional<z.ZodEnum<{
181
- block: "block";
182
- warn: "warn";
183
- off: "off";
184
- }>>;
185
- }, z.core.$strip>>;
186
- work_classification: z.ZodOptional<z.ZodObject<{
187
- ui: z.ZodOptional<z.ZodObject<{
188
- code_path_patterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
189
- lane_hints: z.ZodOptional<z.ZodArray<z.ZodString>>;
190
- }, z.core.$strip>>;
191
- }, z.core.$strip>>;
192
- }, z.core.$strip>;
193
- export type MethodologyConfig = z.infer<typeof MethodologyConfigSchema>;
194
- /**
195
- * The resolved policy used by wu:spawn and gates
196
- *
197
- * This is the single source of truth for methodology decisions.
198
- * All consumers (spawn prompts, gate runners, etc.) should use this type.
199
- */
200
- export interface ResolvedPolicy {
201
- /** Active testing methodology */
202
- testing: TestingMethodology;
203
- /** Active architecture methodology */
204
- architecture: ArchitectureMethodology;
205
- /** Resolved coverage threshold (0-100) */
206
- coverage_threshold: number;
207
- /** Resolved coverage mode */
208
- coverage_mode: CoverageMode;
209
- /** Whether tests are required for completion */
210
- tests_required: boolean;
211
- /** Resolved TDD diff evidence applicability */
212
- tdd_diff_evidence: TddDiffEvidencePolicy;
213
- }
214
- export interface TddDiffEvidencePolicy {
215
- mode: CoverageMode;
216
- applies_to_types: WUType[];
217
- exempt_paths: string[];
218
- }
219
- /**
220
- * Options for resolvePolicy
221
- */
222
- export interface ResolvePolicyOptions {
223
- /**
224
- * Raw config object before Zod defaults were applied.
225
- * Used to detect explicit vs default values for gates.* fields.
226
- *
227
- * When provided, only EXPLICIT gates.* settings override methodology.
228
- * When not provided, UnsafeAny gates.* value (including defaults) overrides methodology.
229
- */
230
- rawConfig?: {
231
- gates?: {
232
- minCoverage?: number;
233
- enableCoverage?: boolean;
234
- tdd_diff_evidence?: TddDiffEvidenceConfig;
235
- };
236
- };
237
- }
238
- interface PolicyConfigInput {
239
- methodology?: MethodologyConfig;
240
- gates: {
241
- minCoverage: number;
242
- enableCoverage: boolean;
243
- tdd_diff_evidence?: TddDiffEvidenceConfig;
244
- };
245
- }
246
- /**
247
- * Resolve the effective policy from configuration
248
- *
249
- * Precedence (highest to lowest):
250
- * 1. CLI flags (not handled here - handled by command layer)
251
- * 2. Explicit gates.* configuration (only if rawConfig provided to detect explicit vs default)
252
- * 3. methodology.overrides
253
- * 4. methodology template defaults
254
- *
255
- * This ensures backwards compatibility: existing users with explicit
256
- * gates.* config see no change, while new users can use methodology
257
- * config for a higher-level abstraction.
258
- *
259
- * @param config - The full LumenFlow configuration
260
- * @param options - Options including rawConfig for explicit detection
261
- * @returns The resolved policy for use by wu:spawn and gates
262
- *
263
- * @example
264
- * ```typescript
265
- * import { getConfig } from './lumenflow-config.js';
266
- * import { resolvePolicy } from './resolve-policy.js';
267
- *
268
- * const config = getConfig();
269
- * const policy = resolvePolicy(config);
270
- *
271
- * console.log(policy.coverage_threshold); // 90 (or configured value)
272
- * console.log(policy.testing); // 'tdd' (or configured value)
273
- * ```
274
- *
275
- * @example With raw config for explicit detection
276
- * ```typescript
277
- * const rawConfig = { methodology: { testing: 'test-after' } };
278
- * const config = parseConfig(rawConfig);
279
- * const policy = resolvePolicy(config, { rawConfig });
280
- * // policy.coverage_threshold will be 70 (test-after template default)
281
- * // because gates.minCoverage wasn't EXPLICITLY set
282
- * ```
283
- */
284
- export declare function resolvePolicy(config: PolicyConfigInput, options?: ResolvePolicyOptions): ResolvedPolicy;
285
- /**
286
- * Create a default resolved policy
287
- *
288
- * Convenience function for when no config is available.
289
- * Returns strict TDD defaults.
290
- */
291
- export declare function getDefaultPolicy(): ResolvedPolicy;
292
- export {};
293
- //# sourceMappingURL=resolve-policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-policy.d.ts","sourceRoot":"","sources":["../src/resolve-policy.ts"],"names":[],"mappings":"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"}
@@ -1,303 +0,0 @@
1
- // Copyright (c) 2026 Hellmai Ltd
2
- // SPDX-License-Identifier: AGPL-3.0-only
3
- /**
4
- * Resolve Policy - Single Source of Truth for Methodology Decisions
5
- *
6
- * WU-1259: Provides a unified policy resolver that both wu:spawn and gates use.
7
- *
8
- * This module:
9
- * - Defines the methodology.* config schema
10
- * - Implements resolvePolicy() to produce ResolvedPolicy
11
- * - Applies precedence: template defaults -> methodology.overrides -> explicit gates.* -> CLI flags
12
- *
13
- * @module resolve-policy
14
- */
15
- import { z } from 'zod';
16
- import { WU_TYPES, WU_TYPE_VALUES } from './wu-statuses.js';
17
- /**
18
- * Testing methodology options
19
- */
20
- export const TESTING_METHODOLOGY = {
21
- TDD: 'tdd',
22
- TEST_AFTER: 'test-after',
23
- NONE: 'none',
24
- };
25
- /**
26
- * Architecture methodology options
27
- */
28
- export const ARCHITECTURE_METHODOLOGY = {
29
- HEXAGONAL: 'hexagonal',
30
- LAYERED: 'layered',
31
- NONE: 'none',
32
- };
33
- /**
34
- * Coverage mode options
35
- */
36
- export const COVERAGE_MODE = {
37
- BLOCK: 'block',
38
- WARN: 'warn',
39
- OFF: 'off',
40
- };
41
- /**
42
- * Zod schema for testing methodology enum
43
- */
44
- export const TestingMethodologySchema = z.enum(['tdd', 'test-after', 'none']);
45
- /**
46
- * Zod schema for architecture methodology enum
47
- */
48
- export const ArchitectureMethodologySchema = z.enum(['hexagonal', 'layered', 'none']);
49
- /**
50
- * Zod schema for coverage mode enum
51
- */
52
- export const CoverageModeSchema = z.enum(['block', 'warn', 'off']);
53
- export const TddDiffEvidenceConfigSchema = z.object({
54
- mode: CoverageModeSchema.optional(),
55
- applies_to_types: z.array(z.enum(WU_TYPE_VALUES)).min(1).optional(),
56
- exempt_paths: z.array(z.string().min(1)).optional(),
57
- });
58
- /**
59
- * Methodology overrides schema
60
- *
61
- * These allow tweaking template defaults without changing methodology.
62
- */
63
- export const MethodologyOverridesSchema = z.object({
64
- /** Override the default coverage threshold from the testing methodology */
65
- coverage_threshold: z.number().min(0).max(100).optional(),
66
- /** Override the default coverage mode from the testing methodology */
67
- coverage_mode: CoverageModeSchema.optional(),
68
- });
69
- /**
70
- * WU-1899: Work classification UI pattern configuration
71
- *
72
- * Allows extending default UI detection patterns with project-specific
73
- * code path patterns and lane hints. Custom values EXTEND defaults,
74
- * they do not replace them.
75
- *
76
- * @example
77
- * ```yaml
78
- * methodology:
79
- * work_classification:
80
- * ui:
81
- * code_path_patterns:
82
- * - 'src/widgets/*.tsx'
83
- * lane_hints:
84
- * - 'Design'
85
- * ```
86
- */
87
- export const WorkClassificationUiSchema = z.object({
88
- /**
89
- * Additional glob patterns for detecting UI work via code paths.
90
- * These extend the built-in defaults (CSS, SCSS, LESS, components, pages, etc.).
91
- * Uses minimatch glob syntax.
92
- */
93
- code_path_patterns: z.array(z.string()).optional(),
94
- /**
95
- * Additional lane parent hints for detecting UI work.
96
- * These extend the built-in defaults (Experience, Frontend, UI, Design).
97
- * Matched case-insensitively against the lane parent (part before the colon).
98
- */
99
- lane_hints: z.array(z.string()).optional(),
100
- });
101
- /**
102
- * WU-1899: Work classification configuration schema
103
- *
104
- * Controls signal-based work domain detection for code-path-aware
105
- * UI/backend/docs/infra classification.
106
- *
107
- * @example
108
- * ```yaml
109
- * methodology:
110
- * work_classification:
111
- * ui:
112
- * code_path_patterns:
113
- * - 'src/widgets/*.tsx'
114
- * lane_hints:
115
- * - 'Design'
116
- * ```
117
- */
118
- export const WorkClassificationConfigSchema = z.object({
119
- /** UI detection pattern overrides (extend defaults) */
120
- ui: WorkClassificationUiSchema.optional(),
121
- });
122
- /**
123
- * Main methodology configuration schema
124
- *
125
- * Config example in workspace.yaml:
126
- * ```yaml
127
- * methodology:
128
- * testing: 'tdd' # tdd | test-after | none
129
- * architecture: 'hexagonal' # hexagonal | layered | none
130
- * overrides:
131
- * coverage_threshold: 85 # Override TDD's default 90%
132
- * coverage_mode: 'warn' # Override TDD's default 'block'
133
- * work_classification:
134
- * ui:
135
- * code_path_patterns:
136
- * - 'src/widgets/*.tsx'
137
- * lane_hints:
138
- * - 'Design'
139
- * ```
140
- */
141
- export const MethodologyConfigSchema = z.object({
142
- /** Testing methodology (default: 'tdd') */
143
- testing: TestingMethodologySchema.default('tdd'),
144
- /** Architecture methodology (default: 'hexagonal') */
145
- architecture: ArchitectureMethodologySchema.default('hexagonal'),
146
- /** Optional overrides for template defaults */
147
- overrides: MethodologyOverridesSchema.optional(),
148
- /**
149
- * WU-1899: Work classification configuration.
150
- * Extends default signal patterns for UI/backend/docs/infra detection.
151
- * Custom patterns extend defaults, they do not replace them.
152
- */
153
- work_classification: WorkClassificationConfigSchema.optional(),
154
- });
155
- const DEFAULT_TDD_DIFF_APPLIES_TO_TYPES = [
156
- WU_TYPES.FEATURE,
157
- WU_TYPES.BUG,
158
- ];
159
- const DEFAULT_TDD_DIFF_EXEMPT_PATHS = [];
160
- const TESTING_TEMPLATE_DEFAULTS = {
161
- tdd: {
162
- coverage_threshold: 90,
163
- coverage_mode: 'block',
164
- tests_required: true,
165
- },
166
- 'test-after': {
167
- coverage_threshold: 70,
168
- coverage_mode: 'warn',
169
- tests_required: true,
170
- },
171
- none: {
172
- coverage_threshold: 0,
173
- coverage_mode: 'off',
174
- tests_required: false,
175
- },
176
- };
177
- function resolveDefaultTddDiffEvidenceMode(testing) {
178
- return testing === TESTING_METHODOLOGY.TDD ? COVERAGE_MODE.BLOCK : COVERAGE_MODE.OFF;
179
- }
180
- function cloneWuTypes(value) {
181
- return [...(value ?? DEFAULT_TDD_DIFF_APPLIES_TO_TYPES)];
182
- }
183
- function cloneExemptPaths(value) {
184
- return [...(value ?? DEFAULT_TDD_DIFF_EXEMPT_PATHS)];
185
- }
186
- function resolveTddDiffEvidencePolicy(testing, config) {
187
- return {
188
- mode: config?.mode ?? resolveDefaultTddDiffEvidenceMode(testing),
189
- applies_to_types: cloneWuTypes(config?.applies_to_types),
190
- exempt_paths: cloneExemptPaths(config?.exempt_paths),
191
- };
192
- }
193
- /**
194
- * Resolve the effective policy from configuration
195
- *
196
- * Precedence (highest to lowest):
197
- * 1. CLI flags (not handled here - handled by command layer)
198
- * 2. Explicit gates.* configuration (only if rawConfig provided to detect explicit vs default)
199
- * 3. methodology.overrides
200
- * 4. methodology template defaults
201
- *
202
- * This ensures backwards compatibility: existing users with explicit
203
- * gates.* config see no change, while new users can use methodology
204
- * config for a higher-level abstraction.
205
- *
206
- * @param config - The full LumenFlow configuration
207
- * @param options - Options including rawConfig for explicit detection
208
- * @returns The resolved policy for use by wu:spawn and gates
209
- *
210
- * @example
211
- * ```typescript
212
- * import { getConfig } from './lumenflow-config.js';
213
- * import { resolvePolicy } from './resolve-policy.js';
214
- *
215
- * const config = getConfig();
216
- * const policy = resolvePolicy(config);
217
- *
218
- * console.log(policy.coverage_threshold); // 90 (or configured value)
219
- * console.log(policy.testing); // 'tdd' (or configured value)
220
- * ```
221
- *
222
- * @example With raw config for explicit detection
223
- * ```typescript
224
- * const rawConfig = { methodology: { testing: 'test-after' } };
225
- * const config = parseConfig(rawConfig);
226
- * const policy = resolvePolicy(config, { rawConfig });
227
- * // policy.coverage_threshold will be 70 (test-after template default)
228
- * // because gates.minCoverage wasn't EXPLICITLY set
229
- * ```
230
- */
231
- export function resolvePolicy(config, options = {}) {
232
- const { rawConfig } = options;
233
- // Parse methodology config (provides defaults if not specified)
234
- const methodology = MethodologyConfigSchema.parse(config.methodology ?? {});
235
- // Get template defaults based on testing methodology
236
- const templateDefaults = TESTING_TEMPLATE_DEFAULTS[methodology.testing];
237
- // Layer 1: Start with template defaults
238
- let coverage_threshold = templateDefaults.coverage_threshold;
239
- let coverage_mode = templateDefaults.coverage_mode;
240
- const tests_required = templateDefaults.tests_required;
241
- // Layer 2: Apply methodology.overrides (if specified)
242
- if (methodology.overrides?.coverage_threshold !== undefined) {
243
- coverage_threshold = methodology.overrides.coverage_threshold;
244
- }
245
- if (methodology.overrides?.coverage_mode !== undefined) {
246
- coverage_mode = methodology.overrides.coverage_mode;
247
- }
248
- // Layer 3: Apply explicit gates.* configuration (highest precedence)
249
- // This ensures backwards compatibility with existing gates config
250
- //
251
- // Key insight: We only want EXPLICIT gates.* to override methodology.
252
- // If rawConfig is provided, we check if gates values were explicitly set.
253
- // If rawConfig is NOT provided (legacy mode), we check if methodology
254
- // was specified - if so, methodology controls unless gates differ from default.
255
- const gates = config.gates;
256
- // Determine if gates.minCoverage was explicitly set
257
- const gatesMinCoverageExplicit = rawConfig !== undefined ? rawConfig.gates?.minCoverage !== undefined : false;
258
- // Determine if gates.enableCoverage was explicitly set
259
- const gatesEnableCoverageExplicit = rawConfig !== undefined ? rawConfig.gates?.enableCoverage !== undefined : false;
260
- // Apply gates.minCoverage only if explicitly set, or if no methodology was specified
261
- // (for backwards compatibility with pre-methodology configs)
262
- const methodologySpecified = config.methodology !== undefined;
263
- if (gatesMinCoverageExplicit || (!methodologySpecified && rawConfig === undefined)) {
264
- // gates.minCoverage overrides methodology coverage_threshold
265
- coverage_threshold = gates.minCoverage;
266
- }
267
- // gates.enableCoverage: false effectively sets coverage_mode to 'off'
268
- if (gatesEnableCoverageExplicit || (!methodologySpecified && rawConfig === undefined)) {
269
- if (gates?.enableCoverage === false) {
270
- coverage_mode = 'off';
271
- }
272
- }
273
- const tdd_diff_evidence = resolveTddDiffEvidencePolicy(methodology.testing, config.gates?.tdd_diff_evidence);
274
- return {
275
- testing: methodology.testing,
276
- architecture: methodology.architecture,
277
- coverage_threshold,
278
- coverage_mode,
279
- tests_required,
280
- tdd_diff_evidence,
281
- };
282
- }
283
- /**
284
- * Create a default resolved policy
285
- *
286
- * Convenience function for when no config is available.
287
- * Returns strict TDD defaults.
288
- */
289
- export function getDefaultPolicy() {
290
- return {
291
- testing: 'tdd',
292
- architecture: 'hexagonal',
293
- coverage_threshold: 90,
294
- coverage_mode: 'block',
295
- tests_required: true,
296
- tdd_diff_evidence: {
297
- mode: COVERAGE_MODE.BLOCK,
298
- applies_to_types: [...DEFAULT_TDD_DIFF_APPLIES_TO_TYPES],
299
- exempt_paths: [...DEFAULT_TDD_DIFF_EXEMPT_PATHS],
300
- },
301
- };
302
- }
303
- //# sourceMappingURL=resolve-policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve-policy.js","sourceRoot":"","sources":["../src/resolve-policy.ts"],"names":[],"mappings":"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"}