@sdd-method/sdd-cli 5.4.2 → 5.5.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 +1 -0
- package/dist/author-program.js.map +1 -1
- package/dist/lib/behaviour-store/archive.d.ts +6 -1
- package/dist/lib/behaviour-store/archive.d.ts.map +1 -1
- package/dist/lib/behaviour-store/archive.js +24 -12
- package/dist/lib/behaviour-store/archive.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts +15 -0
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +117 -5
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/capability-edges.d.ts +5 -0
- package/dist/lib/catalogue/builders/capability-edges.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capability-edges.js +1 -1
- package/dist/lib/catalogue/builders/capability-edges.js.map +1 -1
- package/dist/lib/catalogue/builders/feature-groups-prune.d.ts +8 -0
- package/dist/lib/catalogue/builders/feature-groups-prune.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/feature-groups-prune.js +19 -0
- package/dist/lib/catalogue/builders/feature-groups-prune.js.map +1 -0
- package/dist/lib/catalogue/canonical-schema.yaml +9 -4
- package/dist/lib/catalogue/coverage-predicates.d.ts.map +1 -1
- package/dist/lib/catalogue/coverage-predicates.js +13 -2
- package/dist/lib/catalogue/coverage-predicates.js.map +1 -1
- package/dist/lib/catalogue/csv-writer.d.ts +6 -0
- package/dist/lib/catalogue/csv-writer.d.ts.map +1 -1
- package/dist/lib/catalogue/csv-writer.js +1 -1
- package/dist/lib/catalogue/csv-writer.js.map +1 -1
- package/dist/lib/structure/empty-groups.d.ts +15 -0
- package/dist/lib/structure/empty-groups.d.ts.map +1 -0
- package/dist/lib/structure/empty-groups.js +55 -0
- package/dist/lib/structure/empty-groups.js.map +1 -0
- package/dist/lib/validate/behaviour-store.d.ts +10 -0
- package/dist/lib/validate/behaviour-store.d.ts.map +1 -1
- package/dist/lib/validate/behaviour-store.js +61 -3
- package/dist/lib/validate/behaviour-store.js.map +1 -1
- package/dist/lib/validate/structural-model.d.ts.map +1 -1
- package/dist/lib/validate/structural-model.js +6 -1
- package/dist/lib/validate/structural-model.js.map +1 -1
- package/dist/maintain-version.json +2 -2
- package/dist/verbs/migrate-structure.d.ts +2 -0
- package/dist/verbs/migrate-structure.d.ts.map +1 -1
- package/dist/verbs/migrate-structure.js +34 -0
- package/dist/verbs/migrate-structure.js.map +1 -1
- package/dist/verify-version.json +2 -2
- package/package.json +1 -1
- package/scripts/author-version.json +2 -2
- 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;AAmBpD,qHAAqH;AACrH,eAAO,MAAM,mBAAmB,EAAE,aAAa,CAAC,MAAM,
|
|
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,CAsBrD,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
|
@@ -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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"}
|
|
@@ -51,13 +51,18 @@ export interface SurfaceEntry {
|
|
|
51
51
|
* admits no behaviour may make (the caller decides; `none` is true and the list is empty).
|
|
52
52
|
*/
|
|
53
53
|
/** What drives a service that serves no contract (sdm-xfln): the triggers `**Surfaces:** none served (...)` may name. */
|
|
54
|
-
export declare const NONE_SERVED_TRIGGERS: readonly ["scheduled", "queue-triggered", "stream-triggered"];
|
|
54
|
+
export declare const NONE_SERVED_TRIGGERS: readonly ["scheduled", "queue-triggered", "stream-triggered", "invoked"];
|
|
55
55
|
export interface ParsedSurfaces {
|
|
56
56
|
present: boolean;
|
|
57
57
|
none: boolean;
|
|
58
58
|
generated: boolean;
|
|
59
59
|
/** The triggers of a `**Surfaces:** none served (<trigger>[, <trigger>])` claim; null when the line is not that claim. */
|
|
60
60
|
noneServed: string[] | null;
|
|
61
|
+
/** List items `- <repo>: none served (<trigger>)`: an observed repository that serves no contract, and what drives it. */
|
|
62
|
+
repoClaims: {
|
|
63
|
+
repo: string;
|
|
64
|
+
triggers: string[];
|
|
65
|
+
}[];
|
|
61
66
|
entries: SurfaceEntry[];
|
|
62
67
|
problems: string[];
|
|
63
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/lib/behaviour-store/archive.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;AAErE,6HAA6H;AAC7H,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAoCvH;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAalD;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB7E;AAwBD,yGAAyG;AACzG,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAWhL;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAWD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAED,yHAAyH;AACzH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7D;AAED,MAAM,WAAW,YAAY;IAC3B,gJAAgJ;IAChJ,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,yHAAyH;AACzH,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../../src/lib/behaviour-store/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -173,7 +173,7 @@ export function observedInProblems(evidence) {
|
|
|
173
173
|
* admits no behaviour may make (the caller decides; `none` is true and the list is empty).
|
|
174
174
|
*/
|
|
175
175
|
/** What drives a service that serves no contract (sdm-xfln): the triggers `**Surfaces:** none served (...)` may name. */
|
|
176
|
-
export const NONE_SERVED_TRIGGERS = ["scheduled", "queue-triggered", "stream-triggered"];
|
|
176
|
+
export const NONE_SERVED_TRIGGERS = ["scheduled", "queue-triggered", "stream-triggered", "invoked"];
|
|
177
177
|
export function parseSurfaces(evidence) {
|
|
178
178
|
const lines = evidence.split("\n");
|
|
179
179
|
// The LAST standalone line: an evidence file may carry an earlier prose section under the same label, and
|
|
@@ -198,7 +198,7 @@ export function parseSurfaces(evidence) {
|
|
|
198
198
|
claim = "generated";
|
|
199
199
|
}
|
|
200
200
|
});
|
|
201
|
-
const base = { present: true, none: false, generated: false, noneServed: null, entries: [], problems: [] };
|
|
201
|
+
const base = { present: true, none: false, generated: false, noneServed: null, repoClaims: [], entries: [], problems: [] };
|
|
202
202
|
if (at < 0)
|
|
203
203
|
return { ...base, present: false };
|
|
204
204
|
if (claim === "none")
|
|
@@ -208,18 +208,12 @@ export function parseSurfaces(evidence) {
|
|
|
208
208
|
if (claim === "none served") {
|
|
209
209
|
// `**Surfaces:** none served (scheduled)`: the service serves no contract; what drives it is named, from a
|
|
210
210
|
// closed vocabulary, so the claim says why and cannot be left vague.
|
|
211
|
-
const m = /none\s+served\s*\(([^)]*)\)\s*\.?\s*$/i.exec(lines[at]);
|
|
212
|
-
const triggers = m ? m[1].split(",").map((t) => t.trim()).filter((t) => t !== "") : [];
|
|
213
211
|
const problems = [];
|
|
214
|
-
|
|
215
|
-
problems.push(`"none served" names what drives the service: "**Surfaces:** none served (${NONE_SERVED_TRIGGERS.join(" | ")})"`);
|
|
216
|
-
for (const t of triggers) {
|
|
217
|
-
if (!NONE_SERVED_TRIGGERS.includes(t))
|
|
218
|
-
problems.push(`"none served (${t})": "${t}" is not one of ${NONE_SERVED_TRIGGERS.join(", ")}`);
|
|
219
|
-
}
|
|
212
|
+
const triggers = noneServedTriggers(lines[at], "**Surfaces:** none served", problems);
|
|
220
213
|
return { ...base, noneServed: triggers, problems };
|
|
221
214
|
}
|
|
222
215
|
const entries = [];
|
|
216
|
+
const repoClaims = [];
|
|
223
217
|
const problems = [];
|
|
224
218
|
for (const line of lines.slice(at + 1)) {
|
|
225
219
|
if (line.trim() === "" && entries.length + problems.length === 0)
|
|
@@ -234,6 +228,12 @@ export function parseSurfaces(evidence) {
|
|
|
234
228
|
}
|
|
235
229
|
const contract = m[1].trim();
|
|
236
230
|
const status = m[2].split(";")[0].trim();
|
|
231
|
+
if (/^none\s+served\b/i.test(status)) {
|
|
232
|
+
// `- <repo>: none served (<trigger>)`: that observed repository serves no contract (sdm-wz6a); the list's other
|
|
233
|
+
// items still account for the contracts the other observed repositories serve.
|
|
234
|
+
repoClaims.push({ repo: contract, triggers: noneServedTriggers(status, `- ${contract}: none served`, problems) });
|
|
235
|
+
continue;
|
|
236
|
+
}
|
|
237
237
|
const excluded = /^excluded\s*,\s*(.+)$/i.exec(status);
|
|
238
238
|
if (/^covered at transport$/i.test(status)) {
|
|
239
239
|
if (contract.includes("*"))
|
|
@@ -251,9 +251,21 @@ export function parseSurfaces(evidence) {
|
|
|
251
251
|
problems.push(`"${contract}: ${status}" is neither "covered at transport" nor "excluded, <reason>"`);
|
|
252
252
|
}
|
|
253
253
|
}
|
|
254
|
-
if (entries.length + problems.length === 0)
|
|
254
|
+
if (entries.length + repoClaims.length + problems.length === 0)
|
|
255
255
|
problems.push('the **Surfaces:** line lists no contract; a baseline that admits no behaviour writes "**Surfaces:** none"');
|
|
256
|
-
return { present: true, none: false, generated: false, noneServed: null, entries, problems };
|
|
256
|
+
return { present: true, none: false, generated: false, noneServed: null, repoClaims, entries, problems };
|
|
257
|
+
}
|
|
258
|
+
/** The triggers of a `none served (<trigger>[, <trigger>])` claim, reporting a missing or unknown one. */
|
|
259
|
+
function noneServedTriggers(text, form, problems) {
|
|
260
|
+
const m = /none\s+served\s*\(([^)]*)\)\s*\.?\s*$/i.exec(text);
|
|
261
|
+
const triggers = m ? m[1].split(",").map((t) => t.trim()).filter((t) => t !== "") : [];
|
|
262
|
+
if (!m || triggers.length === 0)
|
|
263
|
+
problems.push(`"none served" names what drives the service: "${form} (${NONE_SERVED_TRIGGERS.join(" | ")})"`);
|
|
264
|
+
for (const t of triggers) {
|
|
265
|
+
if (!NONE_SERVED_TRIGGERS.includes(t))
|
|
266
|
+
problems.push(`"none served (${t})": "${t}" is not one of ${NONE_SERVED_TRIGGERS.join(", ")}`);
|
|
267
|
+
}
|
|
268
|
+
return triggers;
|
|
257
269
|
}
|
|
258
270
|
/**
|
|
259
271
|
* A generator's baseline (agreement-record-schema.yaml, Baselines: generated behaviour) serves no contract; its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/lib/behaviour-store/archive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/lib/behaviour-store/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
* still produces a valid but empty `catalogues/` directory — useful as a
|
|
17
17
|
* smoke test that the infrastructure works end-to-end on any SDD repo.
|
|
18
18
|
*/
|
|
19
|
+
import { type CanonicalSchema } from "./schema-loader.js";
|
|
19
20
|
import { type CatalogueRow } from "./csv-writer.js";
|
|
20
21
|
import { FindingsLog, type Finding } from "./findings.js";
|
|
21
22
|
export interface BuildInputs {
|
|
@@ -59,5 +60,19 @@ export interface BuildResult {
|
|
|
59
60
|
}
|
|
60
61
|
export type Writer = (s: string) => void;
|
|
61
62
|
export declare function runCatalogueBuild(inputs: BuildInputs, write: Writer): Promise<BuildResult>;
|
|
63
|
+
/**
|
|
64
|
+
* The derived edges joined again over the catalogues the structural model settles (sdm-pvy8). collectRows joins them
|
|
65
|
+
* over the SOURCE rows (doc tables, interface aliases); in an SDD with an admitted model the overlay then replaces
|
|
66
|
+
* those structure catalogues with the model's, and a derived edge left as joined would still say what the sources said:
|
|
67
|
+
* an alias's contract beside the model's, or a contract id the model spells otherwise. So every row a join produced is
|
|
68
|
+
* replaced by the same join over the overlaid rows; rows declared otherwise (repo-config, source_repo_id, the
|
|
69
|
+
* grounding extractor) stay as they are. Aliases go on feeding the source rows, which the overlay reports where they
|
|
70
|
+
* differ from the model.
|
|
71
|
+
*/
|
|
72
|
+
export declare function withModelJoins(rows: Map<string, readonly CatalogueRow[]>, joinDerived: ReadonlyMap<string, ReadonlySet<string>>, reach?: {
|
|
73
|
+
schema: CanonicalSchema;
|
|
74
|
+
profile: string;
|
|
75
|
+
findings: FindingsLog;
|
|
76
|
+
}): Map<string, readonly CatalogueRow[]>;
|
|
62
77
|
export declare function reportCollapsedFamilies(outDir: string, ownDir: string, rowsByCatalogue: ReadonlyMap<string, readonly CatalogueRow[]>, findings: FindingsLog): Promise<void>;
|
|
63
78
|
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO/E,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AA8F1D,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,iGAAiG;IACjG,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACjF;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAEzC,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,WAAW,CAAC,CAiOtB;AA4gDD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,EAC1C,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EACrD,KAAK,CAAC,EAAE;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,GAC1E,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,CA8EtC;AA4ED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC,EAC7D,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|
|
@@ -40,6 +40,7 @@ import { dedupeKeyedTables } from "./dedupe-keyed-tables.js";
|
|
|
40
40
|
import { FindingsLog } from "./findings.js";
|
|
41
41
|
import { readCatalogueCsv } from "./csv-reader.js";
|
|
42
42
|
import { buildDataItems, buildFeatureDemand, buildIntegrationSupply } from "./builders/data-items.js";
|
|
43
|
+
import { pruneEmptyGroups } from "./builders/feature-groups-prune.js";
|
|
43
44
|
import { buildEvidenceTargetRepos } from "./builders/evidence-target-repo.js";
|
|
44
45
|
import { buildRepoDependencies } from "./builders/repo-dependency.js";
|
|
45
46
|
import { buildRequirements } from "./builders/requirements.js";
|
|
@@ -80,7 +81,9 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
80
81
|
`If the manifest follows a newer sdd-manifest-schema than this build, upgrade ` +
|
|
81
82
|
`sdd-cli; otherwise remove or correct the key.`);
|
|
82
83
|
}
|
|
83
|
-
const
|
|
84
|
+
const emptiedDeliberately = new Set();
|
|
85
|
+
const joinDerived = new Map();
|
|
86
|
+
const collected = await collectRows(schema, manifest, findings, sddPath, inputs.snapshotStore, emptiedDeliberately, joinDerived);
|
|
84
87
|
// 3 (then). Where the SDD has a structural model, it is the record of structure: every structure catalogue is built from
|
|
85
88
|
// its current view, and what the sources say otherwise is reported (M-ADR 0230 §4.3).
|
|
86
89
|
// An agreed open change's elements, stated by the sources ahead of its archive, are intended, not divergent (§4.7).
|
|
@@ -90,7 +93,7 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
90
93
|
const intendedRows = [];
|
|
91
94
|
const rowsByCatalogue = modelFiles === null
|
|
92
95
|
? collected
|
|
93
|
-
: withC4Rollups(overlayModel(schema, viewOf(modelFiles, modelProblems), collected, findings, intendedWrites(open, agreedOrder(open)), intendedRows));
|
|
96
|
+
: withC4Rollups(withModelJoins(overlayModel(schema, viewOf(modelFiles, modelProblems), collected, findings, intendedWrites(open, agreedOrder(open)), intendedRows), joinDerived, { schema, profile: manifest.profile, findings }));
|
|
94
97
|
for (const p of modelProblems)
|
|
95
98
|
findings.add("convention", `${p} (M-ADR 0230)`);
|
|
96
99
|
// 3a. Normalise every keyed catalogue to PK-unique rows. Multi-source edge
|
|
@@ -128,7 +131,7 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
128
131
|
await copyFile(own, there);
|
|
129
132
|
}
|
|
130
133
|
}
|
|
131
|
-
const result = await writeCatalogue({ outDir, catalogue: cat, rows });
|
|
134
|
+
const result = await writeCatalogue({ outDir, catalogue: cat, rows, emptiedDeliberately: rows.length === 0 && emptiedDeliberately.has(cat.name) });
|
|
132
135
|
rowCounts.set(cat.name, result.rowCount);
|
|
133
136
|
// A preserved file is data this build could not reproduce. Saying nothing
|
|
134
137
|
// would move the silence rather than close it: the previous behaviour was
|
|
@@ -257,7 +260,11 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
257
260
|
* resolves
|
|
258
261
|
* 4. final pass: backfill domains.repo_count from the discovered repos
|
|
259
262
|
*/
|
|
260
|
-
async function collectRows(schema, manifest, findings, sddPath, snapshotStore
|
|
263
|
+
async function collectRows(schema, manifest, findings, sddPath, snapshotStore,
|
|
264
|
+
/** Catalogues a builder emptied on purpose (every candidate classified away): written as a bare header. */
|
|
265
|
+
emptiedDeliberately = new Set(),
|
|
266
|
+
/** Per derived catalogue, the row ids a join over structure catalogues produced (re-joined over a model: sdm-pvy8). */
|
|
267
|
+
joinDerived = new Map()) {
|
|
261
268
|
const out = new Map();
|
|
262
269
|
for (const cat of schema.catalogues) {
|
|
263
270
|
out.set(cat.name, []);
|
|
@@ -495,6 +502,7 @@ async function collectRows(schema, manifest, findings, sddPath, snapshotStore) {
|
|
|
495
502
|
manifests: traceability,
|
|
496
503
|
knownCapabilityIds,
|
|
497
504
|
knownAdrIds,
|
|
505
|
+
adrIdExternal: (schema.catalogues.find((c) => c.name === "capability_adr")?.foreignKeys.find((fk) => fk.column === "adr_id")?.externalForProfiles ?? []).includes(manifest.profile),
|
|
498
506
|
}));
|
|
499
507
|
// 8. Features + feature_groups (per Q7.2 first-class groups).
|
|
500
508
|
const featureGroups = await buildFeatureGroups({
|
|
@@ -502,7 +510,6 @@ async function collectRows(schema, manifest, findings, sddPath, snapshotStore) {
|
|
|
502
510
|
findings,
|
|
503
511
|
productId: manifest.sddId,
|
|
504
512
|
});
|
|
505
|
-
out.set("feature_groups", featureGroups);
|
|
506
513
|
// Schema 2.2.0+: optional adopter-owned runway vocabulary at SDD root.
|
|
507
514
|
// Absent → no validation runs; bullet runway values accepted verbatim.
|
|
508
515
|
const runwayVocab = await loadRunwayVocabulary(sddPath);
|
|
@@ -516,6 +523,14 @@ async function collectRows(schema, manifest, findings, sddPath, snapshotStore) {
|
|
|
516
523
|
runwayVocabulary: runwayVocab?.values ?? null,
|
|
517
524
|
});
|
|
518
525
|
out.set("features", featuresResult.rows);
|
|
526
|
+
// A heading no feature sits beneath is a section, not a group (sdm-1al0): reported once, not catalogued.
|
|
527
|
+
const groupsPruned = pruneEmptyGroups(featureGroups, featuresResult.rows);
|
|
528
|
+
for (const g of groupsPruned.sections) {
|
|
529
|
+
findings.add("convention", `feature-tree.md: heading "${String(g["name"] ?? g["id"])}" has no feature beneath it, so it is a section, not a feature group; not catalogued (a feature naming it as parent_group_id makes it one)`);
|
|
530
|
+
}
|
|
531
|
+
out.set("feature_groups", groupsPruned.kept);
|
|
532
|
+
if (groupsPruned.kept.length === 0 && featureGroups.length > 0)
|
|
533
|
+
emptiedDeliberately.add("feature_groups");
|
|
519
534
|
out.set("capability_feature", buildCapabilityFeature({
|
|
520
535
|
findings,
|
|
521
536
|
manifests: traceability,
|
|
@@ -768,6 +783,7 @@ async function collectRows(schema, manifest, findings, sddPath, snapshotStore) {
|
|
|
768
783
|
if (derived.length > 0) {
|
|
769
784
|
out.set("feature_repo", [...existingFeatureRepo, ...derived]);
|
|
770
785
|
}
|
|
786
|
+
joinDerived.set("feature_repo", new Set(derived.map((r) => String(r["id"]))));
|
|
771
787
|
}
|
|
772
788
|
// 10b-bis. Second pass on repo_capability Path Y (per M-ADR 0157 §4.3) —
|
|
773
789
|
// capability_feature ⋈ feature_repo. The initial repo-edges pass (step 10)
|
|
@@ -990,6 +1006,7 @@ async function collectRows(schema, manifest, findings, sddPath, snapshotStore) {
|
|
|
990
1006
|
if (pathXRowsRC.length > 0) {
|
|
991
1007
|
out.set("repo_contract", [...existingRepoContract, ...pathXRowsRC]);
|
|
992
1008
|
}
|
|
1009
|
+
joinDerived.set("repo_contract", new Set(pathXRowsRC.map((r) => String(r["id"]))));
|
|
993
1010
|
// 12a. feature_contract — derived edge per schema 2.3.0. Runs after every
|
|
994
1011
|
// input row set is populated. feature_service is not yet built by the
|
|
995
1012
|
// canonical builder (deferred), so the reverse path produces zero rows
|
|
@@ -1523,6 +1540,101 @@ async function collectRows(schema, manifest, findings, sddPath, snapshotStore) {
|
|
|
1523
1540
|
});
|
|
1524
1541
|
return out;
|
|
1525
1542
|
}
|
|
1543
|
+
/**
|
|
1544
|
+
* The derived edges joined again over the catalogues the structural model settles (sdm-pvy8). collectRows joins them
|
|
1545
|
+
* over the SOURCE rows (doc tables, interface aliases); in an SDD with an admitted model the overlay then replaces
|
|
1546
|
+
* those structure catalogues with the model's, and a derived edge left as joined would still say what the sources said:
|
|
1547
|
+
* an alias's contract beside the model's, or a contract id the model spells otherwise. So every row a join produced is
|
|
1548
|
+
* replaced by the same join over the overlaid rows; rows declared otherwise (repo-config, source_repo_id, the
|
|
1549
|
+
* grounding extractor) stay as they are. Aliases go on feeding the source rows, which the overlay reports where they
|
|
1550
|
+
* differ from the model.
|
|
1551
|
+
*/
|
|
1552
|
+
export function withModelJoins(rows, joinDerived, reach) {
|
|
1553
|
+
const scratch = new FindingsLog();
|
|
1554
|
+
const services = rows.get("services") ?? [];
|
|
1555
|
+
const repoIds = new Set((rows.get("repositories") ?? []).map((r) => String(r["id"])));
|
|
1556
|
+
const repoBySvc = new Map();
|
|
1557
|
+
for (const s of services) {
|
|
1558
|
+
const sid = String(s["id"] ?? "");
|
|
1559
|
+
const rid = String(s["primary_repo_id"] ?? "");
|
|
1560
|
+
if (sid !== "" && rid !== "")
|
|
1561
|
+
repoBySvc.set(sid, rid);
|
|
1562
|
+
}
|
|
1563
|
+
// repo_contract Path X: service_contract ⋈ services.primary_repo_id.
|
|
1564
|
+
const joinedRC = joinDerived.get("repo_contract") ?? new Set();
|
|
1565
|
+
const repoContract = (rows.get("repo_contract") ?? []).filter((r) => !joinedRC.has(String(r["id"])));
|
|
1566
|
+
const seenRC = new Set(repoContract.map((r) => String(r["id"])));
|
|
1567
|
+
// Rows kept as declared (not joined) are validated as any build's are; only the rows re-joined here are filtered below.
|
|
1568
|
+
const declared = new Map([["repo_contract", new Set(seenRC)]]);
|
|
1569
|
+
for (const sc of rows.get("service_contract") ?? []) {
|
|
1570
|
+
const repoId = repoBySvc.get(String(sc["service_id"] ?? ""));
|
|
1571
|
+
const ctrId = String(sc["contract_id"] ?? "");
|
|
1572
|
+
if (repoId === undefined || ctrId === "" || !repoIds.has(repoId))
|
|
1573
|
+
continue;
|
|
1574
|
+
const id = `${repoId}__${ctrId}`;
|
|
1575
|
+
if (seenRC.has(id))
|
|
1576
|
+
continue;
|
|
1577
|
+
seenRC.add(id);
|
|
1578
|
+
repoContract.push({ id, repo_id: repoId, contract_id: ctrId });
|
|
1579
|
+
}
|
|
1580
|
+
rows.set("repo_contract", repoContract);
|
|
1581
|
+
// feature_repo: feature_service ⋈ services.primary_repo_id, beside the extractor's rows.
|
|
1582
|
+
const joinedFR = joinDerived.get("feature_repo") ?? new Set();
|
|
1583
|
+
const featureRepo = (rows.get("feature_repo") ?? []).filter((r) => !joinedFR.has(String(r["id"])));
|
|
1584
|
+
declared.set("feature_repo", new Set(featureRepo.map((r) => String(r["id"]))));
|
|
1585
|
+
rows.set("feature_repo", [
|
|
1586
|
+
...featureRepo,
|
|
1587
|
+
...deriveFeatureRepoFromServices({ featureServiceRows: rows.get("feature_service") ?? [], serviceRows: services, knownRepoIds: repoIds, existingIds: new Set(featureRepo.map((r) => String(r["id"]))) }),
|
|
1588
|
+
]);
|
|
1589
|
+
// feature_contract and feature_event are wholly joins over structure catalogues.
|
|
1590
|
+
rows.set("feature_contract", buildFeatureContract({
|
|
1591
|
+
findings: scratch,
|
|
1592
|
+
capabilityFeatureRows: rows.get("capability_feature") ?? [],
|
|
1593
|
+
capabilityContractRows: rows.get("capability_contract") ?? [],
|
|
1594
|
+
featureServiceRows: rows.get("feature_service") ?? [],
|
|
1595
|
+
serviceContractRows: rows.get("service_contract") ?? [],
|
|
1596
|
+
}));
|
|
1597
|
+
rows.set("feature_event", buildFeatureEvent({
|
|
1598
|
+
knownFeatureIds: new Set((rows.get("features") ?? []).map((r) => String(r["id"]))),
|
|
1599
|
+
knownEventIds: new Set((rows.get("events") ?? []).map((r) => String(r["id"]))),
|
|
1600
|
+
featureServiceRows: rows.get("feature_service") ?? [],
|
|
1601
|
+
serviceEventRows: rows.get("service_event") ?? [],
|
|
1602
|
+
}));
|
|
1603
|
+
// A joined row reaches only what its own keys can: a model link to another SDD's contract (service_contract's keys
|
|
1604
|
+
// are external) gives a repo_contract row whose contract_id is external only for application and integration
|
|
1605
|
+
// SDDs, so in a platform SDD it would dangle. Such a row is left to the aggregate, which re-derives it there, and
|
|
1606
|
+
// named here (the joins over the sources never met one, because only a model states such links).
|
|
1607
|
+
if (reach !== undefined) {
|
|
1608
|
+
for (const name of ["repo_contract", "feature_repo", "feature_contract", "feature_event"]) {
|
|
1609
|
+
const cat = reach.schema.catalogues.find((c) => c.name === name);
|
|
1610
|
+
if (!cat)
|
|
1611
|
+
continue;
|
|
1612
|
+
const local = new Map();
|
|
1613
|
+
const has = (target) => {
|
|
1614
|
+
if (!local.has(target)) {
|
|
1615
|
+
const [t, col] = target.split(".");
|
|
1616
|
+
local.set(target, new Set((rows.get(t) ?? []).map((r) => String(r[col ?? "id"] ?? ""))));
|
|
1617
|
+
}
|
|
1618
|
+
return local.get(target);
|
|
1619
|
+
};
|
|
1620
|
+
const kept = [];
|
|
1621
|
+
for (const r of rows.get(name) ?? []) {
|
|
1622
|
+
const dangling = cat.foreignKeys.filter((fk) => {
|
|
1623
|
+
if (fk.external || (fk.externalForProfiles ?? []).includes(reach.profile))
|
|
1624
|
+
return false;
|
|
1625
|
+
const v = String(r[fk.column] ?? "");
|
|
1626
|
+
return v !== "" && !has(fk.references).has(v);
|
|
1627
|
+
});
|
|
1628
|
+
if (dangling.length === 0 || declared.get(name)?.has(String(r["id"])))
|
|
1629
|
+
kept.push(r);
|
|
1630
|
+
else
|
|
1631
|
+
reach.findings.add("external", `${name}: ${String(r["id"])} not emitted here: ${dangling.map((fk) => `${fk.column} ${String(r[fk.column])}`).join(", ")} names another SDD's element, which ${name}.${dangling[0].column} cannot reference from a ${reach.profile || "this"} SDD; the aggregate derives it (sdm-pvy8)`);
|
|
1632
|
+
}
|
|
1633
|
+
rows.set(name, kept);
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
return rows;
|
|
1637
|
+
}
|
|
1526
1638
|
/**
|
|
1527
1639
|
* The C4 roll-ups joined again over the catalogues the structural model settles (M-ADR 0159 §4.8, M-ADR 0230 §4.3).
|
|
1528
1640
|
* collectRows joins them over the sources, which can state an element an agreed open change adds; the overlay holds
|