@zigrivers/scaffold 3.16.0 → 3.18.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 (385) 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 +153 -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 +255 -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 +130 -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 +61 -0
  188. package/dist/core/assembly/cross-reads.d.ts.map +1 -0
  189. package/dist/core/assembly/cross-reads.js +190 -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 +497 -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 +173 -0
  198. package/dist/core/assembly/overlay-loader-structural.test.js.map +1 -0
  199. package/dist/core/assembly/overlay-loader.d.ts +19 -3
  200. package/dist/core/assembly/overlay-loader.d.ts.map +1 -1
  201. package/dist/core/assembly/overlay-loader.js +135 -4
  202. package/dist/core/assembly/overlay-loader.js.map +1 -1
  203. package/dist/core/assembly/overlay-loader.test.js +204 -1
  204. package/dist/core/assembly/overlay-loader.test.js.map +1 -1
  205. package/dist/core/assembly/overlay-resolver.d.ts +9 -2
  206. package/dist/core/assembly/overlay-resolver.d.ts.map +1 -1
  207. package/dist/core/assembly/overlay-resolver.js +32 -1
  208. package/dist/core/assembly/overlay-resolver.js.map +1 -1
  209. package/dist/core/assembly/overlay-resolver.test.js +135 -17
  210. package/dist/core/assembly/overlay-resolver.test.js.map +1 -1
  211. package/dist/core/assembly/overlay-state-resolver.d.ts +9 -0
  212. package/dist/core/assembly/overlay-state-resolver.d.ts.map +1 -1
  213. package/dist/core/assembly/overlay-state-resolver.js +43 -2
  214. package/dist/core/assembly/overlay-state-resolver.js.map +1 -1
  215. package/dist/core/assembly/overlay-state-resolver.test.js +321 -0
  216. package/dist/core/assembly/overlay-state-resolver.test.js.map +1 -1
  217. package/dist/core/assembly/update-mode.d.ts +1 -0
  218. package/dist/core/assembly/update-mode.d.ts.map +1 -1
  219. package/dist/core/assembly/update-mode.js +17 -9
  220. package/dist/core/assembly/update-mode.js.map +1 -1
  221. package/dist/core/dependency/eligibility.d.ts +10 -1
  222. package/dist/core/dependency/eligibility.d.ts.map +1 -1
  223. package/dist/core/dependency/eligibility.js +19 -1
  224. package/dist/core/dependency/eligibility.js.map +1 -1
  225. package/dist/core/dependency/eligibility.test.js +82 -0
  226. package/dist/core/dependency/eligibility.test.js.map +1 -1
  227. package/dist/core/dependency/graph.d.ts +4 -1
  228. package/dist/core/dependency/graph.d.ts.map +1 -1
  229. package/dist/core/dependency/graph.js +7 -1
  230. package/dist/core/dependency/graph.js.map +1 -1
  231. package/dist/core/dependency/graph.test.js +48 -0
  232. package/dist/core/dependency/graph.test.js.map +1 -1
  233. package/dist/core/pipeline/global-steps.d.ts +7 -0
  234. package/dist/core/pipeline/global-steps.d.ts.map +1 -0
  235. package/dist/core/pipeline/global-steps.js +18 -0
  236. package/dist/core/pipeline/global-steps.js.map +1 -0
  237. package/dist/core/pipeline/resolver.d.ts +1 -0
  238. package/dist/core/pipeline/resolver.d.ts.map +1 -1
  239. package/dist/core/pipeline/resolver.js +54 -7
  240. package/dist/core/pipeline/resolver.js.map +1 -1
  241. package/dist/core/pipeline/resolver.test.js +51 -1
  242. package/dist/core/pipeline/resolver.test.js.map +1 -1
  243. package/dist/core/pipeline/types.d.ts +5 -1
  244. package/dist/core/pipeline/types.d.ts.map +1 -1
  245. package/dist/e2e/cross-service-references.test.d.ts +22 -0
  246. package/dist/e2e/cross-service-references.test.d.ts.map +1 -0
  247. package/dist/e2e/cross-service-references.test.js +230 -0
  248. package/dist/e2e/cross-service-references.test.js.map +1 -0
  249. package/dist/e2e/multi-service-pipeline.test.d.ts +10 -0
  250. package/dist/e2e/multi-service-pipeline.test.d.ts.map +1 -0
  251. package/dist/e2e/multi-service-pipeline.test.js +185 -0
  252. package/dist/e2e/multi-service-pipeline.test.js.map +1 -0
  253. package/dist/e2e/project-type-overlays.test.js +68 -0
  254. package/dist/e2e/project-type-overlays.test.js.map +1 -1
  255. package/dist/e2e/service-execution.test.d.ts +15 -0
  256. package/dist/e2e/service-execution.test.d.ts.map +1 -0
  257. package/dist/e2e/service-execution.test.js +219 -0
  258. package/dist/e2e/service-execution.test.js.map +1 -0
  259. package/dist/e2e/service-manifest.test.d.ts +19 -0
  260. package/dist/e2e/service-manifest.test.d.ts.map +1 -0
  261. package/dist/e2e/service-manifest.test.js +166 -0
  262. package/dist/e2e/service-manifest.test.js.map +1 -0
  263. package/dist/project/__frozen-schemas__/schema-v3.9.2.d.ts +224 -224
  264. package/dist/project/frontmatter.d.ts.map +1 -1
  265. package/dist/project/frontmatter.js +11 -0
  266. package/dist/project/frontmatter.js.map +1 -1
  267. package/dist/project/frontmatter.test.js +71 -0
  268. package/dist/project/frontmatter.test.js.map +1 -1
  269. package/dist/state/completion.d.ts +1 -1
  270. package/dist/state/completion.d.ts.map +1 -1
  271. package/dist/state/completion.js +10 -8
  272. package/dist/state/completion.js.map +1 -1
  273. package/dist/state/decision-logger.d.ts +3 -2
  274. package/dist/state/decision-logger.d.ts.map +1 -1
  275. package/dist/state/decision-logger.js +12 -11
  276. package/dist/state/decision-logger.js.map +1 -1
  277. package/dist/state/ensure-v3-migration.d.ts +9 -0
  278. package/dist/state/ensure-v3-migration.d.ts.map +1 -0
  279. package/dist/state/ensure-v3-migration.js +35 -0
  280. package/dist/state/ensure-v3-migration.js.map +1 -0
  281. package/dist/state/lock-manager.d.ts +5 -4
  282. package/dist/state/lock-manager.d.ts.map +1 -1
  283. package/dist/state/lock-manager.js +11 -11
  284. package/dist/state/lock-manager.js.map +1 -1
  285. package/dist/state/rework-manager.d.ts +1 -2
  286. package/dist/state/rework-manager.d.ts.map +1 -1
  287. package/dist/state/rework-manager.js +4 -5
  288. package/dist/state/rework-manager.js.map +1 -1
  289. package/dist/state/state-manager.d.ts +25 -1
  290. package/dist/state/state-manager.d.ts.map +1 -1
  291. package/dist/state/state-manager.js +86 -12
  292. package/dist/state/state-manager.js.map +1 -1
  293. package/dist/state/state-manager.test.js +278 -0
  294. package/dist/state/state-manager.test.js.map +1 -1
  295. package/dist/state/state-migration-v3.d.ts +22 -0
  296. package/dist/state/state-migration-v3.d.ts.map +1 -0
  297. package/dist/state/state-migration-v3.js +82 -0
  298. package/dist/state/state-migration-v3.js.map +1 -0
  299. package/dist/state/state-migration-v3.test.d.ts +2 -0
  300. package/dist/state/state-migration-v3.test.d.ts.map +1 -0
  301. package/dist/state/state-migration-v3.test.js +196 -0
  302. package/dist/state/state-migration-v3.test.js.map +1 -0
  303. package/dist/state/state-migration.d.ts.map +1 -1
  304. package/dist/state/state-migration.js +11 -6
  305. package/dist/state/state-migration.js.map +1 -1
  306. package/dist/state/state-migration.test.js +47 -2
  307. package/dist/state/state-migration.test.js.map +1 -1
  308. package/dist/state/state-path-resolver.d.ts +23 -0
  309. package/dist/state/state-path-resolver.d.ts.map +1 -0
  310. package/dist/state/state-path-resolver.js +36 -0
  311. package/dist/state/state-path-resolver.js.map +1 -0
  312. package/dist/state/state-path-resolver.test.d.ts +2 -0
  313. package/dist/state/state-path-resolver.test.d.ts.map +1 -0
  314. package/dist/state/state-path-resolver.test.js +78 -0
  315. package/dist/state/state-path-resolver.test.js.map +1 -0
  316. package/dist/state/state-version-dispatch.d.ts +17 -0
  317. package/dist/state/state-version-dispatch.d.ts.map +1 -0
  318. package/dist/state/state-version-dispatch.js +27 -0
  319. package/dist/state/state-version-dispatch.js.map +1 -0
  320. package/dist/state/state-version-dispatch.test.d.ts +2 -0
  321. package/dist/state/state-version-dispatch.test.d.ts.map +1 -0
  322. package/dist/state/state-version-dispatch.test.js +40 -0
  323. package/dist/state/state-version-dispatch.test.js.map +1 -0
  324. package/dist/types/config.d.ts +33 -3
  325. package/dist/types/config.d.ts.map +1 -1
  326. package/dist/types/config.test.js +62 -1
  327. package/dist/types/config.test.js.map +1 -1
  328. package/dist/types/dependency.d.ts +9 -0
  329. package/dist/types/dependency.d.ts.map +1 -1
  330. package/dist/types/frontmatter.d.ts +5 -0
  331. package/dist/types/frontmatter.d.ts.map +1 -1
  332. package/dist/types/lock.d.ts +1 -1
  333. package/dist/types/lock.d.ts.map +1 -1
  334. package/dist/types/state.d.ts +1 -1
  335. package/dist/types/state.d.ts.map +1 -1
  336. package/dist/utils/artifact-path.d.ts +19 -0
  337. package/dist/utils/artifact-path.d.ts.map +1 -0
  338. package/dist/utils/artifact-path.js +95 -0
  339. package/dist/utils/artifact-path.js.map +1 -0
  340. package/dist/utils/artifact-path.test.d.ts +2 -0
  341. package/dist/utils/artifact-path.test.d.ts.map +1 -0
  342. package/dist/utils/artifact-path.test.js +138 -0
  343. package/dist/utils/artifact-path.test.js.map +1 -0
  344. package/dist/utils/errors.d.ts +3 -1
  345. package/dist/utils/errors.d.ts.map +1 -1
  346. package/dist/utils/errors.js +21 -2
  347. package/dist/utils/errors.js.map +1 -1
  348. package/dist/utils/errors.test.js +27 -1
  349. package/dist/utils/errors.test.js.map +1 -1
  350. package/dist/utils/user-errors.d.ts +46 -0
  351. package/dist/utils/user-errors.d.ts.map +1 -0
  352. package/dist/utils/user-errors.js +76 -0
  353. package/dist/utils/user-errors.js.map +1 -0
  354. package/dist/utils/user-errors.test.d.ts +2 -0
  355. package/dist/utils/user-errors.test.d.ts.map +1 -0
  356. package/dist/utils/user-errors.test.js +74 -0
  357. package/dist/utils/user-errors.test.js.map +1 -0
  358. package/dist/validation/index.d.ts.map +1 -1
  359. package/dist/validation/index.js +16 -0
  360. package/dist/validation/index.js.map +1 -1
  361. package/dist/validation/index.test.js +48 -0
  362. package/dist/validation/index.test.js.map +1 -1
  363. package/dist/validation/state-validator.d.ts +5 -2
  364. package/dist/validation/state-validator.d.ts.map +1 -1
  365. package/dist/validation/state-validator.js +18 -20
  366. package/dist/validation/state-validator.js.map +1 -1
  367. package/dist/validation/state-validator.test.js +31 -2
  368. package/dist/validation/state-validator.test.js.map +1 -1
  369. package/dist/wizard/copy/backend.d.ts.map +1 -1
  370. package/dist/wizard/copy/backend.js +12 -0
  371. package/dist/wizard/copy/backend.js.map +1 -1
  372. package/dist/wizard/flags.d.ts +1 -0
  373. package/dist/wizard/flags.d.ts.map +1 -1
  374. package/dist/wizard/questions.d.ts.map +1 -1
  375. package/dist/wizard/questions.js +5 -1
  376. package/dist/wizard/questions.js.map +1 -1
  377. package/dist/wizard/questions.test.js +45 -2
  378. package/dist/wizard/questions.test.js.map +1 -1
  379. package/dist/wizard/wizard.d.ts +23 -0
  380. package/dist/wizard/wizard.d.ts.map +1 -1
  381. package/dist/wizard/wizard.js +85 -47
  382. package/dist/wizard/wizard.js.map +1 -1
  383. package/dist/wizard/wizard.test.js +186 -1
  384. package/dist/wizard/wizard.test.js.map +1 -1
  385. package/package.json +1 -1
@@ -9,6 +9,7 @@ function makeOverlay(overrides = {}) {
9
9
  knowledgeOverrides: {},
10
10
  readsOverrides: {},
11
11
  dependencyOverrides: {},
12
+ crossReadsOverrides: {},
12
13
  ...overrides,
13
14
  };
14
15
  }
@@ -25,7 +26,7 @@ describe('applyOverlay', () => {
25
26
  'game-design-document': { enabled: true },
26
27
  },
27
28
  });
28
- const result = applyOverlay(steps, {}, {}, {}, overlay);
29
+ const result = applyOverlay(steps, {}, {}, {}, {}, overlay);
29
30
  expect(result.steps['design-system']).toEqual({ enabled: false });
30
31
  expect(result.steps['game-design-document']).toEqual({ enabled: true });
31
32
  expect(result.steps['create-prd']).toEqual({ enabled: true });
@@ -39,7 +40,7 @@ describe('applyOverlay', () => {
39
40
  'step-a': { enabled: false },
40
41
  },
41
42
  });
42
- const result = applyOverlay(steps, {}, {}, {}, overlay);
43
+ const result = applyOverlay(steps, {}, {}, {}, {}, overlay);
43
44
  expect(result.steps['step-a']).toEqual({ enabled: false, conditional: 'if-needed' });
44
45
  });
45
46
  it('preserves conditional field from overlay', () => {
@@ -51,7 +52,7 @@ describe('applyOverlay', () => {
51
52
  'optional-step': { enabled: true, conditional: 'if-needed' },
52
53
  },
53
54
  });
54
- const result = applyOverlay(steps, {}, {}, {}, overlay);
55
+ const result = applyOverlay(steps, {}, {}, {}, {}, overlay);
55
56
  expect(result.steps['optional-step']).toEqual({ enabled: true, conditional: 'if-needed' });
56
57
  });
57
58
  });
@@ -65,7 +66,7 @@ describe('applyOverlay', () => {
65
66
  'tech-stack': { append: ['game-engine-selection'] },
66
67
  },
67
68
  });
68
- const result = applyOverlay({}, knowledgeMap, {}, {}, overlay);
69
+ const result = applyOverlay({}, knowledgeMap, {}, {}, {}, overlay);
69
70
  expect(result.knowledge['tech-stack']).toEqual([
70
71
  'tech-stack-selection',
71
72
  'game-engine-selection',
@@ -80,7 +81,7 @@ describe('applyOverlay', () => {
80
81
  'tech-stack': { append: ['game-engine-selection'] },
81
82
  },
82
83
  });
83
- const result = applyOverlay({}, knowledgeMap, {}, {}, overlay);
84
+ const result = applyOverlay({}, knowledgeMap, {}, {}, {}, overlay);
84
85
  expect(result.knowledge['tech-stack']).toEqual([
85
86
  'tech-stack-selection',
86
87
  'game-engine-selection',
@@ -97,7 +98,7 @@ describe('applyOverlay', () => {
97
98
  'story-tests': { replace: { 'ux-spec': 'game-ui-spec' } },
98
99
  },
99
100
  });
100
- const result = applyOverlay({}, {}, readsMap, {}, overlay);
101
+ const result = applyOverlay({}, {}, readsMap, {}, {}, overlay);
101
102
  expect(result.reads['story-tests']).toEqual(['game-ui-spec', 'user-stories']);
102
103
  });
103
104
  it('appends new reads entries', () => {
@@ -109,7 +110,7 @@ describe('applyOverlay', () => {
109
110
  'story-tests': { append: ['game-mechanics'] },
110
111
  },
111
112
  });
112
- const result = applyOverlay({}, {}, readsMap, {}, overlay);
113
+ const result = applyOverlay({}, {}, readsMap, {}, {}, overlay);
113
114
  expect(result.reads['story-tests']).toEqual(['ux-spec', 'game-mechanics']);
114
115
  });
115
116
  it('deduplicates after replace and append', () => {
@@ -124,7 +125,7 @@ describe('applyOverlay', () => {
124
125
  },
125
126
  },
126
127
  });
127
- const result = applyOverlay({}, {}, readsMap, {}, overlay);
128
+ const result = applyOverlay({}, {}, readsMap, {}, {}, overlay);
128
129
  // user-stories should appear only once
129
130
  expect(result.reads['story-tests']).toEqual(['user-stories']);
130
131
  });
@@ -139,7 +140,7 @@ describe('applyOverlay', () => {
139
140
  'user-stories': { append: ['review-gdd'] },
140
141
  },
141
142
  });
142
- const result = applyOverlay({}, {}, {}, dependencyMap, overlay);
143
+ const result = applyOverlay({}, {}, {}, dependencyMap, {}, overlay);
143
144
  expect(result.dependencies['user-stories']).toEqual(['review-prd', 'review-gdd']);
144
145
  });
145
146
  it('replaces dependencies', () => {
@@ -151,7 +152,7 @@ describe('applyOverlay', () => {
151
152
  'user-stories': { replace: { 'review-prd': 'review-gdd' } },
152
153
  },
153
154
  });
154
- const result = applyOverlay({}, {}, {}, dependencyMap, overlay);
155
+ const result = applyOverlay({}, {}, {}, dependencyMap, {}, overlay);
155
156
  expect(result.dependencies['user-stories']).toEqual(['review-gdd']);
156
157
  });
157
158
  it('deduplicates after replace and append', () => {
@@ -166,7 +167,7 @@ describe('applyOverlay', () => {
166
167
  },
167
168
  },
168
169
  });
169
- const result = applyOverlay({}, {}, {}, dependencyMap, overlay);
170
+ const result = applyOverlay({}, {}, {}, dependencyMap, {}, overlay);
170
171
  expect(result.dependencies['user-stories']).toEqual(['review-gdd']);
171
172
  });
172
173
  });
@@ -177,7 +178,7 @@ describe('applyOverlay', () => {
177
178
  const reads = { 'story-tests': ['ux-spec'] };
178
179
  const deps = { 'user-stories': ['review-prd'] };
179
180
  const overlay = makeOverlay();
180
- const result = applyOverlay(steps, knowledge, reads, deps, overlay);
181
+ const result = applyOverlay(steps, knowledge, reads, deps, {}, overlay);
181
182
  expect(result.steps).toEqual(steps);
182
183
  expect(result.knowledge).toEqual(knowledge);
183
184
  expect(result.reads).toEqual(reads);
@@ -190,7 +191,7 @@ describe('applyOverlay', () => {
190
191
  const overlay = makeOverlay({
191
192
  stepOverrides: { 'totally-new-step': { enabled: true } },
192
193
  });
193
- const result = applyOverlay(steps, {}, {}, {}, overlay);
194
+ const result = applyOverlay(steps, {}, {}, {}, {}, overlay);
194
195
  expect(result.steps['totally-new-step']).toEqual({ enabled: true });
195
196
  expect(result.steps['create-prd']).toEqual({ enabled: true });
196
197
  });
@@ -200,7 +201,7 @@ describe('applyOverlay', () => {
200
201
  'new-step': { append: ['new-knowledge'] },
201
202
  },
202
203
  });
203
- const result = applyOverlay({}, {}, {}, {}, overlay);
204
+ const result = applyOverlay({}, {}, {}, {}, {}, overlay);
204
205
  expect(result.knowledge['new-step']).toEqual(['new-knowledge']);
205
206
  });
206
207
  it('silently adds reads for unknown steps', () => {
@@ -209,7 +210,7 @@ describe('applyOverlay', () => {
209
210
  'new-step': { append: ['some-doc'] },
210
211
  },
211
212
  });
212
- const result = applyOverlay({}, {}, {}, {}, overlay);
213
+ const result = applyOverlay({}, {}, {}, {}, {}, overlay);
213
214
  expect(result.reads['new-step']).toEqual(['some-doc']);
214
215
  });
215
216
  it('silently adds dependencies for unknown steps', () => {
@@ -218,7 +219,7 @@ describe('applyOverlay', () => {
218
219
  'new-step': { append: ['some-dep'] },
219
220
  },
220
221
  });
221
- const result = applyOverlay({}, {}, {}, {}, overlay);
222
+ const result = applyOverlay({}, {}, {}, {}, {}, overlay);
222
223
  expect(result.dependencies['new-step']).toEqual(['some-dep']);
223
224
  });
224
225
  });
@@ -234,7 +235,7 @@ describe('applyOverlay', () => {
234
235
  readsOverrides: { 'story-tests': { append: ['new-read'] } },
235
236
  dependencyOverrides: { 'user-stories': { append: ['new-dep'] } },
236
237
  });
237
- applyOverlay(steps, knowledge, reads, deps, overlay);
238
+ applyOverlay(steps, knowledge, reads, deps, {}, overlay);
238
239
  // Original inputs should be unchanged
239
240
  expect(steps).toEqual({ 'create-prd': { enabled: true } });
240
241
  expect(knowledge).toEqual({ 'tech-stack': ['tech-stack-selection'] });
@@ -243,4 +244,121 @@ describe('applyOverlay', () => {
243
244
  });
244
245
  });
245
246
  });
247
+ describe('applyOverlay crossReads (Wave 3c+1)', () => {
248
+ function baseOverlay() {
249
+ return {
250
+ name: 'test',
251
+ description: 'desc',
252
+ stepOverrides: {},
253
+ knowledgeOverrides: {},
254
+ readsOverrides: {},
255
+ dependencyOverrides: {},
256
+ crossReadsOverrides: {},
257
+ };
258
+ }
259
+ it('appends to empty crossReadsMap[step]', () => {
260
+ const result = applyOverlay({}, {}, {}, {}, {}, // empty crossReadsMap
261
+ {
262
+ ...baseOverlay(),
263
+ crossReadsOverrides: {
264
+ 'system-architecture': {
265
+ append: [{ service: 'billing', step: 'api-contracts' }],
266
+ },
267
+ },
268
+ });
269
+ expect(result.crossReads['system-architecture']).toEqual([
270
+ { service: 'billing', step: 'api-contracts' },
271
+ ]);
272
+ });
273
+ it('appends to existing frontmatter crossReads (preserves originals + adds new)', () => {
274
+ const result = applyOverlay({}, {}, {}, {}, {
275
+ 'system-architecture': [{ service: 'shared-lib', step: 'api-contracts' }],
276
+ }, {
277
+ ...baseOverlay(),
278
+ crossReadsOverrides: {
279
+ 'system-architecture': {
280
+ append: [{ service: 'billing', step: 'api-contracts' }],
281
+ },
282
+ },
283
+ });
284
+ expect(result.crossReads['system-architecture']).toEqual([
285
+ { service: 'shared-lib', step: 'api-contracts' },
286
+ { service: 'billing', step: 'api-contracts' },
287
+ ]);
288
+ });
289
+ it('dedupes by service:step pair (preserving first occurrence)', () => {
290
+ const result = applyOverlay({}, {}, {}, {}, {
291
+ 'system-architecture': [{ service: 'shared-lib', step: 'api-contracts' }],
292
+ }, {
293
+ ...baseOverlay(),
294
+ crossReadsOverrides: {
295
+ 'system-architecture': {
296
+ append: [
297
+ { service: 'shared-lib', step: 'api-contracts' }, // duplicate of frontmatter
298
+ { service: 'billing', step: 'api-contracts' }, // new
299
+ ],
300
+ },
301
+ },
302
+ });
303
+ expect(result.crossReads['system-architecture']).toEqual([
304
+ { service: 'shared-lib', step: 'api-contracts' }, // first occurrence
305
+ { service: 'billing', step: 'api-contracts' },
306
+ ]);
307
+ });
308
+ it('first-occurrence dedup: interleaved duplicates preserve insertion order', () => {
309
+ // frontmatter: [A]
310
+ // append: [B, A-dup, C] (A-dup comes after B in the merged list)
311
+ // First-occurrence result: [A, B, C] — A kept from frontmatter (earliest)
312
+ // Last-occurrence result would be: [B, A, C] — different order
313
+ // This test distinguishes the two dedup strategies by ordering.
314
+ const result = applyOverlay({}, {}, {}, {}, {
315
+ 'system-architecture': [{ service: 'shared-lib', step: 'api-contracts' }],
316
+ }, {
317
+ ...baseOverlay(),
318
+ crossReadsOverrides: {
319
+ 'system-architecture': {
320
+ append: [
321
+ { service: 'billing', step: 'api-contracts' },
322
+ { service: 'shared-lib', step: 'api-contracts' }, // dup of frontmatter's A
323
+ { service: 'inventory', step: 'domain-modeling' },
324
+ ],
325
+ },
326
+ },
327
+ });
328
+ // Must be [A, B, C], not [B, A, C]
329
+ expect(result.crossReads['system-architecture']).toEqual([
330
+ { service: 'shared-lib', step: 'api-contracts' }, // A — first, from frontmatter
331
+ { service: 'billing', step: 'api-contracts' }, // B
332
+ { service: 'inventory', step: 'domain-modeling' }, // C
333
+ ]);
334
+ });
335
+ it('result entries are deep copies — mutating result does not affect inputs', () => {
336
+ const frontmatterEntry = { service: 'shared-lib', step: 'api-contracts' };
337
+ const frontmatterMap = { 'system-architecture': [frontmatterEntry] };
338
+ const appendEntry = { service: 'billing', step: 'api-contracts' };
339
+ const result = applyOverlay({}, {}, {}, {}, frontmatterMap, {
340
+ ...baseOverlay(),
341
+ crossReadsOverrides: {
342
+ 'system-architecture': { append: [appendEntry] },
343
+ },
344
+ });
345
+ // Mutate the returned entries
346
+ result.crossReads['system-architecture'][0].service = 'mutated';
347
+ result.crossReads['system-architecture'][1].service = 'mutated';
348
+ // Inputs must be untouched (deep-copy guarantee)
349
+ expect(frontmatterEntry.service).toBe('shared-lib');
350
+ expect(appendEntry.service).toBe('billing');
351
+ });
352
+ it('applies overrides across multiple steps without cross-contamination', () => {
353
+ const result = applyOverlay({}, {}, {}, {}, {}, {
354
+ ...baseOverlay(),
355
+ crossReadsOverrides: {
356
+ 'system-architecture': { append: [{ service: 'a', step: 'x' }] },
357
+ 'api-contracts': { append: [{ service: 'b', step: 'y' }] },
358
+ },
359
+ });
360
+ expect(result.crossReads['system-architecture']).toEqual([{ service: 'a', step: 'x' }]);
361
+ expect(result.crossReads['api-contracts']).toEqual([{ service: 'b', step: 'y' }]);
362
+ });
363
+ });
246
364
  //# sourceMappingURL=overlay-resolver.test.js.map
@@ -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,15 @@ export interface OverlayState {
6
6
  knowledge: Record<string, string[]>;
7
7
  reads: Record<string, string[]>;
8
8
  dependencies: Record<string, string[]>;
9
+ /**
10
+ * Cross-reads for each step (keyed by step slug). Populated via overlay-first
11
+ * merge: `frontmatter.crossReads ∪ overlay.cross-reads-overrides` (spec §3.2).
12
+ * Consumers can read `overlay.crossReads[slug]` as authoritative.
13
+ */
14
+ crossReads: Record<string, Array<{
15
+ service: string;
16
+ step: string;
17
+ }>>;
9
18
  }
10
19
  /**
11
20
  * 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;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;CACrE;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,CA+If"}
@@ -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,16 +15,19 @@ export function resolveOverlayState(options) {
15
15
  const knowledgeMap = {};
16
16
  const readsMap = {};
17
17
  const dependencyMap = {};
18
+ const crossReadsMap = {};
18
19
  for (const [name, mp] of metaPrompts) {
19
20
  knowledgeMap[name] = [...(mp.frontmatter.knowledgeBase ?? [])];
20
21
  readsMap[name] = [...(mp.frontmatter.reads ?? [])];
21
22
  dependencyMap[name] = [...(mp.frontmatter.dependencies ?? [])];
23
+ crossReadsMap[name] = [...(mp.frontmatter.crossReads ?? [])];
22
24
  }
23
25
  // Start with preset defaults
24
26
  let overlaySteps = { ...presetSteps };
25
27
  let overlayKnowledge = knowledgeMap;
26
28
  let overlayReads = readsMap;
27
29
  let overlayDependencies = dependencyMap;
30
+ let overlayCrossReads = crossReadsMap;
28
31
  // Load and apply project-type overlay if configured
29
32
  const projectType = config.project?.projectType;
30
33
  if (projectType) {
@@ -44,16 +47,18 @@ export function resolveOverlayState(options) {
44
47
  }
45
48
  }
46
49
  if (overlay) {
47
- const merged = applyOverlay(overlaySteps, knowledgeMap, readsMap, dependencyMap, overlay);
50
+ const merged = applyOverlay(overlaySteps, knowledgeMap, readsMap, dependencyMap, overlayCrossReads, overlay);
48
51
  overlaySteps = merged.steps;
49
52
  overlayKnowledge = merged.knowledge;
50
53
  overlayReads = merged.reads;
51
54
  overlayDependencies = merged.dependencies;
55
+ overlayCrossReads = merged.crossReads;
52
56
  }
53
57
  }
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,47 @@ 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, overlayCrossReads, msOverlay);
117
+ overlaySteps = merged.steps;
118
+ overlayKnowledge = merged.knowledge;
119
+ overlayReads = merged.reads;
120
+ overlayDependencies = merged.dependencies;
121
+ overlayCrossReads = merged.crossReads;
122
+ }
123
+ }
124
+ }
85
125
  return {
86
126
  steps: overlaySteps,
87
127
  knowledge: overlayKnowledge,
88
128
  reads: overlayReads,
89
129
  dependencies: overlayDependencies,
130
+ crossReads: overlayCrossReads,
90
131
  };
91
132
  }
92
133
  //# 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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"}