@sdd-method/sdd-cli 1.1.0 → 1.2.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/aggregate.d.ts.map +1 -1
- package/dist/lib/catalogue/aggregate.js +5 -4
- package/dist/lib/catalogue/aggregate.js.map +1 -1
- package/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +2 -6
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/capability-spec.d.ts +9 -3
- package/dist/lib/catalogue/builders/capability-spec.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/capability-spec.js +9 -3
- package/dist/lib/catalogue/builders/capability-spec.js.map +1 -1
- package/dist/lib/catalogue/canonical-schema.yaml +57 -6
- package/dist/lib/catalogue/coverage-predicates.d.ts +176 -0
- package/dist/lib/catalogue/coverage-predicates.d.ts.map +1 -0
- package/dist/lib/catalogue/coverage-predicates.js +603 -0
- package/dist/lib/catalogue/coverage-predicates.js.map +1 -0
- package/dist/lib/catalogue/coverage-render.d.ts +39 -0
- package/dist/lib/catalogue/coverage-render.d.ts.map +1 -0
- package/dist/lib/catalogue/coverage-render.js +347 -0
- package/dist/lib/catalogue/coverage-render.js.map +1 -0
- package/dist/lib/catalogue/coverage-run.d.ts +33 -0
- package/dist/lib/catalogue/coverage-run.d.ts.map +1 -0
- package/dist/lib/catalogue/coverage-run.js +91 -0
- package/dist/lib/catalogue/coverage-run.js.map +1 -0
- package/dist/lib/catalogue/ddl-generator.d.ts +80 -0
- package/dist/lib/catalogue/ddl-generator.d.ts.map +1 -0
- package/dist/lib/catalogue/ddl-generator.js +215 -0
- package/dist/lib/catalogue/ddl-generator.js.map +1 -0
- package/dist/lib/catalogue/engine-validator.d.ts +103 -0
- package/dist/lib/catalogue/engine-validator.d.ts.map +1 -0
- package/dist/lib/catalogue/engine-validator.js +221 -0
- package/dist/lib/catalogue/engine-validator.js.map +1 -0
- package/dist/lib/catalogue/enum-validator.d.ts.map +1 -1
- package/dist/lib/catalogue/enum-validator.js +15 -0
- package/dist/lib/catalogue/enum-validator.js.map +1 -1
- package/dist/lib/catalogue/fk-validator.d.ts +6 -0
- package/dist/lib/catalogue/fk-validator.d.ts.map +1 -1
- package/dist/lib/catalogue/fk-validator.js +6 -0
- package/dist/lib/catalogue/fk-validator.js.map +1 -1
- package/dist/lib/catalogue/gate-checks.d.ts +117 -0
- package/dist/lib/catalogue/gate-checks.d.ts.map +1 -0
- package/dist/lib/catalogue/gate-checks.js +261 -0
- package/dist/lib/catalogue/gate-checks.js.map +1 -0
- package/dist/lib/catalogue/parity-harness.d.ts +48 -0
- package/dist/lib/catalogue/parity-harness.d.ts.map +1 -0
- package/dist/lib/catalogue/parity-harness.js +76 -0
- package/dist/lib/catalogue/parity-harness.js.map +1 -0
- package/dist/lib/catalogue/schema-compat.d.ts +3 -3
- package/dist/lib/catalogue/schema-compat.js +3 -3
- package/dist/lib/catalogue/validate.d.ts.map +1 -1
- package/dist/lib/catalogue/validate.js +6 -11
- package/dist/lib/catalogue/validate.js.map +1 -1
- package/dist/verbs/catalogue.d.ts.map +1 -1
- package/dist/verbs/catalogue.js +24 -0
- package/dist/verbs/catalogue.js.map +1 -1
- package/package.json +3 -2
|
@@ -14,9 +14,15 @@
|
|
|
14
14
|
* resolved via `services.csv` + the optional per-SDD alias map
|
|
15
15
|
* introduced by ADR 0143.
|
|
16
16
|
*
|
|
17
|
-
* Resolution
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* Resolution is best-effort and never breaks FK validation — only
|
|
18
|
+
* confidently-resolved rows are emitted. Unresolved CAPABILITY ids emit
|
|
19
|
+
* findings (convention/orphan). Unresolved SERVICE and REPO tokens are
|
|
20
|
+
* dropped silently, deliberately: the token stream comes from free-text
|
|
21
|
+
* Implementation columns (class names, route fragments, path segments),
|
|
22
|
+
* so most tokens legitimately resolve to nothing and a finding per miss
|
|
23
|
+
* would be noise. A row-level finding — a non-empty resolution column
|
|
24
|
+
* yielding ZERO resolutions — would be signal, and is a named candidate
|
|
25
|
+
* for the next builder wave, not shipped behaviour.
|
|
20
26
|
*
|
|
21
27
|
* Precedence per ADR 0145 §4.7: feature-tree, feature-spec, and
|
|
22
28
|
* feature-grounding rows win on id collision (they are more specific
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capability-spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9C,8DAA8D;IAC9D,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,iGAAiG;IACjG,QAAQ,CAAC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,YAAY,EAAE,CAAC;IAC/C,QAAQ,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC;IACzC,QAAQ,CAAC,kBAAkB,EAAE,YAAY,EAAE,CAAC;CAC7C;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,oBAAoB,CAAC,CAuJ/B"}
|
|
@@ -14,9 +14,15 @@
|
|
|
14
14
|
* resolved via `services.csv` + the optional per-SDD alias map
|
|
15
15
|
* introduced by ADR 0143.
|
|
16
16
|
*
|
|
17
|
-
* Resolution
|
|
18
|
-
*
|
|
19
|
-
*
|
|
17
|
+
* Resolution is best-effort and never breaks FK validation — only
|
|
18
|
+
* confidently-resolved rows are emitted. Unresolved CAPABILITY ids emit
|
|
19
|
+
* findings (convention/orphan). Unresolved SERVICE and REPO tokens are
|
|
20
|
+
* dropped silently, deliberately: the token stream comes from free-text
|
|
21
|
+
* Implementation columns (class names, route fragments, path segments),
|
|
22
|
+
* so most tokens legitimately resolve to nothing and a finding per miss
|
|
23
|
+
* would be noise. A row-level finding — a non-empty resolution column
|
|
24
|
+
* yielding ZERO resolutions — would be signal, and is a named candidate
|
|
25
|
+
* for the next builder wave, not shipped behaviour.
|
|
20
26
|
*
|
|
21
27
|
* Precedence per ADR 0145 §4.7: feature-tree, feature-spec, and
|
|
22
28
|
* feature-grounding rows win on id collision (they are more specific
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-spec.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"capability-spec.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/capability-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,13 +58,64 @@
|
|
|
58
58
|
# `[finding] external`) and validated by the aggregator after merge.
|
|
59
59
|
# Default for unspecified `external` is `false` (internal FK).
|
|
60
60
|
#
|
|
61
|
-
# Conceptual model: see docs/method/methods/catalogue-metamodel.md.
|
|
62
|
-
# Builder contract: see docs/method/methods/catalogue-builder-specification.md.
|
|
63
|
-
# Category taxonomy: see docs/method/methods/product-category-taxonomy.md.
|
|
61
|
+
# Conceptual model: see docs/method/methods/guides/catalogue-metamodel.md.
|
|
62
|
+
# Builder contract: see docs/method/methods/guides/catalogue-builder-specification.md.
|
|
63
|
+
# Category taxonomy: see docs/method/methods/standards/product-category-taxonomy.md.
|
|
64
64
|
|
|
65
|
-
schema_version: "3.1.
|
|
65
|
+
schema_version: "3.1.3"
|
|
66
66
|
schema_owner: "sdd-method"
|
|
67
67
|
schema_status: "canonical"
|
|
68
|
+
# Bump rationale (3.1.3 — patch, 2026-08-05): `repositories.column_enums`
|
|
69
|
+
# bound `service_type` — the AUTHORING field's name — but the catalogue
|
|
70
|
+
# column that carries the value is `component_type` (the builder maps
|
|
71
|
+
# repo-config `service_type` into it). A binding to a column the catalogue
|
|
72
|
+
# does not declare validated as vacuously true from 3.0.0 on: the in-memory
|
|
73
|
+
# enum validator read an absent cell as empty and skipped it. Found by the
|
|
74
|
+
# M-ADR 0205 §4.3 schema-driven DDL generator, whose engine refused the
|
|
75
|
+
# binding instead of skipping it. The binding key is corrected to
|
|
76
|
+
# `component_type` and the service_type enum's description corrected to name
|
|
77
|
+
# the real column. ACTIVATION NOTE (M-ADR 0200 §4.6): correcting the key
|
|
78
|
+
# activates enum validation on values the wrong key never checked; measured
|
|
79
|
+
# before shipping across both estate classes' built repository catalogues —
|
|
80
|
+
# one estate carries 14 rows with an out-of-vocabulary improvised value, the
|
|
81
|
+
# other none. Those 14 become error-severity findings at that estate's first
|
|
82
|
+
# build on a CLI carrying this schema; the remedial route is re-declaring
|
|
83
|
+
# the repo-config `service_type` inside the enum (profile already conveys
|
|
84
|
+
# what the improvised value tried to say, per §7.1).
|
|
85
|
+
# Bump rationale (3.1.2 — comment-only patch, 2026-08-05): records the 3.1.0
|
|
86
|
+
# entry below, which shipped without one — the rationale lived only in
|
|
87
|
+
# M-ADR 0204 and the cut commit. No structural change; no column, enum, or
|
|
88
|
+
# catalogue touched.
|
|
89
|
+
# Bump rationale (3.1.1 — comment-only patch, 2026-08-05): corrects the three
|
|
90
|
+
# companion-doc pointers above, stale since the docs moved under
|
|
91
|
+
# methods/guides/ and methods/standards/. No structural change; no column,
|
|
92
|
+
# enum, or catalogue touched.
|
|
93
|
+
# Bump rationale (3.1.0 — additive minor, 2026-08-03, per M-ADR 0204): the
|
|
94
|
+
# target-locus change-set on `product_platform_dependencies`. A dependency row
|
|
95
|
+
# can now declare that its target is NOT the platform:
|
|
96
|
+
# 1. `target_locus` added (closed enum `platform | external | legacy`;
|
|
97
|
+
# absent/empty = platform, so every pre-3.1.0 row keeps its exact
|
|
98
|
+
# meaning). A statement about the TARGET only — never about the consuming
|
|
99
|
+
# product, and never a stability/lifecycle/quality claim. Before this
|
|
100
|
+
# column, off-platform targets had nowhere to go and corrupted other
|
|
101
|
+
# fields (external/legacy smuggled into required_stability; a product's
|
|
102
|
+
# own feature slug forced into target_capability_id).
|
|
103
|
+
# 2. `target_external_system_id` added: for external|legacy rows, the
|
|
104
|
+
# M-ADR 0189 external-system entry id the dependency targets. Authored in
|
|
105
|
+
# the source file's service_id slot; the builder routes it here so the FK
|
|
106
|
+
# columns stay clean. Deliberately NOT a declared FK — corroboration
|
|
107
|
+
# against c4_external_systems is WARNING-severity at aggregation
|
|
108
|
+
# (0204 §4.2) because the C4 surface may legitimately lag discovery, and
|
|
109
|
+
# a declared FK can only fail.
|
|
110
|
+
# 3. `target_capability_id` becomes conditionally nullable (0204 §4.3, the
|
|
111
|
+
# 2.36.0 / M-ADR 0192 precedent): EMPTY when target_locus is
|
|
112
|
+
# external|legacy — there is no platform capability to name. A
|
|
113
|
+
# platform-locus row still requires it.
|
|
114
|
+
# 4. The PK gains an off-platform form:
|
|
115
|
+
# {product_id}__{target_locus}__{target_external_system_id}, falling back
|
|
116
|
+
# to contract_path when no external-system id is named.
|
|
117
|
+
# external/legacy rows skip platform resolution and the F18 realiser-join,
|
|
118
|
+
# with every skip named.
|
|
68
119
|
# Bump rationale (3.0.0 — BREAKING major, 2026-07-29, per M-ADR 0203): the 2.x line's
|
|
69
120
|
# five deferred breaks land as one audited cut, each a complete change-set in the
|
|
70
121
|
# M-ADR 0200 §4.1 sense. This entry records each break as its change-set lands:
|
|
@@ -556,7 +607,7 @@ enums:
|
|
|
556
607
|
service_type:
|
|
557
608
|
description: >
|
|
558
609
|
Type of repository, declared in `orchestration/repo-config/*.yaml` as
|
|
559
|
-
`service_type` and surfaced in `repositories.
|
|
610
|
+
`service_type` and surfaced in `repositories.component_type` and
|
|
560
611
|
`services.component_type`. The canonical builder uses this to decide
|
|
561
612
|
which repos are runtime services (api_service, worker, gateway,
|
|
562
613
|
frontend, mobile) and which are non-runtime (library, infrastructure,
|
|
@@ -1077,7 +1128,7 @@ catalogues:
|
|
|
1077
1128
|
- { name: doc_path, type: string, nullable: false }
|
|
1078
1129
|
- { name: source_sdd_id, type: string, nullable: true, description: "Originating SDD slug. Populated by the aggregator per M-ADR 0134." }
|
|
1079
1130
|
column_enums:
|
|
1080
|
-
|
|
1131
|
+
component_type: enums.service_type # the repo-config `service_type` value lands in THIS column (3.1.3 — the binding previously named the authoring field and checked nothing)
|
|
1081
1132
|
|
|
1082
1133
|
domain_models:
|
|
1083
1134
|
primary_key: id
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Coverage predicates as SQL — M-ADR 0205 §4.4 (engine-evolution Phase A3).
|
|
3
|
+
*
|
|
4
|
+
* Declarative re-expressions of the participation-constraint predicates —
|
|
5
|
+
* the four catalogue-classics:
|
|
6
|
+
*
|
|
7
|
+
* - repo_capability (M-ADR 0188): every catalogued repository resolves
|
|
8
|
+
* to a capability or declares an exemption; orphans classified by
|
|
9
|
+
* whether the capability_service ⋈ services.primary_repo_id derivation
|
|
10
|
+
* COULD have fired (shape a / claimed-but-unresolved / shape b).
|
|
11
|
+
* - service_capability (M-ADR 0133 §4.2b): every catalogued service is
|
|
12
|
+
* claimed or exempt; tier is explicit and asymmetric per M-ADR 0196
|
|
13
|
+
* §4.3 (`orphaned` is aggregate-only; member tier reports
|
|
14
|
+
* `unresolved-locally`, cause-agnostic); the Path-X leverage axis is
|
|
15
|
+
* reported separately and only when repo_capability.csv exists.
|
|
16
|
+
* - event_coverage (WS3): every catalogued event is attributed to a
|
|
17
|
+
* runtime — service_event edge or resolving publisher column — with
|
|
18
|
+
* the contract-twin alternative route, the column-vs-edge disagreement
|
|
19
|
+
* controls, and the chain-readout/consumer-enumerability metric lines
|
|
20
|
+
* that are never verdicts.
|
|
21
|
+
* - contract_coverage (WS2): every catalogued contract is reachable —
|
|
22
|
+
* capability_contract or service_contract — with the three computed
|
|
23
|
+
* exclusions (deprecated / provider-surface / not-an-interface, the
|
|
24
|
+
* last a positive READ of the spec file), the covered-as-event
|
|
25
|
+
* alternative route, and the M-ADR 0202 availability-manifest info
|
|
26
|
+
* surface. File and YAML ingestion stay host-side; set logic is SQL.
|
|
27
|
+
*
|
|
28
|
+
* The shell scripts in sdd-method's orchestration/scripts/ remain the
|
|
29
|
+
* REFERENCE implementations until A4 cutover: any semantic change lands
|
|
30
|
+
* there first and here second, and the dual-run driver compares the two
|
|
31
|
+
* as structured findings — (kind, subject, classification, leverage) plus
|
|
32
|
+
* every metric integer — never as prose.
|
|
33
|
+
*
|
|
34
|
+
* The relations live in SQL; the classification branching mirrors the
|
|
35
|
+
* reference implementations statement-for-statement, including their
|
|
36
|
+
* duplicate-row semantics (a duplicated id is counted and reported per
|
|
37
|
+
* ROW, never deduplicated away).
|
|
38
|
+
*/
|
|
39
|
+
import type { EngineSession } from "./engine-validator.js";
|
|
40
|
+
export type CoverageTier = "member" | "aggregate";
|
|
41
|
+
export interface CoverageFinding {
|
|
42
|
+
readonly predicate: "repo_capability" | "service_capability" | "event_coverage" | "contract_coverage";
|
|
43
|
+
/**
|
|
44
|
+
* M-ADR 0132 §4.3 vocabulary member — plus `report`, which mirrors the
|
|
45
|
+
* event predicate's member-tier `[report]` lines (deliberately NOT a
|
|
46
|
+
* finding in the reference implementation, per M-ADR 0199 §4.3).
|
|
47
|
+
*/
|
|
48
|
+
readonly kind: "orphan" | "divergence" | "coverage" | "report";
|
|
49
|
+
readonly subjectId: string;
|
|
50
|
+
/**
|
|
51
|
+
* repo_capability: conflict | shape_a | claimed_unresolved | shape_b.
|
|
52
|
+
* service_capability: conflict | orphaned | unresolved-locally.
|
|
53
|
+
*/
|
|
54
|
+
readonly classification: string;
|
|
55
|
+
/** service_capability unresolved rows only, when the axis is computable. */
|
|
56
|
+
readonly leverage?: "yes" | "no" | "na";
|
|
57
|
+
/** Rendering ingredients (A4): the prose the reference lines carry. */
|
|
58
|
+
readonly exemptionReason?: string;
|
|
59
|
+
/** shape_a only: sorted unclaimed service ids (first three) + the full count. */
|
|
60
|
+
readonly unclaimedServices?: readonly string[];
|
|
61
|
+
readonly unclaimedCount?: number;
|
|
62
|
+
/** service_capability unresolved rows: the row's primary_repo_id. */
|
|
63
|
+
readonly primaryRepo?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface RepoCapabilityMetrics {
|
|
66
|
+
readonly total: number;
|
|
67
|
+
readonly byCapability: number;
|
|
68
|
+
readonly byExemption: number;
|
|
69
|
+
readonly conflicting: number;
|
|
70
|
+
readonly unresolved: number;
|
|
71
|
+
readonly shapeA: number;
|
|
72
|
+
readonly shapeB: number;
|
|
73
|
+
readonly other: number;
|
|
74
|
+
}
|
|
75
|
+
export interface ServiceCapabilityMetrics {
|
|
76
|
+
readonly total: number;
|
|
77
|
+
readonly claimed: number;
|
|
78
|
+
readonly exempt: number;
|
|
79
|
+
readonly conflicting: number;
|
|
80
|
+
readonly unresolved: number;
|
|
81
|
+
readonly leverage?: {
|
|
82
|
+
readonly yes: number;
|
|
83
|
+
readonly no: number;
|
|
84
|
+
readonly na: number;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
export declare function runRepoCapabilityCoverage(session: EngineSession): Promise<{
|
|
88
|
+
findings: readonly CoverageFinding[];
|
|
89
|
+
metrics: RepoCapabilityMetrics;
|
|
90
|
+
}>;
|
|
91
|
+
export interface ServiceCoverageOptions {
|
|
92
|
+
readonly tier: CoverageTier;
|
|
93
|
+
/**
|
|
94
|
+
* True when repo_capability.csv EXISTS for this catalogue set (even
|
|
95
|
+
* empty) — file-level presence, exactly as the reference implementation
|
|
96
|
+
* keys the leverage axis. An empty present file means every unresolved
|
|
97
|
+
* service with a primary repo reads leverage=yes; an absent file means
|
|
98
|
+
* the axis is omitted entirely, metric included.
|
|
99
|
+
*/
|
|
100
|
+
readonly repoCapabilityAvailable: boolean;
|
|
101
|
+
}
|
|
102
|
+
export declare function runServiceCapabilityCoverage(session: EngineSession, options: ServiceCoverageOptions): Promise<{
|
|
103
|
+
findings: readonly CoverageFinding[];
|
|
104
|
+
metrics: ServiceCapabilityMetrics;
|
|
105
|
+
}>;
|
|
106
|
+
export interface EventCoverageOptions {
|
|
107
|
+
readonly tier: CoverageTier;
|
|
108
|
+
}
|
|
109
|
+
export interface EventCoverageControls {
|
|
110
|
+
/** publisher column set but unresolving against services. */
|
|
111
|
+
readonly colUnresolving: readonly {
|
|
112
|
+
eventId: string;
|
|
113
|
+
publisher: string;
|
|
114
|
+
}[];
|
|
115
|
+
/** publisher resolves but no publishes/produces edge exists. */
|
|
116
|
+
readonly colNoEdge: readonly string[];
|
|
117
|
+
/** publishes edge exists but the row's publisher column is empty. */
|
|
118
|
+
readonly edgeNoCol: readonly string[];
|
|
119
|
+
}
|
|
120
|
+
export interface EventCoverageMetrics {
|
|
121
|
+
readonly total: number;
|
|
122
|
+
readonly covered: number;
|
|
123
|
+
readonly viaContract: number;
|
|
124
|
+
readonly unresolved: number;
|
|
125
|
+
/** Chain readout, never a verdict (M-ADR 0199 §4.1). */
|
|
126
|
+
readonly capReach: number;
|
|
127
|
+
/** M-ADR 0057 analogue, never a verdict. */
|
|
128
|
+
readonly consumerEnum: number;
|
|
129
|
+
}
|
|
130
|
+
export interface EventCoverageResult {
|
|
131
|
+
/** True when the unit holds no event rows — a recorded state, not a rate. */
|
|
132
|
+
readonly na: boolean;
|
|
133
|
+
readonly findings: readonly CoverageFinding[];
|
|
134
|
+
readonly metrics?: EventCoverageMetrics;
|
|
135
|
+
readonly controls?: EventCoverageControls;
|
|
136
|
+
}
|
|
137
|
+
export declare function runEventCoverage(session: EngineSession, options: EventCoverageOptions): Promise<EventCoverageResult>;
|
|
138
|
+
export interface ContractCoverageOptions {
|
|
139
|
+
readonly tier: CoverageTier;
|
|
140
|
+
/**
|
|
141
|
+
* The SDD root spec_path values are relative to. At aggregate tier a
|
|
142
|
+
* member's spec_path is relative to ITS OWN root, so the file is
|
|
143
|
+
* legitimately absent under the aggregate's root — the not-an-interface
|
|
144
|
+
* scope-out then simply does not fire, exactly as in the reference.
|
|
145
|
+
*/
|
|
146
|
+
readonly sddRoot: string;
|
|
147
|
+
}
|
|
148
|
+
export interface ContractCoverageMetrics {
|
|
149
|
+
readonly total: number;
|
|
150
|
+
readonly covered: number;
|
|
151
|
+
readonly viaEvent: number;
|
|
152
|
+
readonly excluded: number;
|
|
153
|
+
readonly conflicting: number;
|
|
154
|
+
readonly unresolved: number;
|
|
155
|
+
readonly byExclusion: Readonly<Record<string, number>>;
|
|
156
|
+
/** M-ADR 0057 property — reported, never verdicted. May exceed the ids in contracts.csv. */
|
|
157
|
+
readonly consumersNamed: number;
|
|
158
|
+
readonly ownedOnly: number;
|
|
159
|
+
readonly attrOnly: number;
|
|
160
|
+
readonly both: number;
|
|
161
|
+
}
|
|
162
|
+
export interface ContractAvailabilityInfo {
|
|
163
|
+
readonly attested: number;
|
|
164
|
+
/** Manifest order, duplicates preserved — mirror of the reference list. */
|
|
165
|
+
readonly unmodelled: readonly string[];
|
|
166
|
+
}
|
|
167
|
+
export interface ContractCoverageResult {
|
|
168
|
+
readonly na: boolean;
|
|
169
|
+
readonly findings: readonly CoverageFinding[];
|
|
170
|
+
readonly metrics?: ContractCoverageMetrics;
|
|
171
|
+
/** Informational, never verdict-changing (M-ADR 0202). */
|
|
172
|
+
readonly availability?: ContractAvailabilityInfo;
|
|
173
|
+
readonly availabilityWarning?: string;
|
|
174
|
+
}
|
|
175
|
+
export declare function runContractCoverage(session: EngineSession, options: ContractCoverageOptions): Promise<ContractCoverageResult>;
|
|
176
|
+
//# sourceMappingURL=coverage-predicates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverage-predicates.d.ts","sourceRoot":"","sources":["../../../src/lib/catalogue/coverage-predicates.ts"],"names":[],"mappings":"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"}
|