@lumenflow/core 4.24.0 → 5.0.1

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 (430) 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/duration-constants.d.ts +1 -28
  23. package/dist/constants/duration-constants.d.ts.map +1 -1
  24. package/dist/constants/duration-constants.js +4 -28
  25. package/dist/constants/duration-constants.js.map +1 -1
  26. package/dist/constants/gate-constants.d.ts +1 -23
  27. package/dist/constants/gate-constants.d.ts.map +1 -1
  28. package/dist/constants/gate-constants.js +4 -23
  29. package/dist/constants/gate-constants.js.map +1 -1
  30. package/dist/constants/lock-constants.d.ts +1 -28
  31. package/dist/constants/lock-constants.d.ts.map +1 -1
  32. package/dist/constants/lock-constants.js +2 -28
  33. package/dist/constants/lock-constants.js.map +1 -1
  34. package/dist/core/tool.schemas.d.ts +11 -11
  35. package/dist/core/worktree-guard.js +2 -2
  36. package/dist/core/worktree-guard.js.map +1 -1
  37. package/dist/cycle-detector.d.ts +4 -48
  38. package/dist/cycle-detector.d.ts.map +1 -1
  39. package/dist/cycle-detector.js +4 -78
  40. package/dist/cycle-detector.js.map +1 -1
  41. package/dist/date-utils.d.ts +1 -65
  42. package/dist/date-utils.d.ts.map +1 -1
  43. package/dist/date-utils.js +4 -140
  44. package/dist/date-utils.js.map +1 -1
  45. package/dist/delegation-monitor.d.ts +2 -0
  46. package/dist/delegation-monitor.d.ts.map +1 -1
  47. package/dist/delegation-monitor.js +29 -2
  48. package/dist/delegation-monitor.js.map +1 -1
  49. package/dist/delegation-recovery.d.ts +36 -17
  50. package/dist/delegation-recovery.d.ts.map +1 -1
  51. package/dist/delegation-recovery.js +285 -82
  52. package/dist/delegation-recovery.js.map +1 -1
  53. package/dist/delegation-registry-schema.d.ts +257 -31
  54. package/dist/delegation-registry-schema.d.ts.map +1 -1
  55. package/dist/delegation-registry-schema.js +43 -34
  56. package/dist/delegation-registry-schema.js.map +1 -1
  57. package/dist/delegation-registry-store.d.ts +4 -128
  58. package/dist/delegation-registry-store.d.ts.map +1 -1
  59. package/dist/delegation-registry-store.js +39 -178
  60. package/dist/delegation-registry-store.js.map +1 -1
  61. package/dist/delegation-tree.d.ts +12 -20
  62. package/dist/delegation-tree.d.ts.map +1 -1
  63. package/dist/delegation-tree.js +40 -29
  64. package/dist/delegation-tree.js.map +1 -1
  65. package/dist/delivery-review-contract.d.ts +1 -1
  66. package/dist/delivery-review-contract.d.ts.map +1 -1
  67. package/dist/docs-layout-presets.d.ts +1 -30
  68. package/dist/docs-layout-presets.d.ts.map +1 -1
  69. package/dist/docs-layout-presets.js +4 -38
  70. package/dist/docs-layout-presets.js.map +1 -1
  71. package/dist/domain/context.schemas.d.ts +3 -3
  72. package/dist/domain/orchestration.constants.d.ts +1 -110
  73. package/dist/domain/orchestration.constants.d.ts.map +1 -1
  74. package/dist/domain/orchestration.constants.js +2 -127
  75. package/dist/domain/orchestration.constants.js.map +1 -1
  76. package/dist/domain/orchestration.schemas.d.ts +1 -306
  77. package/dist/domain/orchestration.schemas.d.ts.map +1 -1
  78. package/dist/domain/orchestration.schemas.js +2 -211
  79. package/dist/domain/orchestration.schemas.js.map +1 -1
  80. package/dist/domain/orchestration.types.d.ts +1 -133
  81. package/dist/domain/orchestration.types.d.ts.map +1 -1
  82. package/dist/domain/orchestration.types.js +2 -2
  83. package/dist/domain/orchestration.types.js.map +1 -1
  84. package/dist/domain/recovery.schemas.d.ts +3 -3
  85. package/dist/domain/validation.schemas.d.ts +4 -4
  86. package/dist/error-handler.d.ts +4 -173
  87. package/dist/error-handler.d.ts.map +1 -1
  88. package/dist/error-handler.js +4 -244
  89. package/dist/error-handler.js.map +1 -1
  90. package/dist/file-classifiers.d.ts.map +1 -1
  91. package/dist/file-classifiers.js +26 -0
  92. package/dist/file-classifiers.js.map +1 -1
  93. package/dist/git-adapter.d.ts +4 -448
  94. package/dist/git-adapter.d.ts.map +1 -1
  95. package/dist/git-adapter.js +4 -772
  96. package/dist/git-adapter.js.map +1 -1
  97. package/dist/git-context-extractor.d.ts +4 -98
  98. package/dist/git-context-extractor.d.ts.map +1 -1
  99. package/dist/git-context-extractor.js +4 -563
  100. package/dist/git-context-extractor.js.map +1 -1
  101. package/dist/git-staged-validator.d.ts +4 -29
  102. package/dist/git-staged-validator.d.ts.map +1 -1
  103. package/dist/git-staged-validator.js +4 -46
  104. package/dist/git-staged-validator.js.map +1 -1
  105. package/dist/incremental-lint.d.ts.map +1 -1
  106. package/dist/incremental-lint.js +3 -2
  107. package/dist/incremental-lint.js.map +1 -1
  108. package/dist/incremental-test.d.ts +1 -32
  109. package/dist/incremental-test.d.ts.map +1 -1
  110. package/dist/incremental-test.js +4 -61
  111. package/dist/incremental-test.js.map +1 -1
  112. package/dist/index.d.ts +3 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +10 -2
  115. package/dist/index.js.map +1 -1
  116. package/dist/integration-target.d.ts +30 -0
  117. package/dist/integration-target.d.ts.map +1 -0
  118. package/dist/integration-target.js +51 -0
  119. package/dist/integration-target.js.map +1 -0
  120. package/dist/lane-checker.d.ts.map +1 -1
  121. package/dist/lane-checker.js +8 -0
  122. package/dist/lane-checker.js.map +1 -1
  123. package/dist/lumenflow-config-schema.d.ts +73 -29
  124. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  125. package/dist/lumenflow-config-schema.js +1 -1
  126. package/dist/lumenflow-config-schema.js.map +1 -1
  127. package/dist/lumenflow-config.d.ts +10 -34
  128. package/dist/lumenflow-config.d.ts.map +1 -1
  129. package/dist/lumenflow-config.js +32 -142
  130. package/dist/lumenflow-config.js.map +1 -1
  131. package/dist/manual-test-validator.d.ts +1 -96
  132. package/dist/manual-test-validator.d.ts.map +1 -1
  133. package/dist/manual-test-validator.js +4 -245
  134. package/dist/manual-test-validator.js.map +1 -1
  135. package/dist/micro-worktree-shared.d.ts.map +1 -1
  136. package/dist/micro-worktree-shared.js +10 -9
  137. package/dist/micro-worktree-shared.js.map +1 -1
  138. package/dist/micro-worktree.d.ts.map +1 -1
  139. package/dist/micro-worktree.js +26 -23
  140. package/dist/micro-worktree.js.map +1 -1
  141. package/dist/normalize-config-keys.d.ts +1 -10
  142. package/dist/normalize-config-keys.d.ts.map +1 -1
  143. package/dist/normalize-config-keys.js +7 -73
  144. package/dist/normalize-config-keys.js.map +1 -1
  145. package/dist/object-guards.d.ts +1 -10
  146. package/dist/object-guards.d.ts.map +1 -1
  147. package/dist/object-guards.js +7 -20
  148. package/dist/object-guards.js.map +1 -1
  149. package/dist/ports/config.ports.d.ts +1 -82
  150. package/dist/ports/config.ports.d.ts.map +1 -1
  151. package/dist/ports/config.ports.js +2 -1
  152. package/dist/ports/config.ports.js.map +1 -1
  153. package/dist/ports/dashboard-renderer.port.d.ts +1 -112
  154. package/dist/ports/dashboard-renderer.port.d.ts.map +1 -1
  155. package/dist/ports/dashboard-renderer.port.js +2 -1
  156. package/dist/ports/dashboard-renderer.port.js.map +1 -1
  157. package/dist/ports/git-validator.ports.d.ts +5 -110
  158. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  159. package/dist/ports/git-validator.ports.js +8 -1
  160. package/dist/ports/git-validator.ports.js.map +1 -1
  161. package/dist/ports/sync-validator.ports.d.ts +1 -51
  162. package/dist/ports/sync-validator.ports.d.ts.map +1 -1
  163. package/dist/ports/sync-validator.ports.js +2 -1
  164. package/dist/ports/sync-validator.ports.js.map +1 -1
  165. package/dist/ports/wu-helpers.ports.d.ts +1 -156
  166. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  167. package/dist/ports/wu-helpers.ports.js +2 -1
  168. package/dist/ports/wu-helpers.ports.js.map +1 -1
  169. package/dist/ports/wu-state.ports.d.ts +1 -208
  170. package/dist/ports/wu-state.ports.d.ts.map +1 -1
  171. package/dist/ports/wu-state.ports.js +2 -1
  172. package/dist/ports/wu-state.ports.js.map +1 -1
  173. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  174. package/dist/rebase-artifact-cleanup.js +6 -3
  175. package/dist/rebase-artifact-cleanup.js.map +1 -1
  176. package/dist/sandbox-allowlist.d.ts +1 -15
  177. package/dist/sandbox-allowlist.d.ts.map +1 -1
  178. package/dist/sandbox-allowlist.js +4 -74
  179. package/dist/sandbox-allowlist.js.map +1 -1
  180. package/dist/sandbox-backend-linux.d.ts +1 -5
  181. package/dist/sandbox-backend-linux.d.ts.map +1 -1
  182. package/dist/sandbox-backend-linux.js +4 -64
  183. package/dist/sandbox-backend-linux.js.map +1 -1
  184. package/dist/sandbox-backend-macos.d.ts +1 -5
  185. package/dist/sandbox-backend-macos.d.ts.map +1 -1
  186. package/dist/sandbox-backend-macos.js +4 -109
  187. package/dist/sandbox-backend-macos.js.map +1 -1
  188. package/dist/sandbox-backend-windows.d.ts +1 -5
  189. package/dist/sandbox-backend-windows.d.ts.map +1 -1
  190. package/dist/sandbox-backend-windows.js +4 -27
  191. package/dist/sandbox-backend-windows.js.map +1 -1
  192. package/dist/sandbox-profile.d.ts +1 -57
  193. package/dist/sandbox-profile.d.ts.map +1 -1
  194. package/dist/sandbox-profile.js +4 -65
  195. package/dist/sandbox-profile.js.map +1 -1
  196. package/dist/schemas/agents-config.d.ts +47 -0
  197. package/dist/schemas/agents-config.d.ts.map +1 -1
  198. package/dist/schemas/agents-config.js +59 -0
  199. package/dist/schemas/agents-config.js.map +1 -1
  200. package/dist/schemas/command-schemas.d.ts +4 -4
  201. package/dist/schemas/flow-arg-validators.d.ts +2 -2
  202. package/dist/schemas/flow-schemas.d.ts +4 -4
  203. package/dist/schemas/gates-section-config.d.ts +32 -13
  204. package/dist/schemas/gates-section-config.d.ts.map +1 -1
  205. package/dist/schemas/gates-section-config.js +16 -1
  206. package/dist/schemas/gates-section-config.js.map +1 -1
  207. package/dist/schemas/initiative-arg-validators.d.ts +2 -2
  208. package/dist/schemas/initiative-schemas.d.ts +12 -12
  209. package/dist/schemas/lanes-config.d.ts +5 -5
  210. package/dist/schemas/memory-arg-validators.d.ts +6 -0
  211. package/dist/schemas/memory-arg-validators.d.ts.map +1 -1
  212. package/dist/schemas/memory-config.d.ts +4 -4
  213. package/dist/schemas/memory-schemas.d.ts +12 -0
  214. package/dist/schemas/memory-schemas.d.ts.map +1 -1
  215. package/dist/schemas/memory-schemas.js +12 -0
  216. package/dist/schemas/memory-schemas.js.map +1 -1
  217. package/dist/schemas/operational-config.d.ts +4 -4
  218. package/dist/schemas/setup-arg-validators.d.ts +3 -3
  219. package/dist/schemas/setup-schemas.d.ts +8 -8
  220. package/dist/schemas/wu-config.d.ts +3 -3
  221. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -2
  222. package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -4
  223. package/dist/section-headings.d.ts +1 -34
  224. package/dist/section-headings.d.ts.map +1 -1
  225. package/dist/section-headings.js +2 -51
  226. package/dist/section-headings.js.map +1 -1
  227. package/dist/spawn-constraints-generator.js +3 -3
  228. package/dist/spawn-constraints-generator.js.map +1 -1
  229. package/dist/spawn-guidance-generators.d.ts +1 -1
  230. package/dist/spawn-guidance-generators.d.ts.map +1 -1
  231. package/dist/spawn-policy-resolver.d.ts +1 -1
  232. package/dist/spawn-policy-resolver.d.ts.map +1 -1
  233. package/dist/spawn-task-builder.d.ts +17 -1
  234. package/dist/spawn-task-builder.d.ts.map +1 -1
  235. package/dist/spawn-task-builder.js +63 -1
  236. package/dist/spawn-task-builder.js.map +1 -1
  237. package/dist/spawn-template-assembler.d.ts +1 -1
  238. package/dist/spawn-template-assembler.d.ts.map +1 -1
  239. package/dist/state-machine.d.ts +1 -9
  240. package/dist/state-machine.d.ts.map +1 -1
  241. package/dist/state-machine.js +2 -86
  242. package/dist/state-machine.js.map +1 -1
  243. package/dist/sync-validator.d.ts.map +1 -1
  244. package/dist/sync-validator.js +15 -12
  245. package/dist/sync-validator.js.map +1 -1
  246. package/dist/telemetry.d.ts.map +1 -1
  247. package/dist/telemetry.js +3 -2
  248. package/dist/telemetry.js.map +1 -1
  249. package/dist/work-classifier.d.ts +1 -102
  250. package/dist/work-classifier.d.ts.map +1 -1
  251. package/dist/work-classifier.js +2 -424
  252. package/dist/work-classifier.js.map +1 -1
  253. package/dist/worktree-symlink.d.ts +2 -2
  254. package/dist/worktree-symlink.d.ts.map +1 -1
  255. package/dist/worktree-symlink.js +37 -12
  256. package/dist/worktree-symlink.js.map +1 -1
  257. package/dist/wu-cli-constants.d.ts +1 -433
  258. package/dist/wu-cli-constants.d.ts.map +1 -1
  259. package/dist/wu-cli-constants.js +4 -436
  260. package/dist/wu-cli-constants.js.map +1 -1
  261. package/dist/wu-consistency-file-repairs.d.ts.map +1 -1
  262. package/dist/wu-consistency-file-repairs.js +5 -3
  263. package/dist/wu-consistency-file-repairs.js.map +1 -1
  264. package/dist/wu-context-constants.d.ts +22 -0
  265. package/dist/wu-context-constants.d.ts.map +1 -1
  266. package/dist/wu-context-constants.js +22 -0
  267. package/dist/wu-context-constants.js.map +1 -1
  268. package/dist/wu-doc-types.d.ts +1 -47
  269. package/dist/wu-doc-types.d.ts.map +1 -1
  270. package/dist/wu-domain-constants.d.ts +1 -295
  271. package/dist/wu-domain-constants.d.ts.map +1 -1
  272. package/dist/wu-domain-constants.js +4 -397
  273. package/dist/wu-domain-constants.js.map +1 -1
  274. package/dist/wu-done-branch-only.d.ts +1 -1
  275. package/dist/wu-done-branch-only.d.ts.map +1 -1
  276. package/dist/wu-done-branch-only.js +22 -13
  277. package/dist/wu-done-branch-only.js.map +1 -1
  278. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  279. package/dist/wu-done-branch-utils.js +5 -3
  280. package/dist/wu-done-branch-utils.js.map +1 -1
  281. package/dist/wu-done-cleanup.d.ts.map +1 -1
  282. package/dist/wu-done-cleanup.js +66 -22
  283. package/dist/wu-done-cleanup.js.map +1 -1
  284. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  285. package/dist/wu-done-concurrent-merge.js +9 -6
  286. package/dist/wu-done-concurrent-merge.js.map +1 -1
  287. package/dist/wu-done-errors.d.ts +3 -3
  288. package/dist/wu-done-errors.d.ts.map +1 -1
  289. package/dist/wu-done-inputs.d.ts.map +1 -1
  290. package/dist/wu-done-inputs.js +3 -0
  291. package/dist/wu-done-inputs.js.map +1 -1
  292. package/dist/wu-done-merge-phase.d.ts.map +1 -1
  293. package/dist/wu-done-merge-phase.js +4 -2
  294. package/dist/wu-done-merge-phase.js.map +1 -1
  295. package/dist/wu-done-merge.d.ts.map +1 -1
  296. package/dist/wu-done-merge.js +16 -8
  297. package/dist/wu-done-merge.js.map +1 -1
  298. package/dist/wu-done-merged-worktree.d.ts.map +1 -1
  299. package/dist/wu-done-merged-worktree.js +7 -8
  300. package/dist/wu-done-merged-worktree.js.map +1 -1
  301. package/dist/wu-done-messages.d.ts.map +1 -1
  302. package/dist/wu-done-messages.js +12 -5
  303. package/dist/wu-done-messages.js.map +1 -1
  304. package/dist/wu-done-metadata.d.ts.map +1 -1
  305. package/dist/wu-done-metadata.js +3 -8
  306. package/dist/wu-done-metadata.js.map +1 -1
  307. package/dist/wu-done-preflight-checks.d.ts.map +1 -1
  308. package/dist/wu-done-preflight-checks.js +21 -15
  309. package/dist/wu-done-preflight-checks.js.map +1 -1
  310. package/dist/wu-done-rebase.d.ts.map +1 -1
  311. package/dist/wu-done-rebase.js +10 -8
  312. package/dist/wu-done-rebase.js.map +1 -1
  313. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  314. package/dist/wu-done-retry-helpers.js +13 -11
  315. package/dist/wu-done-retry-helpers.js.map +1 -1
  316. package/dist/wu-done-validation.d.ts.map +1 -1
  317. package/dist/wu-done-validation.js +4 -2
  318. package/dist/wu-done-validation.js.map +1 -1
  319. package/dist/wu-done-worktree-services.d.ts.map +1 -1
  320. package/dist/wu-done-worktree-services.js +4 -2
  321. package/dist/wu-done-worktree-services.js.map +1 -1
  322. package/dist/wu-done-worktree.d.ts.map +1 -1
  323. package/dist/wu-done-worktree.js +4 -2
  324. package/dist/wu-done-worktree.js.map +1 -1
  325. package/dist/wu-git-constants.d.ts +1 -175
  326. package/dist/wu-git-constants.d.ts.map +1 -1
  327. package/dist/wu-git-constants.js +4 -175
  328. package/dist/wu-git-constants.js.map +1 -1
  329. package/dist/wu-helpers.d.ts +24 -0
  330. package/dist/wu-helpers.d.ts.map +1 -1
  331. package/dist/wu-helpers.js +37 -4
  332. package/dist/wu-helpers.js.map +1 -1
  333. package/dist/wu-id-format.d.ts +1 -137
  334. package/dist/wu-id-format.d.ts.map +1 -1
  335. package/dist/wu-id-format.js +2 -249
  336. package/dist/wu-id-format.js.map +1 -1
  337. package/dist/wu-id-generator.d.ts.map +1 -1
  338. package/dist/wu-id-generator.js +8 -5
  339. package/dist/wu-id-generator.js.map +1 -1
  340. package/dist/wu-paths-constants.d.ts +1 -253
  341. package/dist/wu-paths-constants.d.ts.map +1 -1
  342. package/dist/wu-paths-constants.js +4 -273
  343. package/dist/wu-paths-constants.js.map +1 -1
  344. package/dist/wu-paths.d.ts +1 -274
  345. package/dist/wu-paths.d.ts.map +1 -1
  346. package/dist/wu-paths.js +4 -236
  347. package/dist/wu-paths.js.map +1 -1
  348. package/dist/wu-rules-resolvers.d.ts.map +1 -1
  349. package/dist/wu-rules-resolvers.js +11 -6
  350. package/dist/wu-rules-resolvers.js.map +1 -1
  351. package/dist/wu-schema.d.ts +1 -830
  352. package/dist/wu-schema.d.ts.map +1 -1
  353. package/dist/wu-schema.js +4 -929
  354. package/dist/wu-schema.js.map +1 -1
  355. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  356. package/dist/wu-spawn-helpers.js +5 -2
  357. package/dist/wu-spawn-helpers.js.map +1 -1
  358. package/dist/wu-spawn.d.ts +2 -2
  359. package/dist/wu-spawn.d.ts.map +1 -1
  360. package/dist/wu-spawn.js +2 -2
  361. package/dist/wu-spawn.js.map +1 -1
  362. package/dist/wu-state-schema.d.ts +1 -291
  363. package/dist/wu-state-schema.d.ts.map +1 -1
  364. package/dist/wu-state-schema.js +4 -212
  365. package/dist/wu-state-schema.js.map +1 -1
  366. package/dist/wu-status-transition.d.ts +3 -1
  367. package/dist/wu-status-transition.d.ts.map +1 -1
  368. package/dist/wu-status-transition.js +9 -24
  369. package/dist/wu-status-transition.js.map +1 -1
  370. package/dist/wu-statuses.d.ts +1 -208
  371. package/dist/wu-statuses.d.ts.map +1 -1
  372. package/dist/wu-statuses.js +4 -242
  373. package/dist/wu-statuses.js.map +1 -1
  374. package/dist/wu-transaction-collectors.d.ts +1 -0
  375. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  376. package/dist/wu-transaction-collectors.js +13 -8
  377. package/dist/wu-transaction-collectors.js.map +1 -1
  378. package/dist/wu-type-helpers.d.ts +1 -27
  379. package/dist/wu-type-helpers.d.ts.map +1 -1
  380. package/dist/wu-type-helpers.js +4 -46
  381. package/dist/wu-type-helpers.js.map +1 -1
  382. package/dist/wu-ui-constants.d.ts +1 -235
  383. package/dist/wu-ui-constants.d.ts.map +1 -1
  384. package/dist/wu-ui-constants.js +5 -235
  385. package/dist/wu-ui-constants.js.map +1 -1
  386. package/dist/wu-validation-constants.d.ts +1 -60
  387. package/dist/wu-validation-constants.d.ts.map +1 -1
  388. package/dist/wu-validation-constants.js +4 -66
  389. package/dist/wu-validation-constants.js.map +1 -1
  390. package/dist/wu-yaml.d.ts +1 -112
  391. package/dist/wu-yaml.d.ts.map +1 -1
  392. package/dist/wu-yaml.js +4 -304
  393. package/dist/wu-yaml.js.map +1 -1
  394. package/package.json +12 -9
  395. package/dist/coverage-gate.d.ts +0 -128
  396. package/dist/coverage-gate.d.ts.map +0 -1
  397. package/dist/coverage-gate.js +0 -211
  398. package/dist/coverage-gate.js.map +0 -1
  399. package/dist/gates-agent-mode.d.ts +0 -108
  400. package/dist/gates-agent-mode.d.ts.map +0 -1
  401. package/dist/gates-agent-mode.js +0 -138
  402. package/dist/gates-agent-mode.js.map +0 -1
  403. package/dist/gates-config-internal.d.ts +0 -54
  404. package/dist/gates-config-internal.d.ts.map +0 -1
  405. package/dist/gates-config-internal.js +0 -107
  406. package/dist/gates-config-internal.js.map +0 -1
  407. package/dist/gates-config.d.ts +0 -68
  408. package/dist/gates-config.d.ts.map +0 -1
  409. package/dist/gates-config.js +0 -193
  410. package/dist/gates-config.js.map +0 -1
  411. package/dist/gates-coverage.d.ts +0 -42
  412. package/dist/gates-coverage.d.ts.map +0 -1
  413. package/dist/gates-coverage.js +0 -162
  414. package/dist/gates-coverage.js.map +0 -1
  415. package/dist/gates-presets.d.ts +0 -52
  416. package/dist/gates-presets.d.ts.map +0 -1
  417. package/dist/gates-presets.js +0 -117
  418. package/dist/gates-presets.js.map +0 -1
  419. package/dist/gates-schemas.d.ts +0 -143
  420. package/dist/gates-schemas.d.ts.map +0 -1
  421. package/dist/gates-schemas.js +0 -67
  422. package/dist/gates-schemas.js.map +0 -1
  423. package/dist/package-manager-resolver.d.ts +0 -80
  424. package/dist/package-manager-resolver.d.ts.map +0 -1
  425. package/dist/package-manager-resolver.js +0 -245
  426. package/dist/package-manager-resolver.js.map +0 -1
  427. package/dist/resolve-policy.d.ts +0 -293
  428. package/dist/resolve-policy.d.ts.map +0 -1
  429. package/dist/resolve-policy.js +0 -303
  430. 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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"}