@bett3r-dev/blueprint-schema 1.6.0 → 1.7.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 (201) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/build/cjs/apply-design.d.ts +5 -5
  3. package/build/cjs/apply-design.d.ts.map +1 -1
  4. package/build/cjs/apply-design.js +10 -1
  5. package/build/cjs/apply-design.js.map +1 -1
  6. package/build/cjs/apply-overrides.d.ts +3 -3
  7. package/build/cjs/apply-overrides.d.ts.map +1 -1
  8. package/build/cjs/apply-overrides.js +3 -0
  9. package/build/cjs/apply-overrides.js.map +1 -1
  10. package/build/cjs/card-channel.d.ts +18 -0
  11. package/build/cjs/card-channel.d.ts.map +1 -0
  12. package/build/cjs/card-channel.js +30 -0
  13. package/build/cjs/card-channel.js.map +1 -0
  14. package/build/cjs/convergence.d.ts +2 -2
  15. package/build/cjs/convergence.d.ts.map +1 -1
  16. package/build/cjs/coverage-links.d.ts +27 -0
  17. package/build/cjs/coverage-links.d.ts.map +1 -0
  18. package/build/cjs/coverage-links.js +117 -0
  19. package/build/cjs/coverage-links.js.map +1 -0
  20. package/build/cjs/design.d.ts +32 -2
  21. package/build/cjs/design.d.ts.map +1 -1
  22. package/build/cjs/design.js +27 -2
  23. package/build/cjs/design.js.map +1 -1
  24. package/build/cjs/diagnostics.d.ts +2 -2
  25. package/build/cjs/diagnostics.d.ts.map +1 -1
  26. package/build/cjs/edges.d.ts +2 -2
  27. package/build/cjs/edges.d.ts.map +1 -1
  28. package/build/cjs/edges.js +2 -1
  29. package/build/cjs/edges.js.map +1 -1
  30. package/build/cjs/entry-points.d.ts +2 -2
  31. package/build/cjs/entry-points.d.ts.map +1 -1
  32. package/build/cjs/find-orphan-nodes.d.ts +3 -3
  33. package/build/cjs/find-orphan-nodes.d.ts.map +1 -1
  34. package/build/cjs/flow-traversal.d.ts +3 -3
  35. package/build/cjs/flow-traversal.d.ts.map +1 -1
  36. package/build/cjs/fork-scenarios.d.ts +44 -0
  37. package/build/cjs/fork-scenarios.d.ts.map +1 -0
  38. package/build/cjs/fork-scenarios.js +83 -0
  39. package/build/cjs/fork-scenarios.js.map +1 -0
  40. package/build/cjs/graph.d.ts +2 -2
  41. package/build/cjs/graph.d.ts.map +1 -1
  42. package/build/cjs/graph.js.map +1 -1
  43. package/build/cjs/handler-scope.d.ts +3 -3
  44. package/build/cjs/handler-scope.d.ts.map +1 -1
  45. package/build/cjs/index.d.ts +5 -0
  46. package/build/cjs/index.d.ts.map +1 -1
  47. package/build/cjs/index.js +5 -0
  48. package/build/cjs/index.js.map +1 -1
  49. package/build/cjs/invariants.d.ts +26 -0
  50. package/build/cjs/invariants.d.ts.map +1 -0
  51. package/build/cjs/invariants.js +39 -0
  52. package/build/cjs/invariants.js.map +1 -0
  53. package/build/cjs/map-links.d.ts +1 -0
  54. package/build/cjs/map-links.d.ts.map +1 -1
  55. package/build/cjs/map-links.js +14 -1
  56. package/build/cjs/map-links.js.map +1 -1
  57. package/build/cjs/map-structure.d.ts +171 -2
  58. package/build/cjs/map-structure.d.ts.map +1 -1
  59. package/build/cjs/map-structure.js +46 -4
  60. package/build/cjs/map-structure.js.map +1 -1
  61. package/build/cjs/map-vocabulary.d.ts +29 -1
  62. package/build/cjs/map-vocabulary.d.ts.map +1 -1
  63. package/build/cjs/map-vocabulary.js +72 -2
  64. package/build/cjs/map-vocabulary.js.map +1 -1
  65. package/build/cjs/nodes.d.ts +11 -1
  66. package/build/cjs/nodes.d.ts.map +1 -1
  67. package/build/cjs/nodes.js +4 -2
  68. package/build/cjs/nodes.js.map +1 -1
  69. package/build/cjs/ops.d.ts +43 -10
  70. package/build/cjs/ops.d.ts.map +1 -1
  71. package/build/cjs/ops.js +1 -1
  72. package/build/cjs/ops.js.map +1 -1
  73. package/build/cjs/overrides.d.ts +5 -2
  74. package/build/cjs/overrides.d.ts.map +1 -1
  75. package/build/cjs/overrides.js.map +1 -1
  76. package/build/cjs/package.json +1 -0
  77. package/build/cjs/reachability.d.ts +4 -4
  78. package/build/cjs/reachability.d.ts.map +1 -1
  79. package/build/cjs/reachability.js +4 -0
  80. package/build/cjs/reachability.js.map +1 -1
  81. package/build/cjs/reality-check.d.ts +4 -4
  82. package/build/cjs/reality-check.d.ts.map +1 -1
  83. package/build/cjs/reality-check.js +9 -0
  84. package/build/cjs/reality-check.js.map +1 -1
  85. package/build/cjs/session.d.ts +21 -0
  86. package/build/cjs/session.d.ts.map +1 -1
  87. package/build/cjs/session.js +19 -0
  88. package/build/cjs/session.js.map +1 -1
  89. package/build/cjs/spec.d.ts +137 -0
  90. package/build/cjs/spec.d.ts.map +1 -0
  91. package/build/cjs/spec.js +462 -0
  92. package/build/cjs/spec.js.map +1 -0
  93. package/build/cjs/topology.d.ts +2 -2
  94. package/build/cjs/topology.d.ts.map +1 -1
  95. package/build/cjs/topology.js +2 -0
  96. package/build/cjs/topology.js.map +1 -1
  97. package/build/cjs/validate-design.d.ts +3 -3
  98. package/build/cjs/validate-design.d.ts.map +1 -1
  99. package/build/cjs/validate-design.js +34 -0
  100. package/build/cjs/validate-design.js.map +1 -1
  101. package/build/esm/apply-design.d.ts +5 -5
  102. package/build/esm/apply-design.d.ts.map +1 -1
  103. package/build/esm/apply-design.js +10 -1
  104. package/build/esm/apply-design.js.map +1 -1
  105. package/build/esm/apply-overrides.d.ts +3 -3
  106. package/build/esm/apply-overrides.d.ts.map +1 -1
  107. package/build/esm/apply-overrides.js +3 -0
  108. package/build/esm/apply-overrides.js.map +1 -1
  109. package/build/esm/card-channel.d.ts +18 -0
  110. package/build/esm/card-channel.d.ts.map +1 -0
  111. package/build/esm/card-channel.js +25 -0
  112. package/build/esm/card-channel.js.map +1 -0
  113. package/build/esm/convergence.d.ts +2 -2
  114. package/build/esm/convergence.d.ts.map +1 -1
  115. package/build/esm/coverage-links.d.ts +27 -0
  116. package/build/esm/coverage-links.d.ts.map +1 -0
  117. package/build/esm/coverage-links.js +113 -0
  118. package/build/esm/coverage-links.js.map +1 -0
  119. package/build/esm/design.d.ts +32 -2
  120. package/build/esm/design.d.ts.map +1 -1
  121. package/build/esm/design.js +25 -1
  122. package/build/esm/design.js.map +1 -1
  123. package/build/esm/diagnostics.d.ts +2 -2
  124. package/build/esm/diagnostics.d.ts.map +1 -1
  125. package/build/esm/edges.d.ts +2 -2
  126. package/build/esm/edges.d.ts.map +1 -1
  127. package/build/esm/edges.js +2 -1
  128. package/build/esm/edges.js.map +1 -1
  129. package/build/esm/entry-points.d.ts +2 -2
  130. package/build/esm/entry-points.d.ts.map +1 -1
  131. package/build/esm/find-orphan-nodes.d.ts +3 -3
  132. package/build/esm/find-orphan-nodes.d.ts.map +1 -1
  133. package/build/esm/flow-traversal.d.ts +3 -3
  134. package/build/esm/flow-traversal.d.ts.map +1 -1
  135. package/build/esm/fork-scenarios.d.ts +44 -0
  136. package/build/esm/fork-scenarios.d.ts.map +1 -0
  137. package/build/esm/fork-scenarios.js +78 -0
  138. package/build/esm/fork-scenarios.js.map +1 -0
  139. package/build/esm/graph.d.ts +2 -2
  140. package/build/esm/graph.d.ts.map +1 -1
  141. package/build/esm/graph.js.map +1 -1
  142. package/build/esm/handler-scope.d.ts +3 -3
  143. package/build/esm/handler-scope.d.ts.map +1 -1
  144. package/build/esm/index.d.ts +5 -0
  145. package/build/esm/index.d.ts.map +1 -1
  146. package/build/esm/index.js +5 -0
  147. package/build/esm/index.js.map +1 -1
  148. package/build/esm/invariants.d.ts +26 -0
  149. package/build/esm/invariants.d.ts.map +1 -0
  150. package/build/esm/invariants.js +36 -0
  151. package/build/esm/invariants.js.map +1 -0
  152. package/build/esm/map-links.d.ts +1 -0
  153. package/build/esm/map-links.d.ts.map +1 -1
  154. package/build/esm/map-links.js +14 -1
  155. package/build/esm/map-links.js.map +1 -1
  156. package/build/esm/map-structure.d.ts +171 -2
  157. package/build/esm/map-structure.d.ts.map +1 -1
  158. package/build/esm/map-structure.js +42 -3
  159. package/build/esm/map-structure.js.map +1 -1
  160. package/build/esm/map-vocabulary.d.ts +29 -1
  161. package/build/esm/map-vocabulary.d.ts.map +1 -1
  162. package/build/esm/map-vocabulary.js +64 -1
  163. package/build/esm/map-vocabulary.js.map +1 -1
  164. package/build/esm/nodes.d.ts +11 -1
  165. package/build/esm/nodes.d.ts.map +1 -1
  166. package/build/esm/nodes.js +4 -2
  167. package/build/esm/nodes.js.map +1 -1
  168. package/build/esm/ops.d.ts +43 -10
  169. package/build/esm/ops.d.ts.map +1 -1
  170. package/build/esm/ops.js +1 -1
  171. package/build/esm/ops.js.map +1 -1
  172. package/build/esm/overrides.d.ts +5 -2
  173. package/build/esm/overrides.d.ts.map +1 -1
  174. package/build/esm/overrides.js.map +1 -1
  175. package/build/esm/reachability.d.ts +4 -4
  176. package/build/esm/reachability.d.ts.map +1 -1
  177. package/build/esm/reachability.js +4 -0
  178. package/build/esm/reachability.js.map +1 -1
  179. package/build/esm/reality-check.d.ts +4 -4
  180. package/build/esm/reality-check.d.ts.map +1 -1
  181. package/build/esm/reality-check.js +9 -0
  182. package/build/esm/reality-check.js.map +1 -1
  183. package/build/esm/session.d.ts +21 -0
  184. package/build/esm/session.d.ts.map +1 -1
  185. package/build/esm/session.js +17 -0
  186. package/build/esm/session.js.map +1 -1
  187. package/build/esm/spec.d.ts +137 -0
  188. package/build/esm/spec.d.ts.map +1 -0
  189. package/build/esm/spec.js +449 -0
  190. package/build/esm/spec.js.map +1 -0
  191. package/build/esm/topology.d.ts +2 -2
  192. package/build/esm/topology.d.ts.map +1 -1
  193. package/build/esm/topology.js +2 -0
  194. package/build/esm/topology.js.map +1 -1
  195. package/build/esm/validate-design.d.ts +3 -3
  196. package/build/esm/validate-design.d.ts.map +1 -1
  197. package/build/esm/validate-design.js +35 -1
  198. package/build/esm/validate-design.js.map +1 -1
  199. package/build/tsconfig.tsbuildinfo +1 -1
  200. package/package.json +14 -4
  201. package/schema/map.schema.json +62 -1
@@ -1,5 +1,5 @@
1
- import { EdgeKind } from './edges.js';
2
- import { NodeType } from './nodes.js';
1
+ import type { EdgeKind } from './edges.js';
2
+ import type { NodeType } from './nodes.js';
3
3
  export type UnresolvedEdgeDirection = 'source' | 'target';
4
4
  export type UnresolvedEdge = {
5
5
  anchorId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,uBAAuB,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EACJ,UAAU,GACV,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,eAAe,GACf,0BAA0B,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,2BAA2B,EAAE,0BAA0B,EAAE,CAAC;IAC1D,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;CACvC,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,WAAW,CAW9C"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,uBAAuB,CAAC;IACnC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EACJ,UAAU,GACV,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,eAAe,GACf,0BAA0B,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,2BAA2B,EAAE,0BAA0B,EAAE,CAAC;IAC1D,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;CACvC,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,WAAW,CAW9C"}
@@ -1,5 +1,5 @@
1
- import { DesignStatus, Origin } from './nodes.js';
2
- export type EdgeKind = 'handled-by' | 'produces' | 'emits' | 'triggers' | 'issues' | 'projected-to' | 'reads-from' | 'transactionally-writes-to' | 'writes-to' | 'calls' | 'uses-cache' | 'causes' | 'invokes' | 'subscribes-to';
1
+ import type { DesignStatus, Origin } from './nodes.js';
2
+ export type EdgeKind = 'handled-by' | 'produces' | 'emits' | 'triggers' | 'issues' | 'projected-to' | 'reads-from' | 'transactionally-writes-to' | 'writes-to' | 'calls' | 'uses-cache' | 'causes' | 'invokes' | 'subscribes-to' | 'guarded-by';
3
3
  export declare const EDGE_KINDS: readonly EdgeKind[];
4
4
  export type EdgeKindSource = 'chosen' | 'guessed';
5
5
  export declare const EDGE_KIND_SOURCES: readonly EdgeKindSource[];
@@ -1 +1 @@
1
- {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/edges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,UAAU,GACV,OAAO,GACP,UAAU,GACV,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,2BAA2B,GAC3B,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,eAAe,CAAC;AAEpB,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAehC,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAAqC,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/edges.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,UAAU,GACV,OAAO,GACP,UAAU,GACV,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,2BAA2B,GAC3B,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,eAAe,GACf,YAAY,CAAC;AAEjB,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAgBhC,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAAqC,CAAC;AAE7F,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC"}
@@ -15,7 +15,8 @@ exports.EDGE_KINDS = [
15
15
  'uses-cache',
16
16
  'causes',
17
17
  'invokes',
18
- 'subscribes-to'
18
+ 'subscribes-to',
19
+ 'guarded-by'
19
20
  ];
20
21
  exports.EDGE_KIND_SOURCES = ['chosen', 'guessed'];
21
22
  //# sourceMappingURL=edges.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edges.js","sourceRoot":"","sources":["../../src/edges.ts"],"names":[],"mappings":";;;AAkBa,QAAA,UAAU,GAAwB;IAC7C,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,2BAA2B;IAC3B,WAAW;IACX,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,eAAe;CACP,CAAC;AAIE,QAAA,iBAAiB,GAA8B,CAAE,QAAQ,EAAE,SAAS,CAAW,CAAC"}
1
+ {"version":3,"file":"edges.js","sourceRoot":"","sources":["../../src/edges.ts"],"names":[],"mappings":";;;AAmBa,QAAA,UAAU,GAAwB;IAC7C,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,QAAQ;IACR,cAAc;IACd,YAAY;IACZ,2BAA2B;IAC3B,WAAW;IACX,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,eAAe;IACf,YAAY;CACJ,CAAC;AAIE,QAAA,iBAAiB,GAA8B,CAAE,QAAQ,EAAE,SAAS,CAAW,CAAC"}
@@ -1,5 +1,5 @@
1
- import { BlueprintGraph } from './graph.js';
2
- import { BlueprintNode } from './nodes.js';
1
+ import type { BlueprintGraph } from './graph.js';
2
+ import type { BlueprintNode } from './nodes.js';
3
3
  export type EntryPointIndex = {
4
4
  entryPoints: ReadonlySet<string>;
5
5
  crossSubdomainEntryPoints: ReadonlySet<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"entry-points.d.ts","sourceRoot":"","sources":["../../src/entry-points.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,EACrB,YAAW,WAAW,CAAC,MAAM,EAAE,aAAa,CAE3C,KACA,eA0CF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,eAAe,EACtB,UAAS,gBAAqB,KAC7B,OAE2E,CAAC;AAE/E,eAAO,MAAM,cAAc,GACzB,IAAI,MAAM,EACV,OAAO,eAAe,EACtB,UAAS,gBAAqB,KAC7B,OAOA,CAAC"}
1
+ {"version":3,"file":"entry-points.d.ts","sourceRoot":"","sources":["../../src/entry-points.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,cAAc,EACrB,YAAW,WAAW,CAAC,MAAM,EAAE,aAAa,CAE3C,KACA,eA0CF,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,OAAO,eAAe,EACtB,UAAS,gBAAqB,KAC7B,OAE2E,CAAC;AAE/E,eAAO,MAAM,cAAc,GACzB,IAAI,MAAM,EACV,OAAO,eAAe,EACtB,UAAS,gBAAqB,KAC7B,OAOA,CAAC"}
@@ -1,5 +1,5 @@
1
- import { BlueprintEdge } from './edges.js';
2
- import { BlueprintNode } from './nodes.js';
3
- import { OrphanNode } from './diagnostics.js';
1
+ import type { BlueprintEdge } from './edges.js';
2
+ import type { BlueprintNode } from './nodes.js';
3
+ import type { OrphanNode } from './diagnostics.js';
4
4
  export declare function findOrphanNodes(nodes: BlueprintNode[], edges: BlueprintEdge[]): OrphanNode[];
5
5
  //# sourceMappingURL=find-orphan-nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-orphan-nodes.d.ts","sourceRoot":"","sources":["../../src/find-orphan-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,wBAAgB,eAAe,CAAE,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAI,UAAU,EAAE,CAU9F"}
1
+ {"version":3,"file":"find-orphan-nodes.d.ts","sourceRoot":"","sources":["../../src/find-orphan-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,eAAe,CAAE,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAI,UAAU,EAAE,CAU9F"}
@@ -1,6 +1,6 @@
1
- import { EdgeKind, BlueprintEdge } from './edges.js';
2
- import { BlueprintGraph } from './graph.js';
3
- import { BlueprintNode } from './nodes.js';
1
+ import type { EdgeKind, BlueprintEdge } from './edges.js';
2
+ import type { BlueprintGraph } from './graph.js';
3
+ import type { BlueprintNode } from './nodes.js';
4
4
  export declare const TRAVERSABLE_KINDS: ReadonlySet<EdgeKind>;
5
5
  export type CrossSubdomainMode = 'full' | 'leaf' | 'exclude';
6
6
  export type ScopedDataEdge = {
@@ -1 +1 @@
1
- {"version":3,"file":"flow-traversal.d.ts","sourceRoot":"","sources":["../../src/flow-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAWjD,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACjD,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,wBAAgB,cAAc,CAAE,KAAK,EAAE,cAAc,GAAI,SAAS,CAiCjE;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,iBAAiB,GACtB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAkD7B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC,EACrD,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,OAAO,CAIT"}
1
+ {"version":3,"file":"flow-traversal.d.ts","sourceRoot":"","sources":["../../src/flow-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAWjD,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IACjD,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,CAAC;AAEF,wBAAgB,cAAc,CAAE,KAAK,EAAE,cAAc,GAAI,SAAS,CAiCjE;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,iBAAiB,GACtB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAkD7B;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAAC,EACrD,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,OAAO,CAIT"}
@@ -0,0 +1,44 @@
1
+ import type { DecidedSource } from './map-vocabulary.js';
2
+ import type { GherkinStep, MapEntryId, MapFile, MapOptionId, MapScenario } from './map-structure.js';
3
+ /** Why a stored fork-derived scenario stops feeding tests until a human strikes or supersedes it. */
4
+ export type ScenarioReviewReason = 'option-changed' | 'reopened' | 'moot' | 'fork-gone' | 'walk-changed' | 'walk-gone';
5
+ /** `ready` when the walk carries given, when and then; `needs-gherkin` when it is prose. */
6
+ export type ForkScenarioState = 'ready' | 'needs-gherkin';
7
+ /** A virtual scenario a decided fork proposes; its key is read-only and never an entry id. */
8
+ export type ForkScenarioProposal = {
9
+ key: string;
10
+ forkId: MapEntryId;
11
+ optionId: MapOptionId;
12
+ walk: string;
13
+ source: DecidedSource;
14
+ state: ForkScenarioState;
15
+ title: string;
16
+ text: string;
17
+ anchors: MapEntryId[];
18
+ given: GherkinStep[];
19
+ when: GherkinStep[];
20
+ then: GherkinStep[];
21
+ };
22
+ /** A stored scenario with derivedFrom, and why it is under review; null when its fork still stands. */
23
+ export type DerivedScenarioJudgement = {
24
+ scenarioId: MapEntryId;
25
+ reviewReason: ScenarioReviewReason | null;
26
+ };
27
+ export type ForkScenarioReport = {
28
+ proposals: ForkScenarioProposal[];
29
+ derived: DerivedScenarioJudgement[];
30
+ };
31
+ /** What the join reads: the forks, and of each stored scenario only its id and derivation. */
32
+ export type ForkScenarioMap = Pick<MapFile, 'forks'> & {
33
+ scenarios: ReadonlyArray<Pick<MapScenario, 'id' | 'derivedFrom'>>;
34
+ };
35
+ /** Every virtual proposal's key starts with it; no entry id can, since a map id never holds a colon. */
36
+ export declare const FORK_SCENARIO_KEY_PREFIX = "derived:";
37
+ export declare const forkScenarioKey: (forkId: MapEntryId, optionId: MapOptionId, walk: string) => string;
38
+ /**
39
+ * Every decided, testable fork proposes one scenario per behavioural walk of its chosen option, in
40
+ * map order, unless a stored scenario already names that (fork, option, walk) in any status; and
41
+ * every stored scenario with derivedFrom is judged against its fork, in map order.
42
+ */
43
+ export declare function joinForkScenarios(map: ForkScenarioMap): ForkScenarioReport;
44
+ //# sourceMappingURL=fork-scenarios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork-scenarios.d.ts","sourceRoot":"","sources":["../../src/fork-scenarios.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,OAAO,EAEP,WAAW,EAEX,WAAW,EAGZ,MAAM,oBAAoB,CAAC;AAO5B,qGAAqG;AACrG,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,WAAW,CAAC;AAEvH,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,eAAe,CAAC;AAE1D,8FAA8F;AAC9F,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,WAAW,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB,CAAC;AAEF,uGAAuG;AACvG,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,OAAO,EAAE,wBAAwB,EAAE,CAAC;CACrC,CAAC;AAEF,8FAA8F;AAC9F,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,aAAa,CAAC,CAAC,CAAA;CAAE,CAAC;AAE7H,wGAAwG;AACxG,eAAO,MAAM,wBAAwB,aAAa,CAAC;AAEnD,eAAO,MAAM,eAAe,GAAK,QAAQ,UAAU,EAAE,UAAU,WAAW,EAAE,MAAM,MAAM,KAAI,MACxB,CAAC;AAgCrE;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,eAAe,GAAI,kBAAkB,CAuC5E"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.forkScenarioKey = exports.FORK_SCENARIO_KEY_PREFIX = void 0;
4
+ exports.joinForkScenarios = joinForkScenarios;
5
+ /** Every virtual proposal's key starts with it; no entry id can, since a map id never holds a colon. */
6
+ exports.FORK_SCENARIO_KEY_PREFIX = 'derived:';
7
+ const forkScenarioKey = (forkId, optionId, walk) => `${exports.FORK_SCENARIO_KEY_PREFIX}${forkId}/${optionId}/${walk}`;
8
+ exports.forkScenarioKey = forkScenarioKey;
9
+ const isStructural = (walk) => walk.kind === 'structural';
10
+ const hasGherkin = (walk) => walk.given !== undefined && walk.when !== undefined && walk.then !== undefined;
11
+ const stepsOf = (text) => text === undefined ? [] : [{ text }];
12
+ // The walk's fields a basis records; `kind` absent reads as behavioral, so spelling it out changes nothing.
13
+ const sameWalk = (walk, basis) => walk.text === basis.text
14
+ && isStructural(walk) === isStructural(basis)
15
+ && walk.given === basis.given
16
+ && walk.when === basis.when
17
+ && walk.then === basis.then;
18
+ function reviewReasonOf(derivedFrom, forks) {
19
+ const fork = forks.get(derivedFrom.forkId);
20
+ if (fork === undefined)
21
+ return 'fork-gone';
22
+ if (fork.status.kind === 'open')
23
+ return 'reopened';
24
+ if (fork.status.kind === 'moot')
25
+ return 'moot';
26
+ if (fork.status.option !== derivedFrom.optionId)
27
+ return 'option-changed';
28
+ // A derivation from before ESAS-296 names no walk; it is judged on its fork and option alone.
29
+ if (derivedFrom.walk === undefined)
30
+ return null;
31
+ const option = fork.card?.options.find(candidate => candidate.id === derivedFrom.optionId);
32
+ const walk = option?.walks.find(candidate => candidate.scenario === derivedFrom.walk);
33
+ if (walk === undefined)
34
+ return 'walk-gone';
35
+ if (derivedFrom.basis !== undefined && !sameWalk(walk, derivedFrom.basis))
36
+ return 'walk-changed';
37
+ return null;
38
+ }
39
+ /**
40
+ * Every decided, testable fork proposes one scenario per behavioural walk of its chosen option, in
41
+ * map order, unless a stored scenario already names that (fork, option, walk) in any status; and
42
+ * every stored scenario with derivedFrom is judged against its fork, in map order.
43
+ */
44
+ function joinForkScenarios(map) {
45
+ const stored = new Set(map.scenarios.flatMap(({ derivedFrom }) => derivedFrom?.walk === undefined
46
+ ? []
47
+ : [(0, exports.forkScenarioKey)(derivedFrom.forkId, derivedFrom.optionId, derivedFrom.walk)]));
48
+ const proposals = [];
49
+ for (const fork of map.forks) {
50
+ const status = fork.status;
51
+ if (status.kind !== 'decided' || fork.testable === false)
52
+ continue;
53
+ const chosenWalks = (fork.card?.options ?? [])
54
+ .filter(option => option.id === status.option)
55
+ .flatMap(option => option.walks);
56
+ for (const walk of chosenWalks) {
57
+ const key = (0, exports.forkScenarioKey)(fork.id, status.option, walk.scenario);
58
+ if (isStructural(walk) || stored.has(key))
59
+ continue;
60
+ const ready = hasGherkin(walk);
61
+ proposals.push({
62
+ key,
63
+ forkId: fork.id,
64
+ optionId: status.option,
65
+ walk: walk.scenario,
66
+ source: status.source,
67
+ state: ready ? 'ready' : 'needs-gherkin',
68
+ title: walk.scenario,
69
+ text: walk.text,
70
+ anchors: [fork.anchor ?? fork.id],
71
+ given: ready ? stepsOf(walk.given) : [],
72
+ when: ready ? stepsOf(walk.when) : [],
73
+ then: ready ? stepsOf(walk.then) : []
74
+ });
75
+ }
76
+ }
77
+ const forks = new Map(map.forks.map(fork => [fork.id, fork]));
78
+ const derived = map.scenarios.flatMap(({ id, derivedFrom }) => derivedFrom === undefined
79
+ ? []
80
+ : [{ scenarioId: id, reviewReason: reviewReasonOf(derivedFrom, forks) }]);
81
+ return { proposals, derived };
82
+ }
83
+ //# sourceMappingURL=fork-scenarios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fork-scenarios.js","sourceRoot":"","sources":["../../src/fork-scenarios.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { BlueprintEdge } from './edges.js';
2
- import { BlueprintNode, NodeType } from './nodes.js';
1
+ import type { BlueprintEdge } from './edges.js';
2
+ import { type BlueprintNode, type NodeType } from './nodes.js';
3
3
  export type SchemaVersion = 1;
4
4
  export type BlueprintGraph = {
5
5
  schemaVersion: SchemaVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAoC,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,IAAI,cAAc,CAE3C;AAED,wBAAgB,OAAO,CAAE,KAAK,EAAE,MAAM,GAAI,MAAM,CAO/C;AAED,wBAAgB,MAAM,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAI,MAAM,CAEjF;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,WAAW,CAAE,EAAE,EAAE,MAAM,GAAI,YAAY,GAAG,SAAS,CAOlE"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,KAAK,aAAa,EAAoC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjG,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAgB,UAAU,IAAI,cAAc,CAE3C;AAED,wBAAgB,OAAO,CAAE,KAAK,EAAE,MAAM,GAAI,MAAM,CAO/C;AAED,wBAAgB,MAAM,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAI,MAAM,CAEjF;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,wBAAgB,WAAW,CAAE,EAAE,EAAE,MAAM,GAAI,YAAY,GAAG,SAAS,CAOlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph.ts"],"names":[],"mappings":";;AAYA,gCAEC;AAED,0BAOC;AAED,wBAEC;AAQD,kCAOC;AAzCD,yCAAuF;AAWvF,SAAgB,UAAU;IACxB,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,SAAgB,OAAO,CAAE,KAAa;IACpC,OAAO,KAAK;SACT,OAAO,CAAE,oBAAoB,EAAE,OAAO,CAAE;SACxC,OAAO,CAAE,uBAAuB,EAAE,OAAO,CAAE;SAC3C,OAAO,CAAE,gBAAgB,EAAE,GAAG,CAAE;SAChC,OAAO,CAAE,UAAU,EAAE,EAAE,CAAE;SACzB,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAgB,MAAM,CAAE,SAAiB,EAAE,IAAc,EAAE,KAAa;IACtE,OAAO,GAAI,OAAO,CAAE,SAAS,CAAG,IAAK,sBAAW,CAAE,IAAI,CAAG,IAAK,OAAO,CAAE,KAAK,CAAG,EAAE,CAAC;AACpF,CAAC;AAQD,SAAgB,WAAW,CAAE,EAAU;IACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAE,GAAG,CAAE,CAAC;IACjC,IAAK,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAG,OAAO,SAAS,CAAC;IAC9C,MAAM,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAE,GAAG,QAAQ,CAAC;IAC7C,MAAM,IAAI,GAAG,8BAAmB,CAAE,MAAM,CAAE,CAAC;IAC3C,IAAK,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAG,OAAO,SAAS,CAAC;IAC1F,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/graph.ts"],"names":[],"mappings":";;AAYA,gCAEC;AAED,0BAOC;AAED,wBAEC;AAQD,kCAOC;AAzCD,yCAAiG;AAWjG,SAAgB,UAAU;IACxB,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACpE,CAAC;AAED,SAAgB,OAAO,CAAE,KAAa;IACpC,OAAO,KAAK;SACT,OAAO,CAAE,oBAAoB,EAAE,OAAO,CAAE;SACxC,OAAO,CAAE,uBAAuB,EAAE,OAAO,CAAE;SAC3C,OAAO,CAAE,gBAAgB,EAAE,GAAG,CAAE;SAChC,OAAO,CAAE,UAAU,EAAE,EAAE,CAAE;SACzB,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,SAAgB,MAAM,CAAE,SAAiB,EAAE,IAAc,EAAE,KAAa;IACtE,OAAO,GAAI,OAAO,CAAE,SAAS,CAAG,IAAK,sBAAW,CAAE,IAAI,CAAG,IAAK,OAAO,CAAE,KAAK,CAAG,EAAE,CAAC;AACpF,CAAC;AAQD,SAAgB,WAAW,CAAE,EAAU;IACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAE,GAAG,CAAE,CAAC;IACjC,IAAK,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAG,OAAO,SAAS,CAAC;IAC9C,MAAM,CAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAE,GAAG,QAAQ,CAAC;IAC7C,MAAM,IAAI,GAAG,8BAAmB,CAAE,MAAM,CAAE,CAAC;IAC3C,IAAK,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAG,OAAO,SAAS,CAAC;IAC1F,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC"}
@@ -1,6 +1,6 @@
1
- import { HandlerScopeIssue } from './diagnostics.js';
2
- import { EdgeKind } from './edges.js';
3
- import { BlueprintNode, NodeType } from './nodes.js';
1
+ import type { HandlerScopeIssue } from './diagnostics.js';
2
+ import type { EdgeKind } from './edges.js';
3
+ import type { BlueprintNode, NodeType } from './nodes.js';
4
4
  export type HandlerAttachment = {
5
5
  discriminator: NodeType;
6
6
  via: EdgeKind;
@@ -1 +1 @@
1
- {"version":3,"file":"handler-scope.d.ts","sourceRoot":"","sources":["../../src/handler-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,QAAQ,CAAC;IACxB,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAKtF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAKF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC9B,KAAK,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5D,iBAAiB,CAenB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACvC,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CA4BpB"}
1
+ {"version":3,"file":"handler-scope.d.ts","sourceRoot":"","sources":["../../src/handler-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,QAAQ,CAAC;IACxB,GAAG,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAKtF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,qBAAqB,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9C,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAKF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC9B,KAAK,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC5D,iBAAiB,CAenB;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EACvC,KAAK,EAAE,iBAAiB,GACvB,kBAAkB,CA4BpB"}
@@ -24,4 +24,9 @@ export * from './retention.js';
24
24
  export * from './map-vocabulary.js';
25
25
  export * from './map-structure.js';
26
26
  export * from './map-links.js';
27
+ export * from './coverage-links.js';
28
+ export * from './card-channel.js';
29
+ export * from './fork-scenarios.js';
30
+ export * from './invariants.js';
31
+ export * from './spec.js';
27
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -40,4 +40,9 @@ __exportStar(require("./retention.js"), exports);
40
40
  __exportStar(require("./map-vocabulary.js"), exports);
41
41
  __exportStar(require("./map-structure.js"), exports);
42
42
  __exportStar(require("./map-links.js"), exports);
43
+ __exportStar(require("./coverage-links.js"), exports);
44
+ __exportStar(require("./card-channel.js"), exports);
45
+ __exportStar(require("./fork-scenarios.js"), exports);
46
+ __exportStar(require("./invariants.js"), exports);
47
+ __exportStar(require("./spec.js"), exports);
43
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,oDAAkC;AAClC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,uDAAqC;AACrC,8CAA4B;AAC5B,2CAAyB;AACzB,gDAA8B;AAC9B,uDAAqC;AACrC,oDAAkC;AAClC,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC;AACjC,+CAA6B;AAC7B,oDAAkC;AAClC,iDAA+B;AAC/B,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,qDAAmC;AACnC,sDAAoC;AACpC,oDAAkC;AAClC,oDAAkC;AAClC,mDAAiC;AACjC,iDAA+B;AAC/B,yDAAuC;AACvC,uDAAqC;AACrC,8CAA4B;AAC5B,2CAAyB;AACzB,gDAA8B;AAC9B,uDAAqC;AACrC,oDAAkC;AAClC,qDAAmC;AACnC,mDAAiC;AACjC,mDAAiC;AACjC,+CAA6B;AAC7B,oDAAkC;AAClC,iDAA+B;AAC/B,sDAAoC;AACpC,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,oDAAkC;AAClC,sDAAoC;AACpC,kDAAgC;AAChC,4CAA0B"}
@@ -0,0 +1,26 @@
1
+ import type { CoverageReport } from './coverage-links.js';
2
+ import type { BlueprintEdge } from './edges.js';
3
+ import type { MapEntryId } from './map-structure.js';
4
+ import type { BlueprintNode } from './nodes.js';
5
+ /**
6
+ * ESAS-305: what the board says about one invariant, judged on read. `unproven` when no scenario
7
+ * covers it; `indistinct` when it is covered but its rejection cannot be told apart from another
8
+ * rule's on a command it guards: it has no error code, or one other invariant guarding one of the
9
+ * same commands carries every one of its codes.
10
+ */
11
+ export type InvariantJudgement = {
12
+ coveredBy: MapEntryId[];
13
+ unproven: boolean;
14
+ indistinct: boolean;
15
+ };
16
+ export type InvariantGraph = {
17
+ nodes: ReadonlyArray<Pick<BlueprintNode, 'id' | 'type' | 'status' | 'errorCodes'>>;
18
+ edges: ReadonlyArray<Pick<BlueprintEdge, 'from' | 'to' | 'kind' | 'status'>>;
19
+ };
20
+ /**
21
+ * Judges every invariant of the merged graph against the coverage join (joinCoverageLinks). Pure:
22
+ * it reads its inputs and returns a fresh record keyed by invariant id; it never refuses a write
23
+ * (ADR-106). A removed invariant or a removed guarded-by edge takes no part.
24
+ */
25
+ export declare function judgeInvariants(merged: InvariantGraph, coverage: Pick<CoverageReport, 'coveredBy'>): Record<string, InvariantJudgement>;
26
+ //# sourceMappingURL=invariants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/invariants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACnF,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;CAC9E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAC1C,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CA6BpC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.judgeInvariants = judgeInvariants;
4
+ /**
5
+ * Judges every invariant of the merged graph against the coverage join (joinCoverageLinks). Pure:
6
+ * it reads its inputs and returns a fresh record keyed by invariant id; it never refuses a write
7
+ * (ADR-106). A removed invariant or a removed guarded-by edge takes no part.
8
+ */
9
+ function judgeInvariants(merged, coverage) {
10
+ const invariants = merged.nodes.filter(node => node.type === 'invariant' && node.status !== 'removed');
11
+ const codesOf = new Map(invariants.map(node => [node.id, new Set(node.errorCodes ?? [])]));
12
+ const guardedBy = new Map();
13
+ for (const edge of merged.edges) {
14
+ if (edge.kind !== 'guarded-by' || edge.status === 'removed' || !codesOf.has(edge.to))
15
+ continue;
16
+ guardedBy.set(edge.from, (guardedBy.get(edge.from) ?? new Set()).add(edge.to));
17
+ }
18
+ const neighboursOf = (id) => {
19
+ const neighbours = new Set();
20
+ for (const guards of guardedBy.values()) {
21
+ if (!guards.has(id))
22
+ continue;
23
+ for (const other of guards)
24
+ if (other !== id)
25
+ neighbours.add(other);
26
+ }
27
+ return neighbours;
28
+ };
29
+ const judged = {};
30
+ for (const { id } of invariants) {
31
+ const coveredBy = [...(coverage.coveredBy[id] ?? [])];
32
+ const unproven = coveredBy.length === 0;
33
+ const codes = [...codesOf.get(id)];
34
+ const indistinct = !unproven && (codes.length === 0 || [...neighboursOf(id)].some(other => codes.every(code => codesOf.get(other).has(code))));
35
+ judged[id] = { coveredBy, unproven, indistinct };
36
+ }
37
+ return judged;
38
+ }
39
+ //# sourceMappingURL=invariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/invariants.ts"],"names":[],"mappings":";;AA2BA,0CAgCC;AArCD;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,MAAsB,EACtB,QAA2C;IAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAE,CAAC;IACzG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAE,UAAU,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,CAAE,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,CAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAE,CAAE,CAAC,CAAC;IAEjG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,KAAM,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,IAAK,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAE;YAAE,SAAS;QAClG,SAAS,CAAC,GAAG,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE,SAAS,CAAC,GAAG,CAAE,IAAI,CAAC,IAAI,CAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,YAAY,GAAG,CAAE,EAAU,EAAgB,EAAE;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAM,MAAM,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAK,CAAC,MAAM,CAAC,GAAG,CAAE,EAAE,CAAE;gBAAE,SAAS;YACjC,KAAM,MAAM,KAAK,IAAI,MAAM;gBAAG,IAAK,KAAK,KAAK,EAAE;oBAAG,UAAU,CAAC,GAAG,CAAE,KAAK,CAAE,CAAC;QAC5E,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,KAAM,MAAM,EAAE,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,CAAE,GAAG,CAAE,QAAQ,CAAC,SAAS,CAAE,EAAE,CAAE,IAAI,EAAE,CAAC,CAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAE,GAAG,OAAO,CAAC,GAAG,CAAE,EAAE,CAAiB,CAAE,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,CAAE,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAE,GAAG,YAAY,CAAE,EAAE,CAAE,CAAE,CAAC,IAAI,CAAE,KAAK,CAAC,EAAE,CAC9F,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,EAAE,CAAG,OAAO,CAAC,GAAG,CAAE,KAAK,CAAmB,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAE,EAAE,CAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -7,6 +7,7 @@ export type MapLinkReport = {
7
7
  orphanedBy: Record<MapEntryId, string[]>;
8
8
  dangling: MapLink[];
9
9
  removed: MapLink[];
10
+ unserved: MapEntryId[];
10
11
  };
11
12
  export declare function joinMapLinks(merged: BlueprintGraph, design: DesignFile, map: MapFile): MapLinkReport;
12
13
  //# sourceMappingURL=map-links.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-links.d.ts","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAgBF,wBAAgB,YAAY,CAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAI,aAAa,CA2CtG"}
1
+ {"version":3,"file":"map-links.d.ts","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC;AAgBF,wBAAgB,YAAY,CAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAI,aAAa,CAwDtG"}
@@ -54,6 +54,19 @@ function joinMapLinks(merged, design, map) {
54
54
  .filter(link => mapNodes.has(link.deliverableId) && removedIds.has(link.esId))
55
55
  .map(link => ({ esId: link.esId, deliverableId: link.deliverableId }))
56
56
  .sort((a, b) => byString(a.esId, b.esId) || byString(a.deliverableId, b.deliverableId));
57
- return { unlinked, orphaned, orphanedBy, dangling, removed };
57
+ // ESAS-330 D3: a link serves its deliverable when it names a live graph node. A1: under a graph
58
+ // that knows no node (the Design done check joins against emptyGraph()) liveness cannot be judged,
59
+ // so any link serves; struck deliverables are excluded.
60
+ const graphKnown = merged.nodes.length > 0;
61
+ const served = new Set(map.links
62
+ .filter(link => !graphKnown || (nodeIds.has(link.esId) && !removedIds.has(link.esId)))
63
+ .map(link => link.deliverableId));
64
+ const unserved = [];
65
+ for (const node of [...map.nodes].sort((a, b) => byString(a.id, b.id))) {
66
+ if (node.level !== 'deliverable' || node.struck !== undefined || served.has(node.id))
67
+ continue;
68
+ unserved.push(node.id);
69
+ }
70
+ return { unlinked, orphaned, orphanedBy, dangling, removed, unserved };
58
71
  }
59
72
  //# sourceMappingURL=map-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-links.js","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-links.js","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"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"}