@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.
- package/dist/lib/catalogue/baseline-check.d.ts +45 -0
- package/dist/lib/catalogue/baseline-check.d.ts.map +1 -0
- package/dist/lib/catalogue/baseline-check.js +109 -0
- package/dist/lib/catalogue/baseline-check.js.map +1 -0
- package/dist/lib/catalogue/builders/capabilities.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capabilities.js +38 -0
- package/dist/lib/catalogue/builders/capabilities.js.map +1 -1
- package/dist/lib/catalogue/coverage-render.d.ts.map +1 -1
- package/dist/lib/catalogue/coverage-render.js +65 -13
- package/dist/lib/catalogue/coverage-render.js.map +1 -1
- package/dist/lib/catalogue/finding-identity.d.ts +113 -0
- package/dist/lib/catalogue/finding-identity.d.ts.map +1 -0
- package/dist/lib/catalogue/finding-identity.js +147 -0
- package/dist/lib/catalogue/finding-identity.js.map +1 -0
- package/dist/lib/catalogue/findings.d.ts +13 -1
- package/dist/lib/catalogue/findings.d.ts.map +1 -1
- package/dist/lib/catalogue/findings.js +13 -7
- package/dist/lib/catalogue/findings.js.map +1 -1
- package/dist/lib/catalogue/scores-coverage.d.ts +49 -1
- package/dist/lib/catalogue/scores-coverage.d.ts.map +1 -1
- package/dist/lib/catalogue/scores-coverage.js +84 -9
- package/dist/lib/catalogue/scores-coverage.js.map +1 -1
- package/dist/lib/catalogue/staleness-verdicts.d.ts +16 -0
- package/dist/lib/catalogue/staleness-verdicts.d.ts.map +1 -1
- package/dist/lib/catalogue/staleness-verdicts.js +178 -17
- package/dist/lib/catalogue/staleness-verdicts.js.map +1 -1
- package/dist/lib/sync/adr-transitions.d.ts.map +1 -1
- package/dist/lib/sync/adr-transitions.js +23 -4
- package/dist/lib/sync/adr-transitions.js.map +1 -1
- package/dist/lib/sync/diff.d.ts +22 -0
- package/dist/lib/sync/diff.d.ts.map +1 -1
- package/dist/lib/sync/diff.js +48 -0
- package/dist/lib/sync/diff.js.map +1 -1
- package/dist/lib/sync/index.d.ts.map +1 -1
- package/dist/lib/sync/index.js +42 -2
- package/dist/lib/sync/index.js.map +1 -1
- package/dist/verbs/catalogue.d.ts.map +1 -1
- package/dist/verbs/catalogue.js +22 -0
- package/dist/verbs/catalogue.js.map +1 -1
- 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;
|
|
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":"AAAA,6DAA6D;AAC7D,gEAAgE;AAChE,sDAAsD;AACtD,EAAE;AACF,kEAAkE;AAClE,kFAAkF;AAClF,2EAA2E;AAC3E,kDAAkD;AAClD,qEAAqE;AACrE,qEAAqE;AACrE,uEAAuE;AACvE,0EAA0E;AAE1E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIhD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAS3C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,4BAA4B,GAAwB,IAAI,GAAG,CAAC;IAChE,QAAQ;IACR,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAA+B;IAE/B,MAAM,IAAI,GAAmB,EAAE,CAAC;IAChC,6EAA6E;IAC7E,uEAAuE;IACvE,6BAA6B;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,UAAkB,EAAU,EAAE,CAC1D,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,UAAU,EAAE,CAAC;IAElD,+DAA+D;IAC/D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC;QACzB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,KAAK,KAAK,EAAE;gBACV,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,oBAAoB,GAAG,CAAC,EAAE,0CAA0C;gBAClF,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,oBAAoB,GAAG,CAAC,EAAE,YAAY,KAAK,0CAA0C,CACtG,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,QAAQ,EACR,GAAG,CAAC,CAAC,OAAO,wBAAwB,GAAG,CAAC,MAAM,yBAAyB,GAAG,CAAC,MAAM,GAAG,CACrF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;QAC1C,IAAI,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,kEAAkE;YAClE,iEAAiE;YACjE,iEAAiE;YACjE,kBAAkB;YAClB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,UAAU,EACV,GAAG,CAAC,CAAC,OAAO,iBAAiB,GAAG,CAAC,EAAE,+BAA+B,OAAO,wFAAwF,CAClK,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;YAClD,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;gBACvB,IAAI,GAAG,WAAW,CAAC;YACrB,CAAC;YACD,WAAW,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC9C,iDAAiD;YACjD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;gBACnC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,CAAC,CAAC,OAAO,oBAAoB,GAAG,CAAC,EAAE,6BAA6B,IAAI,GAAG,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,yEAAyE;QACzE,EAAE;QACF,sEAAsE;QACtE,0EAA0E;QAC1E,2EAA2E;QAC3E,wEAAwE;QACxE,kEAAkE;QAClE,sDAAsD;QACtD,EAAE;QACF,uEAAuE;QACvE,2EAA2E;QAC3E,uEAAuE;QACvE,mEAAmE;QACnE,2EAA2E;QAC3E,wEAAwE;QACxE,iEAAiE;QACjE,EAAE;QACF,sEAAsE;QACtE,0EAA0E;QAC1E,6BAA6B;QAC7B,MAAM,cAAc,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,cAAc,KAAK,EAAE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,YAAY,EACZ,GAAG,CAAC,CAAC,OAAO,wBAAwB,cAAc,8BAA8B;gBAC9E,eAAe,CAAC,GAAG,4BAA4B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB;gBAC/E,+EAA+E;gBAC/E,iDAAiD,CACpD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI;YACJ,SAAS,EAAE,GAAG,CAAC,MAAM;YACrB,aAAa,EAAE,EAAE;YACjB,oBAAoB,EAAE,EAAE;YACxB,cAAc,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACjD,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACnC,WAAW;YACX,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,QAAQ;YAC9B,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,iBAAiB;YACzB,qBAAqB,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE;YAClE,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,WAAW,EAAE,KAAK;YAClB,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACzC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,OAAO,CAAC;YAAE,SAAS;QAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC7B,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,OAAO,iCAAiC,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACjB,QAAQ,EACR,GAAG,OAAO,aAAa,MAAM,yBAAyB,MAAM,GAAG,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACjD,mEAAmE;QACnE,qEAAqE;QACrE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;YAChD,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,EAAE;YACjB,oBAAoB,EAAE,EAAE;YACxB,iFAAiF;YACjF,cAAc,EAAE,EAAE;YAClB,OAAO,EAAE,EAAE;YACX,WAAW;YACX,MAAM,EAAE,QAAQ;YAChB,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,iBAAiB;YACzB,qBAAqB,EAAE,EAAE;YACzB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,OAAe;IAC3C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QACvB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC;aACf,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;aACrB,OAAO,CAAC,uCAAuC,EAAE,EAAE,CAAC;aACpD,IAAI,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;YACrD,SAAS;QACX,CAAC;QACD,4BAA4B;QAC5B,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,MAAM;QAC7B,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACb,kEAAkE;YAClE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM;YAChC,SAAS;QACX,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAe;IACnD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAClD,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;YAAE,SAAS;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC1B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS;YACtC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU;gBAAE,SAAS;YAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,MAAM,CAAC,OAAe;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACnE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -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;
|
|
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(
|
|
36
|
-
|
|
37
|
-
|
|
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(
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
`
|
|
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(
|
|
49
|
-
|
|
50
|
-
|
|
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(
|
|
54
|
-
|
|
55
|
-
|
|
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"}
|