@sdd-method/sdd-cli 5.0.0 → 5.1.1

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 (105) hide show
  1. package/dist/author-program.d.ts.map +1 -1
  2. package/dist/author-program.js +10 -2
  3. package/dist/author-program.js.map +1 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
  8. package/dist/lib/catalogue/aggregate.js +45 -8
  9. package/dist/lib/catalogue/aggregate.js.map +1 -1
  10. package/dist/lib/catalogue/build.d.ts.map +1 -1
  11. package/dist/lib/catalogue/build.js +58 -12
  12. package/dist/lib/catalogue/build.js.map +1 -1
  13. package/dist/lib/catalogue/builders/adr-governs.js +1 -1
  14. package/dist/lib/catalogue/builders/adr-governs.js.map +1 -1
  15. package/dist/lib/catalogue/builders/adrs.js +2 -2
  16. package/dist/lib/catalogue/builders/adrs.js.map +1 -1
  17. package/dist/lib/catalogue/builders/contract-revisions.d.ts +13 -0
  18. package/dist/lib/catalogue/builders/contract-revisions.d.ts.map +1 -1
  19. package/dist/lib/catalogue/builders/contract-revisions.js +45 -7
  20. package/dist/lib/catalogue/builders/contract-revisions.js.map +1 -1
  21. package/dist/lib/catalogue/builders/data-model.js +1 -1
  22. package/dist/lib/catalogue/builders/data-model.js.map +1 -1
  23. package/dist/lib/catalogue/builders/entity-archetype.d.ts +24 -0
  24. package/dist/lib/catalogue/builders/entity-archetype.d.ts.map +1 -0
  25. package/dist/lib/catalogue/builders/entity-archetype.js +121 -0
  26. package/dist/lib/catalogue/builders/entity-archetype.js.map +1 -0
  27. package/dist/lib/catalogue/builders/quality-scores.js +1 -1
  28. package/dist/lib/catalogue/builders/requirements.js +1 -1
  29. package/dist/lib/catalogue/builders/requirements.js.map +1 -1
  30. package/dist/lib/catalogue/canonical-schema.yaml +41 -21
  31. package/dist/lib/catalogue/retired-catalogues.js +1 -1
  32. package/dist/lib/catalogue/retired-catalogues.js.map +1 -1
  33. package/dist/lib/catalogue/rubric-coverage-map.yaml +7 -3
  34. package/dist/lib/catalogue/schema-loader.d.ts +3 -3
  35. package/dist/lib/catalogue/schema-loader.d.ts.map +1 -1
  36. package/dist/lib/catalogue/staleness-verdicts.js +3 -3
  37. package/dist/lib/catalogue/staleness-verdicts.js.map +1 -1
  38. package/dist/lib/metamodel/roundtrip-gate.js +1 -1
  39. package/dist/lib/metamodel/roundtrip-gate.js.map +1 -1
  40. package/dist/lib/metamodel/schema-projection.d.ts +3 -3
  41. package/dist/lib/metamodel/schema-projection.d.ts.map +1 -1
  42. package/dist/lib/metamodel/schema-projection.js +2 -2
  43. package/dist/lib/metamodel/schema-projection.js.map +1 -1
  44. package/dist/lib/structure/apply.js +2 -2
  45. package/dist/lib/structure/apply.js.map +1 -1
  46. package/dist/lib/structure/archive.d.ts.map +1 -1
  47. package/dist/lib/structure/archive.js +19 -7
  48. package/dist/lib/structure/archive.js.map +1 -1
  49. package/dist/lib/structure/catalogue.d.ts +7 -2
  50. package/dist/lib/structure/catalogue.d.ts.map +1 -1
  51. package/dist/lib/structure/catalogue.js +31 -10
  52. package/dist/lib/structure/catalogue.js.map +1 -1
  53. package/dist/lib/structure/compose.js +1 -1
  54. package/dist/lib/structure/compose.js.map +1 -1
  55. package/dist/lib/structure/effects.js +1 -1
  56. package/dist/lib/structure/effects.js.map +1 -1
  57. package/dist/lib/structure/extract.js +3 -3
  58. package/dist/lib/structure/extract.js.map +1 -1
  59. package/dist/lib/structure/intended.d.ts +66 -0
  60. package/dist/lib/structure/intended.d.ts.map +1 -0
  61. package/dist/lib/structure/intended.js +199 -0
  62. package/dist/lib/structure/intended.js.map +1 -0
  63. package/dist/lib/structure/model.js +1 -1
  64. package/dist/lib/structure/model.js.map +1 -1
  65. package/dist/lib/structure/render.js +1 -1
  66. package/dist/lib/structure/render.js.map +1 -1
  67. package/dist/lib/structure/view.d.ts +3 -1
  68. package/dist/lib/structure/view.d.ts.map +1 -1
  69. package/dist/lib/structure/view.js +8 -3
  70. package/dist/lib/structure/view.js.map +1 -1
  71. package/dist/lib/validate/agreement-evidence.d.ts +1 -1
  72. package/dist/lib/validate/agreement-evidence.js +2 -2
  73. package/dist/lib/validate/agreement-evidence.js.map +1 -1
  74. package/dist/lib/validate/behaviour-store.d.ts +1 -1
  75. package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
  76. package/dist/lib/validate/behaviour-store.js +49 -12
  77. package/dist/lib/validate/behaviour-store.js.map +1 -1
  78. package/dist/lib/validate/dispatch.js +1 -1
  79. package/dist/lib/validate/dispatch.js.map +1 -1
  80. package/dist/lib/validate/structural-model.d.ts +2 -2
  81. package/dist/lib/validate/structural-model.d.ts.map +1 -1
  82. package/dist/lib/validate/structural-model.js +48 -35
  83. package/dist/lib/validate/structural-model.js.map +1 -1
  84. package/dist/maintain-program.d.ts.map +1 -1
  85. package/dist/maintain-program.js +7 -1
  86. package/dist/maintain-program.js.map +1 -1
  87. package/dist/maintain-version.json +2 -2
  88. package/dist/verbs/change.js +2 -2
  89. package/dist/verbs/change.js.map +1 -1
  90. package/dist/verbs/migrate-structure.d.ts +6 -0
  91. package/dist/verbs/migrate-structure.d.ts.map +1 -0
  92. package/dist/verbs/migrate-structure.js +36 -0
  93. package/dist/verbs/migrate-structure.js.map +1 -0
  94. package/dist/verbs/structure.d.ts +0 -3
  95. package/dist/verbs/structure.d.ts.map +1 -1
  96. package/dist/verbs/structure.js +5 -34
  97. package/dist/verbs/structure.js.map +1 -1
  98. package/dist/verify-version.json +2 -2
  99. package/package.json +1 -1
  100. package/scripts/author-acceptance.mjs +5 -1
  101. package/scripts/author-version.json +2 -2
  102. package/scripts/build-persona-package.mjs +11 -7
  103. package/scripts/maintain-acceptance.mjs +8 -1
  104. package/scripts/maintain-version.json +2 -2
  105. package/scripts/verify-version.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"author-program.d.ts","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAiBpD,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAmBrD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,MAAM,CAA+C,CAAC;AAMjG,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAqC5C"}
1
+ {"version":3,"file":"author-program.d.ts","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AAmBpD,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAqBrD,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,MAAM,CAA+C,CAAC;AAMjG,wBAAsB,SAAS,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBtE;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAyC5C"}
@@ -5,8 +5,8 @@
5
5
  // (0220 §4.1): both carry the whole verify surface, and the author adds what 0220 §4.2 gives it —
6
6
  // new artefacts and plans (`scaffold`, `plan`), the evidence and findings it triages (`contracts`,
7
7
  // `conformance`, `api-surface`, the `snapshot` verbs), the projections maintain also holds
8
- // (`render screen`, `generate-briefing`, `context pull`), and `catalogue check`, which reports a
9
- // stale model and writes nothing.
8
+ // (`render screen`, `generate-briefing`, `context pull`), `catalogue check`, which reports a
9
+ // stale model and writes nothing, and the structural model it authors (`migrate structure`, `change archive`).
10
10
  //
11
11
  // Not here, by design: `sync`, `catalogue build | aggregate | graph | diff` and `pack build`
12
12
  // (maintain's), and `init`, `metamodel roundtrip` and `catalogue migration-map` (sdd-cli's,
@@ -18,11 +18,13 @@ import { getPackageVersion } from "./lib/package-version.js";
18
18
  import { registerVerifySurface, rejectOutsideSurface, VERIFY_SURFACE } from "./verify-program.js";
19
19
  import { registerApiSurface } from "./verbs/api-surface.js";
20
20
  import { registerCatalogueCheck } from "./verbs/catalogue-check.js";
21
+ import { registerChange } from "./verbs/change.js";
21
22
  import { registerConformance } from "./verbs/conformance.js";
22
23
  import { registerContext } from "./verbs/context.js";
23
24
  import { registerContracts } from "./verbs/contracts.js";
24
25
  import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
25
26
  import { registerMigrate } from "./verbs/migrate.js";
27
+ import { registerMigrateStructure } from "./verbs/migrate-structure.js";
26
28
  import { registerPlan } from "./verbs/plan.js";
27
29
  import { registerRender } from "./verbs/render.js";
28
30
  import { registerScaffold } from "./verbs/scaffold.js";
@@ -48,6 +50,8 @@ export const AUTHOR_ONLY_SURFACE = [
48
50
  "catalogue check",
49
51
  "migrate vocabulary",
50
52
  "migrate intents",
53
+ "migrate structure",
54
+ "change archive",
51
55
  ];
52
56
  /** The full surface: verify's, plus the author's own. */
53
57
  export const AUTHOR_SURFACE = [...VERIFY_SURFACE, ...AUTHOR_ONLY_SURFACE];
@@ -88,6 +92,7 @@ export function buildAuthorProgram() {
88
92
  registerVerifySurface(program);
89
93
  registerScaffold(program);
90
94
  registerMigrate(program);
95
+ registerMigrateStructure(program);
91
96
  registerPlan(program);
92
97
  registerContracts(program);
93
98
  registerConformance(program);
@@ -96,6 +101,9 @@ export function buildAuthorProgram() {
96
101
  registerRender(program);
97
102
  registerGenerateBriefing(program);
98
103
  registerContext(program);
104
+ // The structural model is authored content: its first extraction, and a judged change's archive into it (M-ADR 0230
105
+ // §4.6, §6).
106
+ registerChange(program);
99
107
  const catalogue = program.commands.find((c) => c.name() === "catalogue");
100
108
  catalogue.description("Validate and query per-SDD catalogues (M-ADR 0134), and check them for staleness — never rebuilds");
101
109
  registerCatalogueCheck(catalogue);
@@ -1 +1 @@
1
- {"version":3,"file":"author-program.js","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"author-program.js","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AA2BpD,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAwCtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;AA4BpD,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE;AAED,wBAAgB,YAAY,IAAI,OAAO,CAyCtC"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ import { registerRender } from "./verbs/render.js";
16
16
  import { registerScaffold } from "./verbs/scaffold.js";
17
17
  import { registerSnapshot } from "./verbs/snapshot.js";
18
18
  import { registerStructure } from "./verbs/structure.js";
19
+ import { registerMigrateStructure } from "./verbs/migrate-structure.js";
19
20
  import { registerChange } from "./verbs/change.js";
20
21
  import { registerSync } from "./verbs/sync.js";
21
22
  import { registerValidate } from "./verbs/validate.js";
@@ -66,6 +67,7 @@ export function buildProgram() {
66
67
  registerMetamodel(program);
67
68
  registerSnapshot(program);
68
69
  registerStructure(program);
70
+ registerMigrateStructure(program);
69
71
  registerChange(program);
70
72
  for (const { verb, summary } of NOT_YET_IMPLEMENTED) {
71
73
  registerNotYetImplemented(program, verb, summary);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,MAAM,QAAQ,GACZ,uEAAuE,CAAC;AAE1E,MAAM,mBAAmB,GAAqD,EAAE,CAAC;AAEjF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAuB;IAC/C,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,uBAAuB,CAAC,GAAG,CAAC;YAAE,OAAO;QACzC,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CACV,sGAAsG,CACvG;SACA,OAAO,CAAC,iBAAiB,EAAE,EAAE,eAAe,CAAC;SAC7C,WAAW,CAAC,OAAO,EAAE,WAAW,QAAQ,EAAE,CAAC;SAC3C,YAAY,EAAE;SACd,eAAe,CAAC;QACf,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAC5C,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;KAC7C,CAAC,CAAC;IAEL,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAClC,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;IACtB,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,cAAc,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,mBAAmB,EAAE,CAAC;QACpD,yBAAyB,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAgB,EAChB,IAAY,EACZ,OAAe;IAEf,OAAO;SACJ,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,GAAG,OAAO,uBAAuB,CAAC;SAC9C,kBAAkB,EAAE;SACpB,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,iCAAiC,QAAQ,8BAA8B,CACrF,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAY;IAC3C,IAAI,CAAC,CAAC,GAAG,YAAY,cAAc,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,OAAO,CACL,GAAG,CAAC,IAAI,KAAK,gBAAgB;QAC7B,GAAG,CAAC,IAAI,KAAK,yBAAyB;QACtC,GAAG,CAAC,IAAI,KAAK,mBAAmB,CACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAoB5C,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzC,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,CAkvB1B;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAoDD,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,QAAQ,EAAE,WAAW,GACpB,IAAI,CAkFN;AA+MD;;;;;GAKG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAE3C,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,EAC7D,qBAAqB,GAAE,SAAS,MAAM,EAAO,GAC5C,WAAW,EAAE,CAmDf;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,EAC7D,qBAAqB,EAAE,SAAS,MAAM,EAAE,EACxC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACzB,IAAI,CAyCN;AAkDD;;;;;;GAMG;AACH,iBAAS,WAAW,CAClB,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,YAAY,EAAE,CAOhB;AAoQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,SAAS,YAAY,EAAE,EACvC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,QAAQ,EAAE,WAAW,GACpB,YAAY,EAAE,CAiDhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,EACtC,QAAQ,EAAE,WAAW,GACpB,IAAI,CAoBN;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,yGAAyG;IACzG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yGAAyG;IACzG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,8EAA8E;IAC9E,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,QAAQ,EAAE,WAAW,GACpB,mBAAmB,CA6oBrB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,QAAQ,EAAE,WAAW,GACpB,oBAAoB,CAgFtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,QAAQ,EAAE,WAAW,GACpB,IAAI,CAuDN;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,QAAQ,EAAE,WAAW,EACrB,IAAI,GAAE,UAAU,GAAG,cAA2B,GAC7C,IAAI,CAuCN;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,QAAQ,EAAE,WAAW,GACpB,IAAI,CAoBN;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gCAAgC,CAC9C,mBAAmB,EAAE,SAAS,YAAY,EAAE,EAC5C,kBAAkB,EAAE,SAAS,YAAY,EAAE,EAC3C,QAAQ,EAAE,WAAW,EACrB,YAAY,GAAE,SAAS,YAAY,EAAO,GACzC,YAAY,EAAE,CA2KhB;AAID,eAAO,MAAM,aAAa;;;CAAqC,CAAC"}
1
+ {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAuB,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAqB5C,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,sDAAsD;IACtD,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzC,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,eAAe,CAAC,CA0vB1B;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AA2FD,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,QAAQ,EAAE,WAAW,GACpB,IAAI,CAkFN;AA+MD;;;;;GAKG;AACH,OAAO,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,+BAA+B,EAAE,CAAC;AAE3C,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,EAC7D,qBAAqB,GAAE,SAAS,MAAM,EAAO,GAC5C,WAAW,EAAE,CAmDf;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,EAC7D,qBAAqB,EAAE,SAAS,MAAM,EAAE,EACxC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACzB,IAAI,CAyCN;AAkDD;;;;;;GAMG;AACH,iBAAS,WAAW,CAClB,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,SAAS,YAAY,EAAE,EAC7B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,YAAY,EAAE,CAOhB;AAoQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,SAAS,YAAY,EAAE,EACvC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,QAAQ,EAAE,WAAW,GACpB,YAAY,EAAE,CAiDhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,EACtC,QAAQ,EAAE,WAAW,GACpB,IAAI,CAoBN;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,2FAA2F;IAC3F,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,yGAAyG;IACzG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,yGAAyG;IACzG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,4DAA4D;IAC5D,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,8EAA8E;IAC9E,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,QAAQ,EAAE,WAAW,GACpB,mBAAmB,CA6oBrB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,QAAQ,EAAE,WAAW,GACpB,oBAAoB,CAgFtB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,EAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7C,QAAQ,EAAE,WAAW,GACpB,IAAI,CAuDN;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,QAAQ,EAAE,WAAW,EACrB,IAAI,GAAE,UAAU,GAAG,cAA2B,GAC7C,IAAI,CAuCN;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,SAAS,YAAY,EAAE,EAChC,QAAQ,EAAE,WAAW,GACpB,IAAI,CAoBN;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gCAAgC,CAC9C,mBAAmB,EAAE,SAAS,YAAY,EAAE,EAC5C,kBAAkB,EAAE,SAAS,YAAY,EAAE,EAC3C,QAAQ,EAAE,WAAW,EACrB,YAAY,GAAE,SAAS,YAAY,EAAO,GACzC,YAAY,EAAE,CA2KhB;AAID,eAAO,MAAM,aAAa;;;CAAqC,CAAC"}
@@ -32,6 +32,7 @@ import { buildLegacyContractIdMap } from "./contract-id.js";
32
32
  import { validatedPopulation, validateWithEngineToLog } from "./engine-validator.js";
33
33
  import { PLATFORM_STAMP_COLUMN, isPlatformScopedFk } from "./fk-validator.js";
34
34
  import { FindingsLog } from "./findings.js";
35
+ import { STRUCTURE_DIR } from "../structure/model.js";
35
36
  import { readLockFile } from "../lock-file.js";
36
37
  import { mergeEdgeLabel } from "./builders/edge-label-merge.js";
37
38
  import { isAsyncContractType } from "./builders/product-platform-dependencies.js";
@@ -189,6 +190,14 @@ export async function runCatalogueAggregate(inputs, write) {
189
190
  // `sdd-loyalty-platform`). Kept separate from sddRootsById on purpose: the
190
191
  // try-every-root pass must iterate each root ONCE, or a root reachable under two
191
192
  // names would count as two hits and report a false ambiguity.
193
+ // M-ADR 0230: the SDDs here that hold a structural model. A structure-sourced row is that model's
194
+ // to state, so re-derivation never adds one the model leaves out (see rederiveAppend).
195
+ const modelSdds = new Set();
196
+ for (const [id, root] of sddRootsById) {
197
+ if (await stat(join(root, STRUCTURE_DIR)).then(() => true, () => false))
198
+ modelSdds.add(id);
199
+ }
200
+ const modelled = { schema, rowsByCatalogue, modelSdds, findings };
192
201
  const sddRootAliases = new Map(sddRootsById);
193
202
  for (const root of sddRootsById.values()) {
194
203
  sddRootAliases.set(basename(root), root);
@@ -338,7 +347,7 @@ export async function runCatalogueAggregate(inputs, write) {
338
347
  }
339
348
  }
340
349
  const before = (rowsByCatalogue.get("feature_repo") ?? []).length;
341
- rederiveAppend(rowsByCatalogue, "feature_repo", rederivedFeatureRepo);
350
+ rederiveAppend(rowsByCatalogue, "feature_repo", rederivedFeatureRepo, modelled);
342
351
  const added = (rowsByCatalogue.get("feature_repo") ?? []).length - before;
343
352
  if (added > 0) {
344
353
  findings.add("coverage", `feature_repo: ${added} row(s) re-derived at aggregate tier for features that had NO anchor at member tier — evidence tokens naming a repo registered by another contributor resolve only against the merged repositories; already-anchored features are not widened (M-ADR 0198 §4.1 as amended; ${contributors.length} contributor doc trees scanned)`);
@@ -397,7 +406,7 @@ export async function runCatalogueAggregate(inputs, write) {
397
406
  }
398
407
  }
399
408
  const before = (rowsByCatalogue.get("journey_requirement") ?? []).length;
400
- rederiveAppend(rowsByCatalogue, "journey_requirement", rederived);
409
+ rederiveAppend(rowsByCatalogue, "journey_requirement", rederived, modelled);
401
410
  const added = (rowsByCatalogue.get("journey_requirement") ?? []).length - before;
402
411
  if (added > 0) {
403
412
  findings.add("coverage", `journey_requirement: ${added} row(s) derived at aggregate tier, where a journey and the requirements it cites are catalogued in different SDDs (M-ADR 0229 §4.4; ${contributors.length} contributor(s) read)`);
@@ -416,8 +425,8 @@ export async function runCatalogueAggregate(inputs, write) {
416
425
  capabilityFeatureRows: rowsByCatalogue.get("capability_feature") ?? [],
417
426
  featureRepoRows: rowsByCatalogue.get("feature_repo") ?? [],
418
427
  });
419
- rederiveAppend(rowsByCatalogue, "repo_capability", repoEdges.repoCapability);
420
- rederiveAppend(rowsByCatalogue, "repo_contract", repoEdges.repoContract);
428
+ rederiveAppend(rowsByCatalogue, "repo_capability", repoEdges.repoCapability, modelled);
429
+ rederiveAppend(rowsByCatalogue, "repo_contract", repoEdges.repoContract, modelled);
421
430
  const featureContractRows = buildFeatureContract({
422
431
  findings,
423
432
  capabilityFeatureRows: rowsByCatalogue.get("capability_feature") ?? [],
@@ -425,7 +434,7 @@ export async function runCatalogueAggregate(inputs, write) {
425
434
  featureServiceRows: rowsByCatalogue.get("feature_service") ?? [],
426
435
  serviceContractRows: rowsByCatalogue.get("service_contract") ?? [],
427
436
  });
428
- rederiveAppend(rowsByCatalogue, "feature_contract", featureContractRows);
437
+ rederiveAppend(rowsByCatalogue, "feature_contract", featureContractRows, modelled);
429
438
  const capabilityEventRows = buildCapabilityEvent({
430
439
  findings,
431
440
  manifests: [],
@@ -434,7 +443,7 @@ export async function runCatalogueAggregate(inputs, write) {
434
443
  capabilityServiceRows: rowsByCatalogue.get("capability_service") ?? [],
435
444
  serviceEventRows: rowsByCatalogue.get("service_event") ?? [],
436
445
  });
437
- rederiveAppend(rowsByCatalogue, "capability_event", capabilityEventRows);
446
+ rederiveAppend(rowsByCatalogue, "capability_event", capabilityEventRows, modelled);
438
447
  // 5a-iii. Archetype data-plane expectations overlay (M-ADR 0191 §4.3) — the
439
448
  // deviation-visible WARN + conformance surface, run at AGGREGATION tier where
440
449
  // the reference-architecture bundle's `expected_bindings` resolve (the
@@ -687,14 +696,42 @@ function dedupExternalExemptions(rowsByCatalogue, findings) {
687
696
  }
688
697
  rowsByCatalogue.set("external_system_exemption", [...byId.values()].sort((a, b) => String(a["id"]).localeCompare(String(b["id"]))));
689
698
  }
699
+ // M-ADR 0230: in a structure-sourced catalogue, the column naming the row's subject, and the
700
+ // node catalogue it names. The subject's SDD is the one whose model states the row.
701
+ const STRUCTURE_SUBJECT = {
702
+ capability_event: { column: "capability_id", catalogue: "capabilities" },
703
+ };
690
704
  // M-ADR 0198 §4.2/§4.3: append a re-derived catalogue's rows to whatever concatenation
691
705
  // already produced for it, keeping the concatenated row on any primary-key collision. One
692
706
  // shared mechanism for every re-derived catalogue, so adding a fifth is a call to this
693
707
  // function with that catalogue's builder output, not new merge logic.
694
- function rederiveAppend(rowsByCatalogue, catalogueName, rederivedRows) {
708
+ // M-ADR 0230: a structure-sourced catalogue is stated by the structural model where its
709
+ // subject's SDD holds one, and that SDD's own build already put the model's rows here; a
710
+ // re-derived row the model leaves out is reported, never added. A row whose subject's SDD this
711
+ // aggregation cannot see (an organisation sibling's member) is added as before.
712
+ function rederiveAppend(rowsByCatalogue, catalogueName, rederivedRows, modelled) {
695
713
  const concatenated = rowsByCatalogue.get(catalogueName) ?? [];
696
714
  const existingIds = new Set(concatenated.map((r) => String(r["id"])));
697
- const added = rederivedRows.filter((r) => !existingIds.has(String(r["id"])));
715
+ let added = rederivedRows.filter((r) => !existingIds.has(String(r["id"])));
716
+ const def = modelled.schema.catalogues.find((c) => c.name === catalogueName);
717
+ if (def?.sourceOfTruth === "structure") {
718
+ const subject = STRUCTURE_SUBJECT[catalogueName];
719
+ if (subject === undefined)
720
+ throw new Error(`rederiveAppend: ${catalogueName} is structure-sourced and names no subject column`);
721
+ const sddOf = new Map((modelled.rowsByCatalogue.get(subject.catalogue) ?? []).map((r) => [String(r["id"]), String(r["source_sdd_id"] ?? "")]));
722
+ const left = [];
723
+ added = added.filter((r) => {
724
+ const sdd = sddOf.get(String(r[subject.column] ?? "")) ?? "";
725
+ if (!modelled.modelSdds.has(sdd))
726
+ return true;
727
+ left.push(`${String(r["id"])} (${sdd})`);
728
+ return false;
729
+ });
730
+ if (left.length > 0) {
731
+ left.sort();
732
+ modelled.findings.add("divergence", `${catalogueName}: ${left.length} row(s) derived at aggregate tier left out: the ${subject.column.replace(/_id$/, "")}'s SDD holds a structural model, which states them (M-ADR 0230): ${left.slice(0, 5).join(", ")}${left.length > 5 ? `, and ${left.length - 5} more` : ""}`);
733
+ }
734
+ }
698
735
  rowsByCatalogue.set(catalogueName, [...concatenated, ...added]);
699
736
  }
700
737
  export function dedupExternalSystems(rowsByCatalogue, findings) {