@sdd-method/sdd-cli 2.5.0 → 4.0.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 (163) hide show
  1. package/dist/index.d.ts.map +1 -1
  2. package/dist/index.js +4 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/behaviour-store/archive.d.ts +12 -0
  5. package/dist/lib/behaviour-store/archive.d.ts.map +1 -1
  6. package/dist/lib/behaviour-store/archive.js +13 -0
  7. package/dist/lib/behaviour-store/archive.js.map +1 -1
  8. package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
  9. package/dist/lib/catalogue/aggregate.js +64 -0
  10. package/dist/lib/catalogue/aggregate.js.map +1 -1
  11. package/dist/lib/catalogue/build.d.ts +3 -1
  12. package/dist/lib/catalogue/build.d.ts.map +1 -1
  13. package/dist/lib/catalogue/build.js +45 -2
  14. package/dist/lib/catalogue/build.js.map +1 -1
  15. package/dist/lib/catalogue/builders/adr-governs.d.ts +4 -0
  16. package/dist/lib/catalogue/builders/adr-governs.d.ts.map +1 -0
  17. package/dist/lib/catalogue/builders/adr-governs.js +39 -0
  18. package/dist/lib/catalogue/builders/adr-governs.js.map +1 -0
  19. package/dist/lib/catalogue/builders/adrs.d.ts +2 -0
  20. package/dist/lib/catalogue/builders/adrs.d.ts.map +1 -1
  21. package/dist/lib/catalogue/builders/adrs.js +11 -0
  22. package/dist/lib/catalogue/builders/adrs.js.map +1 -1
  23. package/dist/lib/catalogue/builders/capability-spec.d.ts.map +1 -1
  24. package/dist/lib/catalogue/builders/capability-spec.js +1 -0
  25. package/dist/lib/catalogue/builders/capability-spec.js.map +1 -1
  26. package/dist/lib/catalogue/builders/contract-revisions.d.ts +12 -0
  27. package/dist/lib/catalogue/builders/contract-revisions.d.ts.map +1 -0
  28. package/dist/lib/catalogue/builders/contract-revisions.js +126 -0
  29. package/dist/lib/catalogue/builders/contract-revisions.js.map +1 -0
  30. package/dist/lib/catalogue/builders/data-model.d.ts +73 -0
  31. package/dist/lib/catalogue/builders/data-model.d.ts.map +1 -0
  32. package/dist/lib/catalogue/builders/data-model.js +316 -0
  33. package/dist/lib/catalogue/builders/data-model.js.map +1 -0
  34. package/dist/lib/catalogue/builders/entities-mermaid.d.ts.map +1 -1
  35. package/dist/lib/catalogue/builders/entities-mermaid.js +18 -85
  36. package/dist/lib/catalogue/builders/entities-mermaid.js.map +1 -1
  37. package/dist/lib/catalogue/builders/feature-grounding.d.ts.map +1 -1
  38. package/dist/lib/catalogue/builders/feature-grounding.js +1 -0
  39. package/dist/lib/catalogue/builders/feature-grounding.js.map +1 -1
  40. package/dist/lib/catalogue/builders/features.d.ts +12 -0
  41. package/dist/lib/catalogue/builders/features.d.ts.map +1 -1
  42. package/dist/lib/catalogue/builders/features.js +23 -2
  43. package/dist/lib/catalogue/builders/features.js.map +1 -1
  44. package/dist/lib/catalogue/builders/integration-components.js +49 -5
  45. package/dist/lib/catalogue/builders/integration-components.js.map +1 -1
  46. package/dist/lib/catalogue/builders/journey-requirement.d.ts +22 -0
  47. package/dist/lib/catalogue/builders/journey-requirement.d.ts.map +1 -0
  48. package/dist/lib/catalogue/builders/journey-requirement.js +144 -0
  49. package/dist/lib/catalogue/builders/journey-requirement.js.map +1 -0
  50. package/dist/lib/catalogue/builders/quality-scores.d.ts.map +1 -1
  51. package/dist/lib/catalogue/builders/quality-scores.js +17 -0
  52. package/dist/lib/catalogue/builders/quality-scores.js.map +1 -1
  53. package/dist/lib/catalogue/builders/requirements.d.ts +15 -3
  54. package/dist/lib/catalogue/builders/requirements.d.ts.map +1 -1
  55. package/dist/lib/catalogue/builders/requirements.js +168 -32
  56. package/dist/lib/catalogue/builders/requirements.js.map +1 -1
  57. package/dist/lib/catalogue/canonical-schema.yaml +845 -28
  58. package/dist/lib/catalogue/manifest-loader.d.ts +5 -0
  59. package/dist/lib/catalogue/manifest-loader.d.ts.map +1 -1
  60. package/dist/lib/catalogue/manifest-loader.js +13 -0
  61. package/dist/lib/catalogue/manifest-loader.js.map +1 -1
  62. package/dist/lib/catalogue/retired-catalogues.d.ts +6 -0
  63. package/dist/lib/catalogue/retired-catalogues.d.ts.map +1 -0
  64. package/dist/lib/catalogue/retired-catalogues.js +25 -0
  65. package/dist/lib/catalogue/retired-catalogues.js.map +1 -0
  66. package/dist/lib/catalogue/rubric-coverage-map.yaml +108 -2
  67. package/dist/lib/catalogue/schema-compat.d.ts +1 -1
  68. package/dist/lib/catalogue/schema-compat.js +1 -1
  69. package/dist/lib/catalogue/schema-loader.d.ts +6 -0
  70. package/dist/lib/catalogue/schema-loader.d.ts.map +1 -1
  71. package/dist/lib/catalogue/schema-loader.js +3 -0
  72. package/dist/lib/catalogue/schema-loader.js.map +1 -1
  73. package/dist/lib/catalogue/staleness-verdicts.d.ts.map +1 -1
  74. package/dist/lib/catalogue/staleness-verdicts.js +75 -6
  75. package/dist/lib/catalogue/staleness-verdicts.js.map +1 -1
  76. package/dist/lib/intents/migrate.d.ts.map +1 -1
  77. package/dist/lib/intents/migrate.js +35 -9
  78. package/dist/lib/intents/migrate.js.map +1 -1
  79. package/dist/lib/metamodel/roundtrip-gate.d.ts.map +1 -1
  80. package/dist/lib/metamodel/roundtrip-gate.js +11 -2
  81. package/dist/lib/metamodel/roundtrip-gate.js.map +1 -1
  82. package/dist/lib/metamodel/schema-projection.d.ts +6 -0
  83. package/dist/lib/metamodel/schema-projection.d.ts.map +1 -1
  84. package/dist/lib/metamodel/schema-projection.js +40 -1
  85. package/dist/lib/metamodel/schema-projection.js.map +1 -1
  86. package/dist/lib/metamodel/tql-subset-parser.d.ts +6 -0
  87. package/dist/lib/metamodel/tql-subset-parser.d.ts.map +1 -1
  88. package/dist/lib/metamodel/tql-subset-parser.js +35 -2
  89. package/dist/lib/metamodel/tql-subset-parser.js.map +1 -1
  90. package/dist/lib/structure/apply.d.ts +8 -0
  91. package/dist/lib/structure/apply.d.ts.map +1 -0
  92. package/dist/lib/structure/apply.js +71 -0
  93. package/dist/lib/structure/apply.js.map +1 -0
  94. package/dist/lib/structure/archive.d.ts +21 -0
  95. package/dist/lib/structure/archive.d.ts.map +1 -0
  96. package/dist/lib/structure/archive.js +318 -0
  97. package/dist/lib/structure/archive.js.map +1 -0
  98. package/dist/lib/structure/catalogue.d.ts +33 -0
  99. package/dist/lib/structure/catalogue.d.ts.map +1 -0
  100. package/dist/lib/structure/catalogue.js +183 -0
  101. package/dist/lib/structure/catalogue.js.map +1 -0
  102. package/dist/lib/structure/compose.d.ts +30 -0
  103. package/dist/lib/structure/compose.d.ts.map +1 -0
  104. package/dist/lib/structure/compose.js +174 -0
  105. package/dist/lib/structure/compose.js.map +1 -0
  106. package/dist/lib/structure/effects.d.ts +16 -0
  107. package/dist/lib/structure/effects.d.ts.map +1 -0
  108. package/dist/lib/structure/effects.js +36 -0
  109. package/dist/lib/structure/effects.js.map +1 -0
  110. package/dist/lib/structure/extract.d.ts +19 -0
  111. package/dist/lib/structure/extract.d.ts.map +1 -0
  112. package/dist/lib/structure/extract.js +123 -0
  113. package/dist/lib/structure/extract.js.map +1 -0
  114. package/dist/lib/structure/model.d.ts +57 -0
  115. package/dist/lib/structure/model.d.ts.map +1 -0
  116. package/dist/lib/structure/model.js +212 -0
  117. package/dist/lib/structure/model.js.map +1 -0
  118. package/dist/lib/structure/render.d.ts +11 -0
  119. package/dist/lib/structure/render.d.ts.map +1 -0
  120. package/dist/lib/structure/render.js +242 -0
  121. package/dist/lib/structure/render.js.map +1 -0
  122. package/dist/lib/structure/view.d.ts +36 -0
  123. package/dist/lib/structure/view.d.ts.map +1 -0
  124. package/dist/lib/structure/view.js +301 -0
  125. package/dist/lib/structure/view.js.map +1 -0
  126. package/dist/lib/validate/agreement-evidence.d.ts +58 -0
  127. package/dist/lib/validate/agreement-evidence.d.ts.map +1 -0
  128. package/dist/lib/validate/agreement-evidence.js +216 -0
  129. package/dist/lib/validate/agreement-evidence.js.map +1 -0
  130. package/dist/lib/validate/behaviour-store.d.ts +22 -1
  131. package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
  132. package/dist/lib/validate/behaviour-store.js +516 -28
  133. package/dist/lib/validate/behaviour-store.js.map +1 -1
  134. package/dist/lib/validate/dispatch.d.ts.map +1 -1
  135. package/dist/lib/validate/dispatch.js +21 -0
  136. package/dist/lib/validate/dispatch.js.map +1 -1
  137. package/dist/lib/validate/feature-spec-pointers.d.ts +12 -0
  138. package/dist/lib/validate/feature-spec-pointers.d.ts.map +1 -0
  139. package/dist/lib/validate/feature-spec-pointers.js +175 -0
  140. package/dist/lib/validate/feature-spec-pointers.js.map +1 -0
  141. package/dist/lib/validate/journey-impact.d.ts +10 -0
  142. package/dist/lib/validate/journey-impact.d.ts.map +1 -0
  143. package/dist/lib/validate/journey-impact.js +193 -0
  144. package/dist/lib/validate/journey-impact.js.map +1 -0
  145. package/dist/lib/validate/structural-model.d.ts +11 -0
  146. package/dist/lib/validate/structural-model.d.ts.map +1 -0
  147. package/dist/lib/validate/structural-model.js +265 -0
  148. package/dist/lib/validate/structural-model.js.map +1 -0
  149. package/dist/maintain-version.json +2 -2
  150. package/dist/verbs/change.d.ts +3 -0
  151. package/dist/verbs/change.d.ts.map +1 -0
  152. package/dist/verbs/change.js +15 -0
  153. package/dist/verbs/change.js.map +1 -0
  154. package/dist/verbs/structure.d.ts +10 -0
  155. package/dist/verbs/structure.d.ts.map +1 -0
  156. package/dist/verbs/structure.js +124 -0
  157. package/dist/verbs/structure.js.map +1 -0
  158. package/dist/verify-version.json +2 -2
  159. package/package.json +1 -1
  160. package/scripts/author-version.json +2 -2
  161. package/scripts/build-persona-package.mjs +5 -0
  162. package/scripts/maintain-version.json +2 -2
  163. package/scripts/verify-version.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"quality-scores.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/quality-scores.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-scores.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/quality-scores.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uBAAuB;AACvB,6CAA6C;AAC7C,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,4DAA4D;AAC5D,EAAE;AACF,4EAA4E;AAC5E,gFAAgF;AAChF,+EAA+E;AAC/E,gFAAgF;AAChF,iFAAiF;AACjF,iEAAiE;AACjE,4EAA4E;AAC5E,kFAAkF;AAClF,yEAAyE;AACzE,qEAAqE;AACrE,+EAA+E;AAC/E,gFAAgF;AAChF,yDAAyD;AACzD,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,8EAA8E;AAC9E,kCAAkC;AAClC,EAAE;AACF,8EAA8E;AAC9E,yEAAyE;AACzE,mEAAmE;AACnE,2EAA2E;AAC3E,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,QAAQ;AAER,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAyB1C,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,gBAAgB;IAChB,aAAa;IACb,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAgCH,MAAM,eAAe,GAAsC,IAAI,GAAG,CAAC;IACjE;QACE,sBAAsB;QACtB,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE;KACrG;IACD;QACE,yBAAyB;QACzB,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE;KAC7F;IACD;QACE,mCAAmC;QACnC,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,mCAAmC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE;KAChH;CACF,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAE/D,MAAM,qBAAqB,GAAgC,IAAI,GAAG,CAAC;IACjE,CAAC,aAAa,EAAE,KAAK,CAAC;IACtB,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAChC,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,qBAAqB,EAAE,QAAQ,CAAC;IACjC,CAAC,gBAAgB,EAAE,QAAQ,CAAC;IAC5B,CAAC,mBAAmB,EAAE,YAAY,CAAC;IACnC,CAAC,uBAAuB,EAAE,YAAY,CAAC;IACvC,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,oBAAoB,EAAE,SAAS,CAAC;IACjC,CAAC,aAAa,EAAE,QAAQ,CAAC;IACzB,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,yBAAyB,EAAE,aAAa,CAAC;CAC3C,CAAC,CAAC;AAEH,gFAAgF;AAChF,6EAA6E;AAC7E,uEAAuE;AACvE,4EAA4E;AAC5E,gEAAgE;AAChE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7F,iFAAiF;AACjF,MAAM,kBAAkB,GAAqC;IAC3D,aAAa,EAAE,MAAM;IACrB,kBAAkB,EAAE,WAAW;IAC/B,gBAAgB,EAAE,cAAc;CACjC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CAC5D,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,GAAG,GAAG,CAAC,CAAU,EAAiB,EAAE,CACxC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEvE,MAAM,GAAG,GAAG,CAAC,CAAU,EAAiB,EAAE;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,UAAU,CAAC,CAAU;IAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,KAA8B,EAAE,OAAgC;IAClF,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IAChD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;IAClF,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,KAA8B,EAC9B,OAAgC;IAEhC,MAAM,IAAI,GAAG,OAAO,CAAC,sBAAsB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAClD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAA8B,EAC9B,OAAgC;IAEhC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAC3F,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,QAAQ,CAAC;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,KAA8B,EAC9B,OAAgC,EAChC,cAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAChC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAClC,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAChD,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACrD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,cAAc,CAAC;IAC/E,OAAO;QACL,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,IAAI;QACzB,qBAAqB,EAAE,IAAI;KAC5B,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CACtC,CAAC;KACE,IAAI,EAAE;KACN,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC;KACjC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;KACvB,WAAW,EAAE,CAAC;AAGnB;;;;;;;;;;;;;;;GAeG;AACH,SAAS,YAAY,CACnB,KAA8B,EAC9B,OAAgC;IAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACzC,MAAM,MAAM,GACV,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QACpE,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,OAAgC,EAChC,MAA+B;IAE/B,MAAM,GAAG,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACnD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAGD,8EAA8E;AAC9E,SAAS,UAAU,CACjB,KAAc,EACd,GAUC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;IAC7E,MAAM,cAAc,GAClB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;IACzF,MAAM,GAAG,GAAiB;QACxB,EAAE;QACF,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,YAAY,EAAE,QAAQ;QACtB,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,IAAI;QACvB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxB,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,WAAW,EAAE,GAAG,CAAC,UAAU;QAC3B,eAAe,EAAE,cAAc;QAC/B,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,GAAG,CAAC,UAAU;QAC5B,mBAAmB,EAAE,IAAI;QACzB,qBAAqB,EAAE,IAAI;QAC3B,UAAU,EAAE,CAAC;QACb,mBAAmB,EAAE,KAAK;QAC1B,sBAAsB,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,KAAK;QACjB,aAAa,EAAE,IAAI;KACpB,CAAC;IACF,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9B,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC;gBACR,EAAE,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE;gBAC5B,gBAAgB,EAAE,EAAE;gBACpB,SAAS,EAAE,GAAG,CAAC,QAAQ;gBACvB,WAAW,EAAE,GAAG,CAAC,UAAU;gBAC3B,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;gBACvB,gBAAgB,EAAE,IAAI;gBACtB,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAgC;IAEhC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAE5C,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACxD,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,sEAAsE;QACtE,8EAA8E;QAC9E,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,MAAM,sBAAsB,GAAmB,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAEpD,IAAI,GAAY,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qEAAqE;YACrE,yEAAyE;YACzE,yEAAyE;YACzE,uEAAuE;YACvE,+CAA+C;YAC/C,sEAAsE;YACtE,uEAAuE;YACvE,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,wEAAwE;YACxE,sEAAsE;YACtE,yBAAyB;YACzB,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,2BAA2B,MAAM,CAAE,CAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,yLAAyL,CACtQ,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAE7B,4EAA4E;QAC5E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,QAAQ,IAAI,YAAY,CAAC;QAC1C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACnD,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,4BAA4B,QAAQ,4BAA4B,YAAY,kGAAkG,CACrL,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;QAE/C,mDAAmD;QACnD,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrB,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,4BAA4B,QAAQ,2GAA2G,CACtJ,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;YAC7C,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBACjC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,OAAO,CAAC;gBACrD,qEAAqE;gBACrE,uEAAuE;gBACvE,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEvE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACjC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;4BACrC,QAAQ,EAAE,GAAG,QAAQ,IAAI,GAAG,EAAE;4BAC9B,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,SAAS;4BACT,UAAU;4BACV,QAAQ,EAAE,YAAY;4BACtB,SAAS;4BACT,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;4BACzC,UAAU,EAAE,cAAc;4BAC1B,KAAK;yBACN,CAAC,CAAC;wBACH,IAAI,KAAK,EAAE,CAAC;4BACV,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAC9B,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC7C,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,yEAAyE;oBACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,SAAS,CAA6B,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpG,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC1C,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;wBACxB,QAAQ,CAAC,GAAG,CACV,UAAU,EACV,GAAG,GAAG,KAAK,OAAO,4HAA4H,CAC/I,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;oBAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;wBACpD,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,iBAAiB;wBAC9D,SAAS;wBACT,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBACpC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,YAAY;wBACnD,SAAS;wBACT,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC9D,UAAU,EAAE,cAAc;wBAC1B,KAAK;qBACN,CAAC,CAAC;oBACH,IAAI,KAAK,EAAE,CAAC;wBACV,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9B,sBAAsB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,QAAQ,CAAC,GAAG,CACV,UAAU,EACV,GAAG,GAAG,iBAAiB,QAAQ,8OAA8O,CAC9Q,CAAC;YACF,SAAS;QACX,CAAC;QAED,wEAAwE;QACxE,EAAE;QACF,qEAAqE;QACrE,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,wEAAwE;QACxE,wEAAwE;QACxE,qEAAqE;QACrE,uBAAuB;QACvB,EAAE;QACF,yEAAyE;QACzE,mEAAmE;QACnE,sDAAsD;QACtD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAC3C,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YACnB,QAAQ,CAAC,CAAC,CAAC;YACX,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC5C,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS,CAAC,4CAA4C;QACnF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,QAAQ,UAAU,CAAC,MAAM,0CAA0C,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iMAAiM,CAChT,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,SAAS;QACnC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE3C,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAElC,2EAA2E;YAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAG,MAAM;gBACzB,CAAC,CAAE,QAAQ,CAAC,SAAS,CAA6B;gBAClD,CAAC,CAAC,QAAQ,CAAC;YAEb,mEAAmE;YACnE,sEAAsE;YACtE,kEAAkE;YAClE,sEAAsE;YACtE,wEAAwE;YACxE,qEAAqE;YACrE,sEAAsE;YACtE,wEAAwE;YACxE,oEAAoE;YACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,QAAQ;gBACtB,CAAC,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC;gBAChD,CAAC,CAAC,YAAY,CAAC;YACjB,IAAI,MAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjD,QAAQ,CAAC,GAAG,CACV,UAAU,EACV,GAAG,GAAG,KAAK,QAAQ,QAAQ,OAAO,CAAC,MAAM,kQAAkQ,CAC5S,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,mEAAmE;YACnE,mEAAmE;YACnE,wDAAwD;YACxD,wEAAwE;YACxE,qEAAqE;YACrE,oEAAoE;YACpE,qEAAqE;YACrE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,YAAY,CAAC,EAAE,CAAC;oBAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;oBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;wBAC9E,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,KAAK,QAAQ,yFAAyF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,uKAAuK,CAC5S,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC;YACvD,IAAI,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YACzE,IAAI,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,GAAG,GACP,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;wBAC5C,UAAU,GAAG,OAAO,CAAC;wBACrB,gBAAgB,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,GAAkB,IAAI,CAAC;YAC/B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC7B,IAAI,GAAG,OAAO,CAAC;oBACf,IAAI,OAAO,KAAK,kBAAkB,EAAE,CAAC;wBACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;wBACvD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BAC/F,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,KAAK,QAAQ,gKAAgK,CACpL,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,KAAK,QAAQ,cAAc,OAAO,2CAA2C,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mLAAmL,CACnS,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5E,MAAM,cAAc,GAClB,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;YAEjF,MAAM,eAAe,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACrD,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAC/C,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAChC,CAAC,CAAC,IAAI,CAAC;YAET,MAAM,EAAE,GAAG,GAAG,QAAQ,KAAK,UAAU,KAAK,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAEjE,aAAa,CAAC,IAAI,CAAC;gBACjB,EAAE;gBACF,SAAS,EAAE,QAAQ;gBACnB,YAAY,EAAE,UAAU;gBACxB,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,UAAU;gBACvB,IAAI;gBACJ,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAC9C,iBAAiB,EAAE,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBACrF,mEAAmE;gBACnE,wEAAwE;gBACxE,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAClE,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAChE,eAAe,EAAE,cAAc;gBAC/B,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAC5C,gBAAgB,EAAE,eAAe;gBACjC,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC;gBAClD,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;gBACzC,mBAAmB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC;gBACzD,sBAAsB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAC/D,MAAM,EAAE,KAAK;gBACb,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,sDAAsD;YACtD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtD,sBAAsB,CAAC,IAAI,CAAC;wBAC1B,EAAE,EAAE,GAAG,EAAE,KAAK,SAAS,CAAC,MAAM,CAAC,EAAE;wBACjC,gBAAgB,EAAE,EAAE;wBACpB,SAAS,EAAE,QAAQ;wBACnB,WAAW,EAAE,UAAU;wBACvB,UAAU,EAAE,SAAS;wBACrB,aAAa,EAAE,MAAM;wBACrB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC;wBAC5B,gBAAgB,EAAE,IAAI;wBACtB,aAAa,EAAE,IAAI;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtF,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,qEAAqE;IACrE,6EAA6E;IAC7E,wBAAwB;IACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,iCAAiC,EAAE,0MAA0M,CAC9O,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,2EAA2E;IAC3E,wEAAwE;IACxE,4BAA4B;IAC5B,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,UAAU,EACV,mBAAmB,gBAAgB,wLAAwL,CAC5N,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,SAAkC,EAAE,QAAqB;IACrG,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAE,QAAQ,CAAC,SAAS,CAA6B,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjH,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtD,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACvG,CAAC;IACD,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAAE,SAAS;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC;QAC/B,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,GAAG,CACV,YAAY,EACZ,GAAG,GAAG,KAAK,QAAQ,sBAAsB,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,wGAAwG,EACvL,MAAM,EACN,gBAAgB,GAAG,IAAI,QAAQ,EAAE,CAClC,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,GAAG,KAAK,QAAQ,cAAc,CAAC,kEAAkE,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC;YACnL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,21 +1,33 @@
1
1
  import type { CatalogueRow } from "../csv-writer.js";
2
2
  import type { FindingsLog } from "../findings.js";
3
- import { observedIn, parseRequirements } from "../../behaviour-store/archive.js";
4
- export { observedIn, parseRequirements };
3
+ import { observedIn, parseRequirements, resolveImplements } from "../../behaviour-store/archive.js";
4
+ export { observedIn, parseRequirements, resolveImplements };
5
5
  export interface RequirementsBuildInputs {
6
6
  readonly sddPath: string;
7
7
  readonly findings: FindingsLog;
8
8
  readonly knownFeatureIds: ReadonlySet<string>;
9
9
  readonly knownRepoIds: ReadonlySet<string>;
10
+ /**
11
+ * The SDD the store belongs to. A change's id is `<sdd_id>::<change directory>` (schema 5.0.0): a change name is
12
+ * the store's own, and two SDDs may each have a change of the same name, so the SDD is part of its identity from
13
+ * construction, not a stamp added at aggregation.
14
+ */
15
+ readonly sddId: string;
10
16
  }
11
17
  export interface RequirementsBuildOutput {
12
18
  readonly requirements: CatalogueRow[];
13
19
  readonly lineage: CatalogueRow[];
14
- readonly status: CatalogueRow[];
20
+ readonly revisions: CatalogueRow[];
21
+ readonly assertions: CatalogueRow[];
22
+ readonly effects: CatalogueRow[];
15
23
  readonly changes: CatalogueRow[];
16
24
  readonly workOrders: CatalogueRow[];
17
25
  readonly workItems: CatalogueRow[];
18
26
  }
27
+ /** `sha256:` of a requirement block, its lines trimmed and blank lines dropped (M-ADR 0230 §4.7). */
28
+ export declare function requirementDigest(spec: string, name: string): string | undefined;
29
+ /** A revision's id: <requirement_id>@<the digest's first 12 hex digits>. */
30
+ export declare function revisionId(requirementId: string, digest: string): string;
19
31
  /** Archive directories in archive order; same-day archives the history cannot order are reported. */
20
32
  export declare function archiveOrder(sddPath: string, names: readonly string[], findings: FindingsLog): Promise<string[]>;
21
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/requirements.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAiB,iBAAiB,EAA+B,MAAM,kCAAkC,CAAC;AAE7H,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAEzC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;CACpC;AA0FD,qGAAqG;AACrG,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMtH;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAczD;AAID,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAsKzG"}
1
+ {"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/requirements.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,UAAU,EAAiB,iBAAiB,EAAe,iBAAiB,EAAkB,MAAM,kCAAkC,CAAC;AAMhJ,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE,CAAC;CACpC;AAYD,qGAAqG;AACrG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKhF;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAsFD,qGAAqG;AACrG,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAMtH;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAczD;AAcD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CA+PzG"}
@@ -7,18 +7,28 @@
7
7
  // requirements one row per `### Requirement:` in a living spec (stage living), keyed by the spec's
8
8
  // directory name, which is the catalogue feature id; plus one per requirement an open,
9
9
  // agreed change ADDS (stage agreed).
10
- // requirement_lineage each archived change, in archive order, whose delta ADDED, MODIFIED or RENAMED a
11
- // requirement that is current now, under any name a later RENAMED gave it. A change carrying
10
+ // requirement_lineage each archived change, in archive order, whose delta ADDED, MODIFIED, RENAMED or REMOVED a
11
+ // requirement, under any name a later RENAMED gave it. A change carrying
12
12
  // baseline-evidence.md is a baseline. Statuses follow renames the same way.
13
+ // A requirement REMOVED by an archived change and not in a living spec now is kept in
14
+ // requirements as stage retired (schema 4.3.0), so its lineage ends in the REMOVED row;
15
+ // it carries no status.
13
16
  // changes each change in the store, open or archived (M-ADR 0223 §4.2): its directory name, its
14
17
  // undated name, kind, status (archived, or its agreement record's) and verdict.
15
18
  // change_work_order per (change, repository): the record's work order, agreed or completed.
16
19
  // change_work_item per (change, work item): the ids its proposal's `## Work Items` section lists, keyed by
17
20
  // the undated name so the row survives archive.
18
- // requirement_status per (requirement, repository): observed from a baseline's `**Observed in:**` line;
21
+ // requirement_revisions one row per distinct text of a requirement (schema 6.0.0, M-ADR 0230 §4.7, Proposed): the
22
+ // living spec's is current, an agreed open change's ADDED or MODIFIED block intended, an
23
+ // archived change's block the living spec no longer holds history. Identified by its digest.
24
+ // requirement_assertions per (revision, repository): observed from a baseline's `**Observed in:**` line;
19
25
  // declared-shipped from an archived change whose agreement record's verdict is PASS, through
20
- // its work orders' `implements` lists; agreed from an open change whose record is agreed.
21
- // The latest event wins, archived changes in archive order, then open changes.
26
+ // its work orders' `implements` lists; each about the revision that change's delta states, so
27
+ // evidence about one revision is never read as evidence about another. The latest wins, in
28
+ // archive order. An agreed change is not an assertion: it is an intended revision.
29
+ // change_effects per (change, element): each requirement a change's delta writes, from its base revision to
30
+ // its target, open and archived changes alike; and each structural element its structural
31
+ // deltas write (an archived change's from its effect record, structure/applied.yaml).
22
32
  //
23
33
  // Archive order is ../../behaviour-store/archive.ts's; same-day archives the history cannot order are a finding.
24
34
  //
@@ -26,8 +36,25 @@
26
36
  import { readdir, readFile, stat } from "node:fs/promises";
27
37
  import { join } from "node:path";
28
38
  import { parse as parseYaml } from "yaml";
29
- import { observedIn, orderArchives, parseRequirements, renamePairs } from "../../behaviour-store/archive.js";
30
- export { observedIn, parseRequirements };
39
+ import { createHash } from "node:crypto";
40
+ import { observedIn, orderArchives, parseRequirements, renamePairs, resolveImplements } from "../../behaviour-store/archive.js";
41
+ import { effectsOf, parseAppliedRecord } from "../../structure/effects.js";
42
+ import { APPLIED_FILE, loadChangeStructure, loadModel } from "../../structure/model.js";
43
+ import { viewOf } from "../../structure/view.js";
44
+ import { requirementBlock } from "../../validate/agreement-evidence.js";
45
+ export { observedIn, parseRequirements, resolveImplements };
46
+ /** `sha256:` of a requirement block, its lines trimmed and blank lines dropped (M-ADR 0230 §4.7). */
47
+ export function requirementDigest(spec, name) {
48
+ const block = requirementBlock(spec, name);
49
+ if (block === null)
50
+ return undefined;
51
+ const normal = block.split("\n").map((l) => l.trim()).filter((l) => l !== "").join("\n");
52
+ return `sha256:${createHash("sha256").update(normal, "utf8").digest("hex")}`;
53
+ }
54
+ /** A revision's id: <requirement_id>@<the digest's first 12 hex digits>. */
55
+ export function revisionId(requirementId, digest) {
56
+ return `${requirementId}@${digest.slice("sha256:".length, "sha256:".length + 12)}`;
57
+ }
31
58
  const STORE = "openspec";
32
59
  const AGREEMENTS = join("docs", "agreements");
33
60
  async function isDir(p) {
@@ -62,8 +89,10 @@ async function deltaOf(changeDir) {
62
89
  if (text === null)
63
90
  continue;
64
91
  for (const r of parseRequirements(text)) {
65
- if (r.operation)
66
- out.push({ feature, name: r.name, operation: r.operation, file, scenarios: r.scenarios });
92
+ if (!r.operation)
93
+ continue;
94
+ const digest = r.operation === "ADDED" || r.operation === "MODIFIED" ? requirementDigest(text, r.name) : undefined;
95
+ out.push({ feature, name: r.name, operation: r.operation, file, scenarios: r.scenarios, ...(digest ? { digest } : {}) });
67
96
  }
68
97
  }
69
98
  return out;
@@ -123,13 +152,24 @@ export function parseWorkItems(proposal) {
123
152
  return ids;
124
153
  }
125
154
  const rel = (sddPath, p) => p.slice(sddPath.length + 1).split("\\").join("/");
155
+ /** One effect per (change, element): a change that renames and modifies a requirement records MODIFIED, as its lineage does. */
156
+ function dedupeEffects(rows) {
157
+ const byId = new Map();
158
+ for (const r of rows) {
159
+ const prior = byId.get(String(r["id"]));
160
+ byId.set(String(r["id"]), prior && r["operation"] === "RENAMED" ? prior : r);
161
+ }
162
+ return [...byId.values()];
163
+ }
126
164
  export async function buildRequirements(inputs) {
127
165
  const { sddPath, findings } = inputs;
128
- const empty = { requirements: [], lineage: [], status: [], changes: [], workOrders: [], workItems: [] };
166
+ const scoped = (change) => `${inputs.sddId}::${change}`;
167
+ const empty = { requirements: [], lineage: [], revisions: [], assertions: [], effects: [], changes: [], workOrders: [], workItems: [] };
129
168
  const store = join(sddPath, STORE);
130
169
  if (!(await isDir(store)))
131
170
  return empty;
132
171
  const requirements = new Map();
172
+ const livingDigest = new Map();
133
173
  const unknownFeatures = new Set();
134
174
  const known = (feature) => {
135
175
  if (inputs.knownFeatureIds.has(feature))
@@ -150,17 +190,35 @@ export async function buildRequirements(inputs) {
150
190
  continue;
151
191
  }
152
192
  requirements.set(id, { id, feature_id: feature, name: r.name, stage: "living", spec_path: rel(sddPath, file), scenario_count: r.scenarios, source_sdd_id: "", platform_sdd_id: "" });
193
+ const digest = requirementDigest(text, r.name);
194
+ if (digest)
195
+ livingDigest.set(id, digest);
153
196
  }
154
197
  }
155
198
  const events = [];
199
+ const revisions = new Map();
200
+ const requirementEffects = [];
201
+ const structureEffects = [];
202
+ const effectRow = (changeId, kind, element, operation, base, target) => ({
203
+ id: `${changeId}__${kind}__${element}`,
204
+ change_id: changeId,
205
+ element_kind: kind,
206
+ element_id: element,
207
+ operation,
208
+ base_revision: base,
209
+ target_revision: target,
210
+ source_sdd_id: "",
211
+ platform_sdd_id: "",
212
+ });
156
213
  const lineage = [];
157
214
  const unknownRepos = new Set();
158
215
  const changes = [];
159
216
  const workOrders = [];
160
217
  const workItems = [];
161
218
  // The change itself, its work orders and its work items (M-ADR 0223 §4.2).
162
- const recordChange = async (id, name, kind, status, archivedOn, changeDir, record) => {
219
+ const recordChange = async (localId, name, kind, status, archivedOn, changeDir, record) => {
163
220
  const verdict = record?.verdict?.result === "PASS" || record?.verdict?.result === "FAIL" ? record.verdict.result : "";
221
+ const id = scoped(localId);
164
222
  changes.push({ id, name, change_kind: kind, status, archived_on: archivedOn, verdict, source_sdd_id: "", platform_sdd_id: "" });
165
223
  for (const wo of record?.work_orders ?? []) {
166
224
  if (!wo.repo)
@@ -174,7 +232,7 @@ export async function buildRequirements(inputs) {
174
232
  }
175
233
  const proposal = await readText(join(changeDir, "proposal.md"));
176
234
  for (const item of proposal === null ? [] : parseWorkItems(proposal)) {
177
- workItems.push({ id: `${name}__${item}`, change_id: id, change_name: name, work_item_id: item, source_sdd_id: "", platform_sdd_id: "" });
235
+ workItems.push({ id: `${scoped(name)}__${item}`, change_id: id, change_name: name, work_item_id: item, source_sdd_id: "", platform_sdd_id: "" });
178
236
  }
179
237
  };
180
238
  const pushEvent = (e) => {
@@ -182,7 +240,8 @@ export async function buildRequirements(inputs) {
182
240
  unknownRepos.add(e.repo);
183
241
  return;
184
242
  }
185
- if (requirements.has(e.requirementId))
243
+ // A retired requirement has no status: it is not where any repository's behaviour is.
244
+ if (requirements.has(e.requirementId) && requirements.get(e.requirementId)["stage"] !== "retired")
186
245
  events.push(e);
187
246
  };
188
247
  // 2. Archived changes, in archive order. A requirement is named as it was when each change archived, so its
@@ -201,10 +260,20 @@ export async function buildRequirements(inputs) {
201
260
  await recordChange(dir, change, kind, "archived", archivedOn, changeDir, await agreementRecord(sddPath, change));
202
261
  const delta = await deltaOf(changeDir);
203
262
  for (const d of delta) {
204
- if (d.operation === "REMOVED")
205
- continue;
206
- archived.push({ index, feature: d.feature, name: d.name, lineage: { change_id: dir, change_kind: kind, operation: d.operation, archived_on: archivedOn, source_sdd_id: "", platform_sdd_id: "" } });
263
+ archived.push({
264
+ index,
265
+ feature: d.feature,
266
+ name: d.name,
267
+ lineage: { change_id: scoped(dir), change_kind: kind, operation: d.operation, archived_on: archivedOn, source_sdd_id: "", platform_sdd_id: "" },
268
+ ...(d.operation === "REMOVED" ? { removedIn: rel(sddPath, d.file) } : {}),
269
+ });
270
+ archived.push({ index, feature: d.feature, name: d.name, effect: { change: scoped(dir), operation: d.operation, ...(d.digest ? { digest: d.digest } : {}) } });
207
271
  }
272
+ // Structural effects, from the effect record the method's archive wrote (M-ADR 0230 §4.6).
273
+ const applied = await readText(join(changeDir, "structure", APPLIED_FILE));
274
+ const rec = applied === null ? null : parseAppliedRecord(applied);
275
+ for (const e of rec?.effects ?? [])
276
+ structureEffects.push(effectRow(scoped(dir), "structure", e.element, e.operation, e.base ?? "", e.target ?? ""));
208
277
  if (evidence !== null) {
209
278
  const repos = observedIn(evidence);
210
279
  if (repos.length === 0) {
@@ -212,8 +281,8 @@ export async function buildRequirements(inputs) {
212
281
  }
213
282
  for (const repo of repos)
214
283
  for (const d of delta)
215
- if (d.operation !== "REMOVED")
216
- archived.push({ index, feature: d.feature, name: d.name, event: { repo, status: "observed", basis: dir } });
284
+ if (d.digest)
285
+ archived.push({ index, feature: d.feature, name: d.name, event: { repo, status: "observed", basis: scoped(dir), digest: d.digest } });
217
286
  continue;
218
287
  }
219
288
  const record = await agreementRecord(sddPath, change);
@@ -223,12 +292,17 @@ export async function buildRequirements(inputs) {
223
292
  if (!wo.repo)
224
293
  continue;
225
294
  for (const name of wo.implements ?? []) {
226
- const match = delta.filter((d) => d.name === name && d.operation !== "REMOVED");
227
- if (match.length === 0) {
295
+ const { matches, ambiguous } = resolveImplements(delta.filter((d) => d.operation !== "REMOVED"), name);
296
+ const match = matches;
297
+ if (ambiguous.length > 0) {
298
+ findings.add("divergence", `${AGREEMENTS}/${change}.yaml: work order for ${wo.repo} implements "${name}", a name ${ambiguous.length} features in the change share (${ambiguous.join(", ")}); qualify it as <feature>::<name>. No status is derived from it`);
299
+ }
300
+ else if (match.length === 0) {
228
301
  findings.add("convention", `${AGREEMENTS}/${change}.yaml: work order for ${wo.repo} implements "${name}", which the change's delta does not name`);
229
302
  }
230
303
  for (const d of match)
231
- archived.push({ index, feature: d.feature, name: d.name, event: { repo: wo.repo, status: "declared-shipped", basis: dir } });
304
+ if (d.digest)
305
+ archived.push({ index, feature: d.feature, name: d.name, event: { repo: wo.repo, status: "declared-shipped", basis: scoped(dir), digest: d.digest } });
232
306
  }
233
307
  }
234
308
  }
@@ -240,11 +314,37 @@ export async function buildRequirements(inputs) {
240
314
  n = r.to;
241
315
  return `${feature}::${n}`;
242
316
  };
317
+ // A requirement removed and not living now is retired: kept, so its lineage can end in the removal.
318
+ for (const a of archived) {
319
+ if (!a.removedIn)
320
+ continue;
321
+ const id = current(a.feature, a.name, a.index);
322
+ if (requirements.has(id) || !known(a.feature))
323
+ continue;
324
+ requirements.set(id, { id, feature_id: a.feature, name: id.slice(a.feature.length + 2), stage: "retired", spec_path: a.removedIn, scenario_count: 0, source_sdd_id: "", platform_sdd_id: "" });
325
+ }
243
326
  // One lineage row per (requirement, change): a change that renames and modifies a requirement records MODIFIED,
244
327
  // the behaviour change, and its delta still shows the rename.
245
328
  const lineageById = new Map();
329
+ // Revisions in archive order: each ADDED or MODIFIED block is a revision its change introduced; the last one of a
330
+ // requirement is the base of the next change's effect on it.
331
+ const latest = new Map();
246
332
  for (const a of archived) {
247
333
  const requirementId = current(a.feature, a.name, a.index);
334
+ if (a.effect) {
335
+ if (!requirements.has(requirementId))
336
+ continue;
337
+ const base = latest.get(requirementId);
338
+ const target = a.effect.digest ? revisionId(requirementId, a.effect.digest) : undefined;
339
+ if (a.effect.digest && target) {
340
+ revisions.set(target, { id: target, requirement_id: requirementId, digest: a.effect.digest, state: "history", change_id: a.effect.change, source_sdd_id: "", platform_sdd_id: "" });
341
+ latest.set(requirementId, target);
342
+ }
343
+ if (a.effect.operation === "REMOVED")
344
+ latest.delete(requirementId);
345
+ requirementEffects.push(effectRow(a.effect.change, "requirement", requirementId, a.effect.operation, base ?? "", a.effect.operation === "RENAMED" ? base ?? "" : target ?? ""));
346
+ continue;
347
+ }
248
348
  if (a.event)
249
349
  pushEvent({ requirementId, ...a.event });
250
350
  else if (a.lineage && requirements.has(requirementId)) {
@@ -255,6 +355,12 @@ export async function buildRequirements(inputs) {
255
355
  }
256
356
  }
257
357
  lineage.push(...lineageById.values());
358
+ // The living text is the current revision, whichever change introduced it (none, for an edit no change made).
359
+ for (const [id, digest] of livingDigest) {
360
+ const rid = revisionId(id, digest);
361
+ const prior = revisions.get(rid);
362
+ revisions.set(rid, { id: rid, requirement_id: id, digest, state: "current", change_id: prior?.["change_id"] ?? "", source_sdd_id: "", platform_sdd_id: "" });
363
+ }
258
364
  // 3. Open changes whose agreement record is agreed.
259
365
  for (const dir of (await dirs(join(store, "changes"))).filter((d) => d !== "archive")) {
260
366
  const record = await agreementRecord(sddPath, dir);
@@ -265,40 +371,70 @@ export async function buildRequirements(inputs) {
265
371
  openStatus = "proposed";
266
372
  }
267
373
  await recordChange(dir, dir, openKind, openStatus, "", join(store, "changes", dir), record);
268
- if (record?.status !== "agreed")
269
- continue;
270
374
  const delta = await deltaOf(join(store, "changes", dir));
375
+ const agreed = record?.status === "agreed";
271
376
  for (const d of delta) {
272
377
  const id = `${d.feature}::${d.name}`;
273
- if (d.operation === "ADDED" && !requirements.has(id) && known(d.feature)) {
378
+ if (agreed && d.operation === "ADDED" && !requirements.has(id) && known(d.feature)) {
274
379
  requirements.set(id, { id, feature_id: d.feature, name: d.name, stage: "agreed", spec_path: rel(sddPath, d.file), scenario_count: d.scenarios, source_sdd_id: "", platform_sdd_id: "" });
275
380
  }
381
+ // An effect for every element the change writes: a requirement a change not yet agreed ADDs has no
382
+ // requirements row yet, and still has its effect (change_effects.element_id names no foreign key).
383
+ if (!requirements.has(id) && !(d.operation === "ADDED" && known(d.feature)))
384
+ continue;
385
+ const living = livingDigest.get(id);
386
+ const base = living ? revisionId(id, living) : "";
387
+ const target = d.digest ? revisionId(id, d.digest) : "";
388
+ // An agreed change's text is an intended revision; one not yet agreed has an effect and no revision row.
389
+ if (agreed && d.digest && !revisions.has(target)) {
390
+ revisions.set(target, { id: target, requirement_id: id, digest: d.digest, state: "intended", change_id: scoped(dir), source_sdd_id: "", platform_sdd_id: "" });
391
+ }
392
+ requirementEffects.push(effectRow(scoped(dir), "requirement", id, d.operation, d.operation === "ADDED" ? "" : base, d.operation === "REMOVED" ? "" : d.operation === "RENAMED" ? base : target));
276
393
  }
394
+ if (!agreed)
395
+ continue;
277
396
  for (const wo of record.work_orders ?? []) {
278
397
  if (!wo.repo)
279
398
  continue;
280
399
  for (const name of wo.implements ?? []) {
281
- for (const d of delta.filter((x) => x.name === name && x.operation !== "REMOVED")) {
282
- pushEvent({ requirementId: `${d.feature}::${d.name}`, repo: wo.repo, status: "agreed", basis: dir });
400
+ const { ambiguous } = resolveImplements(delta.filter((x) => x.operation !== "REMOVED"), name);
401
+ if (ambiguous.length > 0) {
402
+ findings.add("divergence", `${AGREEMENTS}/${dir}.yaml: work order for ${wo.repo} implements "${name}", a name ${ambiguous.length} features in the change share (${ambiguous.join(", ")}); qualify it as <feature>::<name>`);
283
403
  }
284
404
  }
285
405
  }
286
406
  }
407
+ // Open changes' structural effects, against the model as it stands (M-ADR 0230 §4.4, §4.7).
408
+ {
409
+ const problems = [];
410
+ const files = await loadModel(sddPath, problems);
411
+ const view = viewOf(files ?? [], problems);
412
+ for (const dir of (await dirs(join(store, "changes"))).filter((d) => d !== "archive")) {
413
+ const s = await loadChangeStructure(sddPath, dir, problems);
414
+ for (const e of effectsOf(s, view))
415
+ structureEffects.push(effectRow(scoped(dir), "structure", e.element, e.operation, e.base ?? "", e.target ?? ""));
416
+ }
417
+ }
287
418
  for (const f of unknownFeatures)
288
419
  findings.add("convention", `${STORE}/: a spec keyed "${f}" names no catalogue feature, so its requirements are not catalogued (M-ADR 0221 §4.7)`);
289
420
  for (const r of unknownRepos)
290
- findings.add("convention", `${STORE}/: a status names repository "${r}", which the catalogue does not hold; no status row`);
291
- // Latest event per (requirement, repository) wins.
292
- const status = new Map();
421
+ findings.add("convention", `${STORE}/: an assertion names repository "${r}", which the catalogue does not hold; no assertion row`);
422
+ // Latest assertion per (revision, repository) wins.
423
+ const assertions = new Map();
293
424
  for (const e of events) {
294
- const id = `${e.requirementId}__${e.repo}`;
295
- status.set(id, { id, requirement_id: e.requirementId, repo_id: e.repo, status: e.status, basis: e.basis, source_sdd_id: "", platform_sdd_id: "" });
425
+ const rid = revisionId(e.requirementId, e.digest);
426
+ if (!revisions.has(rid))
427
+ continue;
428
+ const id = `${rid}__${e.repo}`;
429
+ assertions.set(id, { id, revision_id: rid, requirement_id: e.requirementId, repo_id: e.repo, kind: e.status, basis: e.basis, source_sdd_id: "", platform_sdd_id: "" });
296
430
  }
297
431
  const byId = (a, b) => String(a["id"]).localeCompare(String(b["id"]));
298
432
  return {
299
433
  requirements: [...requirements.values()].sort(byId),
300
434
  lineage,
301
- status: [...status.values()].sort(byId),
435
+ revisions: [...revisions.values()].sort(byId),
436
+ assertions: [...assertions.values()].sort(byId),
437
+ effects: [...dedupeEffects(requirementEffects), ...structureEffects].sort(byId),
302
438
  changes: changes.sort(byId),
303
439
  workOrders: workOrders.sort(byId),
304
440
  workItems: workItems.sort(byId),
@@ -1 +1 @@
1
- {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/requirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/requirements.ts"],"names":[],"mappings":"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"}