@sdd-method/sdd-cli 1.2.0 → 1.3.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.
Files changed (40) hide show
  1. package/dist/lib/catalogue/build.d.ts.map +1 -1
  2. package/dist/lib/catalogue/build.js +14 -1
  3. package/dist/lib/catalogue/build.js.map +1 -1
  4. package/dist/lib/catalogue/builders/capability-edges.d.ts.map +1 -1
  5. package/dist/lib/catalogue/builders/capability-edges.js +10 -1
  6. package/dist/lib/catalogue/builders/capability-edges.js.map +1 -1
  7. package/dist/lib/catalogue/builders/index.d.ts +2 -0
  8. package/dist/lib/catalogue/builders/index.d.ts.map +1 -1
  9. package/dist/lib/catalogue/builders/index.js +1 -0
  10. package/dist/lib/catalogue/builders/index.js.map +1 -1
  11. package/dist/lib/catalogue/builders/quality-scores.d.ts +14 -0
  12. package/dist/lib/catalogue/builders/quality-scores.d.ts.map +1 -0
  13. package/dist/lib/catalogue/builders/quality-scores.js +321 -0
  14. package/dist/lib/catalogue/builders/quality-scores.js.map +1 -0
  15. package/dist/lib/catalogue/builders/services.d.ts.map +1 -1
  16. package/dist/lib/catalogue/builders/services.js +5 -1
  17. package/dist/lib/catalogue/builders/services.js.map +1 -1
  18. package/dist/lib/catalogue/canonical-schema.yaml +199 -1
  19. package/dist/lib/catalogue/coverage-render.d.ts +15 -0
  20. package/dist/lib/catalogue/coverage-render.d.ts.map +1 -1
  21. package/dist/lib/catalogue/coverage-render.js +85 -0
  22. package/dist/lib/catalogue/coverage-render.js.map +1 -1
  23. package/dist/lib/catalogue/coverage-run.d.ts.map +1 -1
  24. package/dist/lib/catalogue/coverage-run.js +7 -1
  25. package/dist/lib/catalogue/coverage-run.js.map +1 -1
  26. package/dist/lib/catalogue/scores-coverage.d.ts +138 -0
  27. package/dist/lib/catalogue/scores-coverage.d.ts.map +1 -0
  28. package/dist/lib/catalogue/scores-coverage.js +346 -0
  29. package/dist/lib/catalogue/scores-coverage.js.map +1 -0
  30. package/dist/lib/mcp/parse/gate-registry.d.ts +63 -4
  31. package/dist/lib/mcp/parse/gate-registry.d.ts.map +1 -1
  32. package/dist/lib/mcp/parse/gate-registry.js +127 -31
  33. package/dist/lib/mcp/parse/gate-registry.js.map +1 -1
  34. package/dist/lib/mcp/resources/gates.d.ts.map +1 -1
  35. package/dist/lib/mcp/resources/gates.js +13 -27
  36. package/dist/lib/mcp/resources/gates.js.map +1 -1
  37. package/dist/lib/mcp/tools/query-gate-status.d.ts.map +1 -1
  38. package/dist/lib/mcp/tools/query-gate-status.js +13 -27
  39. package/dist/lib/mcp/tools/query-gate-status.js.map +1 -1
  40. package/package.json +1 -1
@@ -15,6 +15,7 @@
15
15
  * value), because the references print through Python f-strings.
16
16
  */
17
17
  import type { ContractCoverageResult, CoverageFinding, CoverageTier, EventCoverageResult, RepoCapabilityMetrics, ServiceCapabilityMetrics } from "./coverage-predicates.js";
18
+ import type { ScoresCoverageResult } from "./scores-coverage.js";
18
19
  import type { CapabilityEventResult, DataModelEntitiesResult, DomainCatalogueGap, FeatureSpecPromotionResult, FeatureSurfaceDuplicationResult, RepoEdgesResult } from "./gate-checks.js";
19
20
  /** Python `%.1f` — half to even at an exact scaled .5, else nearest. */
20
21
  export declare function fmt1f(x: number): string;
@@ -36,4 +37,18 @@ export declare function renderFeatureEventCheck(res: {
36
37
  export declare function renderPlatformDependenciesCheck(finding: boolean): string[];
37
38
  export declare function renderFeatureSpecPromotionCheck(res: FeatureSpecPromotionResult): string[];
38
39
  export declare function renderFeatureSurfaceDuplicationCheck(res: FeatureSurfaceDuplicationResult): string[];
40
+ /**
41
+ * Unlike the thirteen predicates above, this text has NO reference shell
42
+ * script to be byte-identical with — it is a new surface, so the lines are
43
+ * chosen rather than reproduced. Two rules they follow, both paid for
44
+ * elsewhere in this arc:
45
+ *
46
+ * - every count states its basis in the same breath as the number, so a
47
+ * figure can never be read against the wrong denominator;
48
+ * - a number the predicate CANNOT reach is printed beside the number it
49
+ * reports, so a gap is never mistaken for backlog. Here that is the
50
+ * rubrics with no catalogued population and the scores whose currency is
51
+ * unknowable — both stated, never dropped.
52
+ */
53
+ export declare function renderScoresCoverage(res: ScoresCoverageResult, tier: "member" | "aggregate"): string[];
39
54
  //# sourceMappingURL=coverage-render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-render.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,+BAA+B,EAC/B,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,wEAAwE;AACxE,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASvC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,EAAE,CAmDV;AAcD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CA2CV;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CAmEV;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CAoFV;AAID,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,kBAAkB,EAAE,GAClC,MAAM,EAAE,CAKV;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CA2BnE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAMlE;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,uBAAuB,GAC3B,MAAM,EAAE,CAoBV;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAc/E;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF,GAAG,MAAM,EAAE,CAMX;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAM1E;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,0BAA0B,GAC9B,MAAM,EAAE,CASV;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,+BAA+B,GACnC,MAAM,EAAE,CAUV"}
1
+ {"version":3,"file":"coverage-render.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EACV,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,+BAA+B,EAC/B,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B,wEAAwE;AACxE,wBAAgB,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASvC;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,OAAO,EAAE,qBAAqB,GAC7B,MAAM,EAAE,CAmDV;AAcD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,OAAO,EAAE,wBAAwB,EACjC,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CA2CV;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CAmEV;AAED,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,sBAAsB,EAC3B,IAAI,EAAE,YAAY,GACjB,MAAM,EAAE,CAoFV;AAID,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,kBAAkB,EAAE,GAClC,MAAM,EAAE,CAKV;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CA2BnE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAMlE;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,uBAAuB,GAC3B,MAAM,EAAE,CAoBV;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAc/E;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF,GAAG,MAAM,EAAE,CAMX;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,EAAE,CAM1E;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,0BAA0B,GAC9B,MAAM,EAAE,CASV;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,+BAA+B,GACnC,MAAM,EAAE,CAUV;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,MAAM,EAAE,CAiGV"}
@@ -344,4 +344,89 @@ export function renderFeatureSurfaceDuplicationCheck(res) {
344
344
  `detailed slug canonical (per ADR 0177 §4.3)`,
345
345
  ];
346
346
  }
347
+ // ─── Scores coverage (M-ADR 0205 §4.5, B2 — the fourteenth check) ─────────
348
+ /**
349
+ * Unlike the thirteen predicates above, this text has NO reference shell
350
+ * script to be byte-identical with — it is a new surface, so the lines are
351
+ * chosen rather than reproduced. Two rules they follow, both paid for
352
+ * elsewhere in this arc:
353
+ *
354
+ * - every count states its basis in the same breath as the number, so a
355
+ * figure can never be read against the wrong denominator;
356
+ * - a number the predicate CANNOT reach is printed beside the number it
357
+ * reports, so a gap is never mistaken for backlog. Here that is the
358
+ * rubrics with no catalogued population and the scores whose currency is
359
+ * unknowable — both stated, never dropped.
360
+ */
361
+ export function renderScoresCoverage(res, tier) {
362
+ // Only silent when there is genuinely nothing to say. An SDD that measured
363
+ // NOTHING still reports which rubrics it skipped and why — suppressing that
364
+ // was this renderer's own first draft, and it is precisely the silent-cap
365
+ // shape the predicate exists to remove.
366
+ if (res.totalScores === 0 && res.metrics.length === 0 && res.notAdopted.length === 0) {
367
+ return [];
368
+ }
369
+ const out = [];
370
+ for (const f of res.findings) {
371
+ if (f.kind === "uncovered") {
372
+ out.push(`[finding] coverage: ${f.subject} carries no ${f.rubricId} score — ` +
373
+ `unscored is not passed; assess it or record why it is exempt ` +
374
+ `(no exemption vocabulary exists yet, per M-ADR 0199)`);
375
+ }
376
+ else if (f.kind === "orphaned-score") {
377
+ out.push(`[finding] orphan: ${f.rubricId} score for '${f.subject}' resolves to no ` +
378
+ `catalogue row — the assessment describes something the model no longer ` +
379
+ `holds; re-key the registry entry or withdraw the score`);
380
+ }
381
+ else {
382
+ out.push(`[finding] coverage: ${f.subject}`);
383
+ }
384
+ }
385
+ for (const r of res.undeclaredRubrics) {
386
+ out.push(`[finding] coverage: scores exist for rubric '${r}', which declares no ` +
387
+ `eligibility mapping — its coverage cannot be computed and its targets are ` +
388
+ `not resolution-checked; add it to RUBRIC_ELIGIBILITY`);
389
+ }
390
+ if (res.metrics.length === 0) {
391
+ out.push(`[metric] scores_coverage (${tier}): n/a — no rubric measurable in this SDD ` +
392
+ `(${res.notAdopted.length} not adopted, ${res.totalScores} score(s) present)`);
393
+ out.push(`[metric] scores_coverage.not_adopted: ${res.notAdopted.length} rubric(s) have no ` +
394
+ `registry in this SDD and are n/a here — ${res.notAdopted.join(", ")}; ` +
395
+ `absence of the surface is not a gap in it, but an EMPTY registry is`);
396
+ return out;
397
+ }
398
+ const withPop = res.metrics.filter((m) => m.eligible !== null);
399
+ const noPop = res.metrics.filter((m) => m.eligible === null);
400
+ const eligible = withPop.reduce((a, m) => a + (m.eligible ?? 0), 0);
401
+ const covered = withPop.reduce((a, m) => a + m.covered, 0);
402
+ const orphaned = res.metrics.reduce((a, m) => a + m.orphaned, 0);
403
+ const pct = eligible === 0 ? "n/a" : `${fmt1f((covered / eligible) * 100)}%`;
404
+ out.push(
405
+ // The denominator is (artefact, rubric) PAIRS, not distinct artefacts — one
406
+ // domain is eligible under domain-architecture, intent-quality AND glossary,
407
+ // so 14 domains contribute 42 eligible pairs. Naming the unit here is the
408
+ // difference between a measurement and a number that reads 3x too large.
409
+ `[metric] scores_coverage (${tier}): ${covered}/${eligible} eligible ` +
410
+ `(artefact, rubric) pair(s) scored (${pct}) across ${withPop.length} rubric(s) ` +
411
+ `with a catalogued population; ${orphaned} score(s) orphaned of ${res.totalScores} total`);
412
+ for (const m of withPop) {
413
+ out.push(`[metric] scores_coverage.${m.rubricId}: ${m.covered}/${m.eligible} ` +
414
+ `${m.targetKind}(s) scored, ${m.scored} score(s) present, ${m.orphaned} orphaned`);
415
+ }
416
+ if (noPop.length > 0) {
417
+ out.push(`[metric] scores_coverage.no_denominator: ${noPop.length} rubric(s) score ` +
418
+ `artefacts the catalogue does not model — ` +
419
+ `${noPop.map((m) => `${m.rubricId}(${m.scored})`).join(", ")}; ` +
420
+ `their coverage is NOT measurable here and is not counted above`);
421
+ }
422
+ if (res.notAdopted.length > 0) {
423
+ out.push(`[metric] scores_coverage.not_adopted: ${res.notAdopted.length} rubric(s) have no ` +
424
+ `registry in this SDD and are n/a here — ${res.notAdopted.join(", ")}; ` +
425
+ `absence of the surface is not a gap in it, but an EMPTY registry is`);
426
+ }
427
+ const b = res.stalenessBasis;
428
+ out.push(`[metric] scores_staleness_basis: ${b.corpusRef} corpus_ref, ${b.scoredAt} scored_at, ` +
429
+ `${b.none} none — a row with basis 'none' has UNKNOWN currency, not fresh`);
430
+ return out;
431
+ }
347
432
  //# sourceMappingURL=coverage-render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-render.js","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-render.js","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-render.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-run.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AA4BlC,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA6E/B"}
1
+ {"version":3,"file":"coverage-run.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AA8BlC,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAC9B;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA0F/B"}
@@ -25,7 +25,8 @@ import { createEngineSession } from "./engine-validator.js";
25
25
  import { loadCanonicalSchema } from "./schema-loader.js";
26
26
  import { runContractCoverage, runEventCoverage, runRepoCapabilityCoverage, runServiceCapabilityCoverage, } from "./coverage-predicates.js";
27
27
  import { runCapabilityEventCheck, runDataModelEntitiesCheck, runEventCatalogueCheck, runFeatureEventCheck, runFeatureSpecPromotionCheck, runFeatureSurfaceDuplicationCheck, runGlossaryXrefCheck, runPlatformDependenciesCheck, runRepoEdgesCheck, } from "./gate-checks.js";
28
- import { renderCapabilityEventCheck, renderContractCoverage, renderDataModelEntitiesCheck, renderEventCatalogueCheck, renderEventCoverage, renderFeatureEventCheck, renderFeatureSpecPromotionCheck, renderFeatureSurfaceDuplicationCheck, renderGlossaryXrefCheck, renderPlatformDependenciesCheck, renderRepoCapability, renderRepoEdgesCheck, renderServiceCapability, } from "./coverage-render.js";
28
+ import { runScoresCoverage } from "./scores-coverage.js";
29
+ import { renderCapabilityEventCheck, renderContractCoverage, renderDataModelEntitiesCheck, renderEventCatalogueCheck, renderEventCoverage, renderFeatureEventCheck, renderFeatureSpecPromotionCheck, renderFeatureSurfaceDuplicationCheck, renderGlossaryXrefCheck, renderPlatformDependenciesCheck, renderRepoCapability, renderRepoEdgesCheck, renderScoresCoverage, renderServiceCapability, } from "./coverage-render.js";
29
30
  export async function runCatalogueCoverage(inputs, write) {
30
31
  const sddRoot = resolve(inputs.sddPath ?? process.cwd());
31
32
  const dir = resolve(sddRoot, inputs.cataloguesDir ?? "catalogues");
@@ -80,6 +81,11 @@ export async function runCatalogueCoverage(inputs, write) {
80
81
  lines.push(...renderPlatformDependenciesCheck((await runPlatformDependenciesCheck(session, { sddRoot })).finding));
81
82
  lines.push(...renderFeatureSpecPromotionCheck(await runFeatureSpecPromotionCheck(session)));
82
83
  lines.push(...renderFeatureSurfaceDuplicationCheck(await runFeatureSurfaceDuplicationCheck(session)));
84
+ // The fourteenth check (M-ADR 0205 §4.5, Phase B): every eligible artefact
85
+ // carries a current score. Last in the block order because it is the newest
86
+ // and the baselines hold the stream positionally-agnostic but ordered.
87
+ const available = new Set(schema.catalogues.map((c) => c.name).filter((n) => present(n)));
88
+ lines.push(...renderScoresCoverage(await runScoresCoverage(session, { tier, available, sddRoot }), tier));
83
89
  }
84
90
  finally {
85
91
  session.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"coverage-run.js","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coverage-run.js","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-run.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,4BAA4B,GAE7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,oBAAoB,EACpB,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,+BAA+B,EAC/B,oCAAoC,EACpC,uBAAuB,EACvB,+BAA+B,EAC/B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAW9B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAyB,EACzB,KAA0B;IAE1B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,IAAI,YAAY,CAAC,CAAC;IACnE,MAAM,IAAI,GAAiB,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC;IAEvE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;IACnE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;QACpE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,oEAAoE;QACpE,kEAAkE;QAClE,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,4BAA4B,CAAC,OAAO,EAAE;gBACpD,IAAI;gBACJ,uBAAuB,EAAE,OAAO,CAAC,iBAAiB,CAAC;aACpD,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,0DAA0D;QAC1D,MAAM,cAAc,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;YAC3D,OAAO;YACP,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,KAAK,CAAC,IAAI,CACR,GAAG,uBAAuB,CACxB,CACE,MAAM,oBAAoB,CAAC,OAAO,EAAE;YAClC,OAAO;YACP,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC;SACtC,CAAC,CACH,CAAC,OAAO,CACV,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtF,KAAK,CAAC,IAAI,CAAC,GAAG,0BAA0B,CAAC,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5E,KAAK,CAAC,IAAI,CACR,GAAG,+BAA+B,CAChC,CAAC,MAAM,4BAA4B,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CACnE,CACF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,+BAA+B,CAAC,MAAM,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CACR,GAAG,oCAAoC,CACrC,MAAM,iCAAiC,CAAC,OAAO,CAAC,CACjD,CACF,CAAC;QAEF,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC/D,CAAC;QACF,KAAK,CAAC,IAAI,CACR,GAAG,oBAAoB,CACrB,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAC9D,IAAI,CACL,CACF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AACzB,CAAC"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Scores coverage — M-ADR 0205 §4.5's coverage instrument, the fourteenth
3
+ * engine check (Phase B, B2). SQL on the §4.1 engine, like every other
4
+ * catalogue-reading predicate; `check-repo-config-coverage.sh` remains the
5
+ * only shell survivor and is not the model for this.
6
+ *
7
+ * The claim: *every eligible artefact carries a current score*. Eligibility is
8
+ * computed per rubric against the catalogue that holds its targets, and the
9
+ * predicate reports BOTH directions, because the two say different things:
10
+ *
11
+ * - an eligible target with no score is a GAP — nobody has judged it;
12
+ * - a score whose target does not resolve is an ORPHANED SCORE — the
13
+ * assessment corpus has decayed away from the model it describes.
14
+ *
15
+ * The second direction is not decoration. Measured on the forward estate at
16
+ * introduction: 85 of 99 ADR scores point at ids that no longer exist, because
17
+ * a rename moved the ADR canon and the registry keys were never migrated. A
18
+ * one-directional predicate would have reported that estate as having 99
19
+ * scored ADRs while none of them resolved.
20
+ *
21
+ * THE JOIN VOCABULARY IS THE WHOLE DIFFICULTY, and it is declared rather than
22
+ * guessed. A registry's entry keys are not the catalogue's ids, and the
23
+ * mismatch differs per rubric — measured, not assumed:
24
+ *
25
+ * - contract-quality keys are SPEC PATHS (`contracts-avro/.../X.avsc`),
26
+ * joining `contracts.spec_path`; against `contracts.id` they score 0 of 55.
27
+ * - adr-quality keys carry a tier prefix (`M-ADR-0001`) the catalogue strips
28
+ * (`ADR-0001`); the raw join scores 0 of 99.
29
+ * - domain-architecture keys are plain domain slugs and join `domains.id`
30
+ * directly, 13 of 13.
31
+ *
32
+ * So each rubric declares its catalogue, its join column and its reference
33
+ * transform, and the predicate REPORTS the resolution rate it achieved. A join
34
+ * that silently resolves nothing looks exactly like an estate that has scored
35
+ * nothing — the confident-false-zero shape this whole phase exists to remove.
36
+ *
37
+ * Rubrics whose targets have NO catalogue (c4-diagram, strategic-doc,
38
+ * user-story, work-order) have no eligibility denominator to compute. They are
39
+ * reported as such by name and their scores are still resolution-checked as
40
+ * far as they can be — never silently omitted, because a rubric missing from
41
+ * the output reads as a rubric with nothing to say.
42
+ *
43
+ * Reporting-only at both tiers, per §4.5. Exemption vocabulary starts EMPTY
44
+ * (M-ADR 0199): there is no way to mark a target exempt yet, deliberately, so
45
+ * the first figure is the honest total.
46
+ *
47
+ * ADOPTION GATING — a rubric is measured only where its REGISTRY EXISTS. An SDD
48
+ * that carries no `<rubric>-scores.yaml` has not adopted that rubric, so it has
49
+ * no eligible population for it, and reporting its whole ADR/contract/capability
50
+ * corpus as unscored would be true-but-useless noise. This is the same n/a rule
51
+ * the repo-config predicate applies and the same rule the quality-scores builder
52
+ * applies to an absent registry directory: absence of the whole surface is not a
53
+ * gap in it. Measured before adopting it: without this rule ONE reverse-estate
54
+ * SDD emits 630 gap lines for rubrics it has never used, which across that
55
+ * estate would swamp the baseline re-take and bury the real signal.
56
+ *
57
+ * The distinction that must NOT be lost, and is not: a registry that EXISTS but
58
+ * is EMPTY reports its full population as gaps. That is the method repo's own
59
+ * state — fifteen deliberately-empty containers — and it is exactly the silence
60
+ * §4.5 exists to make loud. Absent surface and empty surface are different
61
+ * claims, and conflating them is the defect this whole phase is about.
62
+ *
63
+ * The n/a count is always printed. A rubric skipped silently reads as a rubric
64
+ * with nothing to report.
65
+ */
66
+ import type { EngineSession } from "./engine-validator.js";
67
+ export type ScoresCoverageTier = "member" | "aggregate";
68
+ /**
69
+ * How a rubric's scores reach the catalogue rows they describe.
70
+ *
71
+ * `refTransform` is applied to the SCORE's target_ref before comparison, in
72
+ * SQL, so the transform is visible in the query rather than hidden in host
73
+ * code. `null` means the ref is already in the catalogue's vocabulary.
74
+ */
75
+ export interface RubricEligibility {
76
+ readonly rubricId: string;
77
+ readonly targetKind: string;
78
+ /** Catalogue holding the eligible population; null when none exists. */
79
+ readonly catalogue: string | null;
80
+ /** Column in that catalogue the score's target_ref matches. */
81
+ readonly joinColumn: string;
82
+ /** SQL expression transforming target_ref into the catalogue's vocabulary. */
83
+ readonly refTransform: ((ref: string) => string) | null;
84
+ /** SQL predicate narrowing the catalogue to eligible rows; null = all rows. */
85
+ readonly eligibilityFilter: string | null;
86
+ /** Why the filter is what it is — rendered nowhere, read by whoever changes it. */
87
+ readonly eligibilityNote: string;
88
+ }
89
+ /**
90
+ * The declared mapping. Three entries are EXERCISED against real estate data
91
+ * (adr-quality, contract-quality, domain-architecture); the rest are declared
92
+ * from the registry and rubric shapes and have no populated corpus to verify
93
+ * against yet — a distinction the metric line states rather than blurs.
94
+ */
95
+ export declare const RUBRIC_ELIGIBILITY: readonly RubricEligibility[];
96
+ export interface ScoresCoverageFinding {
97
+ readonly kind: "uncovered" | "orphaned-score" | "unresolvable-staleness";
98
+ readonly rubricId: string;
99
+ readonly subject: string;
100
+ }
101
+ export interface RubricCoverageMetric {
102
+ readonly rubricId: string;
103
+ readonly targetKind: string;
104
+ /** null when the rubric has no catalogued population. */
105
+ readonly eligible: number | null;
106
+ readonly covered: number;
107
+ /** Scores present for this rubric, however they resolve. */
108
+ readonly scored: number;
109
+ readonly orphaned: number;
110
+ }
111
+ export interface ScoresCoverageResult {
112
+ readonly findings: readonly ScoresCoverageFinding[];
113
+ readonly metrics: readonly RubricCoverageMetric[];
114
+ /** Rubrics carrying scores that no eligibility entry declares. */
115
+ readonly undeclaredRubrics: readonly string[];
116
+ /** Rubrics skipped because this SDD carries no registry for them. */
117
+ readonly notAdopted: readonly string[];
118
+ readonly stalenessBasis: {
119
+ readonly corpusRef: number;
120
+ readonly scoredAt: number;
121
+ readonly none: number;
122
+ };
123
+ readonly totalScores: number;
124
+ }
125
+ /**
126
+ * Runs the predicate. `available` names the catalogues actually present, so a
127
+ * rubric whose population file is absent is skipped the way every other
128
+ * predicate skips an absent population — silently, because absence of the
129
+ * whole surface is not a gap in it — while a rubric whose population is
130
+ * PRESENT but empty still reports its zero.
131
+ */
132
+ export declare function runScoresCoverage(session: EngineSession, options: {
133
+ readonly tier: ScoresCoverageTier;
134
+ readonly available: ReadonlySet<string>;
135
+ /** SDD root — resolves which rubrics this SDD has actually adopted. */
136
+ readonly sddRoot: string;
137
+ }): Promise<ScoresCoverageResult>;
138
+ //# sourceMappingURL=scores-coverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scores-coverage.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/scores-coverage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAAC;IACxD,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,mFAAmF;IACnF,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,iBAAiB,EAiJ1D,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,GAAG,wBAAwB,CAAC;IACzE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAClD,kEAAkE;IAClE,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,qEAAqE;IACrE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAYD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE;IACP,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,oBAAoB,CAAC,CA+J/B"}