@sdd-method/sdd-cli 1.23.1 → 1.25.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/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/catalogue/builders/domain-models.d.ts +7 -0
- package/dist/lib/catalogue/builders/domain-models.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/domain-models.js +47 -13
- package/dist/lib/catalogue/builders/domain-models.js.map +1 -1
- package/dist/lib/catalogue/canonical-schema.yaml +274 -313
- package/dist/lib/catalogue/rubric-coverage-map.yaml +64 -60
- package/dist/lib/metamodel/roundtrip-gate.d.ts +52 -0
- package/dist/lib/metamodel/roundtrip-gate.d.ts.map +1 -0
- package/dist/lib/metamodel/roundtrip-gate.js +297 -0
- package/dist/lib/metamodel/roundtrip-gate.js.map +1 -0
- package/dist/lib/metamodel/schema-projection.d.ts +60 -0
- package/dist/lib/metamodel/schema-projection.d.ts.map +1 -0
- package/dist/lib/metamodel/schema-projection.js +254 -0
- package/dist/lib/metamodel/schema-projection.js.map +1 -0
- package/dist/lib/metamodel/tql-subset-parser.d.ts +38 -0
- package/dist/lib/metamodel/tql-subset-parser.d.ts.map +1 -0
- package/dist/lib/metamodel/tql-subset-parser.js +275 -0
- package/dist/lib/metamodel/tql-subset-parser.js.map +1 -0
- package/dist/verbs/metamodel.d.ts +3 -0
- package/dist/verbs/metamodel.d.ts.map +1 -0
- package/dist/verbs/metamodel.js +28 -0
- package/dist/verbs/metamodel.js.map +1 -0
- package/package.json +2 -2
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuBA,wBAAsB,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAahE"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import { registerGenerateBriefing } from "./verbs/generate-briefing.js";
|
|
|
8
8
|
import { registerInit } from "./verbs/init.js";
|
|
9
9
|
import { registerList } from "./verbs/list.js";
|
|
10
10
|
import { registerMcp } from "./verbs/mcp.js";
|
|
11
|
+
import { registerMetamodel } from "./verbs/metamodel.js";
|
|
11
12
|
import { registerPack } from "./verbs/pack.js";
|
|
12
13
|
import { registerPlan } from "./verbs/plan.js";
|
|
13
14
|
import { registerRender } from "./verbs/render.js";
|
|
@@ -57,6 +58,7 @@ function buildProgram() {
|
|
|
57
58
|
registerPack(program);
|
|
58
59
|
registerRender(program);
|
|
59
60
|
registerScaffold(program);
|
|
61
|
+
registerMetamodel(program);
|
|
60
62
|
for (const { verb, summary } of NOT_YET_IMPLEMENTED) {
|
|
61
63
|
registerNotYetImplemented(program, verb, summary);
|
|
62
64
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,13 @@ export interface DomainModelsBuildInputs {
|
|
|
9
9
|
readonly manifests: readonly TraceabilityManifest[];
|
|
10
10
|
/** Domain ids that exist in `domains.csv` for this SDD — used to validate FK. */
|
|
11
11
|
readonly knownDomainIds: ReadonlySet<string>;
|
|
12
|
+
/** Today, ISO date; injectable so the sunset flip is testable. Defaults to the wall clock. */
|
|
13
|
+
readonly today?: string;
|
|
12
14
|
}
|
|
15
|
+
/** M-ADR 0210 §4.6 Decision 2 (as amended 2026-09-18): the first build after this date fails on a mermaid-erd model. */
|
|
16
|
+
export declare const DECISION_2_SUNSET = "2027-03-31";
|
|
17
|
+
export type ModelNotation = "mermaid-erd" | "typeql";
|
|
18
|
+
/** Derived from the artefact, never authored (M-ADR 0210 §4.6). */
|
|
19
|
+
export declare function notationOf(docPath: string): ModelNotation;
|
|
13
20
|
export declare function buildDomainModels(inputs: DomainModelsBuildInputs): Promise<CatalogueRow[]>;
|
|
14
21
|
//# sourceMappingURL=domain-models.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-models.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/domain-models.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domain-models.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/domain-models.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,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,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7C,8FAA8F;IAC9F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,wHAAwH;AACxH,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAC;AAErD,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAEzD;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CA0FzB"}
|
|
@@ -6,8 +6,15 @@
|
|
|
6
6
|
// - Forward: scan loaded traceability manifests for
|
|
7
7
|
// `traceability.domain_model.path`. The capability's domain (from the
|
|
8
8
|
// manifest's `capability.domain` or path) determines `domain_id`.
|
|
9
|
-
// - Reverse: scan `docs/domains/<domain>/architecture/data-model.mermaid.md
|
|
10
|
-
//
|
|
9
|
+
// - Reverse: scan `docs/domains/<domain>/architecture/data-model.mermaid.md`
|
|
10
|
+
// and, since schema 3.11.0, `data-model.tql` beside it (M-ADR 0210 §4.6
|
|
11
|
+
// Decision 2). Presence-only — content is not parsed in this phase.
|
|
12
|
+
//
|
|
13
|
+
// `notation` (3.11.0) is DERIVED from the artefact's filename — mermaid-erd or
|
|
14
|
+
// typeql — never authored. It is Decision 2's compliance instrument: every
|
|
15
|
+
// build reports `[metric] domain_models: rows=N typeql=T mermaid-erd=M`, and a
|
|
16
|
+
// mermaid-erd row is a `convention` finding, advisory before the sunset
|
|
17
|
+
// (2027-03-31) and an error at the first build after it.
|
|
11
18
|
//
|
|
12
19
|
// One row per unique domain_id. If forward declares a path AND reverse
|
|
13
20
|
// finds a file for the same domain, the forward entry wins (the manifest
|
|
@@ -20,6 +27,13 @@ import { join } from "node:path";
|
|
|
20
27
|
import { extractFileEvidenceClass } from "./evidence-class.js";
|
|
21
28
|
const DOMAINS_DIR_REL = join("docs", "domains");
|
|
22
29
|
const DATA_MODEL_FILENAME = "data-model.mermaid.md";
|
|
30
|
+
const DATA_MODEL_TQL_FILENAME = "data-model.tql";
|
|
31
|
+
/** M-ADR 0210 §4.6 Decision 2 (as amended 2026-09-18): the first build after this date fails on a mermaid-erd model. */
|
|
32
|
+
export const DECISION_2_SUNSET = "2027-03-31";
|
|
33
|
+
/** Derived from the artefact, never authored (M-ADR 0210 §4.6). */
|
|
34
|
+
export function notationOf(docPath) {
|
|
35
|
+
return /\.tql$/i.test(docPath) ? "typeql" : "mermaid-erd";
|
|
36
|
+
}
|
|
23
37
|
export async function buildDomainModels(inputs) {
|
|
24
38
|
if (inputs.manifest.profile !== "platform-profile") {
|
|
25
39
|
return [];
|
|
@@ -81,9 +95,22 @@ export async function buildDomainModels(inputs) {
|
|
|
81
95
|
version: model.version ?? "",
|
|
82
96
|
evidence_class: await readEvidenceClass(inputs.sddPath, model.path),
|
|
83
97
|
source_sdd_id: "",
|
|
98
|
+
notation: notationOf(model.path),
|
|
84
99
|
});
|
|
85
100
|
}
|
|
86
|
-
|
|
101
|
+
const sorted = rows.sort((a, b) => String(a["id"]).localeCompare(String(b["id"])));
|
|
102
|
+
// Decision 2's instrument (M-ADR 0210 §4.6 as amended): a number that moves, and one finding.
|
|
103
|
+
const typeql = sorted.filter((r) => r["notation"] === "typeql").length;
|
|
104
|
+
const mermaid = sorted.length - typeql;
|
|
105
|
+
inputs.findings.add("metric", `domain_models: rows=${sorted.length} typeql=${typeql} mermaid-erd=${mermaid}`);
|
|
106
|
+
const today = inputs.today ?? new Date().toISOString().slice(0, 10);
|
|
107
|
+
const pastSunset = today > DECISION_2_SUNSET;
|
|
108
|
+
for (const r of sorted) {
|
|
109
|
+
if (r["notation"] !== "mermaid-erd")
|
|
110
|
+
continue;
|
|
111
|
+
inputs.findings.add("convention", `domain_models: "${String(r["id"])}" is in mermaid-erd ${pastSunset ? "after" : "before"} the Decision-2 sunset (${DECISION_2_SUNSET}) — migrate at the next requirements pass (M-ADR 0210 §4.6)`, pastSunset ? "error" : "warn");
|
|
112
|
+
}
|
|
113
|
+
return sorted;
|
|
87
114
|
}
|
|
88
115
|
async function scanFilesystemModels(sddPath, findings) {
|
|
89
116
|
const result = new Map();
|
|
@@ -101,17 +128,24 @@ async function scanFilesystemModels(sddPath, findings) {
|
|
|
101
128
|
for (const entry of entries) {
|
|
102
129
|
if (!entry.isDirectory())
|
|
103
130
|
continue;
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
131
|
+
// Both notations are looked for; the TypeQL artefact wins when both exist,
|
|
132
|
+
// because after migration the diagram is a generated projection of it
|
|
133
|
+
// (M-ADR 0210 §4.1) and the model's notation is the authored one.
|
|
134
|
+
for (const filename of [DATA_MODEL_TQL_FILENAME, DATA_MODEL_FILENAME]) {
|
|
135
|
+
if (result.has(entry.name))
|
|
136
|
+
break;
|
|
137
|
+
const candidate = join(domainsDir, entry.name, "architecture", filename);
|
|
138
|
+
try {
|
|
139
|
+
const s = await stat(candidate);
|
|
140
|
+
if (s.isFile()) {
|
|
141
|
+
result.set(entry.name, join(DOMAINS_DIR_REL, entry.name, "architecture", filename));
|
|
142
|
+
}
|
|
109
143
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
144
|
+
catch (err) {
|
|
145
|
+
const code = err.code;
|
|
146
|
+
if (code !== "ENOENT") {
|
|
147
|
+
findings.add("convention", `failed to stat ${candidate}: ${err.message}`);
|
|
148
|
+
}
|
|
115
149
|
}
|
|
116
150
|
}
|
|
117
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domain-models.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/domain-models.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,iDAAiD;AACjD,sDAAsD;AACtD,0EAA0E;AAC1E,sEAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"domain-models.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/domain-models.ts"],"names":[],"mappings":"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"}
|