@sdd-method/sdd-cli 1.11.0 → 1.12.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/baseline-check.d.ts +45 -0
  2. package/dist/lib/catalogue/baseline-check.d.ts.map +1 -0
  3. package/dist/lib/catalogue/baseline-check.js +109 -0
  4. package/dist/lib/catalogue/baseline-check.js.map +1 -0
  5. package/dist/lib/catalogue/builders/capabilities.d.ts.map +1 -1
  6. package/dist/lib/catalogue/builders/capabilities.js +38 -0
  7. package/dist/lib/catalogue/builders/capabilities.js.map +1 -1
  8. package/dist/lib/catalogue/coverage-render.d.ts.map +1 -1
  9. package/dist/lib/catalogue/coverage-render.js +65 -13
  10. package/dist/lib/catalogue/coverage-render.js.map +1 -1
  11. package/dist/lib/catalogue/finding-identity.d.ts +113 -0
  12. package/dist/lib/catalogue/finding-identity.d.ts.map +1 -0
  13. package/dist/lib/catalogue/finding-identity.js +147 -0
  14. package/dist/lib/catalogue/finding-identity.js.map +1 -0
  15. package/dist/lib/catalogue/findings.d.ts +13 -1
  16. package/dist/lib/catalogue/findings.d.ts.map +1 -1
  17. package/dist/lib/catalogue/findings.js +13 -7
  18. package/dist/lib/catalogue/findings.js.map +1 -1
  19. package/dist/lib/catalogue/scores-coverage.d.ts +49 -1
  20. package/dist/lib/catalogue/scores-coverage.d.ts.map +1 -1
  21. package/dist/lib/catalogue/scores-coverage.js +84 -9
  22. package/dist/lib/catalogue/scores-coverage.js.map +1 -1
  23. package/dist/lib/catalogue/staleness-verdicts.d.ts +16 -0
  24. package/dist/lib/catalogue/staleness-verdicts.d.ts.map +1 -1
  25. package/dist/lib/catalogue/staleness-verdicts.js +178 -17
  26. package/dist/lib/catalogue/staleness-verdicts.js.map +1 -1
  27. package/dist/lib/sync/adr-transitions.d.ts.map +1 -1
  28. package/dist/lib/sync/adr-transitions.js +23 -4
  29. package/dist/lib/sync/adr-transitions.js.map +1 -1
  30. package/dist/lib/sync/diff.d.ts +22 -0
  31. package/dist/lib/sync/diff.d.ts.map +1 -1
  32. package/dist/lib/sync/diff.js +48 -0
  33. package/dist/lib/sync/diff.js.map +1 -1
  34. package/dist/lib/sync/index.d.ts.map +1 -1
  35. package/dist/lib/sync/index.js +42 -2
  36. package/dist/lib/sync/index.js.map +1 -1
  37. package/dist/verbs/catalogue.d.ts.map +1 -1
  38. package/dist/verbs/catalogue.js +22 -0
  39. package/dist/verbs/catalogue.js.map +1 -1
  40. package/package.json +2 -2
@@ -0,0 +1,45 @@
1
+ /**
2
+ * `catalogue baseline-check` — compares emitted findings against a repo's
3
+ * findings baseline BY IDENTITY (M-ADR 0132 §9), and reports the four outcomes
4
+ * a re-take needs to be reviewable: unbaselined, reworded, closed, unchanged.
5
+ *
6
+ * WHY THIS IS A COMMAND AND NOT A DISCIPLINE. The comparison was previously
7
+ * described in prose and performed per repo, which is why the rewording class
8
+ * (§9.1) went undetected twice on the same finding family: every repo
9
+ * implemented "is this line in the file" independently and correctly, and the
10
+ * defect was in the question, not the implementations.
11
+ *
12
+ * It reads findings rather than producing them, so it composes with whatever
13
+ * produced them and cannot disagree with a separate run of the builder:
14
+ *
15
+ * sdd-cli catalogue validate --coverage > findings.txt
16
+ * sdd-cli catalogue baseline-check --findings findings.txt
17
+ *
18
+ * ONLY GATE-ACTING CATEGORIES ARE COMPARED (`orphan`, `divergence` — M-ADR 0132
19
+ * §4.3). Filtering happens here, visibly, and the count of what was filtered is
20
+ * printed: a comparator that silently dropped categories would make an empty
21
+ * result ambiguous between "nothing gate-acting" and "nothing at all".
22
+ */
23
+ export declare const DEFAULT_BASELINE_REL: string;
24
+ /**
25
+ * Findings from a stream of mixed output. Non-finding lines (metrics, headers,
26
+ * blank lines, a baseline file's `#` provenance) are not findings and are
27
+ * dropped without comment; a `[finding]` line of a non-gate-acting category is
28
+ * dropped and COUNTED, because that number is the difference between "nothing
29
+ * to compare" and "nothing was comparable".
30
+ */
31
+ export declare function extractGateActing(text: string): {
32
+ readonly lines: string[];
33
+ readonly nonGateActing: number;
34
+ };
35
+ export interface BaselineCheckOptions {
36
+ readonly sddPath?: string;
37
+ readonly findings?: string;
38
+ readonly baseline?: string;
39
+ /** Read findings from here when `--findings` is absent. */
40
+ readonly stdin?: () => Promise<string>;
41
+ }
42
+ export declare function runBaselineCheck(options: BaselineCheckOptions, write: (s: string) => void): Promise<{
43
+ exitCode: number;
44
+ }>;
45
+ //# sourceMappingURL=baseline-check.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline-check.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/baseline-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH,eAAO,MAAM,oBAAoB,QAGhC,CAAC;AAIF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC,CAWA;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACxC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,oBAAoB,EAC7B,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA+D/B"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * `catalogue baseline-check` — compares emitted findings against a repo's
3
+ * findings baseline BY IDENTITY (M-ADR 0132 §9), and reports the four outcomes
4
+ * a re-take needs to be reviewable: unbaselined, reworded, closed, unchanged.
5
+ *
6
+ * WHY THIS IS A COMMAND AND NOT A DISCIPLINE. The comparison was previously
7
+ * described in prose and performed per repo, which is why the rewording class
8
+ * (§9.1) went undetected twice on the same finding family: every repo
9
+ * implemented "is this line in the file" independently and correctly, and the
10
+ * defect was in the question, not the implementations.
11
+ *
12
+ * It reads findings rather than producing them, so it composes with whatever
13
+ * produced them and cannot disagree with a separate run of the builder:
14
+ *
15
+ * sdd-cli catalogue validate --coverage > findings.txt
16
+ * sdd-cli catalogue baseline-check --findings findings.txt
17
+ *
18
+ * ONLY GATE-ACTING CATEGORIES ARE COMPARED (`orphan`, `divergence` — M-ADR 0132
19
+ * §4.3). Filtering happens here, visibly, and the count of what was filtered is
20
+ * printed: a comparator that silently dropped categories would make an empty
21
+ * result ambiguous between "nothing gate-acting" and "nothing at all".
22
+ */
23
+ import { readFile } from "node:fs/promises";
24
+ import { join } from "node:path";
25
+ import { compareToBaseline } from "./finding-identity.js";
26
+ /** The categories a baseline governs, per M-ADR 0132 §4.3. */
27
+ const GATE_ACTING = new Set(["orphan", "divergence"]);
28
+ export const DEFAULT_BASELINE_REL = join("orchestration", "catalogue-findings-baseline.txt");
29
+ const FINDING_LINE = /^\[finding\] (\w+)(?: \[error\])?[ (:]/;
30
+ /**
31
+ * Findings from a stream of mixed output. Non-finding lines (metrics, headers,
32
+ * blank lines, a baseline file's `#` provenance) are not findings and are
33
+ * dropped without comment; a `[finding]` line of a non-gate-acting category is
34
+ * dropped and COUNTED, because that number is the difference between "nothing
35
+ * to compare" and "nothing was comparable".
36
+ */
37
+ export function extractGateActing(text) {
38
+ const lines = [];
39
+ let nonGateActing = 0;
40
+ for (const raw of text.split("\n")) {
41
+ const line = raw.trimEnd();
42
+ const m = FINDING_LINE.exec(line);
43
+ if (!m)
44
+ continue;
45
+ if (GATE_ACTING.has(m[1]))
46
+ lines.push(line);
47
+ else
48
+ nonGateActing++;
49
+ }
50
+ return { lines, nonGateActing };
51
+ }
52
+ export async function runBaselineCheck(options, write) {
53
+ const root = options.sddPath ?? process.cwd();
54
+ const baselinePath = options.baseline ?? join(root, DEFAULT_BASELINE_REL);
55
+ let findingsText;
56
+ if (options.findings !== undefined) {
57
+ findingsText = await readFile(options.findings, "utf-8");
58
+ }
59
+ else if (options.stdin) {
60
+ findingsText = await options.stdin();
61
+ }
62
+ else {
63
+ write("[error] baseline-check: no findings source (--findings <path>, or pipe them in)\n");
64
+ return { exitCode: 2 };
65
+ }
66
+ let baselineText;
67
+ try {
68
+ baselineText = await readFile(baselinePath, "utf-8");
69
+ }
70
+ catch (err) {
71
+ if (err.code !== "ENOENT")
72
+ throw err;
73
+ // A MISSING baseline is not an empty one. Under §9.3 the canonical zero is
74
+ // an empty-but-present file, precisely so that "measured, and there were
75
+ // none" is distinguishable from "never measured" — so this reports rather
76
+ // than treating every live finding as unbaselined.
77
+ write(`[error] baseline-check: no baseline at ${baselinePath} — a missing file is not a ` +
78
+ `recorded zero (M-ADR 0132 §9.3); create it empty, with its provenance header, ` +
79
+ `to record that findings were measured and there were none\n`);
80
+ return { exitCode: 2 };
81
+ }
82
+ const live = extractGateActing(findingsText);
83
+ const base = extractGateActing(baselineText);
84
+ const cmp = compareToBaseline(live.lines, base.lines);
85
+ write(`[metric] baseline_check: ${live.lines.length} gate-acting finding(s) against ` +
86
+ `${base.lines.length} baseline entr(ies) — ${cmp.unchanged} unchanged, ` +
87
+ `${cmp.reworded.length} reworded, ${cmp.unbaselined.length} unbaselined, ` +
88
+ `${cmp.stale.length} closed; ${live.nonGateActing} non-gate-acting finding(s) not compared\n`);
89
+ // Reported even at zero. While it is above zero those entries are matched on
90
+ // whole text and remain exposed to the rewording class; silence here would
91
+ // imply a protection the repo has not got.
92
+ write(`[metric] baseline_check.legacy_keyed: ${cmp.legacyKeyed} baseline entr(ies) carry no ` +
93
+ `identity and are matched on their whole line — re-take them as their emission ` +
94
+ `sites migrate (M-ADR 0132 §9.2)\n`);
95
+ for (const r of cmp.reworded) {
96
+ // Named, not counted only: a re-take must be able to show which line
97
+ // replaced which, and "N reworded" is not reviewable evidence.
98
+ write(`[reworded] ${r.baseline}\n[reworded] -> ${r.live}\n`);
99
+ }
100
+ for (const s of cmp.stale)
101
+ write(`[closed] ${s}\n`);
102
+ for (const u of cmp.unbaselined)
103
+ write(`[unbaselined] ${u}\n`);
104
+ // Only genuinely unbaselined findings fail. A reworded finding is the case
105
+ // this whole mechanism exists to stop failing, and a closed one is good news
106
+ // that a re-take tidies — neither is a regression.
107
+ return { exitCode: cmp.unbaselined.length > 0 ? 1 : 0 };
108
+ }
109
+ //# sourceMappingURL=baseline-check.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseline-check.js","sourceRoot":"","sources":["../../../src/lib/catalogue/baseline-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capabilities.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAID,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CAgIzB"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capabilities.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAgBD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,EAAE,CAAC,CA+JzB"}
@@ -14,6 +14,17 @@ import { readFile, stat } from "node:fs/promises";
14
14
  import { join, relative, sep } from "node:path";
15
15
  import { readdir } from "node:fs/promises";
16
16
  const DOMAINS_DIR_REL = join("docs", "domains");
17
+ /**
18
+ * The vocabulary `catalogue-schema.yaml` documents for `capabilities.status`
19
+ * ("active | planned | deprecated. Default 'active'."). Held here as the
20
+ * census's reference set, NOT as a binding — the column declares no
21
+ * `column_enums`, and whether that should change is a ruling in flight.
22
+ */
23
+ const DOCUMENTED_CAPABILITY_STATUS = new Set([
24
+ "active",
25
+ "planned",
26
+ "deprecated",
27
+ ]);
17
28
  export async function buildCapabilities(inputs) {
18
29
  const rows = [];
19
30
  // Row identity for sliced capabilities is (id, slice_scope); use that as the
@@ -60,6 +71,33 @@ export async function buildCapabilities(inputs) {
60
71
  inputs.findings.add("divergence", `${m.relPath}: capability.id="${cap.id}" differs from spec stem "${stem}"`);
61
72
  }
62
73
  }
74
+ // WILD-VOCABULARY CENSUS, reporting-only and deliberately NOT a binding.
75
+ //
76
+ // `capabilities.status` is documented `active | planned | deprecated`
77
+ // (M-ADR 0153 describes the capability block's field as lifecycle status,
78
+ // and the builder is right to catalogue it), but the column binds no enum,
79
+ // so a value outside that set has been reaching the catalogue silently.
80
+ // Measured at the forward estate: 44 of 74 rows — exploration 26,
81
+ // placeholder 11, detailed-pre-lock 6, first-draft 1.
82
+ //
83
+ // This ENUMERATES that population; it does not judge it. The row emits
84
+ // unchanged and the cell keeps its authored value, because the question of
85
+ // whether `exploration` is a real state needing a home or an authoring
86
+ // error is a ruling in flight, not one a builder gets to settle by
87
+ // dropping data. `convention` is non-gate-acting under M-ADR 0132 §4.3, so
88
+ // this cannot fail a gate on arrival — the same reporting-first staging
89
+ // M-ADR 0205 §4.5 uses, and promotion is a later deliberate act.
90
+ //
91
+ // Emitted only for an AUTHORED value: Pass 2's hardcoded default is a
92
+ // default, not a declaration, and reporting it would blame an adopter for
93
+ // a value the builder chose.
94
+ const declaredStatus = (cap.status ?? "").trim();
95
+ if (declaredStatus !== "" && !DOCUMENTED_CAPABILITY_STATUS.has(declaredStatus)) {
96
+ inputs.findings.add("convention", `${m.relPath}: capability.status="${declaredStatus}" is outside the documented ` +
97
+ `vocabulary (${[...DOCUMENTED_CAPABILITY_STATUS].join(" | ")}) — the value is ` +
98
+ `catalogued as authored and nothing is dropped; reported so the population is ` +
99
+ `countable while the vocabulary question is open`);
100
+ }
63
101
  seen.add(dedupKey);
64
102
  rows.push({
65
103
  id: cap.id,
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capabilities.ts"],"names":[],"mappings":"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"}
@@ -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,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,CAyHV;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,OAAO,kBAAkB,EAAE,2BAA2B,GAC1D,MAAM,EAAE,CAsBV"}
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;AAElC,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,CA6EV;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,CA0JV;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,OAAO,kBAAkB,EAAE,2BAA2B,GAC1D,MAAM,EAAE,CAsBV"}
@@ -14,6 +14,7 @@
14
14
  * Percentages use Python's %.1f semantics (round-half-even on the scaled
15
15
  * value), because the references print through Python f-strings.
16
16
  */
17
+ import { renderFindingLine } from "./finding-identity.js";
17
18
  /** Python `%.1f` — half to even at an exact scaled .5, else nearest. */
18
19
  export function fmt1f(x) {
19
20
  const scaled = x * 10;
@@ -30,29 +31,51 @@ export function fmt1f(x) {
30
31
  }
31
32
  export function renderRepoCapability(findings, metrics) {
32
33
  const lines = [];
34
+ // These four templates are the measured reason identity is EMITTED rather
35
+ // than recovered: they embed the subject in prose, and between them they
36
+ // account for all 243 baseline lines across 62 repos that no general parse
37
+ // can key. The subject was structurally available at every one of them all
38
+ // along — `f.subjectId` — it simply never reached the line.
33
39
  for (const f of findings) {
40
+ const subject = `repo:${f.subjectId}`;
34
41
  if (f.classification === "conflict") {
35
- lines.push(`[finding] divergence: repo ${f.subjectId} declares capability_exemption ` +
36
- `(${f.exemptionReason ?? ""}) but also has a repo_capability edge — an exempt repository ` +
37
- `must not claim a capability (per M-ADR 0188 §4.1)`);
42
+ lines.push(renderFindingLine({
43
+ category: "divergence",
44
+ subject,
45
+ summary: `repo ${f.subjectId} declares capability_exemption ` +
46
+ `(${f.exemptionReason ?? ""}) but also has a repo_capability edge — an exempt repository ` +
47
+ `must not claim a capability (per M-ADR 0188 §4.1)`,
48
+ }));
38
49
  }
39
50
  else if (f.classification === "shape_a") {
40
51
  const names = (f.unclaimedServices ?? []).join(", ") +
41
52
  ((f.unclaimedCount ?? 0) > 3 ? " …" : "");
42
- lines.push(`[finding] orphan: repo ${f.subjectId} resolves to no capability in this SDD's ` +
43
- `own catalogues; its service(s) [${names}] have no capability_service row ` +
44
- `here — check the aggregate's capability_service.csv for this service_id ` +
45
- `before assuming the edge is missing (per M-ADR 0188 §6.2b)`);
53
+ lines.push(renderFindingLine({
54
+ category: "orphan",
55
+ subject,
56
+ summary: `repo ${f.subjectId} resolves to no capability in this SDD's ` +
57
+ `own catalogues; its service(s) [${names}] have no capability_service row ` +
58
+ `here — check the aggregate's capability_service.csv for this service_id ` +
59
+ `before assuming the edge is missing (per M-ADR 0188 §6.2b)`,
60
+ }));
46
61
  }
47
62
  else if (f.classification === "claimed_unresolved") {
48
- lines.push(`[finding] orphan: repo ${f.subjectId} resolves to no capability although its ` +
49
- `service(s) are claimed — check services.primary_repo_id is populated ` +
50
- `(per M-ADR 0157 §4.3)`);
63
+ lines.push(renderFindingLine({
64
+ category: "orphan",
65
+ subject,
66
+ summary: `repo ${f.subjectId} resolves to no capability although its ` +
67
+ `service(s) are claimed — check services.primary_repo_id is populated ` +
68
+ `(per M-ADR 0157 §4.3)`,
69
+ }));
51
70
  }
52
71
  else {
53
- lines.push(`[finding] orphan: repo ${f.subjectId} resolves to no capability, has no service ` +
54
- `row, and declares no capability_exemption — declare capabilities: or ` +
55
- `capability_exemption (per M-ADR 0188 §4.1)`);
72
+ lines.push(renderFindingLine({
73
+ category: "orphan",
74
+ subject,
75
+ summary: `repo ${f.subjectId} resolves to no capability, has no service ` +
76
+ `row, and declares no capability_exemption — declare capabilities: or ` +
77
+ `capability_exemption (per M-ADR 0188 §4.1)`,
78
+ }));
56
79
  }
57
80
  }
58
81
  if (metrics.total > 0) {
@@ -373,6 +396,19 @@ export function renderScoresCoverage(res, tier) {
373
396
  `unscored is not passed; assess it or record why it is exempt ` +
374
397
  `(no exemption vocabulary exists yet, per M-ADR 0199)`);
375
398
  }
399
+ else if (f.kind === "out-of-scope-score") {
400
+ // Named remedy, and it is deliberately NOT "delete this". M-ADR 0199 §4.4
401
+ // binds a remedy to be true at the emitting tier: the assessment itself is
402
+ // real work and a real judgment, and the ruled disposition (2026-08-07) is
403
+ // that it travels to the producer as feedback rather than being discarded.
404
+ // The forward estate's 24 rows moved that way — packaged, ingested,
405
+ // auditable — and a remedy line reading "withdraw" would have advised
406
+ // throwing away exactly what was worth transferring.
407
+ out.push(`[finding] coverage: ${f.rubricId} score for '${f.subject}' targets a ` +
408
+ `method-managed artefact — sync overwrites any remediation made here, so it ` +
409
+ `is out of this repo's scope to maintain; raise the assessment with the ` +
410
+ `producer and retire the row (it is counted in neither coverage nor orphans)`);
411
+ }
376
412
  else if (f.kind === "orphaned-score") {
377
413
  // COVERAGE class, not orphan, and the choice is governed rather than
378
414
  // stylistic. M-ADR 0205 §4.5 ships this instrument "reporting-only at
@@ -434,6 +470,22 @@ export function renderScoresCoverage(res, tier) {
434
470
  out.push(`[metric] scores_coverage.${m.rubricId}: ${m.covered}/${m.eligible} ` +
435
471
  `${m.targetKind}(s) scored, ${m.scored} score(s) present, ${m.orphaned} orphaned`);
436
472
  }
473
+ // The excluded population is printed BESIDE the denominator it shrank, never
474
+ // folded into it. A reader comparing this run against a pre-filter baseline
475
+ // must be able to see why the denominator moved without re-deriving it, and
476
+ // the bundle breakdown answers the immediate next question — which producer's
477
+ // content is it — in the same line rather than in a follow-up investigation.
478
+ const excluded = withPop.filter((m) => m.managedExcluded > 0);
479
+ for (const m of excluded) {
480
+ const byBundle = Object.entries(m.managedExcludedByBundle)
481
+ .sort((a, b2) => b2[1] - a[1] || a[0].localeCompare(b2[0]))
482
+ .map(([name, n]) => `${name} ${n}`)
483
+ .join(", ");
484
+ out.push(`[metric] scores_coverage.${m.rubricId}.method_managed: ${m.managedExcluded} ` +
485
+ `${m.targetKind}(s) excluded from the denominator as method-managed ` +
486
+ `(${byBundle}) — sync overwrites remediation here, so their quality belongs ` +
487
+ `to the producer's registry; NOT netted against the gap count above`);
488
+ }
437
489
  if (noPop.length > 0) {
438
490
  out.push(`[metric] scores_coverage.no_denominator: ${noPop.length} rubric(s) score ` +
439
491
  `artefacts the catalogue does not model — ` +
@@ -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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"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Finding IDENTITY — the stable key a findings baseline is compared on, per
3
+ * M-ADR 0132 §4.3 as amended, delivering the ruling recorded at ledger §3p.
4
+ *
5
+ * THE PROBLEM THIS EXISTS FOR, measured rather than asserted. A findings
6
+ * baseline stores whole `[finding]` lines, so improving a message invalidates
7
+ * every baselined line carrying it. Wave №6 added a remedy sentence to one
8
+ * orphan message: 57 baselined lines went inert and 57 replacements arrived
9
+ * unbaselined, with ZERO genuinely new findings underneath. At the baseline, a
10
+ * wave that improves wording is indistinguishable from a wave that introduces
11
+ * 57 new problems. It recurred at wave №11 (9 lines, one estate) because the
12
+ * class was understood and the mechanism had not changed.
13
+ *
14
+ * WHY IDENTITY IS EMITTED AND NOT RECOVERED. The obvious cheaper fix is to let
15
+ * a comparator extract (category, subject) from stored lines and leave every
16
+ * estate file untouched. Measured across every baseline in both estates — 86
17
+ * files, 74 non-empty, 1,677 body lines — that works for 1,434 lines (85.5%)
18
+ * and fails for 243 (14.5%), which embed their subject in prose:
19
+ *
20
+ * [finding] orphan: repo integration-calamp resolves to no capability ...
21
+ *
22
+ * One renderer template, all orphan class, spread across 62 repos. Recovering
23
+ * identity there means teaching the comparator the renderer's message
24
+ * templates — which re-couples identity to message text, the exact coupling
25
+ * this module removes, and fails SILENTLY the next time a template changes.
26
+ * Identity that was never emitted cannot be reconstructed from prose after the
27
+ * fact; it has to be emitted where it is known.
28
+ *
29
+ * THE RENDERED FORM keeps the identity in the line a human reads, because a
30
+ * baseline is reviewed by people and a side-channel nobody sees is a side
31
+ * channel nobody maintains:
32
+ *
33
+ * [finding] orphan (repo:integration-calamp): repo integration-calamp ...
34
+ * [finding] divergence (docs/domains/asset/product/x.traceability.yaml): ...
35
+ *
36
+ * A finding with no declared subject renders EXACTLY as it does today. That is
37
+ * deliberate and load-bearing: migration is per-emission-site rather than
38
+ * flag-day, an unmigrated site is unchanged rather than broken, and the size of
39
+ * an estate's re-take is proportional to how many sites have actually moved.
40
+ */
41
+ import type { FindingCategory } from "./findings.js";
42
+ /** The stable key. `subject` is null for a finding that declares none. */
43
+ export interface FindingIdentity {
44
+ readonly category: string;
45
+ readonly subject: string | null;
46
+ }
47
+ /**
48
+ * A subject is `kind:id` where the finding knows the kind (`repo:x`,
49
+ * `capability:y`), or a repo-relative path where the subject IS a file. Both
50
+ * are stable under rewording; neither is a sentence.
51
+ *
52
+ * Parentheses are the delimiter because no subject may contain one — asserted
53
+ * below rather than assumed, since a subject that could contain the delimiter
54
+ * would make the parse ambiguous exactly when it mattered.
55
+ */
56
+ export declare function assertRenderableSubject(subject: string): void;
57
+ export declare function renderFindingLine(f: {
58
+ readonly category: FindingCategory | string;
59
+ readonly summary: string;
60
+ readonly subject?: string | null;
61
+ readonly severity?: "warn" | "error";
62
+ }): string;
63
+ /**
64
+ * Recovers the identity of a stored baseline line.
65
+ *
66
+ * Three outcomes, and the third is the one that matters: an explicit identity
67
+ * is read exactly; a LEGACY line is keyed on its whole summary, which
68
+ * reproduces today's whole-line behaviour for lines that have not moved yet;
69
+ * and a line that is not a finding at all returns null.
70
+ *
71
+ * Keying a legacy line on its summary is not a silent approximation of
72
+ * identity — it IS the old contract, kept deliberately so an unmigrated line
73
+ * behaves exactly as it does now rather than matching something it should not.
74
+ */
75
+ export declare function parseFindingLine(line: string): {
76
+ readonly identity: FindingIdentity;
77
+ readonly explicit: boolean;
78
+ } | null;
79
+ /**
80
+ * The comparison key. For an explicit identity that is (category, subject); for
81
+ * a legacy line it falls back to the whole line, preserving current behaviour.
82
+ */
83
+ export declare function findingKey(line: string): string;
84
+ export interface BaselineComparison {
85
+ /** Live findings with no baseline counterpart — what the gate fails on. */
86
+ readonly unbaselined: readonly string[];
87
+ /** Baseline entries with no live counterpart — closed, or gone stale. */
88
+ readonly stale: readonly string[];
89
+ /** Matched on identity while the TEXT differs — reworded, not new. */
90
+ readonly reworded: readonly {
91
+ readonly baseline: string;
92
+ readonly live: string;
93
+ }[];
94
+ /** Matched exactly. */
95
+ readonly unchanged: number;
96
+ /**
97
+ * Baseline lines still keyed on whole text because they carry no identity.
98
+ * Reported so a re-take is a measured act: while this is non-zero the estate
99
+ * is still exposed to the rewording class for those lines, and a comparison
100
+ * that did not say so would imply a protection it has not got.
101
+ */
102
+ readonly legacyKeyed: number;
103
+ }
104
+ /**
105
+ * Compares live findings against a baseline by identity.
106
+ *
107
+ * Only gate-acting categories belong in a baseline (M-ADR 0132 §4.3 — `orphan`
108
+ * and `divergence`); filtering is the caller's, because a comparator that
109
+ * silently dropped categories would make an empty result ambiguous between
110
+ * "nothing gate-acting" and "nothing at all".
111
+ */
112
+ export declare function compareToBaseline(live: readonly string[], baseline: readonly string[]): BaselineComparison;
113
+ //# sourceMappingURL=finding-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding-identity.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/finding-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAS7D;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE;IACnC,QAAQ,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC,GAAG,MAAM,CAOT;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAW3E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnF,uBAAuB;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,kBAAkB,CAiCpB"}