@sdd-method/sdd-cli 2.2.0 → 2.4.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 (304) hide show
  1. package/dist/author-program.d.ts.map +1 -1
  2. package/dist/author-program.js +2 -1
  3. package/dist/author-program.js.map +1 -1
  4. package/dist/lib/agent-harness.d.ts +2 -2
  5. package/dist/lib/agent-harness.js +2 -2
  6. package/dist/lib/behaviour-store/archive.d.ts +6 -0
  7. package/dist/lib/behaviour-store/archive.d.ts.map +1 -1
  8. package/dist/lib/behaviour-store/archive.js +28 -1
  9. package/dist/lib/behaviour-store/archive.js.map +1 -1
  10. package/dist/lib/behaviour-store/schema.d.ts +22 -0
  11. package/dist/lib/behaviour-store/schema.d.ts.map +1 -0
  12. package/dist/lib/behaviour-store/schema.js +85 -0
  13. package/dist/lib/behaviour-store/schema.js.map +1 -0
  14. package/dist/lib/briefing/index.d.ts +1 -1
  15. package/dist/lib/briefing/index.js +1 -1
  16. package/dist/lib/briefing/render.d.ts +1 -1
  17. package/dist/lib/briefing/render.js +1 -1
  18. package/dist/lib/briefing/variables.d.ts +1 -1
  19. package/dist/lib/briefing/variables.js +1 -1
  20. package/dist/lib/bundle.d.ts +5 -5
  21. package/dist/lib/bundle.js +1 -1
  22. package/dist/lib/bundle.js.map +1 -1
  23. package/dist/lib/catalogue/aggregate.d.ts +1 -1
  24. package/dist/lib/catalogue/aggregate.js +7 -7
  25. package/dist/lib/catalogue/aggregate.js.map +1 -1
  26. package/dist/lib/catalogue/application-archetype/vocabulary.d.ts +2 -2
  27. package/dist/lib/catalogue/application-archetype/vocabulary.js +2 -2
  28. package/dist/lib/catalogue/archetype/maps/android.yaml +2 -2
  29. package/dist/lib/catalogue/archetype/maps/swiftui.yaml +2 -2
  30. package/dist/lib/catalogue/archetype/maps/uikit.yaml +2 -2
  31. package/dist/lib/catalogue/archetype/maps/web-generic.yaml +2 -2
  32. package/dist/lib/catalogue/archetype/openui-archetype-vocabulary.yaml +3 -3
  33. package/dist/lib/catalogue/archetype/resolver.d.ts +2 -2
  34. package/dist/lib/catalogue/archetype/resolver.d.ts.map +1 -1
  35. package/dist/lib/catalogue/archetype/resolver.js +4 -4
  36. package/dist/lib/catalogue/archetype/resolver.js.map +1 -1
  37. package/dist/lib/catalogue/archetype/wireframe.js +1 -1
  38. package/dist/lib/catalogue/archetype/wireframe.js.map +1 -1
  39. package/dist/lib/catalogue/build.d.ts +1 -1
  40. package/dist/lib/catalogue/build.d.ts.map +1 -1
  41. package/dist/lib/catalogue/build.js +36 -33
  42. package/dist/lib/catalogue/build.js.map +1 -1
  43. package/dist/lib/catalogue/builders/adr-supersedes.js +3 -3
  44. package/dist/lib/catalogue/builders/adr-supersedes.js.map +1 -1
  45. package/dist/lib/catalogue/builders/adrs.d.ts +2 -2
  46. package/dist/lib/catalogue/builders/adrs.d.ts.map +1 -1
  47. package/dist/lib/catalogue/builders/adrs.js +3 -3
  48. package/dist/lib/catalogue/builders/adrs.js.map +1 -1
  49. package/dist/lib/catalogue/builders/c4-containers.js +2 -2
  50. package/dist/lib/catalogue/builders/c4-containers.js.map +1 -1
  51. package/dist/lib/catalogue/builders/c4-entity-rollups.js +1 -1
  52. package/dist/lib/catalogue/builders/c4-entity-rollups.js.map +1 -1
  53. package/dist/lib/catalogue/builders/c4-external-systems.js +2 -2
  54. package/dist/lib/catalogue/builders/c4-external-systems.js.map +1 -1
  55. package/dist/lib/catalogue/builders/c4-systems.js +1 -1
  56. package/dist/lib/catalogue/builders/c4-systems.js.map +1 -1
  57. package/dist/lib/catalogue/builders/capabilities.js +1 -1
  58. package/dist/lib/catalogue/builders/capabilities.js.map +1 -1
  59. package/dist/lib/catalogue/builders/capability-domain-model.js +1 -1
  60. package/dist/lib/catalogue/builders/capability-domain-model.js.map +1 -1
  61. package/dist/lib/catalogue/builders/capability-spec-walker.d.ts +2 -2
  62. package/dist/lib/catalogue/builders/capability-spec-walker.js +2 -2
  63. package/dist/lib/catalogue/builders/capability-spec.d.ts +3 -3
  64. package/dist/lib/catalogue/builders/capability-spec.js +4 -4
  65. package/dist/lib/catalogue/builders/capability-spec.js.map +1 -1
  66. package/dist/lib/catalogue/builders/contracts.js +3 -3
  67. package/dist/lib/catalogue/builders/contracts.js.map +1 -1
  68. package/dist/lib/catalogue/builders/data-store-mapping.js +2 -2
  69. package/dist/lib/catalogue/builders/data-store-mapping.js.map +1 -1
  70. package/dist/lib/catalogue/builders/domain-models.js +2 -2
  71. package/dist/lib/catalogue/builders/domain-models.js.map +1 -1
  72. package/dist/lib/catalogue/builders/domains.js +3 -3
  73. package/dist/lib/catalogue/builders/domains.js.map +1 -1
  74. package/dist/lib/catalogue/builders/entities-manifest.d.ts +1 -1
  75. package/dist/lib/catalogue/builders/entities-manifest.d.ts.map +1 -1
  76. package/dist/lib/catalogue/builders/entities-manifest.js +8 -8
  77. package/dist/lib/catalogue/builders/entities-manifest.js.map +1 -1
  78. package/dist/lib/catalogue/builders/entities-mermaid.js +4 -4
  79. package/dist/lib/catalogue/builders/entities-mermaid.js.map +1 -1
  80. package/dist/lib/catalogue/builders/entity-persistence.js +1 -1
  81. package/dist/lib/catalogue/builders/entity-persistence.js.map +1 -1
  82. package/dist/lib/catalogue/builders/entity-slug.js +3 -3
  83. package/dist/lib/catalogue/builders/entity-slug.js.map +1 -1
  84. package/dist/lib/catalogue/builders/event-catalog-walker.d.ts +2 -2
  85. package/dist/lib/catalogue/builders/event-catalog-walker.js +6 -6
  86. package/dist/lib/catalogue/builders/event-catalog-walker.js.map +1 -1
  87. package/dist/lib/catalogue/builders/event-edges.d.ts +1 -1
  88. package/dist/lib/catalogue/builders/event-edges.d.ts.map +1 -1
  89. package/dist/lib/catalogue/builders/event-edges.js +6 -6
  90. package/dist/lib/catalogue/builders/event-edges.js.map +1 -1
  91. package/dist/lib/catalogue/builders/events.js +3 -3
  92. package/dist/lib/catalogue/builders/events.js.map +1 -1
  93. package/dist/lib/catalogue/builders/evidence-class.js +1 -1
  94. package/dist/lib/catalogue/builders/evidence-class.js.map +1 -1
  95. package/dist/lib/catalogue/builders/feature-domain-model.js +1 -1
  96. package/dist/lib/catalogue/builders/feature-domain-model.js.map +1 -1
  97. package/dist/lib/catalogue/builders/feature-grounding-walker.d.ts +2 -2
  98. package/dist/lib/catalogue/builders/feature-grounding-walker.js +2 -2
  99. package/dist/lib/catalogue/builders/feature-grounding.d.ts +2 -2
  100. package/dist/lib/catalogue/builders/feature-grounding.js +5 -5
  101. package/dist/lib/catalogue/builders/feature-grounding.js.map +1 -1
  102. package/dist/lib/catalogue/builders/feature-subscription-channels.js +3 -3
  103. package/dist/lib/catalogue/builders/feature-subscription-channels.js.map +1 -1
  104. package/dist/lib/catalogue/builders/features.js +1 -1
  105. package/dist/lib/catalogue/builders/features.js.map +1 -1
  106. package/dist/lib/catalogue/builders/glossary-xref.d.ts +1 -1
  107. package/dist/lib/catalogue/builders/glossary-xref.d.ts.map +1 -1
  108. package/dist/lib/catalogue/builders/glossary-xref.js +4 -4
  109. package/dist/lib/catalogue/builders/glossary-xref.js.map +1 -1
  110. package/dist/lib/catalogue/builders/integrations.js +4 -4
  111. package/dist/lib/catalogue/builders/integrations.js.map +1 -1
  112. package/dist/lib/catalogue/builders/persona-c4system.js +1 -1
  113. package/dist/lib/catalogue/builders/persona-c4system.js.map +1 -1
  114. package/dist/lib/catalogue/builders/product-edges.js +1 -1
  115. package/dist/lib/catalogue/builders/product-edges.js.map +1 -1
  116. package/dist/lib/catalogue/builders/product-platform-dependencies.js +2 -2
  117. package/dist/lib/catalogue/builders/product-platform-dependencies.js.map +1 -1
  118. package/dist/lib/catalogue/builders/products.d.ts +2 -2
  119. package/dist/lib/catalogue/builders/products.js +5 -5
  120. package/dist/lib/catalogue/builders/products.js.map +1 -1
  121. package/dist/lib/catalogue/builders/repo-edges.d.ts +2 -2
  122. package/dist/lib/catalogue/builders/repo-edges.d.ts.map +1 -1
  123. package/dist/lib/catalogue/builders/repo-edges.js +12 -12
  124. package/dist/lib/catalogue/builders/repo-edges.js.map +1 -1
  125. package/dist/lib/catalogue/builders/repositories.d.ts.map +1 -1
  126. package/dist/lib/catalogue/builders/repositories.js +11 -7
  127. package/dist/lib/catalogue/builders/repositories.js.map +1 -1
  128. package/dist/lib/catalogue/builders/requirements.d.ts +8 -0
  129. package/dist/lib/catalogue/builders/requirements.d.ts.map +1 -1
  130. package/dist/lib/catalogue/builders/requirements.js +110 -11
  131. package/dist/lib/catalogue/builders/requirements.js.map +1 -1
  132. package/dist/lib/catalogue/builders/screen-tree.d.ts +2 -2
  133. package/dist/lib/catalogue/builders/screen-tree.d.ts.map +1 -1
  134. package/dist/lib/catalogue/builders/screen-tree.js +6 -6
  135. package/dist/lib/catalogue/builders/screen-tree.js.map +1 -1
  136. package/dist/lib/catalogue/builders/screens.d.ts +3 -3
  137. package/dist/lib/catalogue/builders/screens.js +18 -18
  138. package/dist/lib/catalogue/builders/screens.js.map +1 -1
  139. package/dist/lib/catalogue/builders/service-contract-consumes.js +1 -1
  140. package/dist/lib/catalogue/builders/service-contract-consumes.js.map +1 -1
  141. package/dist/lib/catalogue/builders/service-entity-tables.js +3 -3
  142. package/dist/lib/catalogue/builders/service-entity-tables.js.map +1 -1
  143. package/dist/lib/catalogue/builders/services.d.ts +1 -1
  144. package/dist/lib/catalogue/builders/services.js +5 -5
  145. package/dist/lib/catalogue/builders/services.js.map +1 -1
  146. package/dist/lib/catalogue/builders/system-external-dependency.js +2 -2
  147. package/dist/lib/catalogue/builders/system-external-dependency.js.map +1 -1
  148. package/dist/lib/catalogue/canonical-schema.yaml +138 -2
  149. package/dist/lib/catalogue/coverage-render.js +15 -15
  150. package/dist/lib/catalogue/coverage-render.js.map +1 -1
  151. package/dist/lib/catalogue/csv-writer.d.ts +1 -1
  152. package/dist/lib/catalogue/csv-writer.js +1 -1
  153. package/dist/lib/catalogue/feature-grounding-aliases-loader.d.ts +1 -1
  154. package/dist/lib/catalogue/feature-grounding-aliases-loader.js +1 -1
  155. package/dist/lib/catalogue/findings.d.ts +2 -2
  156. package/dist/lib/catalogue/findings.js +1 -1
  157. package/dist/lib/catalogue/fk-validator.d.ts +4 -4
  158. package/dist/lib/catalogue/fk-validator.js +2 -2
  159. package/dist/lib/catalogue/index.d.ts +1 -1
  160. package/dist/lib/catalogue/index.js +1 -1
  161. package/dist/lib/catalogue/manifest-loader.js +3 -3
  162. package/dist/lib/catalogue/manifest-loader.js.map +1 -1
  163. package/dist/lib/catalogue/rubric-coverage-map.yaml +28 -0
  164. package/dist/lib/catalogue/schema-compat.d.ts +2 -2
  165. package/dist/lib/catalogue/schema-compat.js +2 -2
  166. package/dist/lib/catalogue/schema-loader.d.ts +2 -2
  167. package/dist/lib/catalogue/schema-loader.js +1 -1
  168. package/dist/lib/catalogue/screen-validation-loader.d.ts +2 -2
  169. package/dist/lib/catalogue/screen-validation-loader.js +2 -2
  170. package/dist/lib/catalogue/service-architecture-parser.js +1 -1
  171. package/dist/lib/catalogue/service-architecture-parser.js.map +1 -1
  172. package/dist/lib/catalogue/traceability-loader.d.ts +3 -3
  173. package/dist/lib/catalogue/traceability-loader.d.ts.map +1 -1
  174. package/dist/lib/catalogue/traceability-loader.js +6 -4
  175. package/dist/lib/catalogue/traceability-loader.js.map +1 -1
  176. package/dist/lib/ci-binding/module.d.ts.map +1 -1
  177. package/dist/lib/ci-binding/module.js +4 -2
  178. package/dist/lib/ci-binding/module.js.map +1 -1
  179. package/dist/lib/conformance/finding.js +1 -1
  180. package/dist/lib/conformance/finding.js.map +1 -1
  181. package/dist/lib/conformance/index.js +5 -5
  182. package/dist/lib/conformance/index.js.map +1 -1
  183. package/dist/lib/generate-briefing/index.d.ts +1 -1
  184. package/dist/lib/generate-briefing/index.js +2 -2
  185. package/dist/lib/generate-briefing/index.js.map +1 -1
  186. package/dist/lib/hooks-seed/entries.d.ts +1 -1
  187. package/dist/lib/hooks-seed/entries.js +1 -1
  188. package/dist/lib/init/index.d.ts +1 -1
  189. package/dist/lib/init/index.js +1 -1
  190. package/dist/lib/init/index.js.map +1 -1
  191. package/dist/lib/init/integration.js +3 -3
  192. package/dist/lib/init/integration.js.map +1 -1
  193. package/dist/lib/init/platform.d.ts +1 -1
  194. package/dist/lib/init/platform.d.ts.map +1 -1
  195. package/dist/lib/init/platform.js +7 -10
  196. package/dist/lib/init/platform.js.map +1 -1
  197. package/dist/lib/list/discover.d.ts +1 -1
  198. package/dist/lib/list/discover.d.ts.map +1 -1
  199. package/dist/lib/lock-file.d.ts +2 -2
  200. package/dist/lib/metamodel/tql-subset-parser.d.ts +22 -3
  201. package/dist/lib/metamodel/tql-subset-parser.d.ts.map +1 -1
  202. package/dist/lib/metamodel/tql-subset-parser.js +8 -5
  203. package/dist/lib/metamodel/tql-subset-parser.js.map +1 -1
  204. package/dist/lib/pack/builder.d.ts +3 -3
  205. package/dist/lib/pack/builder.js +2 -2
  206. package/dist/lib/pack/builder.js.map +1 -1
  207. package/dist/lib/pack/index.d.ts +2 -2
  208. package/dist/lib/pack/index.js +1 -1
  209. package/dist/lib/pack/index.js.map +1 -1
  210. package/dist/lib/pack/leakage.d.ts +1 -1
  211. package/dist/lib/pack/leakage.js +1 -1
  212. package/dist/lib/pack/leakage.js.map +1 -1
  213. package/dist/lib/pack/publish-transform.d.ts +1 -1
  214. package/dist/lib/pack/publish-transform.js +2 -2
  215. package/dist/lib/pack/publish-transform.js.map +1 -1
  216. package/dist/lib/pack/schema.js +2 -2
  217. package/dist/lib/pack/schema.js.map +1 -1
  218. package/dist/lib/pack/seed.d.ts +3 -3
  219. package/dist/lib/pack/seed.js +2 -2
  220. package/dist/lib/pack/seed.js.map +1 -1
  221. package/dist/lib/pack/validate.js +1 -1
  222. package/dist/lib/pack/validate.js.map +1 -1
  223. package/dist/lib/plan/read-sdd.d.ts +1 -1
  224. package/dist/lib/plan/read-sdd.js +1 -1
  225. package/dist/lib/repo-kind.d.ts +2 -9
  226. package/dist/lib/repo-kind.d.ts.map +1 -1
  227. package/dist/lib/repo-kind.js +4 -12
  228. package/dist/lib/repo-kind.js.map +1 -1
  229. package/dist/lib/scaffold/archetype-behaviour.d.ts +69 -0
  230. package/dist/lib/scaffold/archetype-behaviour.d.ts.map +1 -0
  231. package/dist/lib/scaffold/archetype-behaviour.js +173 -0
  232. package/dist/lib/scaffold/archetype-behaviour.js.map +1 -0
  233. package/dist/lib/scaffold/behaviour-store.d.ts +10 -0
  234. package/dist/lib/scaffold/behaviour-store.d.ts.map +1 -0
  235. package/dist/lib/scaffold/behaviour-store.js +60 -0
  236. package/dist/lib/scaffold/behaviour-store.js.map +1 -0
  237. package/dist/lib/scaffold/domain.d.ts +4 -3
  238. package/dist/lib/scaffold/domain.d.ts.map +1 -1
  239. package/dist/lib/scaffold/domain.js +24 -6
  240. package/dist/lib/scaffold/domain.js.map +1 -1
  241. package/dist/lib/scaffold/registry.d.ts +3 -3
  242. package/dist/lib/scaffold/registry.js +1 -1
  243. package/dist/lib/scaffold/registry.js.map +1 -1
  244. package/dist/lib/sdd-index/types.d.ts +3 -3
  245. package/dist/lib/sdd-index/types.d.ts.map +1 -1
  246. package/dist/lib/sdd-index/types.js +2 -2
  247. package/dist/lib/sync/adr-transitions.d.ts +2 -1
  248. package/dist/lib/sync/adr-transitions.d.ts.map +1 -1
  249. package/dist/lib/sync/adr-transitions.js +4 -2
  250. package/dist/lib/sync/adr-transitions.js.map +1 -1
  251. package/dist/lib/sync/briefing-merge.d.ts +2 -2
  252. package/dist/lib/sync/briefing-merge.js +2 -2
  253. package/dist/lib/sync/bundle-cache.d.ts +3 -3
  254. package/dist/lib/sync/bundle-cache.js +4 -4
  255. package/dist/lib/sync/bundle-cache.js.map +1 -1
  256. package/dist/lib/sync/bundle-source.d.ts +1 -1
  257. package/dist/lib/sync/config.d.ts +2 -2
  258. package/dist/lib/sync/index.d.ts +1 -1
  259. package/dist/lib/sync/index.d.ts.map +1 -1
  260. package/dist/lib/sync/index.js +39 -12
  261. package/dist/lib/sync/index.js.map +1 -1
  262. package/dist/lib/sync/settings-merge.d.ts +1 -1
  263. package/dist/lib/sync/settings-merge.js +1 -1
  264. package/dist/lib/sync/yaml-block-merge.d.ts +1 -1
  265. package/dist/lib/sync/yaml-block-merge.js +1 -1
  266. package/dist/lib/validate/archetype-citations.d.ts +5 -0
  267. package/dist/lib/validate/archetype-citations.d.ts.map +1 -0
  268. package/dist/lib/validate/archetype-citations.js +169 -0
  269. package/dist/lib/validate/archetype-citations.js.map +1 -0
  270. package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
  271. package/dist/lib/validate/behaviour-store.js +161 -6
  272. package/dist/lib/validate/behaviour-store.js.map +1 -1
  273. package/dist/lib/validate/dispatch.d.ts.map +1 -1
  274. package/dist/lib/validate/dispatch.js +8 -1
  275. package/dist/lib/validate/dispatch.js.map +1 -1
  276. package/dist/maintain-program.js +2 -2
  277. package/dist/maintain-program.js.map +1 -1
  278. package/dist/maintain-version.json +2 -2
  279. package/dist/verbs/catalogue.js +1 -1
  280. package/dist/verbs/catalogue.js.map +1 -1
  281. package/dist/verbs/conformance.js +3 -3
  282. package/dist/verbs/conformance.js.map +1 -1
  283. package/dist/verbs/init.js +2 -2
  284. package/dist/verbs/init.js.map +1 -1
  285. package/dist/verbs/list.js +1 -1
  286. package/dist/verbs/list.js.map +1 -1
  287. package/dist/verbs/pack-build.js +2 -2
  288. package/dist/verbs/pack-build.js.map +1 -1
  289. package/dist/verbs/pack.js +1 -1
  290. package/dist/verbs/pack.js.map +1 -1
  291. package/dist/verbs/render.js +1 -1
  292. package/dist/verbs/render.js.map +1 -1
  293. package/dist/verbs/scaffold.d.ts.map +1 -1
  294. package/dist/verbs/scaffold.js +36 -4
  295. package/dist/verbs/scaffold.js.map +1 -1
  296. package/dist/verify-program.js +2 -2
  297. package/dist/verify-program.js.map +1 -1
  298. package/dist/verify-version.json +2 -2
  299. package/package.json +1 -1
  300. package/scripts/author-version.json +2 -2
  301. package/scripts/maintain-version.json +2 -2
  302. package/scripts/validate-app-dependencies.sh +1 -1
  303. package/scripts/validate-integration-docs.sh +1 -1
  304. package/scripts/verify-version.json +2 -2
@@ -0,0 +1,169 @@
1
+ // archetype-citations: an estate's citations of reference-architecture archetype behaviour still say what is true
2
+ // (seed once, then cite; scaffold/archetype-behaviour.ts writes them).
3
+ //
4
+ // For each docs/domains/<domain>/archetype-citations.yaml, each citation is resolved against the archetype's
5
+ // behaviour rows in the bundle the estate has cached (its locked version):
6
+ // unresolved the citations name no cached bundle or archetype, the cited requirement is gone from the
7
+ // archetype, the relation is not one of the four, a departure has no reason or decision, or the
8
+ // estate requirement it names exists in neither the living specs nor an open change;
9
+ // stale a derived, extended or narrowed citation whose archetype requirement no longer has the digest
10
+ // recorded: the archetype changed since the estate took or re-aligned it. Review it and re-pin
11
+ // (move `digest` and `version`), or record that the estate departs.
12
+ // A departed citation is never stale: departing is a decision, recorded with its reason, not drift. With no
13
+ // citations anywhere the check reports [N/A], an empty population, not a pass.
14
+ //
15
+ // A digest must be a quoted string: YAML reads an unquoted all-digit value, or digits around one `e`, as a
16
+ // number, which would compare as a false stale. A narrowed or extended citation may say why in `reason`
17
+ // (`note` is read as the same). `not_adopted` records archetype requirements the estate has decided not to
18
+ // take, each with its reason and decision; every id must resolve, and none may be both cited and not adopted.
19
+ // A coverage line names the archetype requirements neither cited nor recorded as not adopted: the gaps, which
20
+ // are reported, not failed, since an estate may be part-way through adopting.
21
+ import { readdir, readFile } from "node:fs/promises";
22
+ import { join } from "node:path";
23
+ import { parse as parseYaml } from "yaml";
24
+ import { cachedVersion, CITATIONS_FILE, loadArchetypeBehaviour, RELATIONS } from "../scaffold/archetype-behaviour.js";
25
+ import { discoverArchetypes } from "../scaffold/registry.js";
26
+ const REQ_RE = /^###\s+Requirement:\s*(.+?)\s*$/gm;
27
+ async function list(dir) {
28
+ try {
29
+ return (await readdir(dir, { withFileTypes: true })).filter((e) => e.isDirectory()).map((e) => e.name);
30
+ }
31
+ catch {
32
+ return [];
33
+ }
34
+ }
35
+ /** Every requirement title in the living specs and in open changes (a seeded change not yet archived counts). */
36
+ async function estateRequirements(repo) {
37
+ const titles = new Set();
38
+ const specFiles = [];
39
+ for (const d of await list(join(repo, "openspec", "specs")))
40
+ specFiles.push(join(repo, "openspec", "specs", d, "spec.md"));
41
+ for (const c of await list(join(repo, "openspec", "changes"))) {
42
+ if (c === "archive")
43
+ continue;
44
+ for (const d of await list(join(repo, "openspec", "changes", c, "specs"))) {
45
+ specFiles.push(join(repo, "openspec", "changes", c, "specs", d, "spec.md"));
46
+ }
47
+ }
48
+ for (const f of specFiles) {
49
+ let text;
50
+ try {
51
+ text = await readFile(f, "utf8");
52
+ }
53
+ catch {
54
+ continue;
55
+ }
56
+ for (const m of text.matchAll(REQ_RE))
57
+ titles.add(m[1]);
58
+ }
59
+ return titles;
60
+ }
61
+ export async function checkArchetypeCitations(repo) {
62
+ const domains = await list(join(repo, "docs", "domains"));
63
+ const files = [];
64
+ for (const d of domains) {
65
+ const p = join(repo, "docs", "domains", d, CITATIONS_FILE);
66
+ try {
67
+ files.push([`docs/domains/${d}/${CITATIONS_FILE}`, await readFile(p, "utf8")]);
68
+ }
69
+ catch {
70
+ // no citations for this domain
71
+ }
72
+ }
73
+ if (files.length === 0)
74
+ return { exitCode: 0, stdout: "[N/A] no archetype citations (docs/domains/*/archetype-citations.yaml) in this repository\n" };
75
+ const archetypes = await discoverArchetypes(repo);
76
+ const titles = await estateRequirements(repo);
77
+ const lines = [];
78
+ let problems = 0;
79
+ let total = 0;
80
+ const bad = (tag, msg) => {
81
+ lines.push(`[${tag}] ${msg}`);
82
+ problems++;
83
+ };
84
+ for (const [rel, text] of files) {
85
+ let doc;
86
+ try {
87
+ doc = (parseYaml(text) ?? {});
88
+ }
89
+ catch (e) {
90
+ bad("unresolved", `${rel}: does not parse: ${e.message.split("\n")[0]}`);
91
+ continue;
92
+ }
93
+ const archetype = archetypes.find((a) => a.id === doc.archetype && a.bundleName === doc.bundle);
94
+ if (!archetype) {
95
+ bad("unresolved", `${rel}: archetype ${String(doc.archetype)} of bundle ${String(doc.bundle)} is not in the bundle cache (sync the bundle)`);
96
+ continue;
97
+ }
98
+ const reqs = await loadArchetypeBehaviour(archetype.bundleCacheDir, archetype.seeds);
99
+ const byId = new Map((reqs ?? []).map((r) => [r.id, r]));
100
+ const at = cachedVersion(archetype.bundleCacheDir) ?? "the cached bundle";
101
+ const cites = Array.isArray(doc.citations) ? doc.citations : [];
102
+ const notAdopted = Array.isArray(doc.not_adopted) ? doc.not_adopted : [];
103
+ if (cites.length === 0 && notAdopted.length === 0)
104
+ bad("unresolved", `${rel}: lists no citations`);
105
+ const citedIds = new Set(cites.map((c) => String(c.cites)));
106
+ for (const n of notAdopted) {
107
+ total++;
108
+ const tag = `${rel}: not adopted ${String(n.cites)}`;
109
+ if (!byId.has(String(n.cites))) {
110
+ bad("unresolved", `${tag}: ${archetype.bundleName} ${at} has no archetype requirement ${String(n.cites)}`);
111
+ }
112
+ else if (!n.reason || !n.decision) {
113
+ bad("unresolved", `${tag}: a non-adoption needs its reason and the decision that took it`);
114
+ }
115
+ else if (citedIds.has(String(n.cites))) {
116
+ bad("unresolved", `${tag}: it is also cited; an archetype requirement is either answered or not adopted`);
117
+ }
118
+ else {
119
+ lines.push(`[ok] ${tag} (${String(n.reason)})`);
120
+ }
121
+ }
122
+ for (const c of cites) {
123
+ total++;
124
+ const tag = `${rel}: '${String(c.requirement)}' -> ${String(c.cites)}`;
125
+ const relation = String(c.relation);
126
+ if (typeof c.digest !== "string") {
127
+ bad("unresolved", `${tag}: digest must be a quoted string (YAML read ${String(c.digest)} as a ${typeof c.digest}); quote it`);
128
+ continue;
129
+ }
130
+ if (!RELATIONS.includes(relation)) {
131
+ bad("unresolved", `${tag}: relation must be one of ${RELATIONS.join(", ")} (got ${relation})`);
132
+ continue;
133
+ }
134
+ if (relation === "departed" && (!c.reason || !c.decision)) {
135
+ bad("unresolved", `${tag}: a departure needs its reason and the decision that took it`);
136
+ continue;
137
+ }
138
+ if (relation !== "departed" && !titles.has(String(c.requirement))) {
139
+ bad("unresolved", `${tag}: this estate has no requirement titled so (living specs or open changes)`);
140
+ continue;
141
+ }
142
+ const src = byId.get(String(c.cites));
143
+ if (!src) {
144
+ bad("unresolved", `${tag}: ${archetype.bundleName} ${at} has no archetype requirement ${String(c.cites)}`);
145
+ continue;
146
+ }
147
+ if (relation === "departed") {
148
+ lines.push(`[ok] ${tag} (departed: ${String(c.reason)})`);
149
+ }
150
+ else if (src.digest !== String(c.digest)) {
151
+ bad("stale", `${tag}: the archetype requirement changed (${String(c.digest)} at ${String(doc.version)} -> ${src.digest} at ${at}); review it and re-pin, or record a departure`);
152
+ }
153
+ else {
154
+ const why = c.reason ?? c.note;
155
+ lines.push(`[ok] ${tag} (${relation}${why && relation !== "derived" ? `: ${String(why)}` : ""})`);
156
+ }
157
+ }
158
+ const answered = new Set([...citedIds, ...notAdopted.map((n) => String(n.cites))]);
159
+ const gaps = [...byId.keys()].filter((id) => !answered.has(id));
160
+ lines.push(`[coverage] ${rel}: ${byId.size - gaps.length} of ${byId.size} ${archetype.id} requirements answered ` +
161
+ `(${[...citedIds].filter((id) => byId.has(id)).length} cited, ${notAdopted.length} not adopted)` +
162
+ (gaps.length ? `; not yet answered: ${gaps.join(", ")}` : ""));
163
+ }
164
+ const verdict = problems
165
+ ? `[FAIL] archetype citations: ${problems} of ${total} unresolved or stale`
166
+ : `[PASS] archetype citations: ${total} resolve, none stale`;
167
+ return { exitCode: problems ? 1 : 0, stdout: lines.join("\n") + "\n" + verdict + "\n" };
168
+ }
169
+ //# sourceMappingURL=archetype-citations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archetype-citations.js","sourceRoot":"","sources":["../../../src/lib/validate/archetype-citations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"behaviour-store.d.ts","sourceRoot":"","sources":["../../../src/lib/validate/behaviour-store.ts"],"names":[],"mappings":"AA0CA,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAkD,CAAC;AAE7G,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAQhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AA2BD,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2DjH;AA+DD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAgJ5E;AAkDD,0GAA0G;AAC1G,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA4CpF"}
1
+ {"version":3,"file":"behaviour-store.d.ts","sourceRoot":"","sources":["../../../src/lib/validate/behaviour-store.ts"],"names":[],"mappings":"AAwDA,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAkD,CAAC;AAE7G,eAAO,MAAM,SAAS,aAAa,CAAC;AACpC,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAQhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD;AA2BD,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA2DjH;AA+DD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwO5E;AAkDD,0GAA0G;AAC1G,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAgFpF"}
@@ -20,6 +20,16 @@
20
20
  // never against itself (M-ADR 0222 §4.3, §4.4). A list the catalogue gives nothing to
21
21
  // check against (no Observed in line, or a repository with no catalogue contracts) fails:
22
22
  // a cross-check of zero contracts is unresolved, not a pass.
23
+ // 7. features: every living spec is keyed by a catalogue feature (M-ADR 0221 §4.7). A spec keyed by no
24
+ // feature is dropped from the catalogue by the requirements builder, which reports it only as a
25
+ // build finding; this check makes it a failure, so a shipped requirement cannot vanish from the
26
+ // catalogue with every check green. Without catalogues/features.csv the check is unresolved, not
27
+ // passed.
28
+ // 8. overlap: no requirement of a living spec is named by two open, agreed changes, whether added,
29
+ // modified, removed or renamed (M-ADR 0223 §4.10). Proposals may overlap.
30
+ // 9. schema: the store's config.yaml selects the method's sdd-change schema, and the store's copy of it
31
+ // (openspec/schemas/sdd-change/) is identical to the one the SDD's bundle shipped
32
+ // (docs/method/foundations/openspec/sdd-change/). Sync refreshes the copy (M-ADR 0223 §4.2).
23
33
  // 6. scope: a baseline ADDS requirements; it REMOVES, MODIFIES or RENAMES only a requirement whose
24
34
  // latest archived change was a baseline, which is how a corrective baseline withdraws
25
35
  // what a baseline admitted wrongly. A requirement a judged change shipped is changed only
@@ -29,14 +39,18 @@
29
39
  //
30
40
  // OPENSPEC'S OWN VALIDATION is the separate validator `behaviour-store-openspec`, because it needs
31
41
  // the OpenSpec CLI at OPENSPEC_VERSION (the Method Validation module installs it). Without a store
32
- // both report [N/A], an empty population, never a pass.
42
+ // both report [N/A], an empty population, never a pass. It also archives each open, agreed change in a
43
+ // scratch copy of the store and validates the specs it would leave (M-ADR 0223 §4.5): a change's own
44
+ // --strict run exempts its MODIFIED requirements from the 500-character limit the specs are held to.
33
45
  import { execFile } from "node:child_process";
34
- import { access, readdir, readFile } from "node:fs/promises";
46
+ import { access, cp, mkdtemp, readdir, readFile, rm } from "node:fs/promises";
47
+ import { tmpdir } from "node:os";
35
48
  import { basename, join } from "node:path";
36
49
  import { promisify } from "node:util";
37
50
  import { parseDocument } from "yaml";
38
51
  import { observedIn, orderArchives, parseRequirements, parseSurfaces, renamedFrom, surfaceMatches } from "../behaviour-store/archive.js";
39
52
  import { parseCatalogueCsv } from "../catalogue/csv-reader.js";
53
+ import { compareStoreSchema, SCHEMA_NAME, SHIPPED_SCHEMA_DIR, STORE_CONFIG, STORE_SCHEMA_DIR, storeSchemaName } from "../behaviour-store/schema.js";
40
54
  const execFileAsync = promisify(execFile);
41
55
  /** The OpenSpec release the method depends on (M-ADR 0223 ruling 2). The module installs exactly this. */
42
56
  export const OPENSPEC_VERSION = "1.14.3";
@@ -236,7 +250,9 @@ export async function checkBehaviourStore(repo) {
236
250
  const record = records.get(change);
237
251
  if (tasks !== null && TASK_DONE_RE.test(tasks)) {
238
252
  started++;
239
- if (!record)
253
+ if (!record && recordFiles.some((f) => f.replace(/\.ya?ml$/, "") === change))
254
+ failures.push(`${dir}: has completed tasks but its agreement record (${AGREEMENTS_DIR}/${change}.yaml) is malformed; see its record failures`);
255
+ else if (!record)
240
256
  failures.push(`${dir}: has completed tasks but no agreement record (${AGREEMENTS_DIR}/${change}.yaml)`);
241
257
  else if (record.status !== "agreed")
242
258
  failures.push(`${dir}: has completed tasks but its agreement record is ${record.status}, not agreed`);
@@ -259,6 +275,29 @@ export async function checkBehaviourStore(repo) {
259
275
  }
260
276
  lines.push(`agreement: ${open.length} open change(s), ${started} with completed tasks`);
261
277
  lines.push(staleChecked === 0 ? "stale: vacuous (no open agreed change modifies, removes or renames a requirement)" : `stale: ${staleChecked} targeted living spec(s) checked against their agreed commits`);
278
+ // 8. overlap: two open, agreed changes never name the same requirement of one living spec (M-ADR 0223 §4.10).
279
+ // A name counts whether the delta adds, modifies, removes or renames it (both FROM and TO). Proposals may overlap.
280
+ const claimed = new Map();
281
+ let agreedOpen = 0;
282
+ for (const change of open) {
283
+ if (records.get(change)?.status !== "agreed")
284
+ continue;
285
+ agreedOpen++;
286
+ const specsDir = join(repo, STORE_DIR, "changes", change, "specs");
287
+ for (const spec of await dirs(specsDir)) {
288
+ const text = (await readText(join(specsDir, spec, "spec.md"))) ?? "";
289
+ const names = new Set([...parseRequirements(text).filter((r) => r.operation).map((r) => r.name), ...renamedFrom(text)]);
290
+ for (const name of names) {
291
+ const key = `${spec}::${name}`;
292
+ const other = claimed.get(key);
293
+ if (other)
294
+ failures.push(`${STORE_DIR}/changes/${change}: OVERLAP: requirement "${name}" of ${spec} is also named by agreed change ${other}; one waits for the other to archive, or the two become one change (M-ADR 0223 §4.10)`);
295
+ else
296
+ claimed.set(key, change);
297
+ }
298
+ }
299
+ }
300
+ lines.push(agreedOpen < 2 ? `overlap: vacuous (${agreedOpen} open agreed change)` : `overlap: ${claimed.size} requirement name(s) across ${agreedOpen} open agreed changes`);
262
301
  // 4. archived changes
263
302
  const archived = await dirs(join(repo, STORE_DIR, "changes", "archive"));
264
303
  let baselines = 0;
@@ -285,7 +324,31 @@ export async function checkBehaviourStore(repo) {
285
324
  lines.push(`verdicts: ${archived.length} archived change(s), ${baselines} baseline(s), ${archived.length - baselines} needing a PASS verdict`);
286
325
  // 5. surfaces, and 6. what each baseline may change, in archive order
287
326
  const archiveRel = `${STORE_DIR}/changes/archive`;
288
- const { order, ties } = await orderArchives(repo, archiveRel, archived);
327
+ const { order, ties, history } = await orderArchives(repo, archiveRel, archived);
328
+ // Same-day archives the history cannot order sit in one group. A scope verdict that a group peer could reverse
329
+ // (it touches the same requirement) depends on an order nobody knows, so it is unresolved, not a violation. Without
330
+ // git history (a worktree upload, a plain copy, an export) every same-day pair is such a group.
331
+ const peers = new Map();
332
+ for (const [a, b] of ties) {
333
+ const group = peers.get(a) ?? peers.get(b) ?? new Set();
334
+ group.add(a).add(b);
335
+ peers.set(a, group).set(b, group);
336
+ }
337
+ const touches = new Map();
338
+ for (const name of peers.keys()) {
339
+ const keys = new Set();
340
+ for (const feature of await dirs(join(repo, archiveRel, name, "specs"))) {
341
+ const text = (await readText(join(repo, archiveRel, name, "specs", feature, "spec.md"))) ?? "";
342
+ for (const r of parseRequirements(text))
343
+ if (r.operation)
344
+ keys.add(`${feature}::${r.name}`);
345
+ for (const from of renamedFrom(text))
346
+ keys.add(`${feature}::${from}`);
347
+ }
348
+ touches.set(name, keys);
349
+ }
350
+ const orderDecides = (name, key) => [...(peers.get(name) ?? [])].some((p) => p !== name && touches.get(p)?.has(key));
351
+ let scopeUnresolved = 0;
289
352
  const servedBy = baselines > 0 ? await catalogueContracts(repo) : null;
290
353
  let surfacesChecked = 0;
291
354
  const lastTouch = new Map();
@@ -333,7 +396,11 @@ export async function checkBehaviourStore(repo) {
333
396
  if (isBaseline) {
334
397
  scopeChecked++;
335
398
  const last = lastTouch.get(key);
336
- if (last !== "baseline") {
399
+ if (last !== "baseline" && orderDecides(name, key)) {
400
+ scopeUnresolved++;
401
+ failures.push(`${dir}: scope unresolved for "${t}" (${feature}): the verdict depends on the order of same-day archives the history cannot give${history ? "" : " (no git history here: run from a clone)"}`);
402
+ }
403
+ else if (last !== "baseline") {
337
404
  failures.push(`${dir}: a baseline changes "${t}" (${feature}), which ${last === "change" ? "a judged change last shipped" : "no earlier archived change admitted"}; a baseline may remove or modify only what a baseline admitted, and anything else takes a change (M-ADR 0222 §4.4)`);
338
405
  }
339
406
  }
@@ -352,8 +419,55 @@ export async function checkBehaviourStore(repo) {
352
419
  const unseen = servedBy === null ? "" : `; repositories with no catalogue contracts: ${[...new Set(await observedInAll(repo, archiveRel, order))].filter((r) => (servedBy.get(r) ?? []).length === 0).join(", ") || "none"}`;
353
420
  lines.push(baselines === 0 ? "surfaces: vacuous (no baseline)" : `surfaces: ${baselines} baseline(s), ${surfacesChecked} served contract(s) checked against catalogues/repo_contract.csv${unseen}`);
354
421
  lines.push(scopeChecked === 0 ? "scope: vacuous (no baseline removes, modifies or renames a requirement)" : `scope: ${scopeChecked} requirement(s) a baseline removes, modifies or renames, checked against their lineage`);
422
+ if (!history && archived.length > 0)
423
+ lines.push("order: no git history (not a git work tree, or git log failed), so same-day archives cannot be ordered");
424
+ if (scopeUnresolved > 0)
425
+ lines.push(`scope: ${scopeUnresolved} verdict(s) unresolved, depending on an order the history cannot give`);
355
426
  for (const [a, b] of ties)
356
427
  lines.push(`order: ${a} and ${b} were archived the same day and the history does not order them; ordered by name`);
428
+ // 7. living specs keyed by a catalogue feature
429
+ const livingSpecs = await dirs(join(repo, STORE_DIR, "specs"));
430
+ if (livingSpecs.length > 0) {
431
+ const featuresCsv = await readText(join(repo, "catalogues", "features.csv"));
432
+ if (featuresCsv === null) {
433
+ failures.push(`${STORE_DIR}/specs: living specs cannot be checked against catalogue features: catalogues/features.csv is missing; build the catalogue`);
434
+ }
435
+ else {
436
+ const featureIds = new Set(parseCatalogueCsv(featuresCsv).rows.map((r) => r["id"] ?? ""));
437
+ const unkeyed = livingSpecs.filter((f) => !featureIds.has(f));
438
+ for (const f of unkeyed) {
439
+ failures.push(`${STORE_DIR}/specs/${f}: no catalogue feature has the id "${f}", so its requirements are not catalogued; give the behaviour a feature first (M-ADR 0222 §4.4)`);
440
+ }
441
+ lines.push(`features: ${livingSpecs.length} living spec(s), ${livingSpecs.length - unkeyed.length} keyed by a catalogue feature`);
442
+ }
443
+ }
444
+ else {
445
+ lines.push("features: vacuous (no living spec)");
446
+ }
447
+ // 9. schema: the store uses the method's sdd-change schema, and its copy is the one the SDD's bundle
448
+ // shipped (M-ADR 0223 §4.2). OpenSpec reads the copy, so an edited or stale copy changes what every
449
+ // change is asked for, with nothing else noticing.
450
+ const selected = await storeSchemaName(repo);
451
+ if (selected !== SCHEMA_NAME) {
452
+ failures.push(`${STORE_CONFIG}: ${selected === null ? "missing" : selected === "" ? "names no schema" : `selects schema "${selected}"`}; a behaviour store uses the method's ${SCHEMA_NAME} schema (M-ADR 0223 §4.2)`);
453
+ }
454
+ else {
455
+ const c = await compareStoreSchema(repo);
456
+ if (!c.shipped) {
457
+ failures.push(`schema unresolved: this SDD holds no shipped ${SCHEMA_NAME} schema (${SHIPPED_SCHEMA_DIR}/); sync a method bundle that carries it`);
458
+ }
459
+ else {
460
+ const fix = "sdd-cli sync refreshes it; put adopter guidance in the store's config.yaml rules, not in the schema";
461
+ for (const f of c.missing)
462
+ failures.push(`${STORE_SCHEMA_DIR}/${f}: missing from the store's copy of the schema; ${fix}`);
463
+ for (const f of c.differing)
464
+ failures.push(`${STORE_SCHEMA_DIR}/${f}: differs from the shipped ${SHIPPED_SCHEMA_DIR}/${f}; ${fix}`);
465
+ for (const f of c.extra)
466
+ failures.push(`${STORE_SCHEMA_DIR}/${f}: not in the shipped schema; ${fix}`);
467
+ const drift = c.missing.length + c.differing.length + c.extra.length;
468
+ lines.push(drift === 0 ? `schema: ${SCHEMA_NAME}, identical to the shipped copy` : `schema: ${SCHEMA_NAME}, ${drift} file(s) differ from the shipped copy`);
469
+ }
470
+ }
357
471
  const population = recordFiles.length + open.length + archived.length;
358
472
  const body = lines.map((l) => ` ${l}`).join("\n") + "\n";
359
473
  if (failures.length > 0) {
@@ -361,7 +475,7 @@ export async function checkBehaviourStore(repo) {
361
475
  }
362
476
  if (population === 0)
363
477
  return { exitCode: 0, stdout: body + `[N/A] the behaviour store has no changes and no agreement records yet\n` };
364
- return { exitCode: 0, stdout: body + "[PASS] behaviour store: records, agreement, stale, verdict, surfaces and scope checks hold\n" };
478
+ return { exitCode: 0, stdout: body + "[PASS] behaviour store: records, agreement, stale, overlap, verdict, surfaces, scope, feature and schema checks hold\n" };
365
479
  }
366
480
  /** Per repository, the contracts the catalogue says it serves (repo_contract ⋈ contracts.spec_path); null when either file is missing. */
367
481
  async function catalogueContracts(repo) {
@@ -452,6 +566,47 @@ export async function checkBehaviourStoreOpenspec(repo) {
452
566
  if (r.code !== 0 && (t.failed ?? 0) === 0)
453
567
  failures.push(`${label}: OpenSpec exited ${r.code} with no failed item reported`);
454
568
  }
569
+ // Each open, agreed change, archived in a scratch copy: the specs it would leave must validate --strict.
570
+ let dryArchived = 0;
571
+ for (const change of (await dirs(join(repo, STORE_DIR, "changes"))).filter((d) => d !== "archive")) {
572
+ const rel = `${AGREEMENTS_DIR}/${change}.yaml`;
573
+ const text = await readText(join(repo, rel));
574
+ if (text === null || parseAgreementRecord(rel, text).record?.status !== "agreed")
575
+ continue;
576
+ const scratch = await mkdtemp(join(tmpdir(), "sdd-dry-archive-"));
577
+ try {
578
+ await cp(join(repo, STORE_DIR), join(scratch, STORE_DIR), { recursive: true });
579
+ const label = `specs after archiving ${change} (dry, in a copy)`;
580
+ const a = await runOpenspec(scratch, ["archive", change, "--yes", "--json"]);
581
+ if (a.code !== 0) {
582
+ const said = [...a.raw.matchAll(/"(?:message|error)":\s*"((?:[^"\\]|\\.)*)"/g)].map((m) => m[1]);
583
+ failures.push(`${label}: the change does not archive (exit ${a.code}): ${said.length > 0 ? said.join("; ") : a.raw.trim().split("\n").slice(-3).join(" | ")}`);
584
+ continue;
585
+ }
586
+ dryArchived++;
587
+ const v = await runOpenspec(scratch, ["validate", "--specs", "--strict", "--json", "--no-interactive"]);
588
+ const t = v.json?.summary?.totals;
589
+ if (!t) {
590
+ failures.push(`${label}: OpenSpec returned no report (exit ${v.code}): ${v.raw.trim().split("\n").slice(-3).join(" | ")}`);
591
+ continue;
592
+ }
593
+ lines.push(`${label}: ${t.items ?? 0} spec(s), ${t.passed ?? 0} passed, ${t.failed ?? 0} failed`);
594
+ for (const item of v.json?.items ?? []) {
595
+ if (item.valid)
596
+ continue;
597
+ for (const i of item.issues ?? [])
598
+ failures.push(`${label}: ${item.id}${i.path ? ` (${i.path})` : ""}: ${i.level} ${i.message}`);
599
+ if ((item.issues ?? []).length === 0)
600
+ failures.push(`${label}: ${item.id}: invalid`);
601
+ }
602
+ if (v.code !== 0 && (t.failed ?? 0) === 0)
603
+ failures.push(`${label}: OpenSpec exited ${v.code} with no failed spec reported`);
604
+ }
605
+ finally {
606
+ await rm(scratch, { recursive: true, force: true });
607
+ }
608
+ }
609
+ lines.push(`dry archive: ${dryArchived} open, agreed change(s) archived in a copy`);
455
610
  const body = [` OpenSpec ${version}`, ...lines.map((l) => ` ${l}`)].join("\n") + "\n";
456
611
  if (failures.length > 0)
457
612
  return { exitCode: 1, stdout: body + failures.map((f) => `[FAIL] ${f}`).join("\n") + "\n" };
@@ -1 +1 @@
1
- {"version":3,"file":"behaviour-store.js","sourceRoot":"","sources":["../../../src/lib/validate/behaviour-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"behaviour-store.js","sourceRoot":"","sources":["../../../src/lib/validate/behaviour-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/lib/validate/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IACE;;+CAE2C;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChG,CAAC;AAEN,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,cAAc,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAuPD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,eAAe,EAAE,CAGjF;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,eAAe,EAAE,CAY5B"}
1
+ {"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../../src/lib/validate/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM/C,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IACE;;+CAE2C;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChG,CAAC;AAEN,MAAM,MAAM,cAAc,GACtB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,cAAc,CAAC;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA6PD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,eAAe,EAAE,CAGjF;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,eAAe,EAAE,CAY5B"}
@@ -1,3 +1,4 @@
1
+ import { checkArchetypeCitations } from "./archetype-citations.js";
1
2
  import { checkBehaviourStore, checkBehaviourStoreOpenspec } from "./behaviour-store.js";
2
3
  import { checkBundleCoherence } from "./bundle-coherence.js";
3
4
  import { checkYamlParse } from "./yaml-parse.js";
@@ -14,6 +15,12 @@ const BEHAVIOUR_STORE_VALIDATORS = [
14
15
  source: { kind: "native", run: async (ctx) => checkBehaviourStoreOpenspec(ctx.targetRepo) },
15
16
  build: () => ({ status: "run", args: [] }),
16
17
  },
18
+ // Seed once, then cite: requirements an estate took from a reference-architecture archetype still answer to it.
19
+ {
20
+ name: "archetype-citations",
21
+ source: { kind: "native", run: async (ctx) => checkArchetypeCitations(ctx.targetRepo) },
22
+ build: () => ({ status: "run", args: [] }),
23
+ },
17
24
  ];
18
25
  // Validators that accept --app-root / --repo-root flags work fine from the
19
26
  // bundled location because they override their internal ROOT_DIR via the
@@ -92,7 +99,7 @@ const APP_VALIDATORS = [
92
99
  ...BEHAVIOUR_STORE_VALIDATORS,
93
100
  // Note: validate-runway-classification is intentionally NOT in the app set.
94
101
  // It requires platform-level files (docs/platform/feature-tree.md,
95
- // architecture-runway-index.md) that app repos don't own. Per ADR 0089,
102
+ // architecture-runway-index.md) that app repos don't own. Per M-ADR 0089,
96
103
  // the reduced app suite is app-specific validators + shared foundations,
97
104
  // not platform validators.
98
105
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/lib/validate/dispatch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAmCjD,mGAAmG;AACnG,sFAAsF;AACtF,MAAM,0BAA0B,GAA+B;IAC7D;QACE,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QACnF,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;QAC3F,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;CACF,CAAC;AAEF,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,cAAc,GAA+B;IACjD;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE;QAC3D,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;KAC1E;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE;QACnE,+EAA+E;QAC/E,8EAA8E;QAC9E,+EAA+E;QAC/E,2DAA2D;QAC3D,EAAE;QACF,4EAA4E;QAC5E,uEAAuE;QACvE,6EAA6E;QAC7E,6EAA6E;QAC7E,+EAA+E;QAC/E,uDAAuD;QACvD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACf,MAAM,EAAE,KAAK;YACb,IAAI,EAAE;gBACJ,YAAY;gBACZ,GAAG,CAAC,UAAU;gBACd,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE;SACF,CAAC;KACH;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,iDAAiD;SAC3D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,kDAAkD;SAC5D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,+CAA+C;SACzD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;SACzD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;SACnD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,GAAG,0BAA0B;IAC7B,4EAA4E;IAC5E,mEAAmE;IACnE,wEAAwE;IACxE,yEAAyE;IACzE,2BAA2B;CAC5B,CAAC;AAEF,MAAM,sBAAsB,GAA+B;IACzD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE;QACnE,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,iDAAiD;SAC3D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,kDAAkD;SAC5D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,+CAA+C;SACzD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;SACzD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;SACnD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,GAAG,0BAA0B;CAC9B,CAAC;AAEF,MAAM,mBAAmB,GAA+B;IACtD;QACE,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,gDAAgD;SAC1D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KAChD;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,yDAAyD;SACnE;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,iDAAiD;SAC3D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,kDAAkD;SAC5D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,+CAA+C;SACzD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,sDAAsD;SAChE;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,0CAA0C;SACpD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,kDAAkD;SAC5D;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC;SACzD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD;QACE,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC;SACnD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KAC3C;IACD,GAAG,0BAA0B;IAC7B,kEAAkE;IAClE,sEAAsE;IACtE,6DAA6D;IAC7D,2EAA2E;IAC3E,yEAAyE;IACzE;QACE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,wCAAwC;SAClD;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,OAAgB;IACnD,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,mBAAmB,CAAC;IACvD,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAgB,EAChB,MAAe;IAEf,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,SAAS,OAAO,wBAAwB,GAAG;aACpE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../../src/lib/validate/dispatch.ts"],"names":[],"mappings":"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"}