@sdd-method/sdd-cli 5.0.0 → 5.1.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.
- package/dist/author-program.d.ts.map +1 -1
- package/dist/author-program.js +10 -2
- package/dist/author-program.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/catalogue/aggregate.d.ts.map +1 -1
- package/dist/lib/catalogue/aggregate.js +45 -8
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +58 -12
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/adr-governs.js +1 -1
- package/dist/lib/catalogue/builders/adr-governs.js.map +1 -1
- package/dist/lib/catalogue/builders/adrs.js +2 -2
- package/dist/lib/catalogue/builders/adrs.js.map +1 -1
- package/dist/lib/catalogue/builders/contract-revisions.d.ts +13 -0
- package/dist/lib/catalogue/builders/contract-revisions.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/contract-revisions.js +45 -7
- package/dist/lib/catalogue/builders/contract-revisions.js.map +1 -1
- package/dist/lib/catalogue/builders/data-model.js +1 -1
- package/dist/lib/catalogue/builders/data-model.js.map +1 -1
- package/dist/lib/catalogue/builders/entity-archetype.d.ts +24 -0
- package/dist/lib/catalogue/builders/entity-archetype.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/entity-archetype.js +121 -0
- package/dist/lib/catalogue/builders/entity-archetype.js.map +1 -0
- package/dist/lib/catalogue/builders/quality-scores.js +1 -1
- package/dist/lib/catalogue/builders/requirements.js +1 -1
- package/dist/lib/catalogue/builders/requirements.js.map +1 -1
- package/dist/lib/catalogue/canonical-schema.yaml +41 -21
- package/dist/lib/catalogue/retired-catalogues.js +1 -1
- package/dist/lib/catalogue/retired-catalogues.js.map +1 -1
- package/dist/lib/catalogue/rubric-coverage-map.yaml +7 -3
- package/dist/lib/catalogue/schema-loader.d.ts +3 -3
- package/dist/lib/catalogue/schema-loader.d.ts.map +1 -1
- package/dist/lib/catalogue/staleness-verdicts.js +3 -3
- package/dist/lib/catalogue/staleness-verdicts.js.map +1 -1
- package/dist/lib/metamodel/roundtrip-gate.js +1 -1
- package/dist/lib/metamodel/roundtrip-gate.js.map +1 -1
- package/dist/lib/metamodel/schema-projection.d.ts +3 -3
- package/dist/lib/metamodel/schema-projection.d.ts.map +1 -1
- package/dist/lib/metamodel/schema-projection.js +2 -2
- package/dist/lib/metamodel/schema-projection.js.map +1 -1
- package/dist/lib/structure/apply.js +2 -2
- package/dist/lib/structure/apply.js.map +1 -1
- package/dist/lib/structure/archive.d.ts.map +1 -1
- package/dist/lib/structure/archive.js +19 -7
- package/dist/lib/structure/archive.js.map +1 -1
- package/dist/lib/structure/catalogue.d.ts +7 -2
- package/dist/lib/structure/catalogue.d.ts.map +1 -1
- package/dist/lib/structure/catalogue.js +31 -10
- package/dist/lib/structure/catalogue.js.map +1 -1
- package/dist/lib/structure/compose.js +1 -1
- package/dist/lib/structure/compose.js.map +1 -1
- package/dist/lib/structure/effects.js +1 -1
- package/dist/lib/structure/effects.js.map +1 -1
- package/dist/lib/structure/extract.js +3 -3
- package/dist/lib/structure/extract.js.map +1 -1
- package/dist/lib/structure/intended.d.ts +66 -0
- package/dist/lib/structure/intended.d.ts.map +1 -0
- package/dist/lib/structure/intended.js +194 -0
- package/dist/lib/structure/intended.js.map +1 -0
- package/dist/lib/structure/model.js +1 -1
- package/dist/lib/structure/model.js.map +1 -1
- package/dist/lib/structure/render.js +1 -1
- package/dist/lib/structure/render.js.map +1 -1
- package/dist/lib/structure/view.d.ts +3 -1
- package/dist/lib/structure/view.d.ts.map +1 -1
- package/dist/lib/structure/view.js +8 -3
- package/dist/lib/structure/view.js.map +1 -1
- package/dist/lib/validate/agreement-evidence.d.ts +1 -1
- package/dist/lib/validate/agreement-evidence.js +2 -2
- package/dist/lib/validate/agreement-evidence.js.map +1 -1
- package/dist/lib/validate/behaviour-store.d.ts +1 -1
- package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
- package/dist/lib/validate/behaviour-store.js +49 -12
- package/dist/lib/validate/behaviour-store.js.map +1 -1
- package/dist/lib/validate/dispatch.js +1 -1
- package/dist/lib/validate/dispatch.js.map +1 -1
- package/dist/lib/validate/structural-model.d.ts +2 -2
- package/dist/lib/validate/structural-model.d.ts.map +1 -1
- package/dist/lib/validate/structural-model.js +48 -35
- package/dist/lib/validate/structural-model.js.map +1 -1
- package/dist/maintain-program.d.ts.map +1 -1
- package/dist/maintain-program.js +7 -1
- package/dist/maintain-program.js.map +1 -1
- package/dist/maintain-version.json +2 -2
- package/dist/verbs/change.js +2 -2
- package/dist/verbs/change.js.map +1 -1
- package/dist/verbs/migrate-structure.d.ts +6 -0
- package/dist/verbs/migrate-structure.d.ts.map +1 -0
- package/dist/verbs/migrate-structure.js +36 -0
- package/dist/verbs/migrate-structure.js.map +1 -0
- package/dist/verbs/structure.d.ts +0 -3
- package/dist/verbs/structure.d.ts.map +1 -1
- package/dist/verbs/structure.js +5 -34
- package/dist/verbs/structure.js.map +1 -1
- package/dist/verify-version.json +2 -2
- package/package.json +1 -1
- package/scripts/author-acceptance.mjs +5 -1
- package/scripts/author-version.json +2 -2
- package/scripts/build-persona-package.mjs +11 -7
- package/scripts/maintain-acceptance.mjs +8 -1
- package/scripts/maintain-version.json +2 -2
- 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;
|
|
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"}
|
package/dist/author-program.js
CHANGED
|
@@ -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`),
|
|
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":"AAAA,8DAA8D;AAC9D,EAAE;AACF,iGAAiG;AACjG,iGAAiG;AACjG,kGAAkG;AAClG,mGAAmG;AACnG,2FAA2F;AAC3F,
|
|
1
|
+
{"version":3,"file":"author-program.js","sourceRoot":"","sources":["../src/author-program.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAC;
|
|
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":"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"}
|
|
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;
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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) {
|