@sdd-method/sdd-cli 1.1.0 → 1.2.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 (55) hide show
  1. package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
  2. package/dist/lib/catalogue/aggregate.js +5 -4
  3. package/dist/lib/catalogue/aggregate.js.map +1 -1
  4. package/dist/lib/catalogue/build.d.ts.map +1 -1
  5. package/dist/lib/catalogue/build.js +2 -6
  6. package/dist/lib/catalogue/build.js.map +1 -1
  7. package/dist/lib/catalogue/builders/capability-spec.d.ts +9 -3
  8. package/dist/lib/catalogue/builders/capability-spec.d.ts.map +1 -1
  9. package/dist/lib/catalogue/builders/capability-spec.js +9 -3
  10. package/dist/lib/catalogue/builders/capability-spec.js.map +1 -1
  11. package/dist/lib/catalogue/canonical-schema.yaml +57 -6
  12. package/dist/lib/catalogue/coverage-predicates.d.ts +176 -0
  13. package/dist/lib/catalogue/coverage-predicates.d.ts.map +1 -0
  14. package/dist/lib/catalogue/coverage-predicates.js +603 -0
  15. package/dist/lib/catalogue/coverage-predicates.js.map +1 -0
  16. package/dist/lib/catalogue/coverage-render.d.ts +39 -0
  17. package/dist/lib/catalogue/coverage-render.d.ts.map +1 -0
  18. package/dist/lib/catalogue/coverage-render.js +347 -0
  19. package/dist/lib/catalogue/coverage-render.js.map +1 -0
  20. package/dist/lib/catalogue/coverage-run.d.ts +33 -0
  21. package/dist/lib/catalogue/coverage-run.d.ts.map +1 -0
  22. package/dist/lib/catalogue/coverage-run.js +91 -0
  23. package/dist/lib/catalogue/coverage-run.js.map +1 -0
  24. package/dist/lib/catalogue/ddl-generator.d.ts +80 -0
  25. package/dist/lib/catalogue/ddl-generator.d.ts.map +1 -0
  26. package/dist/lib/catalogue/ddl-generator.js +215 -0
  27. package/dist/lib/catalogue/ddl-generator.js.map +1 -0
  28. package/dist/lib/catalogue/engine-validator.d.ts +103 -0
  29. package/dist/lib/catalogue/engine-validator.d.ts.map +1 -0
  30. package/dist/lib/catalogue/engine-validator.js +221 -0
  31. package/dist/lib/catalogue/engine-validator.js.map +1 -0
  32. package/dist/lib/catalogue/enum-validator.d.ts.map +1 -1
  33. package/dist/lib/catalogue/enum-validator.js +15 -0
  34. package/dist/lib/catalogue/enum-validator.js.map +1 -1
  35. package/dist/lib/catalogue/fk-validator.d.ts +6 -0
  36. package/dist/lib/catalogue/fk-validator.d.ts.map +1 -1
  37. package/dist/lib/catalogue/fk-validator.js +6 -0
  38. package/dist/lib/catalogue/fk-validator.js.map +1 -1
  39. package/dist/lib/catalogue/gate-checks.d.ts +117 -0
  40. package/dist/lib/catalogue/gate-checks.d.ts.map +1 -0
  41. package/dist/lib/catalogue/gate-checks.js +261 -0
  42. package/dist/lib/catalogue/gate-checks.js.map +1 -0
  43. package/dist/lib/catalogue/parity-harness.d.ts +48 -0
  44. package/dist/lib/catalogue/parity-harness.d.ts.map +1 -0
  45. package/dist/lib/catalogue/parity-harness.js +76 -0
  46. package/dist/lib/catalogue/parity-harness.js.map +1 -0
  47. package/dist/lib/catalogue/schema-compat.d.ts +3 -3
  48. package/dist/lib/catalogue/schema-compat.js +3 -3
  49. package/dist/lib/catalogue/validate.d.ts.map +1 -1
  50. package/dist/lib/catalogue/validate.js +6 -11
  51. package/dist/lib/catalogue/validate.js.map +1 -1
  52. package/dist/verbs/catalogue.d.ts.map +1 -1
  53. package/dist/verbs/catalogue.js +24 -0
  54. package/dist/verbs/catalogue.js.map +1 -1
  55. package/package.json +3 -2
@@ -14,9 +14,15 @@
14
14
  * resolved via `services.csv` + the optional per-SDD alias map
15
15
  * introduced by ADR 0143.
16
16
  *
17
- * Resolution failures (unresolved capability, service, repo) emit
18
- * findings but never break FK validation — only confidently-resolved
19
- * rows are emitted.
17
+ * Resolution is best-effort and never breaks FK validation — only
18
+ * confidently-resolved rows are emitted. Unresolved CAPABILITY ids emit
19
+ * findings (convention/orphan). Unresolved SERVICE and REPO tokens are
20
+ * dropped silently, deliberately: the token stream comes from free-text
21
+ * Implementation columns (class names, route fragments, path segments),
22
+ * so most tokens legitimately resolve to nothing and a finding per miss
23
+ * would be noise. A row-level finding — a non-empty resolution column
24
+ * yielding ZERO resolutions — would be signal, and is a named candidate
25
+ * for the next builder wave, not shipped behaviour.
20
26
  *
21
27
  * Precedence per ADR 0145 §4.7: feature-tree, feature-spec, and
22
28
  * feature-grounding rows win on id collision (they are more specific
@@ -1 +1 @@
1
- {"version":3,"file":"capability-spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,iGAAiG;IACjG,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,EAAE,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,EAAE,CAAC;CAC7C;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuJ/B"}
1
+ {"version":3,"file":"capability-spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,iGAAiG;IACjG,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,EAAE,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,EAAE,CAAC;CAC7C;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuJ/B"}
@@ -14,9 +14,15 @@
14
14
  * resolved via `services.csv` + the optional per-SDD alias map
15
15
  * introduced by ADR 0143.
16
16
  *
17
- * Resolution failures (unresolved capability, service, repo) emit
18
- * findings but never break FK validation — only confidently-resolved
19
- * rows are emitted.
17
+ * Resolution is best-effort and never breaks FK validation — only
18
+ * confidently-resolved rows are emitted. Unresolved CAPABILITY ids emit
19
+ * findings (convention/orphan). Unresolved SERVICE and REPO tokens are
20
+ * dropped silently, deliberately: the token stream comes from free-text
21
+ * Implementation columns (class names, route fragments, path segments),
22
+ * so most tokens legitimately resolve to nothing and a finding per miss
23
+ * would be noise. A row-level finding — a non-empty resolution column
24
+ * yielding ZERO resolutions — would be signal, and is a named candidate
25
+ * for the next builder wave, not shipped behaviour.
20
26
  *
21
27
  * Precedence per ADR 0145 §4.7: feature-tree, feature-spec, and
22
28
  * feature-grounding rows win on id collision (they are more specific
@@ -1 +1 @@
1
- {"version":3,"file":"capability-spec.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,6BAA6B,CAAC;AAErC,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,iFAAiF;AACjF,MAAM,0BAA0B,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEtD,qEAAqE;AACrE,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAyBpE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA4B;IAE5B,MAAM,WAAW,GAAmB,EAAE,CAAC;IACvC,MAAM,qBAAqB,GAAmB,EAAE,CAAC;IACjD,MAAM,eAAe,GAAmB,EAAE,CAAC;IAC3C,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxD,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QAC1C,OAAO;YACL,WAAW;YACX,qBAAqB;YACrB,eAAe;YACf,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,OAAO,sDAAsD,CACjE,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,sEAAsE;YACtE,mDAAmD;YACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,QAAQ,EACR,GAAG,OAAO,oBAAoB,YAAY,mEAAmE,CAC9G,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,UAAU,EACV,GAAG,OAAO,0FAA0F,CACrG,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,OAAO,IAAI,GAAG,CAAC,UAAU,6BAA6B,GAAG,CAAC,IAAI,wCAAwC,CAC1G,CAAC;gBACF,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,SAAS,GAAG,GAAG,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAChD,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,gEAAgE;YAChE,6DAA6D;YAC7D,qEAAqE;YACrE,wCAAwC;YACxC,+DAA+D;YAC/D,8CAA8C;YAC9C,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,sEAAsE;gBACtE,wEAAwE;gBACxE,qEAAqE;gBACrE,sEAAsE;gBACtE,2DAA2D;gBAC3D,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,UAAU,EACV,GAAG,OAAO,IAAI,GAAG,CAAC,UAAU,iBAAiB,SAAS,oHAAoH,CAC3K,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,OAAO,IAAI,GAAG,CAAC,UAAU,iBAAiB,SAAS,6GAA6G,CACpK,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAE5B,WAAW,CAAC,IAAI,CAAC;oBACf,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,UAAU,EAAE,EAAE;oBACd,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,EAAE;oBACnB,iBAAiB,EAAE,EAAE;oBACrB,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC;oBACnC,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7C,qBAAqB,CAAC,IAAI,CAAC;oBACzB,EAAE,EAAE,IAAI;oBACR,aAAa,EAAE,YAAY;oBAC3B,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5C,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC7C,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,kBAAkB,CAAC,IAAI,CAAC;oBACtB,EAAE,EAAE,MAAM;oBACV,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,+DAA+D;YAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1C,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC1C,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,MAAM;oBACV,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,qBAAqB;QACrB,eAAe;QACf,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAsB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,GAAG,eAAe;QACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;QAClC,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACnE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,GAAsB,EACtB,MAA4B;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,MAA4B;IAE5B,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9D,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,GAAsB,EACtB,MAA4B;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,QAAQ,KAAK,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,MAA4B;IAE5B,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO;aACrB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxD,IACE,cAAc,KAAK,QAAQ;YAC3B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EACxC,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CACnC,uCAAuC,CACxC,EAAE,CAAC;QACF,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,GAAgB;IAC7D,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO;IACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,KAAK,EAAE;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,2DAA2D,EAAE,EAAE,CAAC;SACxE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"capability-spec.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,EACL,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,6BAA6B,CAAC;AAErC,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,iFAAiF;AACjF,MAAM,0BAA0B,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAEtD,qEAAqE;AACrE,MAAM,uBAAuB,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAyBpE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA4B;IAE5B,MAAM,WAAW,GAAmB,EAAE,CAAC;IACvC,MAAM,qBAAqB,GAAmB,EAAE,CAAC;IACjD,MAAM,eAAe,GAAmB,EAAE,CAAC;IAC3C,MAAM,kBAAkB,GAAmB,EAAE,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACxD,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7D,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;QAC1C,OAAO;YACL,WAAW;YACX,qBAAqB;YACrB,eAAe;YACf,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5D,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,OAAO,sDAAsD,CACjE,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACjD,sEAAsE;YACtE,mDAAmD;YACnD,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,QAAQ,EACR,GAAG,OAAO,oBAAoB,YAAY,mEAAmE,CAC9G,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,UAAU,EACV,GAAG,OAAO,0FAA0F,CACrG,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,OAAO,IAAI,GAAG,CAAC,UAAU,6BAA6B,GAAG,CAAC,IAAI,wCAAwC,CAC1G,CAAC;gBACF,SAAS;YACX,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,SAAS,GAAG,GAAG,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YAChD,qEAAqE;YACrE,wEAAwE;YACxE,sEAAsE;YACtE,gEAAgE;YAChE,6DAA6D;YAC7D,qEAAqE;YACrE,wCAAwC;YACxC,+DAA+D;YAC/D,8CAA8C;YAC9C,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,sEAAsE;gBACtE,wEAAwE;gBACxE,qEAAqE;gBACrE,sEAAsE;gBACtE,2DAA2D;gBAC3D,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACrC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,UAAU,EACV,GAAG,OAAO,IAAI,GAAG,CAAC,UAAU,iBAAiB,SAAS,oHAAoH,CAC3K,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,OAAO,IAAI,GAAG,CAAC,UAAU,iBAAiB,SAAS,6GAA6G,CACpK,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAE5B,WAAW,CAAC,IAAI,CAAC;oBACf,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,UAAU,EAAE,EAAE;oBACd,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,EAAE;oBACnB,iBAAiB,EAAE,EAAE;oBACrB,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC;oBACnC,QAAQ,EAAE,EAAE;oBACZ,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,iBAAiB;oBACzB,MAAM,EAAE,EAAE;oBACV,aAAa,EAAE,EAAE;iBAClB,CAAC,CAAC;gBAEH,MAAM,IAAI,GAAG,GAAG,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7C,qBAAqB,CAAC,IAAI,CAAC;oBACzB,EAAE,EAAE,IAAI;oBACR,aAAa,EAAE,YAAY;oBAC3B,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,kEAAkE;YAClE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9C,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5C,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC7C,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/B,kBAAkB,CAAC,IAAI,CAAC;oBACtB,EAAE,EAAE,MAAM;oBACV,UAAU,EAAE,SAAS;oBACrB,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;YAED,+DAA+D;YAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1C,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;oBAAE,SAAS;gBAC1C,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC;oBACnB,EAAE,EAAE,MAAM;oBACV,UAAU,EAAE,SAAS;oBACrB,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,qBAAqB;QACrB,eAAe;QACf,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAsB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,GAAG,eAAe;QACpC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;QAClC,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACnE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CACtB,GAAsB,EACtB,MAA4B;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,MAA4B;IAE5B,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9D,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,GAAsB,EACtB,MAA4B;IAE5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,QAAQ,KAAK,IAAI;gBAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAgB,EAChB,MAA4B;IAE5B,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO;aACrB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;aAC1B,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACxD,IACE,cAAc,KAAK,QAAQ;YAC3B,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EACxC,CAAC;YACD,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,sBAAsB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CACnC,uCAAuC,CACxC,EAAE,CAAC;QACF,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,GAAgB;IAC7D,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO;IACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,IAAI,KAAK,EAAE;QAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,2DAA2D,EAAE,EAAE,CAAC;SACxE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC"}
@@ -58,13 +58,64 @@
58
58
  # `[finding] external`) and validated by the aggregator after merge.
59
59
  # Default for unspecified `external` is `false` (internal FK).
60
60
  #
61
- # Conceptual model: see docs/method/methods/catalogue-metamodel.md.
62
- # Builder contract: see docs/method/methods/catalogue-builder-specification.md.
63
- # Category taxonomy: see docs/method/methods/product-category-taxonomy.md.
61
+ # Conceptual model: see docs/method/methods/guides/catalogue-metamodel.md.
62
+ # Builder contract: see docs/method/methods/guides/catalogue-builder-specification.md.
63
+ # Category taxonomy: see docs/method/methods/standards/product-category-taxonomy.md.
64
64
 
65
- schema_version: "3.1.0"
65
+ schema_version: "3.1.3"
66
66
  schema_owner: "sdd-method"
67
67
  schema_status: "canonical"
68
+ # Bump rationale (3.1.3 — patch, 2026-08-05): `repositories.column_enums`
69
+ # bound `service_type` — the AUTHORING field's name — but the catalogue
70
+ # column that carries the value is `component_type` (the builder maps
71
+ # repo-config `service_type` into it). A binding to a column the catalogue
72
+ # does not declare validated as vacuously true from 3.0.0 on: the in-memory
73
+ # enum validator read an absent cell as empty and skipped it. Found by the
74
+ # M-ADR 0205 §4.3 schema-driven DDL generator, whose engine refused the
75
+ # binding instead of skipping it. The binding key is corrected to
76
+ # `component_type` and the service_type enum's description corrected to name
77
+ # the real column. ACTIVATION NOTE (M-ADR 0200 §4.6): correcting the key
78
+ # activates enum validation on values the wrong key never checked; measured
79
+ # before shipping across both estate classes' built repository catalogues —
80
+ # one estate carries 14 rows with an out-of-vocabulary improvised value, the
81
+ # other none. Those 14 become error-severity findings at that estate's first
82
+ # build on a CLI carrying this schema; the remedial route is re-declaring
83
+ # the repo-config `service_type` inside the enum (profile already conveys
84
+ # what the improvised value tried to say, per §7.1).
85
+ # Bump rationale (3.1.2 — comment-only patch, 2026-08-05): records the 3.1.0
86
+ # entry below, which shipped without one — the rationale lived only in
87
+ # M-ADR 0204 and the cut commit. No structural change; no column, enum, or
88
+ # catalogue touched.
89
+ # Bump rationale (3.1.1 — comment-only patch, 2026-08-05): corrects the three
90
+ # companion-doc pointers above, stale since the docs moved under
91
+ # methods/guides/ and methods/standards/. No structural change; no column,
92
+ # enum, or catalogue touched.
93
+ # Bump rationale (3.1.0 — additive minor, 2026-08-03, per M-ADR 0204): the
94
+ # target-locus change-set on `product_platform_dependencies`. A dependency row
95
+ # can now declare that its target is NOT the platform:
96
+ # 1. `target_locus` added (closed enum `platform | external | legacy`;
97
+ # absent/empty = platform, so every pre-3.1.0 row keeps its exact
98
+ # meaning). A statement about the TARGET only — never about the consuming
99
+ # product, and never a stability/lifecycle/quality claim. Before this
100
+ # column, off-platform targets had nowhere to go and corrupted other
101
+ # fields (external/legacy smuggled into required_stability; a product's
102
+ # own feature slug forced into target_capability_id).
103
+ # 2. `target_external_system_id` added: for external|legacy rows, the
104
+ # M-ADR 0189 external-system entry id the dependency targets. Authored in
105
+ # the source file's service_id slot; the builder routes it here so the FK
106
+ # columns stay clean. Deliberately NOT a declared FK — corroboration
107
+ # against c4_external_systems is WARNING-severity at aggregation
108
+ # (0204 §4.2) because the C4 surface may legitimately lag discovery, and
109
+ # a declared FK can only fail.
110
+ # 3. `target_capability_id` becomes conditionally nullable (0204 §4.3, the
111
+ # 2.36.0 / M-ADR 0192 precedent): EMPTY when target_locus is
112
+ # external|legacy — there is no platform capability to name. A
113
+ # platform-locus row still requires it.
114
+ # 4. The PK gains an off-platform form:
115
+ # {product_id}__{target_locus}__{target_external_system_id}, falling back
116
+ # to contract_path when no external-system id is named.
117
+ # external/legacy rows skip platform resolution and the F18 realiser-join,
118
+ # with every skip named.
68
119
  # Bump rationale (3.0.0 — BREAKING major, 2026-07-29, per M-ADR 0203): the 2.x line's
69
120
  # five deferred breaks land as one audited cut, each a complete change-set in the
70
121
  # M-ADR 0200 §4.1 sense. This entry records each break as its change-set lands:
@@ -556,7 +607,7 @@ enums:
556
607
  service_type:
557
608
  description: >
558
609
  Type of repository, declared in `orchestration/repo-config/*.yaml` as
559
- `service_type` and surfaced in `repositories.service_type` and
610
+ `service_type` and surfaced in `repositories.component_type` and
560
611
  `services.component_type`. The canonical builder uses this to decide
561
612
  which repos are runtime services (api_service, worker, gateway,
562
613
  frontend, mobile) and which are non-runtime (library, infrastructure,
@@ -1077,7 +1128,7 @@ catalogues:
1077
1128
  - { name: doc_path, type: string, nullable: false }
1078
1129
  - { name: source_sdd_id, type: string, nullable: true, description: "Originating SDD slug. Populated by the aggregator per M-ADR 0134." }
1079
1130
  column_enums:
1080
- service_type: enums.service_type # canonical builder validates against the service_type enum above
1131
+ component_type: enums.service_type # the repo-config `service_type` value lands in THIS column (3.1.3 — the binding previously named the authoring field and checked nothing)
1081
1132
 
1082
1133
  domain_models:
1083
1134
  primary_key: id
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Coverage predicates as SQL — M-ADR 0205 §4.4 (engine-evolution Phase A3).
3
+ *
4
+ * Declarative re-expressions of the participation-constraint predicates —
5
+ * the four catalogue-classics:
6
+ *
7
+ * - repo_capability (M-ADR 0188): every catalogued repository resolves
8
+ * to a capability or declares an exemption; orphans classified by
9
+ * whether the capability_service ⋈ services.primary_repo_id derivation
10
+ * COULD have fired (shape a / claimed-but-unresolved / shape b).
11
+ * - service_capability (M-ADR 0133 §4.2b): every catalogued service is
12
+ * claimed or exempt; tier is explicit and asymmetric per M-ADR 0196
13
+ * §4.3 (`orphaned` is aggregate-only; member tier reports
14
+ * `unresolved-locally`, cause-agnostic); the Path-X leverage axis is
15
+ * reported separately and only when repo_capability.csv exists.
16
+ * - event_coverage (WS3): every catalogued event is attributed to a
17
+ * runtime — service_event edge or resolving publisher column — with
18
+ * the contract-twin alternative route, the column-vs-edge disagreement
19
+ * controls, and the chain-readout/consumer-enumerability metric lines
20
+ * that are never verdicts.
21
+ * - contract_coverage (WS2): every catalogued contract is reachable —
22
+ * capability_contract or service_contract — with the three computed
23
+ * exclusions (deprecated / provider-surface / not-an-interface, the
24
+ * last a positive READ of the spec file), the covered-as-event
25
+ * alternative route, and the M-ADR 0202 availability-manifest info
26
+ * surface. File and YAML ingestion stay host-side; set logic is SQL.
27
+ *
28
+ * The shell scripts in sdd-method's orchestration/scripts/ remain the
29
+ * REFERENCE implementations until A4 cutover: any semantic change lands
30
+ * there first and here second, and the dual-run driver compares the two
31
+ * as structured findings — (kind, subject, classification, leverage) plus
32
+ * every metric integer — never as prose.
33
+ *
34
+ * The relations live in SQL; the classification branching mirrors the
35
+ * reference implementations statement-for-statement, including their
36
+ * duplicate-row semantics (a duplicated id is counted and reported per
37
+ * ROW, never deduplicated away).
38
+ */
39
+ import type { EngineSession } from "./engine-validator.js";
40
+ export type CoverageTier = "member" | "aggregate";
41
+ export interface CoverageFinding {
42
+ readonly predicate: "repo_capability" | "service_capability" | "event_coverage" | "contract_coverage";
43
+ /**
44
+ * M-ADR 0132 §4.3 vocabulary member — plus `report`, which mirrors the
45
+ * event predicate's member-tier `[report]` lines (deliberately NOT a
46
+ * finding in the reference implementation, per M-ADR 0199 §4.3).
47
+ */
48
+ readonly kind: "orphan" | "divergence" | "coverage" | "report";
49
+ readonly subjectId: string;
50
+ /**
51
+ * repo_capability: conflict | shape_a | claimed_unresolved | shape_b.
52
+ * service_capability: conflict | orphaned | unresolved-locally.
53
+ */
54
+ readonly classification: string;
55
+ /** service_capability unresolved rows only, when the axis is computable. */
56
+ readonly leverage?: "yes" | "no" | "na";
57
+ /** Rendering ingredients (A4): the prose the reference lines carry. */
58
+ readonly exemptionReason?: string;
59
+ /** shape_a only: sorted unclaimed service ids (first three) + the full count. */
60
+ readonly unclaimedServices?: readonly string[];
61
+ readonly unclaimedCount?: number;
62
+ /** service_capability unresolved rows: the row's primary_repo_id. */
63
+ readonly primaryRepo?: string;
64
+ }
65
+ export interface RepoCapabilityMetrics {
66
+ readonly total: number;
67
+ readonly byCapability: number;
68
+ readonly byExemption: number;
69
+ readonly conflicting: number;
70
+ readonly unresolved: number;
71
+ readonly shapeA: number;
72
+ readonly shapeB: number;
73
+ readonly other: number;
74
+ }
75
+ export interface ServiceCapabilityMetrics {
76
+ readonly total: number;
77
+ readonly claimed: number;
78
+ readonly exempt: number;
79
+ readonly conflicting: number;
80
+ readonly unresolved: number;
81
+ readonly leverage?: {
82
+ readonly yes: number;
83
+ readonly no: number;
84
+ readonly na: number;
85
+ };
86
+ }
87
+ export declare function runRepoCapabilityCoverage(session: EngineSession): Promise<{
88
+ findings: readonly CoverageFinding[];
89
+ metrics: RepoCapabilityMetrics;
90
+ }>;
91
+ export interface ServiceCoverageOptions {
92
+ readonly tier: CoverageTier;
93
+ /**
94
+ * True when repo_capability.csv EXISTS for this catalogue set (even
95
+ * empty) — file-level presence, exactly as the reference implementation
96
+ * keys the leverage axis. An empty present file means every unresolved
97
+ * service with a primary repo reads leverage=yes; an absent file means
98
+ * the axis is omitted entirely, metric included.
99
+ */
100
+ readonly repoCapabilityAvailable: boolean;
101
+ }
102
+ export declare function runServiceCapabilityCoverage(session: EngineSession, options: ServiceCoverageOptions): Promise<{
103
+ findings: readonly CoverageFinding[];
104
+ metrics: ServiceCapabilityMetrics;
105
+ }>;
106
+ export interface EventCoverageOptions {
107
+ readonly tier: CoverageTier;
108
+ }
109
+ export interface EventCoverageControls {
110
+ /** publisher column set but unresolving against services. */
111
+ readonly colUnresolving: readonly {
112
+ eventId: string;
113
+ publisher: string;
114
+ }[];
115
+ /** publisher resolves but no publishes/produces edge exists. */
116
+ readonly colNoEdge: readonly string[];
117
+ /** publishes edge exists but the row's publisher column is empty. */
118
+ readonly edgeNoCol: readonly string[];
119
+ }
120
+ export interface EventCoverageMetrics {
121
+ readonly total: number;
122
+ readonly covered: number;
123
+ readonly viaContract: number;
124
+ readonly unresolved: number;
125
+ /** Chain readout, never a verdict (M-ADR 0199 §4.1). */
126
+ readonly capReach: number;
127
+ /** M-ADR 0057 analogue, never a verdict. */
128
+ readonly consumerEnum: number;
129
+ }
130
+ export interface EventCoverageResult {
131
+ /** True when the unit holds no event rows — a recorded state, not a rate. */
132
+ readonly na: boolean;
133
+ readonly findings: readonly CoverageFinding[];
134
+ readonly metrics?: EventCoverageMetrics;
135
+ readonly controls?: EventCoverageControls;
136
+ }
137
+ export declare function runEventCoverage(session: EngineSession, options: EventCoverageOptions): Promise<EventCoverageResult>;
138
+ export interface ContractCoverageOptions {
139
+ readonly tier: CoverageTier;
140
+ /**
141
+ * The SDD root spec_path values are relative to. At aggregate tier a
142
+ * member's spec_path is relative to ITS OWN root, so the file is
143
+ * legitimately absent under the aggregate's root — the not-an-interface
144
+ * scope-out then simply does not fire, exactly as in the reference.
145
+ */
146
+ readonly sddRoot: string;
147
+ }
148
+ export interface ContractCoverageMetrics {
149
+ readonly total: number;
150
+ readonly covered: number;
151
+ readonly viaEvent: number;
152
+ readonly excluded: number;
153
+ readonly conflicting: number;
154
+ readonly unresolved: number;
155
+ readonly byExclusion: Readonly<Record<string, number>>;
156
+ /** M-ADR 0057 property — reported, never verdicted. May exceed the ids in contracts.csv. */
157
+ readonly consumersNamed: number;
158
+ readonly ownedOnly: number;
159
+ readonly attrOnly: number;
160
+ readonly both: number;
161
+ }
162
+ export interface ContractAvailabilityInfo {
163
+ readonly attested: number;
164
+ /** Manifest order, duplicates preserved — mirror of the reference list. */
165
+ readonly unmodelled: readonly string[];
166
+ }
167
+ export interface ContractCoverageResult {
168
+ readonly na: boolean;
169
+ readonly findings: readonly CoverageFinding[];
170
+ readonly metrics?: ContractCoverageMetrics;
171
+ /** Informational, never verdict-changing (M-ADR 0202). */
172
+ readonly availability?: ContractAvailabilityInfo;
173
+ readonly availabilityWarning?: string;
174
+ }
175
+ export declare function runContractCoverage(session: EngineSession, options: ContractCoverageOptions): Promise<ContractCoverageResult>;
176
+ //# sourceMappingURL=coverage-predicates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coverage-predicates.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-predicates.ts"],"names":[],"mappings":"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"}