@sdd-method/sdd-cli 0.31.0 → 0.33.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/lib/catalogue/aggregate.d.ts.map +1 -1
- package/dist/lib/catalogue/aggregate.js +124 -0
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts +4 -0
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +65 -4
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.js +47 -2
- package/dist/lib/catalogue/builders/capabilities.js.map +1 -1
- package/dist/lib/catalogue/builders/feature-grounding.d.ts +8 -0
- package/dist/lib/catalogue/builders/feature-grounding.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/feature-grounding.js +8 -3
- package/dist/lib/catalogue/builders/feature-grounding.js.map +1 -1
- package/dist/lib/catalogue/builders/features.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/features.js +6 -4
- package/dist/lib/catalogue/builders/features.js.map +1 -1
- package/dist/lib/catalogue/builders/glossary.d.ts +17 -0
- package/dist/lib/catalogue/builders/glossary.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/glossary.js +54 -0
- package/dist/lib/catalogue/builders/glossary.js.map +1 -1
- package/dist/lib/catalogue/builders/index.d.ts +1 -1
- package/dist/lib/catalogue/builders/index.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/index.js +1 -1
- package/dist/lib/catalogue/builders/index.js.map +1 -1
- package/dist/lib/catalogue/builders/repositories.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/repositories.js +56 -6
- package/dist/lib/catalogue/builders/repositories.js.map +1 -1
- package/dist/lib/catalogue/builders/services.d.ts +9 -1
- package/dist/lib/catalogue/builders/services.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/services.js +62 -7
- package/dist/lib/catalogue/builders/services.js.map +1 -1
- package/dist/lib/catalogue/dedupe-keyed-tables.d.ts +52 -0
- package/dist/lib/catalogue/dedupe-keyed-tables.d.ts.map +1 -0
- package/dist/lib/catalogue/dedupe-keyed-tables.js +0 -0
- package/dist/lib/catalogue/dedupe-keyed-tables.js.map +1 -0
- package/dist/lib/catalogue/service-architecture-parser.d.ts +20 -0
- package/dist/lib/catalogue/service-architecture-parser.d.ts.map +1 -0
- package/dist/lib/catalogue/service-architecture-parser.js +193 -0
- package/dist/lib/catalogue/service-architecture-parser.js.map +1 -0
- package/dist/lib/catalogue/traceability-loader.d.ts +13 -1
- package/dist/lib/catalogue/traceability-loader.d.ts.map +1 -1
- package/dist/lib/catalogue/traceability-loader.js +16 -2
- package/dist/lib/catalogue/traceability-loader.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"AA+BA,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"AA+BA,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAoB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,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,CAyM1B;AAgPD,iBAAS,gBAAgB,CACvB,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EACvC,WAAW,EAAE,MAAM,GAClB,YAAY,EAAE,CAUhB;AA0LD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gCAAgC,CAC9C,mBAAmB,EAAE,SAAS,YAAY,EAAE,EAC5C,kBAAkB,EAAE,SAAS,YAAY,EAAE,EAC3C,QAAQ,EAAE,WAAW,GACpB,YAAY,EAAE,CA6DhB;AAID,eAAO,MAAM,aAAa;;;CAA0C,CAAC"}
|
|
@@ -29,6 +29,7 @@ import { readCatalogueCsv, parseCatalogueCsv } from "./csv-reader.js";
|
|
|
29
29
|
import { writeCatalogue } from "./csv-writer.js";
|
|
30
30
|
import { validateForeignKeys } from "./fk-validator.js";
|
|
31
31
|
import { FindingsLog } from "./findings.js";
|
|
32
|
+
import { indexServiceArchitectures, readServiceMetadata, } from "./service-architecture-parser.js";
|
|
32
33
|
export async function runCatalogueAggregate(inputs, write) {
|
|
33
34
|
const sddPath = resolve(inputs.sddPath ?? process.cwd());
|
|
34
35
|
const findings = new FindingsLog();
|
|
@@ -87,6 +88,16 @@ export async function runCatalogueAggregate(inputs, write) {
|
|
|
87
88
|
// exception to the duplicate-PK rule: identical rows merge (first-seen
|
|
88
89
|
// wins); conflicting attributes on the same id surface as a finding.
|
|
89
90
|
dedupExternalSystems(rowsByCatalogue, findings);
|
|
91
|
+
// 5c. Federated reverse-metadata enrichment (ADR 0163 P2). Both reference
|
|
92
|
+
// adopters centralise the service inventory in the platform-root, but for
|
|
93
|
+
// reverse-method federations the per-service evidence (service-architecture.md)
|
|
94
|
+
// lives one federation hop away, in member SDDs. The platform-root's own
|
|
95
|
+
// build can't see those docs, so those service rows carry empty reverse
|
|
96
|
+
// metadata. Here — the one place that can reach every member's repos/ —
|
|
97
|
+
// fill ONLY the empty reverse columns from each member's arch doc.
|
|
98
|
+
// Fill-if-empty: connect-local metadata always wins, order-independent
|
|
99
|
+
// across members. Cross-member slug ambiguity is refused, not guessed.
|
|
100
|
+
await enrichFederatedServiceMetadata(rowsByCatalogue, aggManifest.siblings, findings);
|
|
90
101
|
// 6. Duplicate primary key check.
|
|
91
102
|
const duplicates = findDuplicatePrimaryKeys(schema, rowsByCatalogue);
|
|
92
103
|
if (duplicates.length > 0) {
|
|
@@ -195,6 +206,119 @@ function dedupExternalSystems(rowsByCatalogue, findings) {
|
|
|
195
206
|
}
|
|
196
207
|
rowsByCatalogue.set("c4_external_systems", [...byId.values()]);
|
|
197
208
|
}
|
|
209
|
+
// ADR 0163 P2: the reverse-derived metadata columns that a member SDD's
|
|
210
|
+
// service-architecture.md can backfill onto a platform-root service row.
|
|
211
|
+
const FEDERATED_META_COLS = [
|
|
212
|
+
"runtime_type",
|
|
213
|
+
"language",
|
|
214
|
+
"status",
|
|
215
|
+
"confidence",
|
|
216
|
+
"description",
|
|
217
|
+
];
|
|
218
|
+
/**
|
|
219
|
+
* Backfill empty reverse-metadata columns on the aggregated `services`
|
|
220
|
+
* rows from member SDDs' `service-architecture.md` docs.
|
|
221
|
+
*
|
|
222
|
+
* Mechanism (Option 1 per the coordination analysis — no schema change):
|
|
223
|
+
* the aggregator already knows each sibling's repo root (`sib.sddRoot`),
|
|
224
|
+
* so it indexes `<sddRoot>/repos/**/docs/service-architecture.md` per
|
|
225
|
+
* member and matches by repo slug == service id. Only cells that are empty
|
|
226
|
+
* after the per-SDD builds are filled (connect-local metadata is never
|
|
227
|
+
* overwritten), so the pass is idempotent and order-independent.
|
|
228
|
+
*
|
|
229
|
+
* Safety: a slug whose arch doc exists in more than one member is
|
|
230
|
+
* **ambiguous** — we cannot know which doc describes the single inventory
|
|
231
|
+
* row — so it is skipped with a finding rather than guessed.
|
|
232
|
+
*/
|
|
233
|
+
async function enrichFederatedServiceMetadata(rowsByCatalogue, siblings, findings) {
|
|
234
|
+
const services = rowsByCatalogue.get("services");
|
|
235
|
+
if (services === undefined || services.length === 0)
|
|
236
|
+
return;
|
|
237
|
+
const hasEmptyCell = (row) => FEDERATED_META_COLS.some((c) => String(row[c] ?? "") === "");
|
|
238
|
+
// Service ids that still want metadata after the per-SDD builds.
|
|
239
|
+
const needed = new Set();
|
|
240
|
+
for (const row of services) {
|
|
241
|
+
if (!hasEmptyCell(row))
|
|
242
|
+
continue;
|
|
243
|
+
const id = String(row["id"] ?? "");
|
|
244
|
+
if (id !== "")
|
|
245
|
+
needed.add(id);
|
|
246
|
+
}
|
|
247
|
+
if (needed.size === 0)
|
|
248
|
+
return;
|
|
249
|
+
// Index each member's arch docs, but keep only slugs we actually need.
|
|
250
|
+
// A slug → the members whose repos/ carry an arch doc for it (collision
|
|
251
|
+
// detection lives in the >1 case below).
|
|
252
|
+
const bySlug = new Map();
|
|
253
|
+
for (const sib of siblings) {
|
|
254
|
+
let index;
|
|
255
|
+
try {
|
|
256
|
+
index = await indexServiceArchitectures(sib.sddRoot);
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
continue; // member without a repos/ tree contributes nothing
|
|
260
|
+
}
|
|
261
|
+
for (const [slug, archPath] of index) {
|
|
262
|
+
if (!needed.has(slug))
|
|
263
|
+
continue;
|
|
264
|
+
const list = bySlug.get(slug) ?? [];
|
|
265
|
+
list.push({ sddId: sib.sddId, archPath });
|
|
266
|
+
bySlug.set(slug, list);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
if (bySlug.size === 0)
|
|
270
|
+
return;
|
|
271
|
+
const metaCache = new Map();
|
|
272
|
+
const enrichingMembers = new Set();
|
|
273
|
+
let rowsEnriched = 0;
|
|
274
|
+
let cellsFilled = 0;
|
|
275
|
+
const enriched = [];
|
|
276
|
+
for (const row of services) {
|
|
277
|
+
const id = String(row["id"] ?? "");
|
|
278
|
+
const members = id !== "" ? bySlug.get(id) : undefined;
|
|
279
|
+
if (members === undefined || !hasEmptyCell(row)) {
|
|
280
|
+
enriched.push(row);
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
283
|
+
if (members.length > 1) {
|
|
284
|
+
findings.add("convention", `services: federated metadata for "${id}" is ambiguous — ` +
|
|
285
|
+
`service-architecture.md exists in ${members.length} member SDDs ` +
|
|
286
|
+
`[${members.map((m) => m.sddId).join(", ")}]; enrichment skipped`);
|
|
287
|
+
enriched.push(row);
|
|
288
|
+
continue;
|
|
289
|
+
}
|
|
290
|
+
const { sddId, archPath } = members[0];
|
|
291
|
+
let meta = metaCache.get(archPath);
|
|
292
|
+
if (meta === undefined) {
|
|
293
|
+
meta = await readServiceMetadata(archPath);
|
|
294
|
+
metaCache.set(archPath, meta);
|
|
295
|
+
}
|
|
296
|
+
const next = {
|
|
297
|
+
...row,
|
|
298
|
+
};
|
|
299
|
+
let filledThisRow = false;
|
|
300
|
+
for (const col of FEDERATED_META_COLS) {
|
|
301
|
+
if (String(row[col] ?? "") === "" && meta[col] !== "") {
|
|
302
|
+
next[col] = meta[col];
|
|
303
|
+
cellsFilled++;
|
|
304
|
+
filledThisRow = true;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
if (filledThisRow) {
|
|
308
|
+
rowsEnriched++;
|
|
309
|
+
enrichingMembers.add(sddId);
|
|
310
|
+
}
|
|
311
|
+
enriched.push(filledThisRow ? next : row);
|
|
312
|
+
}
|
|
313
|
+
if (rowsEnriched > 0) {
|
|
314
|
+
const stillEmpty = enriched.filter(hasEmptyCell).length;
|
|
315
|
+
findings.add("coverage", `services: federated reverse-metadata enrichment filled ${cellsFilled} ` +
|
|
316
|
+
`empty cell(s) across ${rowsEnriched} service row(s) from ` +
|
|
317
|
+
`${enrichingMembers.size} member SDD(s); ${stillEmpty} row(s) still ` +
|
|
318
|
+
`carry empty reverse metadata`);
|
|
319
|
+
rowsByCatalogue.set("services", enriched);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
198
322
|
function findDuplicatePrimaryKeys(schema, rowsByCatalogue) {
|
|
199
323
|
const out = [];
|
|
200
324
|
for (const cat of schema.catalogues) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../src/lib/catalogue/aggregate.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,10 @@ export interface BuildResult {
|
|
|
35
35
|
readonly internalFkPass: boolean;
|
|
36
36
|
readonly externalFindings: number;
|
|
37
37
|
readonly findingsCount: number;
|
|
38
|
+
/** Same-PK/different-payload collisions found during keyed-table dedup. */
|
|
39
|
+
readonly pkConflicts: number;
|
|
40
|
+
/** Exact-duplicate rows folded away during keyed-table dedup. */
|
|
41
|
+
readonly unionedRows: number;
|
|
38
42
|
readonly outDir: string;
|
|
39
43
|
}
|
|
40
44
|
export type Writer = (s: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAqEH,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;CAC3B;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;CACzB;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,CA0GtB"}
|
|
@@ -17,15 +17,16 @@
|
|
|
17
17
|
* but empty `catalogues/` directory — useful as a smoke test that the
|
|
18
18
|
* infrastructure works end-to-end on any SDD repo.
|
|
19
19
|
*/
|
|
20
|
-
import { join, resolve } from "node:path";
|
|
20
|
+
import { basename, join, resolve } from "node:path";
|
|
21
21
|
import { checkContainerTypeAdvisory } from "./advisory-container-type.js";
|
|
22
22
|
import { CLI_VERSION } from "./cli-version.js";
|
|
23
23
|
import { loadCanonicalSchema } from "./schema-loader.js";
|
|
24
24
|
import { loadSddManifest } from "./manifest-loader.js";
|
|
25
25
|
import { writeCatalogue } from "./csv-writer.js";
|
|
26
26
|
import { validateForeignKeys } from "./fk-validator.js";
|
|
27
|
+
import { dedupeKeyedTables } from "./dedupe-keyed-tables.js";
|
|
27
28
|
import { FindingsLog } from "./findings.js";
|
|
28
|
-
import { buildDomains, buildProducts, buildRepositories, buildServices, buildCapabilities, buildCapabilityService, buildCapabilityAdr, buildCapabilityFeature, buildCapabilityContract, buildAdrs, buildAdrSupersedes, buildFeatures, buildFeatureGroups, buildFeatureGrounding, buildCapabilitySpec, buildContracts, buildRepoEdges, buildEvents, buildServiceEvent, buildCapabilityEvent, buildFeatureEvent, buildServiceContract, buildServiceContractConsumes, buildFeatureContract, buildDomainModels, buildCapabilityDomainModel, buildFeatureDomainModel, buildFeatureSubscriptionChannels, buildProductPlatformDependencies, buildGlossaryItems, buildGlossaryXref, buildC4Systems, buildC4Containers, buildC4Components, buildC4ExternalSystems, buildSystemExternalDependency, buildPersonaC4System, buildPersonas, buildUserJourneys, buildPersonaJourney, buildPersonaFeature, buildJourneyFeature, buildProductEdges, buildIntegrations, entitySlug, buildEntitiesFromManifest, buildEntitiesFromMermaid, buildServiceEntityFromTables, buildC4ContainerEntity, buildC4SystemEntity, } from "./builders/index.js";
|
|
29
|
+
import { buildDomains, buildProducts, buildRepositories, buildServices, buildCapabilities, buildCapabilityService, buildCapabilityAdr, buildCapabilityFeature, buildCapabilityContract, buildAdrs, buildAdrSupersedes, buildFeatures, buildFeatureGroups, buildFeatureGrounding, buildCapabilitySpec, buildContracts, buildRepoEdges, buildEvents, buildServiceEvent, buildCapabilityEvent, buildFeatureEvent, buildServiceContract, buildServiceContractConsumes, buildFeatureContract, buildDomainModels, buildCapabilityDomainModel, buildFeatureDomainModel, buildFeatureSubscriptionChannels, buildProductPlatformDependencies, buildGlossaryItems, backfillGlossaryRelations, buildGlossaryXref, buildC4Systems, buildC4Containers, buildC4Components, buildC4ExternalSystems, buildSystemExternalDependency, buildPersonaC4System, buildPersonas, buildUserJourneys, buildPersonaJourney, buildPersonaFeature, buildJourneyFeature, buildProductEdges, buildIntegrations, entitySlug, buildEntitiesFromManifest, buildEntitiesFromMermaid, buildServiceEntityFromTables, buildC4ContainerEntity, buildC4SystemEntity, } from "./builders/index.js";
|
|
29
30
|
import { loadTraceabilityManifests } from "./traceability-loader.js";
|
|
30
31
|
import { loadRunwayVocabulary } from "./runway-vocabulary-loader.js";
|
|
31
32
|
import { loadFeatureGroundingAliases } from "./feature-grounding-aliases-loader.js";
|
|
@@ -42,6 +43,14 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
42
43
|
// 3. Build per-catalogue rows via discoverers.
|
|
43
44
|
const findings = new FindingsLog();
|
|
44
45
|
const rowsByCatalogue = await collectRows(schema, manifest, findings, sddPath);
|
|
46
|
+
// 3a. Normalise every keyed catalogue to PK-unique rows. Multi-source edge
|
|
47
|
+
// tables (feature_service, feature_repo) can have the same fact asserted by
|
|
48
|
+
// more than one walker; each walker's own seen-set only dedupes intra-walker.
|
|
49
|
+
// This union-dedupes identical rows across sources and hard-fails the build
|
|
50
|
+
// on same-PK/different-payload, so the per-SDD catalogue is set-correct over
|
|
51
|
+
// its declared PK before aggregation ever sees it. See
|
|
52
|
+
// `coordination/feature-edge-cross-source-duplicate-coordination.md`.
|
|
53
|
+
const dedupe = dedupeKeyedTables(schema, rowsByCatalogue, findings);
|
|
45
54
|
// 4. Write CSVs (headers + rows).
|
|
46
55
|
const rowCounts = new Map();
|
|
47
56
|
for (const cat of schema.catalogues) {
|
|
@@ -63,6 +72,15 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
63
72
|
}
|
|
64
73
|
const emptyCount = [...rowCounts.values()].filter((c) => c === 0).length;
|
|
65
74
|
write(` (${emptyCount} headers-only)\n`);
|
|
75
|
+
if (dedupe.unionedRows > 0) {
|
|
76
|
+
write(`\nKeyed-table dedup: unioned ${dedupe.unionedRows} duplicate row(s) across multi-source edge tables\n`);
|
|
77
|
+
}
|
|
78
|
+
if (dedupe.conflicts.length > 0) {
|
|
79
|
+
write(`\nPrimary-key conflicts (${dedupe.conflicts.length}) — same PK, different payload:\n`);
|
|
80
|
+
for (const c of dedupe.conflicts) {
|
|
81
|
+
write(` ${c.catalogue}.${c.primaryKey}="${c.value}"\n`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
66
84
|
const findingsText = findings.render();
|
|
67
85
|
if (findingsText) {
|
|
68
86
|
write(`\n${findingsText}\n`);
|
|
@@ -78,7 +96,11 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
78
96
|
}
|
|
79
97
|
write(`External findings: ${fk.externalFindings} (validated by aggregator)\n`);
|
|
80
98
|
const strictFail = inputs.strict === true && findings.count() > 0;
|
|
81
|
-
|
|
99
|
+
// A PK conflict means the build produced a catalogue that cannot satisfy the
|
|
100
|
+
// declared primary-key uniqueness — always a hard failure, like a dangling
|
|
101
|
+
// internal FK. (The silent-union path is not a failure: it is the expected
|
|
102
|
+
// outcome of two sources asserting the same fact.)
|
|
103
|
+
const exitCode = !fk.internalPass || dedupe.conflicts.length > 0 || strictFail ? 1 : 0;
|
|
82
104
|
return {
|
|
83
105
|
exitCode,
|
|
84
106
|
schemaVersion: schema.schemaVersion,
|
|
@@ -89,6 +111,8 @@ export async function runCatalogueBuild(inputs, write) {
|
|
|
89
111
|
internalFkPass: fk.internalPass,
|
|
90
112
|
externalFindings: fk.externalFindings,
|
|
91
113
|
findingsCount: findings.count(),
|
|
114
|
+
pkConflicts: dedupe.conflicts.length,
|
|
115
|
+
unionedRows: dedupe.unionedRows,
|
|
92
116
|
outDir,
|
|
93
117
|
};
|
|
94
118
|
}
|
|
@@ -149,12 +173,22 @@ async function collectRows(schema, manifest, findings, sddPath) {
|
|
|
149
173
|
})));
|
|
150
174
|
}
|
|
151
175
|
// 5. Services derived 1:1 from runtime-typed repositories.
|
|
152
|
-
|
|
176
|
+
// Forward `description` source (ADR 0163 P1): repo-config `description:`,
|
|
177
|
+
// parsed but previously dropped by the repositories builder.
|
|
178
|
+
const repoDescriptions = new Map();
|
|
179
|
+
for (const cfg of reposResult.configs) {
|
|
180
|
+
const desc = (cfg.data.description ?? "").trim();
|
|
181
|
+
if (desc !== "")
|
|
182
|
+
repoDescriptions.set(cfg.repoId, desc);
|
|
183
|
+
}
|
|
184
|
+
const services = await buildServices({
|
|
153
185
|
schema,
|
|
154
186
|
manifest,
|
|
155
187
|
findings,
|
|
156
188
|
repositories: repos,
|
|
157
189
|
productId: manifest.sddId,
|
|
190
|
+
sddPath,
|
|
191
|
+
repoDescriptions,
|
|
158
192
|
});
|
|
159
193
|
out.set("services", services);
|
|
160
194
|
// 6. ADRs + adr_supersedes — runs before capabilities edges so
|
|
@@ -187,6 +221,29 @@ async function collectRows(schema, manifest, findings, sddPath) {
|
|
|
187
221
|
});
|
|
188
222
|
out.set("capabilities", capabilities);
|
|
189
223
|
const knownCapabilityIds = new Set(capabilities.map((c) => String(c["id"])));
|
|
224
|
+
// Slug → capability-id aliases for feature-grounding path resolution.
|
|
225
|
+
// The grounding walker derives a capability slug from the design dir
|
|
226
|
+
// name (docs/domains/<dom>/design/<slug>/), but a capability's declared
|
|
227
|
+
// id may legitimately differ from its path slug — e.g. design/alerts-rules
|
|
228
|
+
// maps to id "alerts-rules-engine". Map each capability's spec +
|
|
229
|
+
// feature-directory basename to its id so the walker resolves these
|
|
230
|
+
// without forcing a directory rename. Only non-identity, non-colliding
|
|
231
|
+
// slugs are aliased (first manifest wins).
|
|
232
|
+
const capabilitySlugToId = new Map();
|
|
233
|
+
for (const m of traceability) {
|
|
234
|
+
const id = m.capability.id;
|
|
235
|
+
for (const p of [m.capability.capability_spec, ...(m.capability.feature_directory ?? [])]) {
|
|
236
|
+
if (typeof p !== "string" || p.length === 0)
|
|
237
|
+
continue;
|
|
238
|
+
const slug = basename(p.replace(/\/+$/, "")).replace(/\.md$/, "");
|
|
239
|
+
if (slug !== "" &&
|
|
240
|
+
slug !== id &&
|
|
241
|
+
!knownCapabilityIds.has(slug) &&
|
|
242
|
+
!capabilitySlugToId.has(slug)) {
|
|
243
|
+
capabilitySlugToId.set(slug, id);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
190
247
|
const knownServiceIds = new Set(services.map((s) => String(s["id"])));
|
|
191
248
|
out.set("capability_service", buildCapabilityService({
|
|
192
249
|
findings,
|
|
@@ -290,6 +347,7 @@ async function collectRows(schema, manifest, findings, sddPath) {
|
|
|
290
347
|
knownRepoKeys,
|
|
291
348
|
existingFeatureIds,
|
|
292
349
|
aliases: groundingAliases,
|
|
350
|
+
capabilitySlugAliases: capabilitySlugToId,
|
|
293
351
|
});
|
|
294
352
|
if (grounding.featureRows.length > 0) {
|
|
295
353
|
out.set("features", [...(out.get("features") ?? []), ...grounding.featureRows]);
|
|
@@ -693,6 +751,9 @@ async function collectRows(schema, manifest, findings, sddPath) {
|
|
|
693
751
|
});
|
|
694
752
|
out.set("glossary_xref", xref.glossaryXref);
|
|
695
753
|
out.set("entity_glossary", xref.entityGlossary);
|
|
754
|
+
// Backfill canonical_term_id + aliases onto glossary_items from the xref
|
|
755
|
+
// edges (same alignment manifest, resolved downstream).
|
|
756
|
+
out.set("glossary_items", backfillGlossaryRelations(glossaryResult.rows, xref.glossaryXref));
|
|
696
757
|
// 17. Data-model entities + service_entity + C4 roll-ups per ADR 0159
|
|
697
758
|
// (schema 2.13.0). Four new catalogues, five walkers:
|
|
698
759
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capabilities.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capabilities.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CAiHzB"}
|
|
@@ -38,6 +38,7 @@ export async function buildCapabilities(inputs) {
|
|
|
38
38
|
}
|
|
39
39
|
const specRel = cap.capability_spec ?? "";
|
|
40
40
|
let name = titleCase(cap.id);
|
|
41
|
+
let description = "";
|
|
41
42
|
if (specRel) {
|
|
42
43
|
usedSpecPaths.add(specRel);
|
|
43
44
|
const specAbs = join(inputs.sddPath, specRel);
|
|
@@ -45,6 +46,7 @@ export async function buildCapabilities(inputs) {
|
|
|
45
46
|
if (headingName !== "") {
|
|
46
47
|
name = headingName;
|
|
47
48
|
}
|
|
49
|
+
description = await readSpecOverview(specAbs);
|
|
48
50
|
// Log id ↔ spec stem divergence (informational).
|
|
49
51
|
const stem = stemOf(specRel);
|
|
50
52
|
if (stem !== "" && stem !== cap.id) {
|
|
@@ -58,7 +60,7 @@ export async function buildCapabilities(inputs) {
|
|
|
58
60
|
domain_id: cap.domain,
|
|
59
61
|
tree_category: "",
|
|
60
62
|
parent_capability_id: "",
|
|
61
|
-
description
|
|
63
|
+
description,
|
|
62
64
|
status: cap.status ?? "active",
|
|
63
65
|
spec_path: specRel,
|
|
64
66
|
source: "capability-spec",
|
|
@@ -88,6 +90,7 @@ export async function buildCapabilities(inputs) {
|
|
|
88
90
|
inputs.findings.add("orphan", `${relPath}: domain "${domain}" has no docs/domains/${domain}/`);
|
|
89
91
|
}
|
|
90
92
|
const heading = await readSpecH1Name(spec);
|
|
93
|
+
const description = await readSpecOverview(spec);
|
|
91
94
|
// Pass-2 specs have no traceability manifest, so they cannot carry
|
|
92
95
|
// `slice_scope` or `data_subset` — emit the unsliced row by default.
|
|
93
96
|
seen.add(sliceKey(stem, ""));
|
|
@@ -97,7 +100,7 @@ export async function buildCapabilities(inputs) {
|
|
|
97
100
|
domain_id: domain,
|
|
98
101
|
tree_category: "",
|
|
99
102
|
parent_capability_id: "",
|
|
100
|
-
description
|
|
103
|
+
description,
|
|
101
104
|
status: "active",
|
|
102
105
|
spec_path: relPath,
|
|
103
106
|
source: "capability-spec",
|
|
@@ -133,6 +136,48 @@ async function readSpecH1Name(specAbs) {
|
|
|
133
136
|
}
|
|
134
137
|
return "";
|
|
135
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Extract the lead paragraph of a capability spec's `## Overview` section
|
|
141
|
+
* to use as `capabilities.description`.
|
|
142
|
+
*
|
|
143
|
+
* Returns the first non-empty paragraph block after the `## Overview`
|
|
144
|
+
* heading — lines are joined with single spaces, stopping at the next blank
|
|
145
|
+
* line or the next heading. Returns "" when the spec has no Overview section
|
|
146
|
+
* (not all specs require one).
|
|
147
|
+
*/
|
|
148
|
+
async function readSpecOverview(specAbs) {
|
|
149
|
+
try {
|
|
150
|
+
const s = await stat(specAbs);
|
|
151
|
+
if (!s.isFile())
|
|
152
|
+
return "";
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return "";
|
|
156
|
+
}
|
|
157
|
+
const text = await readFile(specAbs, "utf-8");
|
|
158
|
+
const lines = text.split(/\r?\n/);
|
|
159
|
+
let inOverview = false;
|
|
160
|
+
const paragraph = [];
|
|
161
|
+
for (const line of lines) {
|
|
162
|
+
const t = line.trim();
|
|
163
|
+
if (!inOverview) {
|
|
164
|
+
if (/^##\s+Overview\s*$/i.test(t))
|
|
165
|
+
inOverview = true;
|
|
166
|
+
continue;
|
|
167
|
+
}
|
|
168
|
+
// Stop at the next heading.
|
|
169
|
+
if (t.startsWith("#"))
|
|
170
|
+
break;
|
|
171
|
+
if (t === "") {
|
|
172
|
+
// Blank line ends the lead paragraph once we've captured content.
|
|
173
|
+
if (paragraph.length > 0)
|
|
174
|
+
break;
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
paragraph.push(t);
|
|
178
|
+
}
|
|
179
|
+
return paragraph.join(" ");
|
|
180
|
+
}
|
|
136
181
|
async function collectCapabilitySpecs(sddPath) {
|
|
137
182
|
const out = [];
|
|
138
183
|
const domainsDir = join(sddPath, DOMAINS_DIR_REL);
|