@zigrivers/scaffold 3.16.0 → 3.17.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 (377) hide show
  1. package/README.md +28 -0
  2. package/content/knowledge/backend/backend-fintech-broker-integration.md +244 -0
  3. package/content/knowledge/backend/backend-fintech-compliance.md +181 -0
  4. package/content/knowledge/backend/backend-fintech-data-modeling.md +210 -0
  5. package/content/knowledge/backend/backend-fintech-ledger.md +226 -0
  6. package/content/knowledge/backend/backend-fintech-observability.md +151 -0
  7. package/content/knowledge/backend/backend-fintech-order-lifecycle.md +213 -0
  8. package/content/knowledge/backend/backend-fintech-risk-management.md +150 -0
  9. package/content/knowledge/backend/backend-fintech-testing.md +197 -0
  10. package/content/knowledge/core/automated-review-tooling.md +10 -0
  11. package/content/knowledge/core/multi-service-api-contracts.md +634 -0
  12. package/content/knowledge/core/multi-service-architecture.md +492 -0
  13. package/content/knowledge/core/multi-service-auth.md +706 -0
  14. package/content/knowledge/core/multi-service-data-ownership.md +539 -0
  15. package/content/knowledge/core/multi-service-observability.md +545 -0
  16. package/content/knowledge/core/multi-service-resilience.md +710 -0
  17. package/content/knowledge/core/multi-service-task-decomposition.md +615 -0
  18. package/content/knowledge/core/multi-service-testing.md +728 -0
  19. package/content/methodology/backend-fintech.yml +46 -0
  20. package/content/methodology/custom-defaults.yml +6 -0
  21. package/content/methodology/deep.yml +6 -0
  22. package/content/methodology/multi-service-overlay.yml +103 -0
  23. package/content/methodology/mvp.yml +6 -0
  24. package/content/pipeline/architecture/service-ownership-map.md +83 -0
  25. package/content/pipeline/quality/cross-service-auth.md +96 -0
  26. package/content/pipeline/quality/cross-service-observability.md +104 -0
  27. package/content/pipeline/quality/integration-test-plan.md +106 -0
  28. package/content/pipeline/specification/inter-service-contracts.md +95 -0
  29. package/dist/cli/commands/adopt.cli-flags.test.js +20 -0
  30. package/dist/cli/commands/adopt.cli-flags.test.js.map +1 -1
  31. package/dist/cli/commands/adopt.d.ts.map +1 -1
  32. package/dist/cli/commands/adopt.js +11 -3
  33. package/dist/cli/commands/adopt.js.map +1 -1
  34. package/dist/cli/commands/complete.d.ts +1 -0
  35. package/dist/cli/commands/complete.d.ts.map +1 -1
  36. package/dist/cli/commands/complete.js +26 -8
  37. package/dist/cli/commands/complete.js.map +1 -1
  38. package/dist/cli/commands/dashboard.d.ts +1 -0
  39. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  40. package/dist/cli/commands/dashboard.js +19 -6
  41. package/dist/cli/commands/dashboard.js.map +1 -1
  42. package/dist/cli/commands/decisions.d.ts +1 -0
  43. package/dist/cli/commands/decisions.d.ts.map +1 -1
  44. package/dist/cli/commands/decisions.js +18 -4
  45. package/dist/cli/commands/decisions.js.map +1 -1
  46. package/dist/cli/commands/info.d.ts +1 -0
  47. package/dist/cli/commands/info.d.ts.map +1 -1
  48. package/dist/cli/commands/info.js +25 -3
  49. package/dist/cli/commands/info.js.map +1 -1
  50. package/dist/cli/commands/init-from.test.d.ts +2 -0
  51. package/dist/cli/commands/init-from.test.d.ts.map +1 -0
  52. package/dist/cli/commands/init-from.test.js +315 -0
  53. package/dist/cli/commands/init-from.test.js.map +1 -0
  54. package/dist/cli/commands/init.d.ts +3 -0
  55. package/dist/cli/commands/init.d.ts.map +1 -1
  56. package/dist/cli/commands/init.js +239 -129
  57. package/dist/cli/commands/init.js.map +1 -1
  58. package/dist/cli/commands/init.test.js +20 -0
  59. package/dist/cli/commands/init.test.js.map +1 -1
  60. package/dist/cli/commands/next.d.ts +1 -0
  61. package/dist/cli/commands/next.d.ts.map +1 -1
  62. package/dist/cli/commands/next.js +40 -4
  63. package/dist/cli/commands/next.js.map +1 -1
  64. package/dist/cli/commands/next.test.js +151 -0
  65. package/dist/cli/commands/next.test.js.map +1 -1
  66. package/dist/cli/commands/reset.d.ts +1 -0
  67. package/dist/cli/commands/reset.d.ts.map +1 -1
  68. package/dist/cli/commands/reset.js +77 -29
  69. package/dist/cli/commands/reset.js.map +1 -1
  70. package/dist/cli/commands/rework.d.ts +1 -0
  71. package/dist/cli/commands/rework.d.ts.map +1 -1
  72. package/dist/cli/commands/rework.js +16 -2
  73. package/dist/cli/commands/rework.js.map +1 -1
  74. package/dist/cli/commands/run.d.ts +1 -0
  75. package/dist/cli/commands/run.d.ts.map +1 -1
  76. package/dist/cli/commands/run.js +65 -13
  77. package/dist/cli/commands/run.js.map +1 -1
  78. package/dist/cli/commands/run.test.js +192 -3
  79. package/dist/cli/commands/run.test.js.map +1 -1
  80. package/dist/cli/commands/skip.d.ts +1 -0
  81. package/dist/cli/commands/skip.d.ts.map +1 -1
  82. package/dist/cli/commands/skip.js +24 -7
  83. package/dist/cli/commands/skip.js.map +1 -1
  84. package/dist/cli/commands/status.d.ts +1 -0
  85. package/dist/cli/commands/status.d.ts.map +1 -1
  86. package/dist/cli/commands/status.js +51 -4
  87. package/dist/cli/commands/status.js.map +1 -1
  88. package/dist/cli/commands/status.test.js +128 -0
  89. package/dist/cli/commands/status.test.js.map +1 -1
  90. package/dist/cli/guards-coverage.test.d.ts +2 -0
  91. package/dist/cli/guards-coverage.test.d.ts.map +1 -0
  92. package/dist/cli/guards-coverage.test.js +26 -0
  93. package/dist/cli/guards-coverage.test.js.map +1 -0
  94. package/dist/cli/guards-integration.test.d.ts +2 -0
  95. package/dist/cli/guards-integration.test.d.ts.map +1 -0
  96. package/dist/cli/guards-integration.test.js +178 -0
  97. package/dist/cli/guards-integration.test.js.map +1 -0
  98. package/dist/cli/guards.d.ts +13 -0
  99. package/dist/cli/guards.d.ts.map +1 -0
  100. package/dist/cli/guards.js +70 -0
  101. package/dist/cli/guards.js.map +1 -0
  102. package/dist/cli/guards.test.d.ts +2 -0
  103. package/dist/cli/guards.test.d.ts.map +1 -0
  104. package/dist/cli/guards.test.js +136 -0
  105. package/dist/cli/guards.test.js.map +1 -0
  106. package/dist/cli/init-flag-families.d.ts +1 -1
  107. package/dist/cli/init-flag-families.d.ts.map +1 -1
  108. package/dist/cli/init-flag-families.js +4 -1
  109. package/dist/cli/init-flag-families.js.map +1 -1
  110. package/dist/cli/init-flag-families.test.js +10 -0
  111. package/dist/cli/init-flag-families.test.js.map +1 -1
  112. package/dist/cli/shutdown.d.ts +2 -3
  113. package/dist/cli/shutdown.d.ts.map +1 -1
  114. package/dist/cli/shutdown.js +14 -11
  115. package/dist/cli/shutdown.js.map +1 -1
  116. package/dist/cli/shutdown.test.js +2 -4
  117. package/dist/cli/shutdown.test.js.map +1 -1
  118. package/dist/config/schema.d.ts +12122 -288
  119. package/dist/config/schema.d.ts.map +1 -1
  120. package/dist/config/schema.js +74 -79
  121. package/dist/config/schema.js.map +1 -1
  122. package/dist/config/schema.test.js +230 -1
  123. package/dist/config/schema.test.js.map +1 -1
  124. package/dist/config/validators/backend.d.ts +4 -0
  125. package/dist/config/validators/backend.d.ts.map +1 -0
  126. package/dist/config/validators/backend.js +14 -0
  127. package/dist/config/validators/backend.js.map +1 -0
  128. package/dist/config/validators/browser-extension.d.ts +4 -0
  129. package/dist/config/validators/browser-extension.d.ts.map +1 -0
  130. package/dist/config/validators/browser-extension.js +24 -0
  131. package/dist/config/validators/browser-extension.js.map +1 -0
  132. package/dist/config/validators/cli.d.ts +4 -0
  133. package/dist/config/validators/cli.d.ts.map +1 -0
  134. package/dist/config/validators/cli.js +14 -0
  135. package/dist/config/validators/cli.js.map +1 -0
  136. package/dist/config/validators/data-pipeline.d.ts +4 -0
  137. package/dist/config/validators/data-pipeline.d.ts.map +1 -0
  138. package/dist/config/validators/data-pipeline.js +14 -0
  139. package/dist/config/validators/data-pipeline.js.map +1 -0
  140. package/dist/config/validators/game.d.ts +4 -0
  141. package/dist/config/validators/game.d.ts.map +1 -0
  142. package/dist/config/validators/game.js +14 -0
  143. package/dist/config/validators/game.js.map +1 -0
  144. package/dist/config/validators/index.d.ts +7 -0
  145. package/dist/config/validators/index.d.ts.map +1 -0
  146. package/dist/config/validators/index.js +27 -0
  147. package/dist/config/validators/index.js.map +1 -0
  148. package/dist/config/validators/library.d.ts +4 -0
  149. package/dist/config/validators/library.d.ts.map +1 -0
  150. package/dist/config/validators/library.js +25 -0
  151. package/dist/config/validators/library.js.map +1 -0
  152. package/dist/config/validators/ml.d.ts +4 -0
  153. package/dist/config/validators/ml.d.ts.map +1 -0
  154. package/dist/config/validators/ml.js +31 -0
  155. package/dist/config/validators/ml.js.map +1 -0
  156. package/dist/config/validators/mobile-app.d.ts +4 -0
  157. package/dist/config/validators/mobile-app.d.ts.map +1 -0
  158. package/dist/config/validators/mobile-app.js +14 -0
  159. package/dist/config/validators/mobile-app.js.map +1 -0
  160. package/dist/config/validators/registry.test.d.ts +2 -0
  161. package/dist/config/validators/registry.test.d.ts.map +1 -0
  162. package/dist/config/validators/registry.test.js +26 -0
  163. package/dist/config/validators/registry.test.js.map +1 -0
  164. package/dist/config/validators/research.d.ts +4 -0
  165. package/dist/config/validators/research.d.ts.map +1 -0
  166. package/dist/config/validators/research.js +24 -0
  167. package/dist/config/validators/research.js.map +1 -0
  168. package/dist/config/validators/research.test.d.ts +2 -0
  169. package/dist/config/validators/research.test.d.ts.map +1 -0
  170. package/dist/config/validators/research.test.js +44 -0
  171. package/dist/config/validators/research.test.js.map +1 -0
  172. package/dist/config/validators/types.d.ts +19 -0
  173. package/dist/config/validators/types.d.ts.map +1 -0
  174. package/dist/config/validators/types.js +2 -0
  175. package/dist/config/validators/types.js.map +1 -0
  176. package/dist/config/validators/validators.test.d.ts +2 -0
  177. package/dist/config/validators/validators.test.d.ts.map +1 -0
  178. package/dist/config/validators/validators.test.js +25 -0
  179. package/dist/config/validators/validators.test.js.map +1 -0
  180. package/dist/config/validators/web-app.d.ts +4 -0
  181. package/dist/config/validators/web-app.d.ts.map +1 -0
  182. package/dist/config/validators/web-app.js +31 -0
  183. package/dist/config/validators/web-app.js.map +1 -0
  184. package/dist/core/assembly/context-gatherer.d.ts.map +1 -1
  185. package/dist/core/assembly/context-gatherer.js +4 -2
  186. package/dist/core/assembly/context-gatherer.js.map +1 -1
  187. package/dist/core/assembly/cross-reads.d.ts +58 -0
  188. package/dist/core/assembly/cross-reads.d.ts.map +1 -0
  189. package/dist/core/assembly/cross-reads.js +185 -0
  190. package/dist/core/assembly/cross-reads.js.map +1 -0
  191. package/dist/core/assembly/cross-reads.test.d.ts +2 -0
  192. package/dist/core/assembly/cross-reads.test.d.ts.map +1 -0
  193. package/dist/core/assembly/cross-reads.test.js +383 -0
  194. package/dist/core/assembly/cross-reads.test.js.map +1 -0
  195. package/dist/core/assembly/overlay-loader-structural.test.d.ts +2 -0
  196. package/dist/core/assembly/overlay-loader-structural.test.d.ts.map +1 -0
  197. package/dist/core/assembly/overlay-loader-structural.test.js +114 -0
  198. package/dist/core/assembly/overlay-loader-structural.test.js.map +1 -0
  199. package/dist/core/assembly/overlay-loader.d.ts +17 -3
  200. package/dist/core/assembly/overlay-loader.d.ts.map +1 -1
  201. package/dist/core/assembly/overlay-loader.js +75 -0
  202. package/dist/core/assembly/overlay-loader.js.map +1 -1
  203. package/dist/core/assembly/overlay-resolver.d.ts +2 -2
  204. package/dist/core/assembly/overlay-resolver.d.ts.map +1 -1
  205. package/dist/core/assembly/overlay-resolver.js.map +1 -1
  206. package/dist/core/assembly/overlay-resolver.test.js.map +1 -1
  207. package/dist/core/assembly/overlay-state-resolver.d.ts +5 -0
  208. package/dist/core/assembly/overlay-state-resolver.d.ts.map +1 -1
  209. package/dist/core/assembly/overlay-state-resolver.js +41 -1
  210. package/dist/core/assembly/overlay-state-resolver.js.map +1 -1
  211. package/dist/core/assembly/overlay-state-resolver.test.js +262 -0
  212. package/dist/core/assembly/overlay-state-resolver.test.js.map +1 -1
  213. package/dist/core/assembly/update-mode.d.ts +1 -0
  214. package/dist/core/assembly/update-mode.d.ts.map +1 -1
  215. package/dist/core/assembly/update-mode.js +17 -9
  216. package/dist/core/assembly/update-mode.js.map +1 -1
  217. package/dist/core/dependency/eligibility.d.ts +10 -1
  218. package/dist/core/dependency/eligibility.d.ts.map +1 -1
  219. package/dist/core/dependency/eligibility.js +19 -1
  220. package/dist/core/dependency/eligibility.js.map +1 -1
  221. package/dist/core/dependency/eligibility.test.js +82 -0
  222. package/dist/core/dependency/eligibility.test.js.map +1 -1
  223. package/dist/core/dependency/graph.d.ts +4 -1
  224. package/dist/core/dependency/graph.d.ts.map +1 -1
  225. package/dist/core/dependency/graph.js +7 -1
  226. package/dist/core/dependency/graph.js.map +1 -1
  227. package/dist/core/dependency/graph.test.js +29 -0
  228. package/dist/core/dependency/graph.test.js.map +1 -1
  229. package/dist/core/pipeline/global-steps.d.ts +7 -0
  230. package/dist/core/pipeline/global-steps.d.ts.map +1 -0
  231. package/dist/core/pipeline/global-steps.js +18 -0
  232. package/dist/core/pipeline/global-steps.js.map +1 -0
  233. package/dist/core/pipeline/resolver.d.ts +1 -0
  234. package/dist/core/pipeline/resolver.d.ts.map +1 -1
  235. package/dist/core/pipeline/resolver.js +51 -6
  236. package/dist/core/pipeline/resolver.js.map +1 -1
  237. package/dist/core/pipeline/types.d.ts +5 -1
  238. package/dist/core/pipeline/types.d.ts.map +1 -1
  239. package/dist/e2e/cross-service-references.test.d.ts +22 -0
  240. package/dist/e2e/cross-service-references.test.d.ts.map +1 -0
  241. package/dist/e2e/cross-service-references.test.js +188 -0
  242. package/dist/e2e/cross-service-references.test.js.map +1 -0
  243. package/dist/e2e/multi-service-pipeline.test.d.ts +10 -0
  244. package/dist/e2e/multi-service-pipeline.test.d.ts.map +1 -0
  245. package/dist/e2e/multi-service-pipeline.test.js +185 -0
  246. package/dist/e2e/multi-service-pipeline.test.js.map +1 -0
  247. package/dist/e2e/project-type-overlays.test.js +68 -0
  248. package/dist/e2e/project-type-overlays.test.js.map +1 -1
  249. package/dist/e2e/service-execution.test.d.ts +15 -0
  250. package/dist/e2e/service-execution.test.d.ts.map +1 -0
  251. package/dist/e2e/service-execution.test.js +219 -0
  252. package/dist/e2e/service-execution.test.js.map +1 -0
  253. package/dist/e2e/service-manifest.test.d.ts +19 -0
  254. package/dist/e2e/service-manifest.test.d.ts.map +1 -0
  255. package/dist/e2e/service-manifest.test.js +166 -0
  256. package/dist/e2e/service-manifest.test.js.map +1 -0
  257. package/dist/project/__frozen-schemas__/schema-v3.9.2.d.ts +224 -224
  258. package/dist/project/frontmatter.d.ts.map +1 -1
  259. package/dist/project/frontmatter.js +11 -0
  260. package/dist/project/frontmatter.js.map +1 -1
  261. package/dist/project/frontmatter.test.js +71 -0
  262. package/dist/project/frontmatter.test.js.map +1 -1
  263. package/dist/state/completion.d.ts +1 -1
  264. package/dist/state/completion.d.ts.map +1 -1
  265. package/dist/state/completion.js +10 -8
  266. package/dist/state/completion.js.map +1 -1
  267. package/dist/state/decision-logger.d.ts +3 -2
  268. package/dist/state/decision-logger.d.ts.map +1 -1
  269. package/dist/state/decision-logger.js +12 -11
  270. package/dist/state/decision-logger.js.map +1 -1
  271. package/dist/state/ensure-v3-migration.d.ts +9 -0
  272. package/dist/state/ensure-v3-migration.d.ts.map +1 -0
  273. package/dist/state/ensure-v3-migration.js +35 -0
  274. package/dist/state/ensure-v3-migration.js.map +1 -0
  275. package/dist/state/lock-manager.d.ts +5 -4
  276. package/dist/state/lock-manager.d.ts.map +1 -1
  277. package/dist/state/lock-manager.js +11 -11
  278. package/dist/state/lock-manager.js.map +1 -1
  279. package/dist/state/rework-manager.d.ts +1 -2
  280. package/dist/state/rework-manager.d.ts.map +1 -1
  281. package/dist/state/rework-manager.js +4 -5
  282. package/dist/state/rework-manager.js.map +1 -1
  283. package/dist/state/state-manager.d.ts +25 -1
  284. package/dist/state/state-manager.d.ts.map +1 -1
  285. package/dist/state/state-manager.js +86 -12
  286. package/dist/state/state-manager.js.map +1 -1
  287. package/dist/state/state-manager.test.js +278 -0
  288. package/dist/state/state-manager.test.js.map +1 -1
  289. package/dist/state/state-migration-v3.d.ts +22 -0
  290. package/dist/state/state-migration-v3.d.ts.map +1 -0
  291. package/dist/state/state-migration-v3.js +82 -0
  292. package/dist/state/state-migration-v3.js.map +1 -0
  293. package/dist/state/state-migration-v3.test.d.ts +2 -0
  294. package/dist/state/state-migration-v3.test.d.ts.map +1 -0
  295. package/dist/state/state-migration-v3.test.js +196 -0
  296. package/dist/state/state-migration-v3.test.js.map +1 -0
  297. package/dist/state/state-migration.d.ts.map +1 -1
  298. package/dist/state/state-migration.js +11 -6
  299. package/dist/state/state-migration.js.map +1 -1
  300. package/dist/state/state-migration.test.js +47 -2
  301. package/dist/state/state-migration.test.js.map +1 -1
  302. package/dist/state/state-path-resolver.d.ts +23 -0
  303. package/dist/state/state-path-resolver.d.ts.map +1 -0
  304. package/dist/state/state-path-resolver.js +36 -0
  305. package/dist/state/state-path-resolver.js.map +1 -0
  306. package/dist/state/state-path-resolver.test.d.ts +2 -0
  307. package/dist/state/state-path-resolver.test.d.ts.map +1 -0
  308. package/dist/state/state-path-resolver.test.js +78 -0
  309. package/dist/state/state-path-resolver.test.js.map +1 -0
  310. package/dist/state/state-version-dispatch.d.ts +17 -0
  311. package/dist/state/state-version-dispatch.d.ts.map +1 -0
  312. package/dist/state/state-version-dispatch.js +27 -0
  313. package/dist/state/state-version-dispatch.js.map +1 -0
  314. package/dist/state/state-version-dispatch.test.d.ts +2 -0
  315. package/dist/state/state-version-dispatch.test.d.ts.map +1 -0
  316. package/dist/state/state-version-dispatch.test.js +40 -0
  317. package/dist/state/state-version-dispatch.test.js.map +1 -0
  318. package/dist/types/config.d.ts +25 -3
  319. package/dist/types/config.d.ts.map +1 -1
  320. package/dist/types/config.test.js +13 -1
  321. package/dist/types/config.test.js.map +1 -1
  322. package/dist/types/dependency.d.ts +5 -0
  323. package/dist/types/dependency.d.ts.map +1 -1
  324. package/dist/types/frontmatter.d.ts +5 -0
  325. package/dist/types/frontmatter.d.ts.map +1 -1
  326. package/dist/types/lock.d.ts +1 -1
  327. package/dist/types/lock.d.ts.map +1 -1
  328. package/dist/types/state.d.ts +1 -1
  329. package/dist/types/state.d.ts.map +1 -1
  330. package/dist/utils/artifact-path.d.ts +19 -0
  331. package/dist/utils/artifact-path.d.ts.map +1 -0
  332. package/dist/utils/artifact-path.js +95 -0
  333. package/dist/utils/artifact-path.js.map +1 -0
  334. package/dist/utils/artifact-path.test.d.ts +2 -0
  335. package/dist/utils/artifact-path.test.d.ts.map +1 -0
  336. package/dist/utils/artifact-path.test.js +138 -0
  337. package/dist/utils/artifact-path.test.js.map +1 -0
  338. package/dist/utils/errors.d.ts +1 -1
  339. package/dist/utils/errors.d.ts.map +1 -1
  340. package/dist/utils/errors.js +5 -2
  341. package/dist/utils/errors.js.map +1 -1
  342. package/dist/utils/user-errors.d.ts +46 -0
  343. package/dist/utils/user-errors.d.ts.map +1 -0
  344. package/dist/utils/user-errors.js +76 -0
  345. package/dist/utils/user-errors.js.map +1 -0
  346. package/dist/utils/user-errors.test.d.ts +2 -0
  347. package/dist/utils/user-errors.test.d.ts.map +1 -0
  348. package/dist/utils/user-errors.test.js +74 -0
  349. package/dist/utils/user-errors.test.js.map +1 -0
  350. package/dist/validation/index.d.ts.map +1 -1
  351. package/dist/validation/index.js +16 -0
  352. package/dist/validation/index.js.map +1 -1
  353. package/dist/validation/index.test.js +48 -0
  354. package/dist/validation/index.test.js.map +1 -1
  355. package/dist/validation/state-validator.d.ts +5 -2
  356. package/dist/validation/state-validator.d.ts.map +1 -1
  357. package/dist/validation/state-validator.js +18 -20
  358. package/dist/validation/state-validator.js.map +1 -1
  359. package/dist/validation/state-validator.test.js +31 -2
  360. package/dist/validation/state-validator.test.js.map +1 -1
  361. package/dist/wizard/copy/backend.d.ts.map +1 -1
  362. package/dist/wizard/copy/backend.js +12 -0
  363. package/dist/wizard/copy/backend.js.map +1 -1
  364. package/dist/wizard/flags.d.ts +1 -0
  365. package/dist/wizard/flags.d.ts.map +1 -1
  366. package/dist/wizard/questions.d.ts.map +1 -1
  367. package/dist/wizard/questions.js +5 -1
  368. package/dist/wizard/questions.js.map +1 -1
  369. package/dist/wizard/questions.test.js +45 -2
  370. package/dist/wizard/questions.test.js.map +1 -1
  371. package/dist/wizard/wizard.d.ts +23 -0
  372. package/dist/wizard/wizard.d.ts.map +1 -1
  373. package/dist/wizard/wizard.js +85 -47
  374. package/dist/wizard/wizard.js.map +1 -1
  375. package/dist/wizard/wizard.test.js +186 -1
  376. package/dist/wizard/wizard.test.js.map +1 -1
  377. package/package.json +1 -1
@@ -218,4 +218,79 @@ export function loadSubOverlay(overlayPath) {
218
218
  }
219
219
  return { overlay, errors: result.errors, warnings };
220
220
  }
221
+ /**
222
+ * Load a structural overlay YAML file (e.g., multi-service-overlay.yml).
223
+ * Structural overlays have no project-type — they apply across project types
224
+ * based on config properties (e.g., services[] presence).
225
+ *
226
+ * Validates name + description. Ignores project-type field if present.
227
+ * @param overlayPath - Absolute path to structural overlay file
228
+ * @returns { overlay, errors, warnings }
229
+ */
230
+ export function loadStructuralOverlay(overlayPath) {
231
+ const errors = [];
232
+ const warnings = [];
233
+ // 1. Check file exists
234
+ if (!fileExists(overlayPath)) {
235
+ const overlayName = path.basename(overlayPath, '.yml');
236
+ errors.push(overlayMissing(overlayName, overlayPath));
237
+ return { overlay: null, errors, warnings };
238
+ }
239
+ // 2. Read file
240
+ const raw = fs.readFileSync(overlayPath, 'utf8');
241
+ // 3. Parse YAML
242
+ let parsed;
243
+ try {
244
+ parsed = yaml.load(raw);
245
+ }
246
+ catch (err) {
247
+ const detail = err instanceof Error ? err.message : String(err);
248
+ errors.push(overlayParseError(overlayPath, detail));
249
+ return { overlay: null, errors, warnings };
250
+ }
251
+ // 4. Validate top-level structure
252
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
253
+ errors.push(overlayParseError(overlayPath, 'overlay must be a YAML object'));
254
+ return { overlay: null, errors, warnings };
255
+ }
256
+ const obj = parsed;
257
+ // Validate required fields (name + description only — no project-type)
258
+ if (typeof obj['name'] !== 'string' || obj['name'].trim() === '') {
259
+ errors.push(overlayParseError(overlayPath, 'required field "name" must be a non-empty string'));
260
+ }
261
+ if (typeof obj['description'] !== 'string' || obj['description'].trim() === '') {
262
+ errors.push(overlayParseError(overlayPath, 'required field "description" must be a non-empty string'));
263
+ }
264
+ if (errors.length > 0) {
265
+ return { overlay: null, errors, warnings };
266
+ }
267
+ // 5. Parse override sections (gracefully handle missing/malformed)
268
+ const overrideSections = ['step-overrides', 'knowledge-overrides', 'reads-overrides', 'dependency-overrides'];
269
+ for (const section of overrideSections) {
270
+ const value = obj[section];
271
+ if (value !== undefined && value !== null) {
272
+ if (typeof value !== 'object' || Array.isArray(value)) {
273
+ warnings.push(overlayMalformedSection(section, overlayPath));
274
+ }
275
+ }
276
+ }
277
+ const stepOverridesRaw = isPlainObject(obj['step-overrides'])
278
+ ? obj['step-overrides'] : {};
279
+ const knowledgeOverridesRaw = isPlainObject(obj['knowledge-overrides'])
280
+ ? obj['knowledge-overrides'] : {};
281
+ const readsOverridesRaw = isPlainObject(obj['reads-overrides'])
282
+ ? obj['reads-overrides'] : {};
283
+ const dependencyOverridesRaw = isPlainObject(obj['dependency-overrides'])
284
+ ? obj['dependency-overrides'] : {};
285
+ const overlay = {
286
+ name: obj['name'].trim(),
287
+ description: obj['description'].trim(),
288
+ // No projectType for structural overlays
289
+ stepOverrides: parseStepOverrides(stepOverridesRaw, warnings, overlayPath),
290
+ knowledgeOverrides: parseKnowledgeOverrides(knowledgeOverridesRaw, warnings, overlayPath),
291
+ readsOverrides: parseReadsOverrides(readsOverridesRaw, warnings, overlayPath),
292
+ dependencyOverrides: parseDependencyOverrides(dependencyOverridesRaw, warnings, overlayPath),
293
+ };
294
+ return { overlay, errors, warnings };
295
+ }
221
296
  //# sourceMappingURL=overlay-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-loader.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EACL,cAAc,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,qBAAqB,GAClF,MAAM,uBAAuB,CAAA;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,gEAAgE;AAChE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC7E,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAChC,GAA4B,EAC5B,QAA2B,EAC3B,QAAgB;IAEhB,MAAM,MAAM,GAAwC,EAAE,CAAA;IACtD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC5D,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAA;QAC5C,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC9D,SAAQ;QACV,CAAC;QACD,MAAM,KAAK,GAAwB,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAA;QAC9D,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAA;QACjC,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,uBAAuB,CACrC,GAA4B,EAC5B,QAA2B,EAC3B,QAAgB;IAEhB,MAAM,MAAM,GAAsC,EAAE,CAAA;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC5D,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAA;QAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC,CAAE,GAAG,CAAC,QAAQ,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAChF,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,CAAA;IAC1B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,mBAAmB,CACjC,GAA4B,EAC5B,QAA2B,EAC3B,QAAgB;IAEhB,MAAM,MAAM,GAAkC,EAAE,CAAA;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC5D,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAA;QAC5C,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACpG,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAA4B,CAAC,EAAE,CAAC;gBACjF,IAAI,OAAO,EAAE,KAAK,QAAQ;oBAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC,CAAE,GAAG,CAAC,QAAQ,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAChF,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,wBAAwB,CACtC,GAA4B,EAC5B,QAA2B,EAC3B,QAAgB;IAEhB,MAAM,MAAM,GAAuC,EAAE,CAAA;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAA;YAC5D,SAAQ;QACV,CAAC;QACD,MAAM,GAAG,GAAG,KAAgC,CAAA;QAC5C,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;QAChE,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACjE,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/D,CAAC;QACD,MAAM,OAAO,GAA2B,EAAE,CAAA;QAC1C,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACpG,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAA4B,CAAC,EAAE,CAAC;gBACjF,IAAI,OAAO,EAAE,KAAK,QAAQ;oBAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;YAC9C,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,CAAC,CAAE,GAAG,CAAC,QAAQ,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAChF,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IACnC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,WAAmB;IAEnB,MAAM,MAAM,GAAoB,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAsB,EAAE,CAAA;IAEtC,uBAAuB;IACvB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QACtD,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;QACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAED,eAAe;IACf,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAEhD,gBAAgB;IAChB,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC/D,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAED,kCAAkC;IAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC,CAAA;QAC5E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAA;IAE7C,2BAA2B;IAC3B,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjE,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,kDAAkD,CAAC,CAAC,CAAA;IACjG,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,yDAAyD,CAAC,CAAC,CAAA;IACxG,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,0DAA0D,CAAC,CAAC,CAAA;IACzG,CAAC;SAAM,CAAC;QACN,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAA;QACnD,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAsC,CAAC,EAAE,CAAC;YACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC5C,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAC3B,WAAW,EAAE,iCAAiC,OAAO,UAAU,EAAE,GAAG,CACrE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;IAC5C,CAAC;IAED,mEAAmE;IACnE,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,sBAAsB,CAAU,CAAA;IAEtH,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtD,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAA;IACzD,MAAM,qBAAqB,GAAG,aAAa,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACrE,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1D,MAAM,sBAAsB,GAAG,aAAa,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACvE,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAA;IAE/D,MAAM,OAAO,GAAuB;QAClC,IAAI,EAAG,GAAG,CAAC,MAAM,CAAY,CAAC,IAAI,EAAE;QACpC,WAAW,EAAG,GAAG,CAAC,aAAa,CAAY,CAAC,IAAI,EAAE;QAClD,WAAW,EAAG,GAAG,CAAC,cAAc,CAAY,CAAC,IAAI,EAAuC;QACxF,aAAa,EAAE,kBAAkB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC1E,kBAAkB,EAAE,uBAAuB,CAAC,qBAAqB,EAAE,QAAQ,EAAE,WAAW,CAAC;QACzF,cAAc,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC7E,mBAAmB,EAAE,wBAAwB,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC;KAC7F,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAmB;IAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAA;IAElC,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;IAErC,4DAA4D;IAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAEzE,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,eAAe,WAAW,kCAAkC;kBACjE,iFAAiF;YACrF,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SAC/B,CAAC,CAAA;QACF,OAAO,CAAC,aAAa,GAAG,EAAE,CAAA;QAC1B,OAAO,CAAC,cAAc,GAAG,EAAE,CAAA;QAC3B,OAAO,CAAC,mBAAmB,GAAG,EAAE,CAAA;IAClC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"overlay-loader.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-loader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ProjectTypeOverlay, StepEnablementEntry } from '../../types/index.js';
1
+ import type { PipelineOverlay, StepEnablementEntry } from '../../types/index.js';
2
2
  /**
3
3
  * Apply a project-type overlay to resolved pipeline state.
4
4
  *
@@ -6,7 +6,7 @@ import type { ProjectTypeOverlay, StepEnablementEntry } from '../../types/index.
6
6
  * applies overlay overrides (replace-then-append-then-dedup),
7
7
  * and returns new pipeline state without mutating inputs.
8
8
  */
9
- export declare function applyOverlay(steps: Record<string, StepEnablementEntry>, knowledgeMap: Record<string, string[]>, readsMap: Record<string, string[]>, dependencyMap: Record<string, string[]>, overlay: ProjectTypeOverlay): {
9
+ export declare function applyOverlay(steps: Record<string, StepEnablementEntry>, knowledgeMap: Record<string, string[]>, readsMap: Record<string, string[]>, dependencyMap: Record<string, string[]>, overlay: PipelineOverlay): {
10
10
  steps: Record<string, StepEnablementEntry>;
11
11
  knowledge: Record<string, string[]>;
12
12
  reads: Record<string, string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/assembly/overlay-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAIlB,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAE7B;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACvC,OAAO,EAAE,kBAAkB,GAC1B;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACvC,CAqCA"}
1
+ {"version":3,"file":"overlay-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/assembly/overlay-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAIf,mBAAmB,EACpB,MAAM,sBAAsB,CAAA;AAE7B;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC1C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAClC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACvC,OAAO,EAAE,eAAe,GACvB;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACvC,CAqCA"}
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-resolver.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-resolver.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA0C,EAC1C,YAAsC,EACtC,QAAkC,EAClC,aAAuC,EACvC,OAA2B;IAO3B,+EAA+E;IAC/E,MAAM,WAAW,GAAwC,EAAE,CAAA;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC3D,CAAC;IAED,+CAA+C;IAC/C,MAAM,eAAe,GAAG,mBAAmB,CACzC,YAAY,EACZ,OAAO,CAAC,kBAAkB,EAC1B,mBAAmB,CACpB,CAAA;IAED,qDAAqD;IACrD,MAAM,WAAW,GAAG,mBAAmB,CACrC,QAAQ,EACR,OAAO,CAAC,cAAc,EACtB,uBAAuB,CACxB,CAAA;IAED,0DAA0D;IAC1D,MAAM,kBAAkB,GAAG,mBAAmB,CAC5C,aAAa,EACb,OAAO,CAAC,mBAAmB,EAC3B,uBAAuB,CACxB,CAAA;IAED,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,kBAAkB;KACjC,CAAA;AACH,CAAC;AAED,+FAA+F;AAC/F,SAAS,mBAAmB,CAC1B,QAAkC,EAClC,SAA4B,EAC5B,MAAqD;IAErD,mDAAmD;IACnD,MAAM,MAAM,GAA6B,EAAE,CAAA;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,0CAA0C;AAC1C,SAAS,mBAAmB,CAAC,QAAkB,EAAE,QAA2B;IAC1E,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7B,CAAC;AAED,4DAA4D;AAC5D,SAAS,uBAAuB,CAAC,QAAkB,EAAE,QAA4C;IAC/F,6BAA6B;IAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;IACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;IAEpE,iBAAiB;IACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IAE1D,yDAAyD;IACzD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"overlay-resolver.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-resolver.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAA0C,EAC1C,YAAsC,EACtC,QAAkC,EAClC,aAAuC,EACvC,OAAwB;IAOxB,+EAA+E;IAC/E,MAAM,WAAW,GAAwC,EAAE,CAAA;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;IAClC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC3D,CAAC;IAED,+CAA+C;IAC/C,MAAM,eAAe,GAAG,mBAAmB,CACzC,YAAY,EACZ,OAAO,CAAC,kBAAkB,EAC1B,mBAAmB,CACpB,CAAA;IAED,qDAAqD;IACrD,MAAM,WAAW,GAAG,mBAAmB,CACrC,QAAQ,EACR,OAAO,CAAC,cAAc,EACtB,uBAAuB,CACxB,CAAA;IAED,0DAA0D;IAC1D,MAAM,kBAAkB,GAAG,mBAAmB,CAC5C,aAAa,EACb,OAAO,CAAC,mBAAmB,EAC3B,uBAAuB,CACxB,CAAA;IAED,OAAO;QACL,KAAK,EAAE,WAAW;QAClB,SAAS,EAAE,eAAe;QAC1B,KAAK,EAAE,WAAW;QAClB,YAAY,EAAE,kBAAkB;KACjC,CAAA;AACH,CAAC;AAED,+FAA+F;AAC/F,SAAS,mBAAmB,CAC1B,QAAkC,EAClC,SAA4B,EAC5B,MAAqD;IAErD,mDAAmD;IACnD,MAAM,MAAM,GAA6B,EAAE,CAAA;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,0CAA0C;AAC1C,SAAS,mBAAmB,CAAC,QAAkB,EAAE,QAA2B;IAC1E,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;AAC7B,CAAC;AAED,4DAA4D;AAC5D,SAAS,uBAAuB,CAAC,QAAkB,EAAE,QAA4C;IAC/F,6BAA6B;IAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAA;IACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAA;IAEpE,iBAAiB;IACjB,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IAE1D,yDAAyD;IACzD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-resolver.test.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-resolver.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay-resolver.test.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-resolver.test.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,11 @@ export interface OverlayState {
6
6
  knowledge: Record<string, string[]>;
7
7
  reads: Record<string, string[]>;
8
8
  dependencies: Record<string, string[]>;
9
+ /** Wave 3c — populated from frontmatter.crossReads; overlay-level overrides are post-release. */
10
+ crossReads?: Record<string, Array<{
11
+ service: string;
12
+ step: string;
13
+ }>>;
9
14
  }
10
15
  /**
11
16
  * Resolve overlay state by building maps from meta-prompt frontmatter,
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-state-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/assembly/overlay-state-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CACvC;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,MAAM,EAAE,cAAc,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAA;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAChD,MAAM,EAAE,aAAa,CAAA;CACtB,GAAG,YAAY,CAyFf"}
1
+ {"version":3,"file":"overlay-state-resolver.d.ts","sourceRoot":"","sources":["../../../src/core/assembly/overlay-state-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAIhE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACtC,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CACtE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,MAAM,EAAE,cAAc,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAA;IAChE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAChD,MAAM,EAAE,aAAa,CAAA;CACtB,GAAG,YAAY,CA4If"}
@@ -1,6 +1,6 @@
1
1
  import path from 'node:path';
2
2
  import fs from 'node:fs';
3
- import { loadOverlay, loadSubOverlay } from './overlay-loader.js';
3
+ import { loadOverlay, loadSubOverlay, loadStructuralOverlay } from './overlay-loader.js';
4
4
  import { applyOverlay } from './overlay-resolver.js';
5
5
  /**
6
6
  * Resolve overlay state by building maps from meta-prompt frontmatter,
@@ -15,6 +15,10 @@ export function resolveOverlayState(options) {
15
15
  const knowledgeMap = {};
16
16
  const readsMap = {};
17
17
  const dependencyMap = {};
18
+ // Wave 3c: crossReads is an OVERLAY-OVERRIDE seam (empty until the follow-on
19
+ // 'crossReads-overrides' feature lands). Consumers read frontmatter via the
20
+ // overlay-first fallback: `overlay.crossReads?.[slug] ?? frontmatter.crossReads`.
21
+ const crossReadsMap = {};
18
22
  for (const [name, mp] of metaPrompts) {
19
23
  knowledgeMap[name] = [...(mp.frontmatter.knowledgeBase ?? [])];
20
24
  readsMap[name] = [...(mp.frontmatter.reads ?? [])];
@@ -54,6 +58,7 @@ export function resolveOverlayState(options) {
54
58
  // Generic domain sub-overlay: types with a 'domain' config field get sub-overlay injection
55
59
  const TYPE_DOMAIN_CONFIG = {
56
60
  'research': 'researchConfig',
61
+ 'backend': 'backendConfig',
57
62
  // Future types with domain support can be added here
58
63
  };
59
64
  const domainConfigKey = TYPE_DOMAIN_CONFIG[projectType];
@@ -82,11 +87,46 @@ export function resolveOverlayState(options) {
82
87
  }
83
88
  }
84
89
  }
90
+ // Structural overlay pass (gated on services[])
91
+ if (config.project?.services?.length) {
92
+ const msOverlayPath = path.join(methodologyDir, 'multi-service-overlay.yml');
93
+ if (fs.existsSync(msOverlayPath)) {
94
+ const { overlay: msOverlay, errors: msErrors, warnings: msWarnings, } = loadStructuralOverlay(msOverlayPath);
95
+ for (const w of msWarnings) {
96
+ output.warn(w);
97
+ }
98
+ if (msErrors.length > 0) {
99
+ for (const err of msErrors) {
100
+ output.warn(`[${err.code}] ${err.message}${err.recovery ? ` — ${err.recovery}` : ''}`);
101
+ }
102
+ }
103
+ if (msOverlay) {
104
+ // Step-override conflict detection
105
+ for (const [step, override] of Object.entries(msOverlay.stepOverrides)) {
106
+ if (step in overlaySteps && overlaySteps[step].enabled !== override.enabled) {
107
+ output.warn(`Structural overlay overrides "${step}" enablement`);
108
+ }
109
+ }
110
+ // Validate step targets exist in metaPrompts
111
+ for (const step of Object.keys(msOverlay.stepOverrides)) {
112
+ if (!metaPrompts.has(step)) {
113
+ output.warn(`Structural overlay targets unknown step "${step}"`);
114
+ }
115
+ }
116
+ const merged = applyOverlay(overlaySteps, overlayKnowledge, overlayReads, overlayDependencies, msOverlay);
117
+ overlaySteps = merged.steps;
118
+ overlayKnowledge = merged.knowledge;
119
+ overlayReads = merged.reads;
120
+ overlayDependencies = merged.dependencies;
121
+ }
122
+ }
123
+ }
85
124
  return {
86
125
  steps: overlaySteps,
87
126
  knowledge: overlayKnowledge,
88
127
  reads: overlayReads,
89
128
  dependencies: overlayDependencies,
129
+ crossReads: crossReadsMap,
90
130
  };
91
131
  }
92
132
  //# sourceMappingURL=overlay-state-resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-state-resolver.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-state-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlay-state-resolver.js","sourceRoot":"","sources":["../../../src/core/assembly/overlay-state-resolver.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
2
  import path from 'node:path';
3
3
  import { fileURLToPath } from 'node:url';
4
+ import fs from 'node:fs';
5
+ import os from 'node:os';
4
6
  import { resolveOverlayState } from './overlay-state-resolver.js';
5
7
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
8
  const fixtureDir = path.resolve(__dirname, '../../../tests/fixtures/methodology');
@@ -310,6 +312,75 @@ describe('resolveOverlayState', () => {
310
312
  'tdd-basics', 'backtest-validation',
311
313
  ]);
312
314
  });
315
+ it('loads backend-fintech.yml when BackendConfig.domain is fintech', () => {
316
+ const config = makeConfig({
317
+ project: {
318
+ projectType: 'backend',
319
+ backendConfig: {
320
+ apiStyle: 'rest',
321
+ dataStore: ['relational'],
322
+ authMechanism: 'jwt',
323
+ asyncMessaging: 'none',
324
+ deployTarget: 'container',
325
+ domain: 'fintech',
326
+ },
327
+ },
328
+ });
329
+ const presetSteps = {
330
+ 'tech-stack': { enabled: true },
331
+ };
332
+ const metaPrompts = new Map([
333
+ ['tech-stack', { frontmatter: makeFrontmatter({
334
+ name: 'tech-stack', knowledgeBase: ['tech-stack-selection'],
335
+ reads: [], dependencies: [],
336
+ }) }],
337
+ ]);
338
+ const result = resolveOverlayState({
339
+ config,
340
+ methodologyDir: fixtureDir,
341
+ metaPrompts,
342
+ presetSteps,
343
+ output: makeOutput(),
344
+ });
345
+ // backend-fintech.yml appends fintech-compliance to tech-stack
346
+ expect(result.knowledge['tech-stack']).toEqual([
347
+ 'tech-stack-selection', 'fintech-compliance',
348
+ ]);
349
+ });
350
+ it('does NOT load backend-fintech.yml when BackendConfig.domain is \'none\'', () => {
351
+ const config = makeConfig({
352
+ project: {
353
+ projectType: 'backend',
354
+ backendConfig: {
355
+ apiStyle: 'rest',
356
+ dataStore: ['relational'],
357
+ authMechanism: 'jwt',
358
+ asyncMessaging: 'none',
359
+ deployTarget: 'container',
360
+ domain: 'none',
361
+ },
362
+ },
363
+ });
364
+ const presetSteps = {
365
+ 'tech-stack': { enabled: true },
366
+ };
367
+ const metaPrompts = new Map([
368
+ ['tech-stack', { frontmatter: makeFrontmatter({
369
+ name: 'tech-stack', knowledgeBase: ['tech-stack-selection'],
370
+ reads: [], dependencies: [],
371
+ }) }],
372
+ ]);
373
+ const result = resolveOverlayState({
374
+ config,
375
+ methodologyDir: fixtureDir,
376
+ metaPrompts,
377
+ presetSteps,
378
+ output: makeOutput(),
379
+ });
380
+ // Domain is 'none' — sub-overlay must not load
381
+ expect(result.knowledge['tech-stack']).toEqual(['tech-stack-selection']);
382
+ expect(result.knowledge['tech-stack']).not.toContain('fintech-compliance');
383
+ });
313
384
  it('handles undefined config.project gracefully', () => {
314
385
  const config = makeConfig(); // config.project is undefined
315
386
  const presetSteps = {
@@ -333,5 +404,196 @@ describe('resolveOverlayState', () => {
333
404
  expect(result.reads['step-a']).toEqual(['step-b']);
334
405
  expect(result.dependencies['step-a']).toEqual(['step-c']);
335
406
  });
407
+ describe('structural overlay (multi-service)', () => {
408
+ it('activates structural overlay when services[] present', () => {
409
+ const output = makeOutput();
410
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'overlay-structural-'));
411
+ fs.writeFileSync(path.join(tmpDir, 'multi-service-overlay.yml'), `
412
+ name: multi-service
413
+ description: Test structural overlay
414
+
415
+ step-overrides:
416
+ service-ownership-map: { enabled: true }
417
+
418
+ knowledge-overrides:
419
+ system-architecture:
420
+ append: [multi-service-architecture]
421
+ `, 'utf8');
422
+ const presetSteps = {
423
+ 'create-vision': { enabled: true },
424
+ 'service-ownership-map': { enabled: false },
425
+ 'system-architecture': { enabled: true },
426
+ };
427
+ const metaPrompts = new Map([
428
+ ['create-vision', { frontmatter: makeFrontmatter({ name: 'create-vision' }) }],
429
+ ['service-ownership-map', { frontmatter: makeFrontmatter({ name: 'service-ownership-map' }) }],
430
+ ['system-architecture', {
431
+ frontmatter: makeFrontmatter({ name: 'system-architecture', knowledgeBase: ['system-architecture'] }),
432
+ }],
433
+ ]);
434
+ const result = resolveOverlayState({
435
+ config: makeConfig({
436
+ project: {
437
+ services: [{
438
+ name: 'api',
439
+ projectType: 'backend',
440
+ backendConfig: {
441
+ apiStyle: 'rest', dataStore: ['relational'], authMechanism: 'jwt',
442
+ asyncMessaging: 'none', deployTarget: 'container', domain: 'none',
443
+ },
444
+ }],
445
+ },
446
+ }),
447
+ methodologyDir: tmpDir,
448
+ metaPrompts,
449
+ presetSteps,
450
+ output,
451
+ });
452
+ expect(result.steps['service-ownership-map']?.enabled).toBe(true);
453
+ expect(result.knowledge['system-architecture']).toContain('multi-service-architecture');
454
+ });
455
+ it('emits warning when structural overlay conflicts with project-type overlay', () => {
456
+ const output = makeOutput();
457
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'overlay-conflict-'));
458
+ fs.writeFileSync(path.join(tmpDir, 'multi-service-overlay.yml'), `
459
+ name: multi-service
460
+ description: Test conflict
461
+
462
+ step-overrides:
463
+ design-system: { enabled: true }
464
+ `, 'utf8');
465
+ const presetSteps = {
466
+ 'design-system': { enabled: false },
467
+ };
468
+ const metaPrompts = new Map([
469
+ ['design-system', { frontmatter: makeFrontmatter({ name: 'design-system' }) }],
470
+ ]);
471
+ resolveOverlayState({
472
+ config: makeConfig({
473
+ project: {
474
+ services: [{
475
+ name: 'api',
476
+ projectType: 'backend',
477
+ backendConfig: {
478
+ apiStyle: 'rest', dataStore: ['relational'], authMechanism: 'jwt',
479
+ asyncMessaging: 'none', deployTarget: 'container', domain: 'none',
480
+ },
481
+ }],
482
+ },
483
+ }),
484
+ methodologyDir: tmpDir,
485
+ metaPrompts,
486
+ presetSteps,
487
+ output,
488
+ });
489
+ expect(output.warn).toHaveBeenCalledWith(expect.stringContaining('design-system'));
490
+ });
491
+ it('does NOT activate structural overlay when services[] absent', () => {
492
+ const output = makeOutput();
493
+ const presetSteps = {
494
+ 'service-ownership-map': { enabled: false },
495
+ };
496
+ const metaPrompts = new Map([
497
+ ['service-ownership-map', { frontmatter: makeFrontmatter({ name: 'service-ownership-map' }) }],
498
+ ]);
499
+ const result = resolveOverlayState({
500
+ config: makeConfig(),
501
+ methodologyDir: fixtureDir,
502
+ metaPrompts,
503
+ presetSteps,
504
+ output,
505
+ });
506
+ expect(result.steps['service-ownership-map']?.enabled).toBe(false);
507
+ });
508
+ it('does NOT activate when services[] is empty array', () => {
509
+ const output = makeOutput();
510
+ const presetSteps = {
511
+ 'service-ownership-map': { enabled: false },
512
+ };
513
+ const metaPrompts = new Map([
514
+ ['service-ownership-map', { frontmatter: makeFrontmatter({ name: 'service-ownership-map' }) }],
515
+ ]);
516
+ const result = resolveOverlayState({
517
+ config: makeConfig({ project: { services: [] } }),
518
+ methodologyDir: fixtureDir,
519
+ metaPrompts,
520
+ presetSteps,
521
+ output,
522
+ });
523
+ expect(result.steps['service-ownership-map']?.enabled).toBe(false);
524
+ });
525
+ it('warns when structural overlay targets unknown step', () => {
526
+ const output = makeOutput();
527
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'overlay-test-'));
528
+ fs.writeFileSync(path.join(tmpDir, 'multi-service-overlay.yml'), `
529
+ name: multi-service
530
+ description: Test overlay
531
+
532
+ step-overrides:
533
+ nonexistent-step: { enabled: true }
534
+ `, 'utf8');
535
+ const presetSteps = {};
536
+ const metaPrompts = new Map();
537
+ resolveOverlayState({
538
+ config: makeConfig({
539
+ project: {
540
+ services: [{
541
+ name: 'api',
542
+ projectType: 'backend',
543
+ backendConfig: {
544
+ apiStyle: 'rest', dataStore: ['relational'], authMechanism: 'jwt',
545
+ asyncMessaging: 'none', deployTarget: 'container', domain: 'none',
546
+ },
547
+ }],
548
+ },
549
+ }),
550
+ methodologyDir: tmpDir,
551
+ metaPrompts,
552
+ presetSteps,
553
+ output,
554
+ });
555
+ expect(output.warn).toHaveBeenCalledWith(expect.stringContaining('nonexistent-step'));
556
+ });
557
+ });
558
+ });
559
+ describe('crossReads on OverlayState (Wave 3c)', () => {
560
+ // Per spec §2.1, crossReads is an OVERLAY-OVERRIDE seam (empty until the
561
+ // follow-on 'crossReads-overrides' feature lands). Consumers use the
562
+ // overlay-first fallback: `overlay.crossReads?.[slug] ?? frontmatter.crossReads`.
563
+ it('returns crossReads as empty object even when frontmatter has crossReads', () => {
564
+ const metaPrompts = new Map([
565
+ ['system-architecture', {
566
+ frontmatter: makeFrontmatter({
567
+ name: 'system-architecture',
568
+ phase: 'architecture',
569
+ order: 700,
570
+ outputs: ['docs/architecture.md'],
571
+ crossReads: [{ service: 'shared-lib', step: 'api-contracts' }],
572
+ }),
573
+ }],
574
+ ]);
575
+ const result = resolveOverlayState({
576
+ config: makeConfig(),
577
+ methodologyDir: '/nonexistent',
578
+ metaPrompts,
579
+ presetSteps: {},
580
+ output: makeOutput(),
581
+ });
582
+ // The overlay map is empty; consumers fall back to frontmatter.crossReads.
583
+ expect(result.crossReads).toEqual({});
584
+ });
585
+ it('returns crossReads as empty object when no step has crossReads', () => {
586
+ const metaPrompts = new Map([
587
+ ['some-step', { frontmatter: makeFrontmatter({ name: 'some-step' }) }],
588
+ ]);
589
+ const result = resolveOverlayState({
590
+ config: makeConfig(),
591
+ methodologyDir: '/nonexistent',
592
+ metaPrompts,
593
+ presetSteps: {},
594
+ output: makeOutput(),
595
+ });
596
+ expect(result.crossReads).toEqual({});
597
+ });
336
598
  });
337
599
  //# sourceMappingURL=overlay-state-resolver.test.js.map