@sdd-method/sdd-cli 0.28.0 → 0.29.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.
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAiEH,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,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,CA4EtB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAkEH,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,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,CA4EtB"}
@@ -25,7 +25,7 @@ import { loadSddManifest } from "./manifest-loader.js";
25
25
  import { writeCatalogue } from "./csv-writer.js";
26
26
  import { validateForeignKeys } from "./fk-validator.js";
27
27
  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, buildServiceContract, buildServiceContractConsumes, buildFeatureContract, buildDomainModels, buildCapabilityDomainModel, buildFeatureDomainModel, buildFeatureSubscriptionChannels, buildProductPlatformDependencies, buildGlossaryItems, buildGlossaryXref, buildC4Systems, buildC4Containers, buildC4ExternalSystems, buildSystemExternalDependency, buildPersonaC4System, buildPersonas, buildUserJourneys, buildPersonaJourney, buildPersonaFeature, buildJourneyFeature, buildProductEdges, buildIntegrations, entitySlug, buildEntitiesFromManifest, buildEntitiesFromMermaid, buildServiceEntityFromTables, buildC4ContainerEntity, buildC4SystemEntity, } from "./builders/index.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, buildC4ExternalSystems, buildSystemExternalDependency, buildPersonaC4System, buildPersonas, buildUserJourneys, buildPersonaJourney, buildPersonaFeature, buildJourneyFeature, buildProductEdges, buildIntegrations, entitySlug, buildEntitiesFromManifest, buildEntitiesFromMermaid, buildServiceEntityFromTables, buildC4ContainerEntity, buildC4SystemEntity, } from "./builders/index.js";
29
29
  import { loadTraceabilityManifests } from "./traceability-loader.js";
30
30
  import { loadRunwayVocabulary } from "./runway-vocabulary-loader.js";
31
31
  import { loadFeatureGroundingAliases } from "./feature-grounding-aliases-loader.js";
@@ -508,6 +508,15 @@ async function collectRows(schema, manifest, findings, sddPath) {
508
508
  featureServiceRows: out.get("feature_service") ?? [],
509
509
  serviceContractRows: out.get("service_contract") ?? [],
510
510
  }));
511
+ // 12a-bis. feature_event — derived edge per schema 2.15.0 / ADR 0161.
512
+ // Pure join of feature_service ⋈ service_event; no authored shape. Mirrors
513
+ // ADR 0160's capability_event derived path one rung lower in the hierarchy.
514
+ out.set("feature_event", buildFeatureEvent({
515
+ knownFeatureIds: featureIdsAfterAllSources,
516
+ knownEventIds,
517
+ featureServiceRows: out.get("feature_service") ?? [],
518
+ serviceEventRows: out.get("service_event") ?? [],
519
+ }));
511
520
  // 12b. domain_models + capability_domain_model + feature_domain_model
512
521
  // per schema 2.4.0 / ADR 0142. Platform-profile only — non-platform
513
522
  // builds emit headers-only. domain_models runs first; the edges depend
@@ -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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"}
@@ -22,6 +22,15 @@ export interface CapabilityEventInputs {
22
22
  /** service_event rows for the derived path. Defaults to empty (legacy callers). */
23
23
  readonly serviceEventRows?: readonly CatalogueRow[];
24
24
  }
25
+ export interface FeatureEventInputs {
26
+ readonly knownFeatureIds: ReadonlySet<string>;
27
+ readonly knownEventIds: ReadonlySet<string>;
28
+ /** feature_service rows joined against service_event to emit feature_event. */
29
+ readonly featureServiceRows: readonly CatalogueRow[];
30
+ /** service_event rows joined against feature_service to emit feature_event. */
31
+ readonly serviceEventRows: readonly CatalogueRow[];
32
+ }
25
33
  export declare function buildServiceEvent(inputs: ServiceEventInputs): CatalogueRow[];
26
34
  export declare function buildCapabilityEvent(inputs: CapabilityEventInputs): CatalogueRow[];
35
+ export declare function buildFeatureEvent(inputs: FeatureEventInputs): CatalogueRow[];
27
36
  //# sourceMappingURL=event-edges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-edges.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/event-edges.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,wFAAwF;IACxF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACzD,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CACrD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAqD5E;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,GAC5B,YAAY,EAAE,CAoHhB"}
1
+ {"version":3,"file":"event-edges.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/event-edges.ts"],"names":[],"mappings":"AA4CA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,wFAAwF;IACxF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACzD,mFAAmF;IACnF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,SAAS,YAAY,EAAE,CAAC;IACrD,+EAA+E;IAC/E,QAAQ,CAAC,gBAAgB,EAAE,SAAS,YAAY,EAAE,CAAC;CACpD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,EAAE,CAqD5E;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,qBAAqB,GAC5B,YAAY,EAAE,CAoHhB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,EAAE,CA8C5E"}
@@ -30,6 +30,16 @@
30
30
  // authored edges for governance queries.
31
31
  // - Merge by PK `{capability_id}__{event_id}__{role}`: authored wins;
32
32
  // conflicting authored sources fire `[finding] divergence`.
33
+ //
34
+ // feature_event sources (per ADR 0161, schema 2.15.0):
35
+ // - Derived only — `feature_service ⋈ service_event` join on service_id.
36
+ // Completes the capability/feature/service trio of materialised event
37
+ // edges. There is no authored shape; the authored signal lives at the
38
+ // service level (`service_event`) and the feature inherits it through
39
+ // `feature_service`. Every row carries `source=derived` for symmetry
40
+ // with `capability_event.source`.
41
+ // - PK is `{feature_id}__{event_id}__{role}` so a feature can carry both
42
+ // publishes + consumes for the same event without collision.
33
43
  import { sep } from "node:path";
34
44
  export function buildServiceEvent(inputs) {
35
45
  const rows = [];
@@ -201,6 +211,57 @@ export function buildCapabilityEvent(inputs) {
201
211
  }
202
212
  return [...authored.values(), ...derived];
203
213
  }
214
+ export function buildFeatureEvent(inputs) {
215
+ // Derived-only edge per ADR 0161. Mirrors capability_event's derived path
216
+ // one rung lower in the hierarchy. PK uses three components so the same
217
+ // feature can hold both publishes + consumes rows for the same event.
218
+ const rows = [];
219
+ const seen = new Set();
220
+ if (inputs.serviceEventRows.length === 0)
221
+ return rows;
222
+ // Index: service_id -> features served by that service.
223
+ const featuresByService = new Map();
224
+ for (const fs of inputs.featureServiceRows) {
225
+ const sid = String(fs["service_id"] ?? "");
226
+ const fid = String(fs["feature_id"] ?? "");
227
+ if (sid === "" || fid === "")
228
+ continue;
229
+ if (!inputs.knownFeatureIds.has(fid))
230
+ continue;
231
+ let bucket = featuresByService.get(sid);
232
+ if (bucket === undefined) {
233
+ bucket = new Set();
234
+ featuresByService.set(sid, bucket);
235
+ }
236
+ bucket.add(fid);
237
+ }
238
+ for (const se of inputs.serviceEventRows) {
239
+ const sid = String(se["service_id"] ?? "");
240
+ const eid = String(se["event_id"] ?? "");
241
+ const role = String(se["role"] ?? "");
242
+ if (sid === "" || eid === "" || (role !== "publishes" && role !== "consumes"))
243
+ continue;
244
+ if (!inputs.knownEventIds.has(eid))
245
+ continue;
246
+ const features = featuresByService.get(sid);
247
+ if (features === undefined)
248
+ continue;
249
+ for (const fid of features) {
250
+ const pk = `${fid}__${eid}__${role}`;
251
+ if (seen.has(pk))
252
+ continue;
253
+ seen.add(pk);
254
+ rows.push({
255
+ id: pk,
256
+ feature_id: fid,
257
+ event_id: eid,
258
+ role,
259
+ source: "derived",
260
+ });
261
+ }
262
+ }
263
+ return rows;
264
+ }
204
265
  function tryEmitAuthored(authored, capId, eid, role, relPath, findings) {
205
266
  const pk = `${capId}__${eid}__${role}`;
206
267
  if (authored.has(pk)) {
@@ -1 +1 @@
1
- {"version":3,"file":"event-edges.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/event-edges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-edges.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/event-edges.ts"],"names":[],"mappings":"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"}
@@ -32,8 +32,8 @@ export { buildRepoEdges } from "./repo-edges.js";
32
32
  export type { RepoEdgesInputs, RepoEdgesResult, } from "./repo-edges.js";
33
33
  export { buildEvents } from "./events.js";
34
34
  export type { EventsBuildInputs, EventsBuildResult, PublisherIndex, } from "./events.js";
35
- export { buildServiceEvent, buildCapabilityEvent } from "./event-edges.js";
36
- export type { ServiceEventInputs, CapabilityEventInputs, } from "./event-edges.js";
35
+ export { buildServiceEvent, buildCapabilityEvent, buildFeatureEvent, } from "./event-edges.js";
36
+ export type { ServiceEventInputs, CapabilityEventInputs, FeatureEventInputs, } from "./event-edges.js";
37
37
  export { buildServiceContract } from "./service-contract.js";
38
38
  export type { ServiceContractInputs } from "./service-contract.js";
39
39
  export { buildServiceContractConsumes } from "./service-contract-consumes.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export { buildCapabilitySpec } from "./capability-spec.js";
19
19
  export { buildContracts } from "./contracts.js";
20
20
  export { buildRepoEdges } from "./repo-edges.js";
21
21
  export { buildEvents } from "./events.js";
22
- export { buildServiceEvent, buildCapabilityEvent } from "./event-edges.js";
22
+ export { buildServiceEvent, buildCapabilityEvent, buildFeatureEvent, } from "./event-edges.js";
23
23
  export { buildServiceContract } from "./service-contract.js";
24
24
  export { buildServiceContractConsumes } from "./service-contract-consumes.js";
25
25
  export { buildGlossaryItems } from "./glossary.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAK3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
@@ -45,22 +45,16 @@
45
45
  # Builder contract: see docs/method/methods/catalogue-builder-specification.md.
46
46
  # Category taxonomy: see docs/method/methods/product-category-taxonomy.md.
47
47
 
48
- schema_version: "2.14.0"
48
+ schema_version: "2.15.0"
49
49
  schema_owner: "sdd-method"
50
50
  schema_status: "canonical"
51
- # Bump rationale (2.9.0 — additive minor): adds the Track 2 cohort-sweep
52
- # field set (`capabilities.data_subset`, `capabilities.slice_scope`), a new
53
- # per-feature edge catalogue `feature_subscription_channels` for the
54
- # AppSync / Pekko-WS / MQTT / SSE delivery layer (peer of `graphql_operations:`
55
- # per resolved decision §1 of `content/plans/v0-9-0-cohort-sweep-derived-bundle.md`),
56
- # a new per-SDD edge catalogue `product_platform_dependencies` capturing
57
- # product-scoped platform consumption rows from
58
- # `reverse-evidence/feature-grounding-evidence.yaml`, and a new federated
59
- # edge catalogue `cross_sdd_platform_capability` that joins those rows
60
- # against platform-side `capability_service` at aggregation time to
61
- # surface ecosystem-wide product → platform-capability relationships.
62
- # Backward-compatible — older readers ignore the new columns + new
63
- # catalogues; SCHEMA_COMPAT stays at "^2.0.0".
51
+ # Bump rationale (2.15.0 — additive minor, per ADR 0161): adds a new edge
52
+ # catalogue `feature_event` materialising the (feature, event, role) edge
53
+ # via the derived join `feature_service service_event`. Mirrors ADR 0160's
54
+ # capability_event derived-source pattern at the feature level, completing
55
+ # the capability/feature/service trio of materialised event edges. No
56
+ # authored shape every row carries `source=derived`. Backward-compatible —
57
+ # older readers ignore the new catalogue; SCHEMA_COMPAT stays at "^2.0.0".
64
58
 
65
59
  # ─── Canonical enums ────────────────────────────────────────────────────────
66
60
  #
@@ -695,6 +689,19 @@ catalogues:
695
689
  - { name: feature_id, type: string, nullable: false }
696
690
  - { name: service_id, type: string, nullable: false }
697
691
 
692
+ feature_event:
693
+ primary_key: id
694
+ description: "Edge: feature publishes or consumes event. Derived only — emitted from the `feature_service ⋈ service_event` join, mirroring ADR 0160's capability_event derived path one rung lower in the capability/feature/service hierarchy. Every row carries `source=derived`; there is no authored shape (the authored signal lives at the service level via `service_event`, which the feature inherits through `feature_service`). PK is `{feature_id}__{event_id}__{role}` so the same feature can carry both publishes + consumes rows for the same event without collision. Schema 2.15.0 per ADR 0161."
695
+ foreign_keys:
696
+ - { column: feature_id, references: features.id, nullable: false }
697
+ - { column: event_id, references: events.id, nullable: false }
698
+ columns:
699
+ - { name: id, type: string, nullable: false }
700
+ - { name: feature_id, type: string, nullable: false }
701
+ - { name: event_id, type: string, nullable: false }
702
+ - { name: role, type: string, nullable: false, description: "publishes | consumes — mirrors the role on the source service_event row." }
703
+ - { name: source, type: string, nullable: false, description: "Always `derived` (schema 2.15.0). The column is retained for symmetry with `capability_event.source` and to keep the door open for an authored shape if one surfaces; today every row is derived." }
704
+
698
705
  feature_repo:
699
706
  primary_key: id
700
707
  description: "Edge: feature is implemented in repo. From contributes_to.artifact_type=feature-set."
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sdd-method/sdd-cli",
3
- "version": "0.28.0",
4
- "description": "Method-layer CLI for SDD repository lifecycle — init, sync, validate, list, plan, generate-briefing, mcp serve, catalogue {build,aggregate,validate,version}, pack {build,validate}. v0.28.0 ships catalogue schema 2.14.0 (additive minor) implementing sdd-method ADR 0160 (Capability-Event Multi-Source Ingestion) — the sixth instance of ADR 0157's parity principle and the cleanest 'builder reads X, adopter authors Y' instance in the parity series (a forward adopter actively authoring event intent in a shape the builder never read). The `capability_event` walker (`event-edges.ts::buildCapabilityEvent`) now reads three equal-status sources merged by PK: (1) forward shape A — legacy `traceability.events[{id, role}]` (unauthored across observed adopters, retained for compatibility); (2) forward shape B — `traceability.contracts.published_events[]` / `consumed_events[]` with `{event, status, notes}` (the observed forward-method shape; event name slug-resolves against events.csv via the same normaliser the events walker uses; pre-lock sketches fire `[finding] orphan` rather than dropping silently); (3) reverse-derived — `capability_service ⋈ service_event` join on service_id (zero-authoring associative path; no role filter because Phase Pre verified the originally-proposed role=primary filter is ineffective in practice — Connect 144 → 144). Authored wins on PK conflict. New `source ∈ {authored, derived}` column distinguishes authoritative ownership from associative coupling for governance queries — the 2.4× fan-out in Adopter A (services owning multiple primary capabilities) makes the provenance signal non-negotiable. The retired `## Related Events` capability-spec heading is struck from the canonical schema description, both reverse skills (`reverse-capability-spec-synthesis`, `reverse-event-catalogue-authoring`), and the metamodel — no adopter authored it and the template never carried the section. Cross-adopter regression: Adopter A — 0 → 144 derived rows (FK PASS); Adopter B — 0 → 21 derived rows + 4 shape-B orphan findings for sketches (calendars events pre-lock, will populate authored rows at contract lock-in; FK PASS). 809 unit tests green (was 802; +7 shape-B and derived-path tests). SCHEMA_COMPAT (^2.0.0) unchanged. v0.27.1 patched two issues in the 0.27.0 ADR 0159 walkers reported by adopter cross-validation: (a) profile-gates entities-manifest + glossary-xref to platform-profile only — both walkers read the platform-owned `docs/platform/reference/glossary-alignment-manifest.yaml`, which adopters syndicate verbatim to sibling application-product / integration-product SDDs for documentation accessibility; without profile-gating, every sibling re-emitted the same entity registry locally with unresolved-domain PKs, then collided en masse at aggregation (one adopter reported 304 duplicate-entity findings across 35 siblings). Mirrors the precedent set by domain-models.ts per ADR 0142. (b) platform-wide PK shape: replaces the leading-hyphen `-{slug}` PK for the 107 entries with `domain: platform-wide` with the sentinel-prefix `_platform-wide-{slug}`. The underscore prefix is unreachable via entitySlug (slugify strips underscores), so the sentinel can't collide with any real domain id including ecosystem-named domains. Cross-adopter regression: contextua-platform — entities=411 unchanged at platform-root; 107 platform-wide entries carry `_platform-wide-*` PKs; sibling SDDs cease re-emitting (0 entity rows from siblings); aggregator exit 0 cleanly. Connect — entities=263 unchanged (no `domain: platform-wide` entries authored); 0 `_platform-wide-*` PKs; FK PASS. 802 unit tests green (was 800; +1 profile-gate test per walker). Schema 2.13.0 unchanged; SCHEMA_COMPAT (^2.0.0) unchanged. v0.27.0 shipped catalogue schema 2.13.0 (additive minor) implementing sdd-method ADR 0159 (Data-Model Entities as First-Class Catalogue Nodes) — the fourth instance of ADR 0157's parity principle. Four new catalogues land in one release: entities (data-model entity nodes — distinct from glossary_items vocabulary and from domain_models files); service_entity (services touching entities, relation=owns from Data Store Mapping tables); c4_container_entity (transitive: service_entity ⋈ c4_containers.service_id); c4_system_entity (aggregation: c4_container_entity ⋈ c4_containers.system_id with container_count). Five walkers: entities-manifest (forward: models[].entities[] in glossary-alignment-manifest.yaml; handles platform-wide non-canonical domain, duplicate model entries, superseded status with superseded_by); entities-mermaid (reverse: parses erDiagram blocks in domain_models doc_paths; handles UPPER_SNAKE/PascalCase/lowercase entity authoring, multi-erDiagram-per-file with within-file dedup, Mermaid comments, relationship-arrow skipping, mixed-diagram-types-per-file); service-entity-tables (reverse primary: ## Data Store Mapping markdown tables with heading + column-shape variants, compound owning-service split on ' / ', trailing-parenthetical-annotation strip, cross-domain entity-resolution fallback); c4-container-entity + c4-system-entity (pure derivations, graceful empty-input). New optional alias map at docs/platform/reference/service-name-aliases.yaml resolves adopter display names ('App Shell UI', 'Cloud Bridge', etc.) to canonical services.id; graceful degradation when absent. New entity-aware slug helper (entity-slug.ts) adds an ALLCAPS-then-Pascal split rule on top of the base slugify so OBUConfigurationTemplate and OBU_CONFIGURATION_TEMPLATE produce the same slug — kept local to the entity walkers to avoid affecting events/contracts/capabilities (per ADR 0159 §4.6 deferred decision). Phase 1.1 entity_glossary lift: now also appends rows from entities.csv (reverse-method side) when glossary_term FK is populated, on top of the existing forward-method emission per ADR 0158. Cross-adopter regression: contextua (forward, pre-lock) — entities=411 (manifest-sourced), service_entity / c4_container_entity / c4_system_entity = 0 (empty-input regression-checked); FK PASS. Connect (reverse, mono-SDD platform-product) — entities=263 (Mermaid-extracted across 11 domains; matches Phase Pre prototype), service_entity=97 (heuristic-only resolution against the Data Store Mapping tables; ~135-155 expected after alias-map authoring per ADR 0159 §4.7), c4_container_entity=88, c4_system_entity=82, entity_glossary lifts from 6→100; FK PASS. Phase Pre prototypes (sdd-method/research/adr-0159-prototypes/) ran the walkers as throw-away Python against both adopters before committing to the spec — first ADR in the parity series to formalise this discipline after the 0.26.0→0.26.1 patch cycle showed real-data validation was needed. SCHEMA_COMPAT unchanged (^2.0.0). v0.26.1 fixed two Phase 1 outcomes from v0.26.0's three-ADR rollout, reported by adopter cross-validation. (a) ADR 0156 events walker: required explicit `id:` field on event-catalog.yaml entries, but the original coordination doc spec was \"derive id from name (slugged)\". Connect's authoring uses `name:` only, so all ~62 events skipped in 0.26.0. Walker now derives id-from-name when id absent (lowercase, hyphenate camelCase boundaries, replace non-alphanumerics with hyphens; explicit id wins when both present; within-domain slug collisions fire divergence finding). (b) ADR 0157 §4.2 amendment: repo_contract had only `contracts.source_repo_id` as its reverse derivation, but Connect's 0/30 source_repo_id outcome left them empty. Added a universal Path X analogous to §4.3 — `service_contract ⋈ services.primary_repo_id` (a service exposing a contract is implemented by a repo; the repo \"owns\" the contract). Schema 2.12.0 unchanged; SCHEMA_COMPAT (^2.0.0) unchanged; pure derivation-logic patch. Cross-adopter regression: contextua-platform — 108 repo_contract rows preserved (Path X reproduces forward-path edges; dedup keeps 108 net); Connect expects ~57 new rows via Path X plus ~62 events plus all downstream service_event edges once they rebuild. v0.26.0 ships catalogue schema 2.12.0 (additive minor) implementing three ADRs in one release: ADR 0156 (Event Catalogue Multi-Source Ingestion) adds the reverse-method `docs/domains/<domain>/contracts/events/event-catalog.yaml` walker alongside the existing forward avsc path — YAML wins on name/domain/publisher/transport/consumers; avsc augments schema_path/version when YAML is null. Transport enum opens (no hardcoded \"nats\" default); recommended values surface a convention finding when violated. service_event edges populate from YAML's publisher + consumers[] in addition to repo-config events.produces/consumes. ADR 0157 (Forward-Declared / Reverse-Derived Parity for Edge Catalogues) codifies the principle that every edge with a forward declared source MUST also have a reverse derived source, applied here to repo_capability + repo_contract: reverse derivations add `capability_service ⋈ services.primary_repo_id` (universal Path X) and `capability_feature ⋈ feature_repo` (Path Y via ADR 0143 evidence) for repo_capability, and `contracts.source_repo_id` denormalisation for repo_contract — alongside the existing forward-declared `additional_context:` / `repo-config.contracts:` paths. The orphan-finding pattern surfaces when reverse paths can't derive (e.g. capability_service rows referencing services with empty primary_repo_id). ADR 0158 (Glossary Cross-Reference Multi-Source Ingestion) extends glossary_xref ingestion from one walker to four (forward declared pair-form, reverse cross_domain_terms, reverse multi-domain conflicts with field-inspection disambiguation, forward supersedes via models[].entities[].superseded_by) plus introduces a new sibling edge catalogue entity_glossary for data-model-entity → glossary-term mappings (status ∈ {aligned, matched_direct}). Dedupe by (domain, entity_name, glossary_item_id) collapses same-domain multi-diagram entries while preserving cross-domain cross-level cataloguing. glossary_xref.relation enum extends from {alias-of, conflicts-with} to {alias-of, conflicts-with, references, supersedes}. SCHEMA_COMPAT unchanged (^2.0.0); additive minor across all three ADRs. Cross-adopter regression verified: contextua's existing forward-path rows (12 repo_contract, 78 events, 42 service_event) preserved exactly; new reverse-path additions (+30 repo_capability via Path X; +10 entity_glossary). v0.25.3 ships catalogue schema 2.11.0 (additive minor): relaxes c4_systems.product_id to a nullable FK. Every product is a system, but not every system is a product — external/SaaS systems catalogued as c4_systems (e.g. Salesforce, DocuSign, Zendesk) legitimately have no owning product. The FK + column were nullable: false, so organisation-level aggregation FAILed with dangling-FK errors on c4_systems rows whose product_id is empty (63 such across the bko/latam/masternaut platforms). The FK validator already passes nullable empty values (fk-validator.test.ts \"treats nullable FK with empty value as PASS\"), so no logic change. Builds with populated product_id (e.g. connect, where every c4_system has an owning product) are unaffected — nullable is strictly more permissive. SCHEMA_COMPAT unchanged (still ^2.0.0); backward compatible — existing 2.10.0 catalogues read unchanged, no migration. v0.25.2 fixes a sync bug: bundle.ts inferred is_forward_base from isBundleName (true for ANY known bundle) instead of isForwardBase, so an additive bundle that omits is_forward_base in its manifest — every sdd-method-cut reverse-extension-baseline — was misclassified as a forward base, making `sdd-cli sync` throw \"Forward-base bundle reverse-extension-baseline has no profile mapping\" and blocking adopters from layering the reverse extension over a forward base. Inference now uses isForwardBase (additive bundles correctly resolve to false). v0.25.1 is a conformance patch: v0.25.0's notes advertised that the legacy c4_containers types Infrastructure / External System \"remain recognised-but-WARNed during the 2.x line\", but no code emitted that finding (the builder-spec's \"a conforming builder MUST emit [finding] convention\" was unimplemented). v0.25.1 adds checkContainerTypeAdvisory, wired into both `catalogue build` and `catalogue validate`, emitting a `convention` finding for any c4_containers.type outside the canonical c4_container_type set {Application, Data Store}. It reads the allowed values from the schema enum (no hardcoded list) and self-disables once the enum is bound via column_enums (the 3.0.0 hard-fail path) or removed — handing off cleanly at the major bump with no double-reporting. The validate path has teeth (it fires over an existing catalogues/ dir — e.g. an adopter who upgraded sdd-cli but has not yet rebuilt a catalogue still carrying Infrastructure rows from the old builder, which is the warn-then-enforce migration window ADR 0155 §4.3 relies on before 3.0.0); the build path is defensive (the canonical builder derives type from the C4 macro and cannot emit a legacy value). No schema change; SCHEMA_COMPAT unchanged (^2.0.0); patch release. v0.25.0 ships catalogue schema 2.10.0 (lockstep with sdd-method ADR 0155 — Align C4 Catalogue Capture with Strict C4 Abstractions), bringing the catalogue's C4 layer into line with c4model.com/abstractions. New node catalogue c4_external_systems (C4 L1 external software systems extracted from System_Ext(...) / Container_Ext(...) on L1+L2 mermaid; id = ext-{slug}); new edges persona_c4system (the C4 Person-uses-System relationship, mapping Person(...) actors to personas rows — the C4 Person abstraction reuses Persona) and system_external_dependency (system integrates-with external, from Rel(...) lines, collapsed to system level per ADR 0155 §4.2). New advisory enum c4_container_type = {Application, Data Store}: the c4-containers builder now types ContainerQueue as Data Store (was the non-canonical \"Infrastructure\") and no longer emits Container_Ext as an internal container row (external containers are catalogued as c4_external_systems); the legacy types Infrastructure / External System remain recognised-but-WARNed during the 2.x line and are removed at the 3.0.0 major bump (the enum is intentionally not bound in column_enums until then). The aggregator dedups c4_external_systems by id across SDDs rather than failing the duplicate-PK check — the one narrowly-scoped exception per ADR 0134, since the same external system (e.g. ext-google-maps) is legitimately declared by multiple SDDs; attribute conflicts on a shared id surface as a convention finding. SCHEMA_COMPAT unchanged (still ^2.0.0); additive minor. v0.24.0 ships sdd-mcp Phase 8 — catalogue resources + tools on the read-only MCP server (sdd-method ADR 0128 + ADR 0150). New resources: sdd://catalogue/schema (vendored canonical schema as JSON), sdd://catalogue/metamodel, sdd://catalogue/category-taxonomy, sdd://catalogue (list of built catalogues), and sdd://catalogue/{name} (rows from catalogues/{name}.csv, validated against the schema, distinguishing not-declared from not-built). New tools: query_catalogue_coverage (row count + internal-FK pass), find_products_by_category, find_orphan_rows (broken internal FK targets), and query_edges_for_entity (every edge row referencing an entity). All reuse the existing src/lib/catalogue schema-loader + csv-reader rather than re-parsing; FK checks consider internal FKs only per ADR 0134 (external FKs are validated at aggregation). Markdown resources try the post-IA path (guides/, standards/) then fall back, returning a structured 'run sdd-cli sync' error when absent. v0.23.1 patches v0.23.0: `sdd-cli pack build` now populates source_commit + source_branch in the rendered BUNDLE_MANIFEST.yaml from `git rev-parse HEAD` / `git rev-parse --abbrev-ref HEAD` against the producer-repo working tree, matching sdd-method's build-method-baseline-bundle.sh provenance behaviour. Non-git producer dirs (CI artefact directories etc.) get the sentinel \"uncommitted\" so consumer-side parseManifest (which rejects empty source_commit) still accepts the bundle. Pre-v0.23.1 packs wrote empty strings and were unsyncable — discovered during the contextua-platform Phase 7 first-adopter pilot (ADR 0151) when operations-console refused the first build of contextua-app-context-pack@v0.1.0. v0.23.0 ships the adopter pack producer + consumer surface per sdd-method ADR 0151 (companion plan adopter-bundle-producer-model.md Phases 3a + 3b + 3c). New `pack` verb with build and validate subcommands lets platform-profile adopters (contextua-platform, CXS Connect) produce additive-layer bundles from a context-pack-seed.yaml declaration. The builder validates the seed against the canonical schema, resolves include: directives across files, expands managed_paths (literal + glob against the producer working tree), runs a producer-side leakage check (disjointness with the declared forward base + disjointness with declared forbidden_paths globs), stages the payload tree, emits SHA-256 checksums per managed file, renders BUNDLE_MANIFEST.yaml mirroring the .hbs template shape, and produces <pack-name>-v<semver>.tar.gz + sidecar .sha256. Consumer-side enforcement extends `sdd-cli sync` for the multi-bundle lock chain: requires_forward_base resolution verifies the consumer's lock carries a compatible forward base; requires_pack resolution enforces vertical-extension dependencies with full semver-range support (caret with pre-1.0 narrow per npm convention, tilde, exact pin, >=); the existing cross-bundle path-ownership check now functions for adopter pack names too (consumer-side leakage assertion); produced_by_adopter / scope / requires_forward_base / requires_pack carry from the manifest into the lock entry as additive optional fields preserving lock_version: 2. New `sdd-cli sync --config <path>` reads a multi-bundle method-baseline.config.yaml (ordered bundles[].source list) and iterates each through the single-bundle sync engine — mutually exclusive with --bundle. `sdd-cli list` surfaces adopter pack provenance: forward-base version in the repo line plus indented `+ <pack-name> <version> from <adopter-repo> [requires <base-pack>]` lines beneath; --verbose adds per-bundle managed_path counts; JSON format adds a per-repo bundles[] array carrying full provenance. Type relaxation: BundleManifest.bundleName and BundleEntry.name widened from the closed BundleName enum to string (adopter pack names are arbitrary per ADR 0151); the closed enum still applies to sdd-method forward bases, validated at parse time only when is_forward_base: true. BundleManifest parser migrated from line-by-line scalar regex to the existing yaml library dependency for nested requires_forward_base / requires_pack object parsing. v0.22.0 bundles three landed scopes. (a) ADR 0141 Phase 5 — `--agent-harness` flag on init/sync now accepts `github-copilot-cli` as the second reference implementation alongside the `claude-code` default; Copilot CLI sync writes `.github/hooks/{pre-tool-use,session-start}.json` with the same sentinel-based ownership pattern as the Claude Code `.claude/settings.json` block. Default changes from \"unset\" to `claude-code`; existing adopters on v0.12.2+ get sentinel-tagged-in-place via the dedupe pre-pass. Unknown harness values fail loudly instead of warning. (b) ADR 0148 Phase 4 — init and sync now emit `agent-instructions.md` at the SDD root (harness-neutral, fully method-managed, unconditional overwrite) plus a thin harness wrapper (`CLAUDE.md` under claude-code, `AGENTS.md` under github-copilot-cli) with `<!-- method-managed: begin/end -->` markers; adopter content around the marker block survives sync via the existing `writeMarkedBlockFile` machinery. The v0.3–v0.21 `generate-claude-md` verb + native rich-content renderer retire; the new `generate-briefing` verb regenerates both files from the on-disk templates for the no-bundle-sync case. Older bundles pre-dating ADR 0148 templates sync gracefully with a \"Skipped\" log line. Existing repos carrying a hand-rolled CLAUDE.md without markers will see the wrapper rewrite refused on first sync; pass --allow-overwrite after rehoming any custom content (covered in the upstream agent-instructions-migration-guide). (c) Catalogue schema 2.9.0 (lockstep with sdd-method v0.10.0 reverse-extension-baseline v0.9.0) carrying the Track 2 cohort-sweep field additions per content/plans/v0-9-0-cohort-sweep-derived-bundle.md: capabilities now carries data_subset (foundational/synthesis-tier keying axis) + slice_scope (multi-app-group capability slicing — same capability_id may appear with distinct slice_scope values, row identity becomes (id, slice_scope)); new per-feature edge catalogue feature_subscription_channels built from reverse-evidence/feature-grounding-evidence.yaml subscription_channels: entries (AppSync WebSocket / Pekko WS / MQTT / SSE channel layer, peer of graphql_operations: per resolved §1, kebab name + transport + evidence + optional payload_ref); new per-SDD edge catalogue product_platform_dependencies built from the product-scoped platform_dependencies: block in the same evidence file; new federated edge catalogue cross_sdd_platform_capability derived by the aggregator joining product_platform_dependencies × capability_service on target_service_id == service_id, emitting one row per resolved (consuming-product, platform-capability) pair with orphan findings for unresolved references. SCHEMA_COMPAT unchanged (still ^2.0.0); additive minor across both new catalogues and capability column additions. v0.21.0 ships catalogue schema 2.8.0 closing the long-tail contract-consumer mapping gap (K-03a). The contracts builder now also walks the platform-profile layout `docs/domains/<dom>/contracts/{openapi,proto,avro}/<file>.<ext>` documented in reverse/workflows/contract.md, in addition to the canonical `contracts/<subdir>/<dom>/<file>.<ext>` layout — backward-compatible additive change for federated SDDs that don't carry per-domain contracts. Adds a new buildServiceContractConsumes builder that parses each service's `repos/<service>/docs/service-architecture.md` External Interfaces table, reads Outbound rows, and emits `service_contract` rows with role=consumes via an adopter-supplied `.sdd/service-contract-aliases.yaml` (case-insensitive interface_aliases + interface_contains substring tier + same_product_inference templates with `{prefix}` substitution). Schema 2.8.0 marks service_contract.contract_id as external:true so federated SDDs can emit consumes rows pointing to platform-root contracts; aggregator validates the merged catalogue. Resolution failures become convention findings, not FK-invalid rows. Pattern documented in sdd-method ADR 0147. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.19.0 ships catalogue schema 2.6.0 (lockstep with sdd-method): adds optional `sub_integrations:` array on integration-manifest.yaml per ADR 0144. Multi-provider integration monoliths (modernisation-in-flight or intentional permanent gateways brokering N providers) can declare each provider; the integrations.ts builder emits one integrations.csv row per sub_integration with parent_product_id = umbrella SDD's integrationId. Uses the existing parent_product_id column — no new schema columns. Backward compatible (optional field); SDDs without sub_integrations emit identical output to pre-2.6.0. Originating motivation: connect's sdd-camera-platform-legacy covering Surfsight v2 + VisionTrack v1/v2 + SureCam in one Spring-Boot codebase. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.18.0 ships catalogue schema 2.5.0 (lockstep with sdd-method): adds feature-grounding source per ADR 0143. Canonical builder walks `docs/domains/<dom>/design/<capability>/feature-grounding.md` (platform-profile) and `docs/design/integration/feature-grounding.md` (integration-product), parses the markdown table form, and emits features.csv rows (source: feature-grounding, capability-owned) plus capability_feature / feature_repo / feature_service edges derived from the table columns. Optional per-SDD `.sdd/feature-grounding-aliases.yaml` translates display names (class names, file basenames) to canonical service / repo ids. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.17.0 enables multi-level federation: organisation-level SDDs can now aggregate from organisation-level children (e.g. CXS aggregating sdd-mining, sdd-latam) via optional level: organisation field on siblings, skipping manifest requirements for pure orchestration repos. v0.16.0 adds organisation-profile support for system-of-systems aggregators (e.g. CXS aggregating sdd-connect, sdd-mining, sdd-latam), closing the gap for organisation-level SDD manifests. v0.15.0 ships catalogue schema 2.4.0 (lockstep with sdd-method): adds feature_contract derived edge (forward: capability_feature ⋈ capability_contract; reverse: feature_service ⋈ service_contract) closing the Capability → Feature → Contract chain pre-implementation, plus the new DomainModel entity per ADR 0142 with domain_models / capability_domain_model / feature_domain_model catalogues sourced from a new traceability.domain_model manifest field (forward) or docs/domains/*/architecture/data-model.mermaid.md file-system scan (reverse). Platform-profile only for domain_models; the metamodel now also documents non-catalogued method artefacts (work orders, discovery stories, execution stories, traceability manifests) so it's a complete reference for the forward SDD method's artefact set. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.14.1 patches v0.14.0's domains-builder fix: products-builder now also clears domain_id for non-platform-profile rows even when manifest.domainId is declared. v0.14.0 stopped emitting umbrella domain rows but products.domain_id (and the applications.csv filtered view) still pointed at them, dangling at FK validation. Per ADR 0136 + schema description for products.domain_id, app/integration/support products do not have a primary domain — the builder now honours that statement regardless of manifest declaration, and emits an inferred finding when a manifest-declared value is overridden. v0.14.0 ships two post-v0.9.0-release fixes surfaced by the connect-cohort sync: (1) sync now enforces minimum_sdd_cli_version declared by bundle manifests — previously the orchestration check existed only in the shell sync script and was a no-op when adopters used `sdd-cli sync`, leaving the safety net for stale-CLI scenarios silently absent; (2) per ADR 0136 (App and Integration Products Do Not Belong to a Primary Domain), the domains.ts catalogue builder now skips row emission for non-platform-profile SDDs — application-product and integration-product SDDs that have a docs/domains/<umbrella>/ subdirectory as a structural-organisation convention no longer emit a member-declaration row that collides on PK at aggregation against the canonical platform-profile contribution. v0.13.2 fixed the aggregator's sibling-vendored-schema cross-check to use semver range satisfaction against SCHEMA_COMPAT.catalogue_schema (^2.0.0) instead of strict equality — siblings vendored at lower minor versions inside the same major are now accepted, unblocking aggregation across federated cohorts where the canonical schema is ahead of the bundled schema. v0.13.0 ships the feature-tree.md bullet parser per sdd-method schema 2.2.0 + plan extract-feature-tree-bullets.md: application-product builders now emit features.csv rows with source: \"feature-tree\" from per-app feature-tree.md bullets, populating the previously-empty edge catalogues (persona_feature, journey_feature) for portfolio monoliths whose feature inventory lives in the bullet form. Adds the optional runway column on features.csv with adopter-owned controlled-vocabulary validation via feature-runway-vocabulary.yaml at the SDD root. v0.12.2 dedupes equivalent unmarked adopter PreToolUse entries on settings.json upsert. v0.12.0 extends the integration profileType enum to 11 values (per sdd-method ADR 0137) and fixes the init→sync conflict. v0.11.0 shipped the canonical catalogue surface per ADR 0134 + schema 2.1.0.",
3
+ "version": "0.29.0",
4
+ "description": "Method-layer CLI for SDD repository lifecycle — init, sync, validate, list, plan, generate-briefing, mcp serve, catalogue {build,aggregate,validate,version}, pack {build,validate}. v0.29.0 ships catalogue schema 2.15.0 (additive minor) implementing sdd-method ADR 0161 (Feature-Event Derived Edge) — the seventh instance of the parity-series arc and the completion of the capability/feature/service trio of materialised event edges. New edge catalogue `feature_event` (id, feature_id, event_id, role, source) emits from the pure derived join `feature_service ⋈ service_event`, mirroring ADR 0160's capability_event derived path one rung lower in the hierarchy. PK is `{feature_id}__{event_id}__{role}` so a feature can carry both publishes + consumes rows for the same event without collision. No authored shape — every row carries source=derived (the authored signal lives at the service level via service_event, which the feature inherits through feature_service). Phase Pre against both adopters surfaced three findings that materially changed the original coord doc's premise: (1) the parent dependency `events-catalogue-builder-gap-coordination.md` claim that Connect's events.csv = 0 was stale; 0.26.1's slug-from-name patch has events.csv at 62 rows + service_event at 61 rows + capability_event at 144 rows; no parent blocker existed for this work; (2) the existing `feature_subscription_channels` table in canonical-schema is for GraphQL/MQTT/AppSync push channels (sourced from `reverse-evidence/feature-grounding-evidence.yaml` `subscription_channels:` entries per schema 2.9.0), NOT for event-bus subscriptions as the metamodel doc and coord doc both assumed — Track A reconciles the metamodel doc to match canonical-schema's actual semantics; (3) the (feature, event) edge the coord doc imagined is a different concept entirely and is the right scope for materialisation. Cross-adopter regression: Adopter A (Connect, reverse-method) — 0 → 82 derived rows (FK PASS; Phase Pre estimated 55, actual higher because service_event has 61 rows averaging ~2.7 features/service via feature_service's 556 rows); Adopter B (Contextua, forward-method) — 0 → 0 rows (feature_service.csv = 0 today; will populate when ADR 0143's feature-grounding extractor gets a forward-method analogue, same parity gap as platform-dependencies). 825 unit tests green (was 817; +8 buildFeatureEvent tests covering single match, fan-out across features, fan-out across services, both publishes+consumes for same (feature, event), unknown-feature/event filtering, empty input, source=derived assertion). SCHEMA_COMPAT (^2.0.0) unchanged. v0.28.0 shipped catalogue schema 2.14.0 (additive minor) implementing sdd-method ADR 0160 (Capability-Event Multi-Source Ingestion) — the sixth instance of ADR 0157's parity principle and the cleanest 'builder reads X, adopter authors Y' instance in the parity series (a forward adopter actively authoring event intent in a shape the builder never read). The `capability_event` walker (`event-edges.ts::buildCapabilityEvent`) now reads three equal-status sources merged by PK: (1) forward shape A — legacy `traceability.events[{id, role}]` (unauthored across observed adopters, retained for compatibility); (2) forward shape B — `traceability.contracts.published_events[]` / `consumed_events[]` with `{event, status, notes}` (the observed forward-method shape; event name slug-resolves against events.csv via the same normaliser the events walker uses; pre-lock sketches fire `[finding] orphan` rather than dropping silently); (3) reverse-derived — `capability_service ⋈ service_event` join on service_id (zero-authoring associative path; no role filter because Phase Pre verified the originally-proposed role=primary filter is ineffective in practice — Connect 144 → 144). Authored wins on PK conflict. New `source ∈ {authored, derived}` column distinguishes authoritative ownership from associative coupling for governance queries — the 2.4× fan-out in Adopter A (services owning multiple primary capabilities) makes the provenance signal non-negotiable. The retired `## Related Events` capability-spec heading is struck from the canonical schema description, both reverse skills (`reverse-capability-spec-synthesis`, `reverse-event-catalogue-authoring`), and the metamodel — no adopter authored it and the template never carried the section. Cross-adopter regression: Adopter A — 0 → 144 derived rows (FK PASS); Adopter B — 0 → 21 derived rows + 4 shape-B orphan findings for sketches (calendars events pre-lock, will populate authored rows at contract lock-in; FK PASS). 809 unit tests green (was 802; +7 shape-B and derived-path tests). SCHEMA_COMPAT (^2.0.0) unchanged. v0.27.1 patched two issues in the 0.27.0 ADR 0159 walkers reported by adopter cross-validation: (a) profile-gates entities-manifest + glossary-xref to platform-profile only — both walkers read the platform-owned `docs/platform/reference/glossary-alignment-manifest.yaml`, which adopters syndicate verbatim to sibling application-product / integration-product SDDs for documentation accessibility; without profile-gating, every sibling re-emitted the same entity registry locally with unresolved-domain PKs, then collided en masse at aggregation (one adopter reported 304 duplicate-entity findings across 35 siblings). Mirrors the precedent set by domain-models.ts per ADR 0142. (b) platform-wide PK shape: replaces the leading-hyphen `-{slug}` PK for the 107 entries with `domain: platform-wide` with the sentinel-prefix `_platform-wide-{slug}`. The underscore prefix is unreachable via entitySlug (slugify strips underscores), so the sentinel can't collide with any real domain id including ecosystem-named domains. Cross-adopter regression: contextua-platform — entities=411 unchanged at platform-root; 107 platform-wide entries carry `_platform-wide-*` PKs; sibling SDDs cease re-emitting (0 entity rows from siblings); aggregator exit 0 cleanly. Connect — entities=263 unchanged (no `domain: platform-wide` entries authored); 0 `_platform-wide-*` PKs; FK PASS. 802 unit tests green (was 800; +1 profile-gate test per walker). Schema 2.13.0 unchanged; SCHEMA_COMPAT (^2.0.0) unchanged. v0.27.0 shipped catalogue schema 2.13.0 (additive minor) implementing sdd-method ADR 0159 (Data-Model Entities as First-Class Catalogue Nodes) — the fourth instance of ADR 0157's parity principle. Four new catalogues land in one release: entities (data-model entity nodes — distinct from glossary_items vocabulary and from domain_models files); service_entity (services touching entities, relation=owns from Data Store Mapping tables); c4_container_entity (transitive: service_entity ⋈ c4_containers.service_id); c4_system_entity (aggregation: c4_container_entity ⋈ c4_containers.system_id with container_count). Five walkers: entities-manifest (forward: models[].entities[] in glossary-alignment-manifest.yaml; handles platform-wide non-canonical domain, duplicate model entries, superseded status with superseded_by); entities-mermaid (reverse: parses erDiagram blocks in domain_models doc_paths; handles UPPER_SNAKE/PascalCase/lowercase entity authoring, multi-erDiagram-per-file with within-file dedup, Mermaid comments, relationship-arrow skipping, mixed-diagram-types-per-file); service-entity-tables (reverse primary: ## Data Store Mapping markdown tables with heading + column-shape variants, compound owning-service split on ' / ', trailing-parenthetical-annotation strip, cross-domain entity-resolution fallback); c4-container-entity + c4-system-entity (pure derivations, graceful empty-input). New optional alias map at docs/platform/reference/service-name-aliases.yaml resolves adopter display names ('App Shell UI', 'Cloud Bridge', etc.) to canonical services.id; graceful degradation when absent. New entity-aware slug helper (entity-slug.ts) adds an ALLCAPS-then-Pascal split rule on top of the base slugify so OBUConfigurationTemplate and OBU_CONFIGURATION_TEMPLATE produce the same slug — kept local to the entity walkers to avoid affecting events/contracts/capabilities (per ADR 0159 §4.6 deferred decision). Phase 1.1 entity_glossary lift: now also appends rows from entities.csv (reverse-method side) when glossary_term FK is populated, on top of the existing forward-method emission per ADR 0158. Cross-adopter regression: contextua (forward, pre-lock) — entities=411 (manifest-sourced), service_entity / c4_container_entity / c4_system_entity = 0 (empty-input regression-checked); FK PASS. Connect (reverse, mono-SDD platform-product) — entities=263 (Mermaid-extracted across 11 domains; matches Phase Pre prototype), service_entity=97 (heuristic-only resolution against the Data Store Mapping tables; ~135-155 expected after alias-map authoring per ADR 0159 §4.7), c4_container_entity=88, c4_system_entity=82, entity_glossary lifts from 6→100; FK PASS. Phase Pre prototypes (sdd-method/research/adr-0159-prototypes/) ran the walkers as throw-away Python against both adopters before committing to the spec — first ADR in the parity series to formalise this discipline after the 0.26.0→0.26.1 patch cycle showed real-data validation was needed. SCHEMA_COMPAT unchanged (^2.0.0). v0.26.1 fixed two Phase 1 outcomes from v0.26.0's three-ADR rollout, reported by adopter cross-validation. (a) ADR 0156 events walker: required explicit `id:` field on event-catalog.yaml entries, but the original coordination doc spec was \"derive id from name (slugged)\". Connect's authoring uses `name:` only, so all ~62 events skipped in 0.26.0. Walker now derives id-from-name when id absent (lowercase, hyphenate camelCase boundaries, replace non-alphanumerics with hyphens; explicit id wins when both present; within-domain slug collisions fire divergence finding). (b) ADR 0157 §4.2 amendment: repo_contract had only `contracts.source_repo_id` as its reverse derivation, but Connect's 0/30 source_repo_id outcome left them empty. Added a universal Path X analogous to §4.3 — `service_contract ⋈ services.primary_repo_id` (a service exposing a contract is implemented by a repo; the repo \"owns\" the contract). Schema 2.12.0 unchanged; SCHEMA_COMPAT (^2.0.0) unchanged; pure derivation-logic patch. Cross-adopter regression: contextua-platform — 108 repo_contract rows preserved (Path X reproduces forward-path edges; dedup keeps 108 net); Connect expects ~57 new rows via Path X plus ~62 events plus all downstream service_event edges once they rebuild. v0.26.0 ships catalogue schema 2.12.0 (additive minor) implementing three ADRs in one release: ADR 0156 (Event Catalogue Multi-Source Ingestion) adds the reverse-method `docs/domains/<domain>/contracts/events/event-catalog.yaml` walker alongside the existing forward avsc path — YAML wins on name/domain/publisher/transport/consumers; avsc augments schema_path/version when YAML is null. Transport enum opens (no hardcoded \"nats\" default); recommended values surface a convention finding when violated. service_event edges populate from YAML's publisher + consumers[] in addition to repo-config events.produces/consumes. ADR 0157 (Forward-Declared / Reverse-Derived Parity for Edge Catalogues) codifies the principle that every edge with a forward declared source MUST also have a reverse derived source, applied here to repo_capability + repo_contract: reverse derivations add `capability_service ⋈ services.primary_repo_id` (universal Path X) and `capability_feature ⋈ feature_repo` (Path Y via ADR 0143 evidence) for repo_capability, and `contracts.source_repo_id` denormalisation for repo_contract — alongside the existing forward-declared `additional_context:` / `repo-config.contracts:` paths. The orphan-finding pattern surfaces when reverse paths can't derive (e.g. capability_service rows referencing services with empty primary_repo_id). ADR 0158 (Glossary Cross-Reference Multi-Source Ingestion) extends glossary_xref ingestion from one walker to four (forward declared pair-form, reverse cross_domain_terms, reverse multi-domain conflicts with field-inspection disambiguation, forward supersedes via models[].entities[].superseded_by) plus introduces a new sibling edge catalogue entity_glossary for data-model-entity → glossary-term mappings (status ∈ {aligned, matched_direct}). Dedupe by (domain, entity_name, glossary_item_id) collapses same-domain multi-diagram entries while preserving cross-domain cross-level cataloguing. glossary_xref.relation enum extends from {alias-of, conflicts-with} to {alias-of, conflicts-with, references, supersedes}. SCHEMA_COMPAT unchanged (^2.0.0); additive minor across all three ADRs. Cross-adopter regression verified: contextua's existing forward-path rows (12 repo_contract, 78 events, 42 service_event) preserved exactly; new reverse-path additions (+30 repo_capability via Path X; +10 entity_glossary). v0.25.3 ships catalogue schema 2.11.0 (additive minor): relaxes c4_systems.product_id to a nullable FK. Every product is a system, but not every system is a product — external/SaaS systems catalogued as c4_systems (e.g. Salesforce, DocuSign, Zendesk) legitimately have no owning product. The FK + column were nullable: false, so organisation-level aggregation FAILed with dangling-FK errors on c4_systems rows whose product_id is empty (63 such across the bko/latam/masternaut platforms). The FK validator already passes nullable empty values (fk-validator.test.ts \"treats nullable FK with empty value as PASS\"), so no logic change. Builds with populated product_id (e.g. connect, where every c4_system has an owning product) are unaffected — nullable is strictly more permissive. SCHEMA_COMPAT unchanged (still ^2.0.0); backward compatible — existing 2.10.0 catalogues read unchanged, no migration. v0.25.2 fixes a sync bug: bundle.ts inferred is_forward_base from isBundleName (true for ANY known bundle) instead of isForwardBase, so an additive bundle that omits is_forward_base in its manifest — every sdd-method-cut reverse-extension-baseline — was misclassified as a forward base, making `sdd-cli sync` throw \"Forward-base bundle reverse-extension-baseline has no profile mapping\" and blocking adopters from layering the reverse extension over a forward base. Inference now uses isForwardBase (additive bundles correctly resolve to false). v0.25.1 is a conformance patch: v0.25.0's notes advertised that the legacy c4_containers types Infrastructure / External System \"remain recognised-but-WARNed during the 2.x line\", but no code emitted that finding (the builder-spec's \"a conforming builder MUST emit [finding] convention\" was unimplemented). v0.25.1 adds checkContainerTypeAdvisory, wired into both `catalogue build` and `catalogue validate`, emitting a `convention` finding for any c4_containers.type outside the canonical c4_container_type set {Application, Data Store}. It reads the allowed values from the schema enum (no hardcoded list) and self-disables once the enum is bound via column_enums (the 3.0.0 hard-fail path) or removed — handing off cleanly at the major bump with no double-reporting. The validate path has teeth (it fires over an existing catalogues/ dir — e.g. an adopter who upgraded sdd-cli but has not yet rebuilt a catalogue still carrying Infrastructure rows from the old builder, which is the warn-then-enforce migration window ADR 0155 §4.3 relies on before 3.0.0); the build path is defensive (the canonical builder derives type from the C4 macro and cannot emit a legacy value). No schema change; SCHEMA_COMPAT unchanged (^2.0.0); patch release. v0.25.0 ships catalogue schema 2.10.0 (lockstep with sdd-method ADR 0155 — Align C4 Catalogue Capture with Strict C4 Abstractions), bringing the catalogue's C4 layer into line with c4model.com/abstractions. New node catalogue c4_external_systems (C4 L1 external software systems extracted from System_Ext(...) / Container_Ext(...) on L1+L2 mermaid; id = ext-{slug}); new edges persona_c4system (the C4 Person-uses-System relationship, mapping Person(...) actors to personas rows — the C4 Person abstraction reuses Persona) and system_external_dependency (system integrates-with external, from Rel(...) lines, collapsed to system level per ADR 0155 §4.2). New advisory enum c4_container_type = {Application, Data Store}: the c4-containers builder now types ContainerQueue as Data Store (was the non-canonical \"Infrastructure\") and no longer emits Container_Ext as an internal container row (external containers are catalogued as c4_external_systems); the legacy types Infrastructure / External System remain recognised-but-WARNed during the 2.x line and are removed at the 3.0.0 major bump (the enum is intentionally not bound in column_enums until then). The aggregator dedups c4_external_systems by id across SDDs rather than failing the duplicate-PK check — the one narrowly-scoped exception per ADR 0134, since the same external system (e.g. ext-google-maps) is legitimately declared by multiple SDDs; attribute conflicts on a shared id surface as a convention finding. SCHEMA_COMPAT unchanged (still ^2.0.0); additive minor. v0.24.0 ships sdd-mcp Phase 8 — catalogue resources + tools on the read-only MCP server (sdd-method ADR 0128 + ADR 0150). New resources: sdd://catalogue/schema (vendored canonical schema as JSON), sdd://catalogue/metamodel, sdd://catalogue/category-taxonomy, sdd://catalogue (list of built catalogues), and sdd://catalogue/{name} (rows from catalogues/{name}.csv, validated against the schema, distinguishing not-declared from not-built). New tools: query_catalogue_coverage (row count + internal-FK pass), find_products_by_category, find_orphan_rows (broken internal FK targets), and query_edges_for_entity (every edge row referencing an entity). All reuse the existing src/lib/catalogue schema-loader + csv-reader rather than re-parsing; FK checks consider internal FKs only per ADR 0134 (external FKs are validated at aggregation). Markdown resources try the post-IA path (guides/, standards/) then fall back, returning a structured 'run sdd-cli sync' error when absent. v0.23.1 patches v0.23.0: `sdd-cli pack build` now populates source_commit + source_branch in the rendered BUNDLE_MANIFEST.yaml from `git rev-parse HEAD` / `git rev-parse --abbrev-ref HEAD` against the producer-repo working tree, matching sdd-method's build-method-baseline-bundle.sh provenance behaviour. Non-git producer dirs (CI artefact directories etc.) get the sentinel \"uncommitted\" so consumer-side parseManifest (which rejects empty source_commit) still accepts the bundle. Pre-v0.23.1 packs wrote empty strings and were unsyncable — discovered during the contextua-platform Phase 7 first-adopter pilot (ADR 0151) when operations-console refused the first build of contextua-app-context-pack@v0.1.0. v0.23.0 ships the adopter pack producer + consumer surface per sdd-method ADR 0151 (companion plan adopter-bundle-producer-model.md Phases 3a + 3b + 3c). New `pack` verb with build and validate subcommands lets platform-profile adopters (contextua-platform, CXS Connect) produce additive-layer bundles from a context-pack-seed.yaml declaration. The builder validates the seed against the canonical schema, resolves include: directives across files, expands managed_paths (literal + glob against the producer working tree), runs a producer-side leakage check (disjointness with the declared forward base + disjointness with declared forbidden_paths globs), stages the payload tree, emits SHA-256 checksums per managed file, renders BUNDLE_MANIFEST.yaml mirroring the .hbs template shape, and produces <pack-name>-v<semver>.tar.gz + sidecar .sha256. Consumer-side enforcement extends `sdd-cli sync` for the multi-bundle lock chain: requires_forward_base resolution verifies the consumer's lock carries a compatible forward base; requires_pack resolution enforces vertical-extension dependencies with full semver-range support (caret with pre-1.0 narrow per npm convention, tilde, exact pin, >=); the existing cross-bundle path-ownership check now functions for adopter pack names too (consumer-side leakage assertion); produced_by_adopter / scope / requires_forward_base / requires_pack carry from the manifest into the lock entry as additive optional fields preserving lock_version: 2. New `sdd-cli sync --config <path>` reads a multi-bundle method-baseline.config.yaml (ordered bundles[].source list) and iterates each through the single-bundle sync engine — mutually exclusive with --bundle. `sdd-cli list` surfaces adopter pack provenance: forward-base version in the repo line plus indented `+ <pack-name> <version> from <adopter-repo> [requires <base-pack>]` lines beneath; --verbose adds per-bundle managed_path counts; JSON format adds a per-repo bundles[] array carrying full provenance. Type relaxation: BundleManifest.bundleName and BundleEntry.name widened from the closed BundleName enum to string (adopter pack names are arbitrary per ADR 0151); the closed enum still applies to sdd-method forward bases, validated at parse time only when is_forward_base: true. BundleManifest parser migrated from line-by-line scalar regex to the existing yaml library dependency for nested requires_forward_base / requires_pack object parsing. v0.22.0 bundles three landed scopes. (a) ADR 0141 Phase 5 — `--agent-harness` flag on init/sync now accepts `github-copilot-cli` as the second reference implementation alongside the `claude-code` default; Copilot CLI sync writes `.github/hooks/{pre-tool-use,session-start}.json` with the same sentinel-based ownership pattern as the Claude Code `.claude/settings.json` block. Default changes from \"unset\" to `claude-code`; existing adopters on v0.12.2+ get sentinel-tagged-in-place via the dedupe pre-pass. Unknown harness values fail loudly instead of warning. (b) ADR 0148 Phase 4 — init and sync now emit `agent-instructions.md` at the SDD root (harness-neutral, fully method-managed, unconditional overwrite) plus a thin harness wrapper (`CLAUDE.md` under claude-code, `AGENTS.md` under github-copilot-cli) with `<!-- method-managed: begin/end -->` markers; adopter content around the marker block survives sync via the existing `writeMarkedBlockFile` machinery. The v0.3–v0.21 `generate-claude-md` verb + native rich-content renderer retire; the new `generate-briefing` verb regenerates both files from the on-disk templates for the no-bundle-sync case. Older bundles pre-dating ADR 0148 templates sync gracefully with a \"Skipped\" log line. Existing repos carrying a hand-rolled CLAUDE.md without markers will see the wrapper rewrite refused on first sync; pass --allow-overwrite after rehoming any custom content (covered in the upstream agent-instructions-migration-guide). (c) Catalogue schema 2.9.0 (lockstep with sdd-method v0.10.0 reverse-extension-baseline v0.9.0) carrying the Track 2 cohort-sweep field additions per content/plans/v0-9-0-cohort-sweep-derived-bundle.md: capabilities now carries data_subset (foundational/synthesis-tier keying axis) + slice_scope (multi-app-group capability slicing — same capability_id may appear with distinct slice_scope values, row identity becomes (id, slice_scope)); new per-feature edge catalogue feature_subscription_channels built from reverse-evidence/feature-grounding-evidence.yaml subscription_channels: entries (AppSync WebSocket / Pekko WS / MQTT / SSE channel layer, peer of graphql_operations: per resolved §1, kebab name + transport + evidence + optional payload_ref); new per-SDD edge catalogue product_platform_dependencies built from the product-scoped platform_dependencies: block in the same evidence file; new federated edge catalogue cross_sdd_platform_capability derived by the aggregator joining product_platform_dependencies × capability_service on target_service_id == service_id, emitting one row per resolved (consuming-product, platform-capability) pair with orphan findings for unresolved references. SCHEMA_COMPAT unchanged (still ^2.0.0); additive minor across both new catalogues and capability column additions. v0.21.0 ships catalogue schema 2.8.0 closing the long-tail contract-consumer mapping gap (K-03a). The contracts builder now also walks the platform-profile layout `docs/domains/<dom>/contracts/{openapi,proto,avro}/<file>.<ext>` documented in reverse/workflows/contract.md, in addition to the canonical `contracts/<subdir>/<dom>/<file>.<ext>` layout — backward-compatible additive change for federated SDDs that don't carry per-domain contracts. Adds a new buildServiceContractConsumes builder that parses each service's `repos/<service>/docs/service-architecture.md` External Interfaces table, reads Outbound rows, and emits `service_contract` rows with role=consumes via an adopter-supplied `.sdd/service-contract-aliases.yaml` (case-insensitive interface_aliases + interface_contains substring tier + same_product_inference templates with `{prefix}` substitution). Schema 2.8.0 marks service_contract.contract_id as external:true so federated SDDs can emit consumes rows pointing to platform-root contracts; aggregator validates the merged catalogue. Resolution failures become convention findings, not FK-invalid rows. Pattern documented in sdd-method ADR 0147. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.19.0 ships catalogue schema 2.6.0 (lockstep with sdd-method): adds optional `sub_integrations:` array on integration-manifest.yaml per ADR 0144. Multi-provider integration monoliths (modernisation-in-flight or intentional permanent gateways brokering N providers) can declare each provider; the integrations.ts builder emits one integrations.csv row per sub_integration with parent_product_id = umbrella SDD's integrationId. Uses the existing parent_product_id column — no new schema columns. Backward compatible (optional field); SDDs without sub_integrations emit identical output to pre-2.6.0. Originating motivation: connect's sdd-camera-platform-legacy covering Surfsight v2 + VisionTrack v1/v2 + SureCam in one Spring-Boot codebase. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.18.0 ships catalogue schema 2.5.0 (lockstep with sdd-method): adds feature-grounding source per ADR 0143. Canonical builder walks `docs/domains/<dom>/design/<capability>/feature-grounding.md` (platform-profile) and `docs/design/integration/feature-grounding.md` (integration-product), parses the markdown table form, and emits features.csv rows (source: feature-grounding, capability-owned) plus capability_feature / feature_repo / feature_service edges derived from the table columns. Optional per-SDD `.sdd/feature-grounding-aliases.yaml` translates display names (class names, file basenames) to canonical service / repo ids. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.17.0 enables multi-level federation: organisation-level SDDs can now aggregate from organisation-level children (e.g. CXS aggregating sdd-mining, sdd-latam) via optional level: organisation field on siblings, skipping manifest requirements for pure orchestration repos. v0.16.0 adds organisation-profile support for system-of-systems aggregators (e.g. CXS aggregating sdd-connect, sdd-mining, sdd-latam), closing the gap for organisation-level SDD manifests. v0.15.0 ships catalogue schema 2.4.0 (lockstep with sdd-method): adds feature_contract derived edge (forward: capability_feature ⋈ capability_contract; reverse: feature_service ⋈ service_contract) closing the Capability → Feature → Contract chain pre-implementation, plus the new DomainModel entity per ADR 0142 with domain_models / capability_domain_model / feature_domain_model catalogues sourced from a new traceability.domain_model manifest field (forward) or docs/domains/*/architecture/data-model.mermaid.md file-system scan (reverse). Platform-profile only for domain_models; the metamodel now also documents non-catalogued method artefacts (work orders, discovery stories, execution stories, traceability manifests) so it's a complete reference for the forward SDD method's artefact set. SCHEMA_COMPAT unchanged (still ^2.0.0). v0.14.1 patches v0.14.0's domains-builder fix: products-builder now also clears domain_id for non-platform-profile rows even when manifest.domainId is declared. v0.14.0 stopped emitting umbrella domain rows but products.domain_id (and the applications.csv filtered view) still pointed at them, dangling at FK validation. Per ADR 0136 + schema description for products.domain_id, app/integration/support products do not have a primary domain — the builder now honours that statement regardless of manifest declaration, and emits an inferred finding when a manifest-declared value is overridden. v0.14.0 ships two post-v0.9.0-release fixes surfaced by the connect-cohort sync: (1) sync now enforces minimum_sdd_cli_version declared by bundle manifests — previously the orchestration check existed only in the shell sync script and was a no-op when adopters used `sdd-cli sync`, leaving the safety net for stale-CLI scenarios silently absent; (2) per ADR 0136 (App and Integration Products Do Not Belong to a Primary Domain), the domains.ts catalogue builder now skips row emission for non-platform-profile SDDs — application-product and integration-product SDDs that have a docs/domains/<umbrella>/ subdirectory as a structural-organisation convention no longer emit a member-declaration row that collides on PK at aggregation against the canonical platform-profile contribution. v0.13.2 fixed the aggregator's sibling-vendored-schema cross-check to use semver range satisfaction against SCHEMA_COMPAT.catalogue_schema (^2.0.0) instead of strict equality — siblings vendored at lower minor versions inside the same major are now accepted, unblocking aggregation across federated cohorts where the canonical schema is ahead of the bundled schema. v0.13.0 ships the feature-tree.md bullet parser per sdd-method schema 2.2.0 + plan extract-feature-tree-bullets.md: application-product builders now emit features.csv rows with source: \"feature-tree\" from per-app feature-tree.md bullets, populating the previously-empty edge catalogues (persona_feature, journey_feature) for portfolio monoliths whose feature inventory lives in the bullet form. Adds the optional runway column on features.csv with adopter-owned controlled-vocabulary validation via feature-runway-vocabulary.yaml at the SDD root. v0.12.2 dedupes equivalent unmarked adopter PreToolUse entries on settings.json upsert. v0.12.0 extends the integration profileType enum to 11 values (per sdd-method ADR 0137) and fixes the init→sync conflict. v0.11.0 shipped the canonical catalogue surface per ADR 0134 + schema 2.1.0.",
5
5
  "keywords": [
6
6
  "sdd-method",
7
7
  "sdd",