@sigloch/contracts 9.1.0 → 10.1.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/se/ao-rules.d.ts +12 -12
- package/dist/se/ao-rules.js +88 -225
- package/dist/se/conformance-rules.d.ts +12 -0
- package/dist/se/conformance-rules.js +6 -6
- package/dist/se/cr-quality-rules.js +75 -58
- package/dist/se/evaluate-all.d.ts +4 -2
- package/dist/se/evaluate-all.js +61 -24
- package/dist/se/fchain-quality-rules.d.ts +0 -1
- package/dist/se/fchain-quality-rules.js +0 -44
- package/dist/se/flat-graph.d.ts +9 -1
- package/dist/se/flat-graph.js +15 -6
- package/dist/se/grammar-snapshot.d.ts +9 -5
- package/dist/se/grammar-snapshot.js +250 -15
- package/dist/se/index.d.ts +6 -3
- package/dist/se/index.js +14 -3
- package/dist/se/meta-model.d.ts +47 -0
- package/dist/se/meta-model.js +52 -5
- package/dist/se/metric-rules.d.ts +20 -1
- package/dist/se/metric-rules.js +97 -58
- package/dist/se/module-crossings.d.ts +102 -0
- package/dist/se/module-crossings.js +196 -0
- package/dist/se/near-duplicate-rules.d.ts +16 -24
- package/dist/se/near-duplicate-rules.js +21 -92
- package/dist/se/ontology.d.ts +0 -22
- package/dist/se/ontology.js +0 -2
- package/dist/se/policy.d.ts +6 -0
- package/dist/se/policy.js +53 -2
- package/dist/se/quality-rules.d.ts +18 -0
- package/dist/se/quality-rules.js +51 -9
- package/dist/se/readiness.d.ts +25 -3
- package/dist/se/readiness.js +39 -21
- package/dist/se/rule-help.d.ts +52 -0
- package/dist/se/rule-help.js +342 -0
- package/dist/se/rules.d.ts +6 -0
- package/dist/se/rules.js +303 -125
- package/dist/se/schema-quality-rules.d.ts +0 -1
- package/dist/se/schema-quality-rules.js +7 -28
- package/dist/se/similarity.d.ts +61 -0
- package/dist/se/similarity.js +116 -0
- package/package.json +4 -2
package/dist/se/evaluate-all.js
CHANGED
|
@@ -3,6 +3,7 @@ import { SC_RULES, evaluateSCRules } from './schema-quality-rules.js';
|
|
|
3
3
|
import { UC_RULES, evaluateUCRules } from './uc-quality-rules.js';
|
|
4
4
|
import { FC_RULES, evaluateFCRules } from './fchain-quality-rules.js';
|
|
5
5
|
import { MT_RULES, evaluateMTRules } from './metric-rules.js';
|
|
6
|
+
import { toEvaluableGraph } from './flat-graph.js';
|
|
6
7
|
import { FM_RULES, evaluateFMRules } from './fmea-rules.js';
|
|
7
8
|
import { VIEW_RULES, evaluateViewRules } from './view-rules.js';
|
|
8
9
|
import { CR_RULES, evaluateCRRules } from './cr-quality-rules.js';
|
|
@@ -10,34 +11,60 @@ import { ND_RULES, evaluateNDRules } from './near-duplicate-rules.js';
|
|
|
10
11
|
import { AO_RULES, evaluateAORules } from './ao-rules.js';
|
|
11
12
|
import { BQ_RULES, evaluateBQRules } from './quality-rules.js';
|
|
12
13
|
import { AF_RULES, evaluateAFRules } from './analysis-freshness-rules.js';
|
|
14
|
+
import { CODE_CONFORMANCE_RULES } from './conformance-rules.js';
|
|
13
15
|
/**
|
|
14
|
-
*
|
|
16
|
+
* CR-SM-285: das Profil haengt am KATALOG, nicht am ID-Praefix.
|
|
15
17
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* Bis hierher ordnete `SE_PREFIXES`/`CODING_PREFIXES` eine Regel ueber den Anfang ihrer ID zu.
|
|
19
|
+
* Drei dokumentierte Ausfaelle derselben Klasse: `RD-` (CR-SM-221 — `'RD-01'.startsWith('R-')`
|
|
20
|
+
* ist false, die Zerlegungsregeln liefen nie im se-Profil), `MS-` (CR-SM-245 — fehlte in BEIDEN
|
|
21
|
+
* Listen, die Dimension `ms` hatte im se-Profil keine einzige zaehlende Regel), `BW-`
|
|
22
|
+
* (CR-SM-283). Jede neue Regel-ID war ein potenzieller vierter.
|
|
23
|
+
*
|
|
24
|
+
* Ein Katalog weiss, wozu er gehoert; eine Zeichenkette weiss es nicht. Neue Regeln erben das
|
|
25
|
+
* Profil ihres Katalogs automatisch — und ein NEUER Katalog muss hier eingetragen werden, sonst
|
|
26
|
+
* bricht `ALL_RULE_DEFS` schon beim Typcheck (jeder Eintrag braucht sein Profil).
|
|
20
27
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
//
|
|
33
|
-
|
|
34
|
-
|
|
28
|
+
const CATALOGS = [
|
|
29
|
+
{ profile: 'se', rules: V3_RULES },
|
|
30
|
+
{ profile: 'se', rules: UC_RULES },
|
|
31
|
+
{ profile: 'se', rules: FC_RULES },
|
|
32
|
+
{ profile: 'se', rules: SC_RULES },
|
|
33
|
+
{ profile: 'se', rules: MT_RULES },
|
|
34
|
+
{ profile: 'se', rules: CR_RULES },
|
|
35
|
+
{ profile: 'se', rules: AO_RULES },
|
|
36
|
+
{ profile: 'se', rules: FM_RULES },
|
|
37
|
+
{ profile: 'se', rules: VIEW_RULES },
|
|
38
|
+
{ profile: 'se', rules: AF_RULES },
|
|
39
|
+
// Sprach-/Textqualitaet statt SE-Struktur — das ist die Trennlinie, die die Praefixliste meinte.
|
|
40
|
+
{ profile: 'coding', rules: BQ_RULES },
|
|
41
|
+
{ profile: 'coding', rules: ND_RULES },
|
|
42
|
+
/*
|
|
43
|
+
* CR-SM-305: die RC-Regeln stehen im Katalog — mit EIGENEM Profil, weil sie eine andere
|
|
44
|
+
* Signatur haben: `(graph, facts: CodeFacts)` statt `(graph, policy)`.
|
|
45
|
+
*
|
|
46
|
+
* Warum ueberhaupt: das Kongruenz-Urteil existierte, war getestet und erreichte KEINEN
|
|
47
|
+
* Produktionspfad. Gate (`harness.mutate`), Steuerung (fit-advisory, steering-snapshot) und
|
|
48
|
+
* `GET /api/graph/readiness` lesen alle `ALL_RULE_DEFS`; RC stand nicht darin, also ging jeder
|
|
49
|
+
* Modell-Zug, der die Bindung an den Code bricht, lautlos durch. Der einzige Aufrufer von
|
|
50
|
+
* `scoreReadinessWithConformance` war ein Test.
|
|
51
|
+
*
|
|
52
|
+
* Warum ein eigenes Profil und nicht `se`: das Profil traegt seit CR-SM-285 die
|
|
53
|
+
* AUSWERTBARKEIT mit. Stuende RC unter `se`, behauptete `getRuleDefsForProfile('se')` eine
|
|
54
|
+
* Auswertung, die ohne Repo-Wurzel gar nicht stattfinden kann.
|
|
55
|
+
*
|
|
56
|
+
* `evaluateAllRules` fuehrt sie NICHT aus — es kann es nicht, es hat keine `CodeFacts`. Genau
|
|
57
|
+
* diese Differenz ist das Signal: deklariert und nicht ausgewertet heisst NICHT GEPRUEFT, und
|
|
58
|
+
* die vorhandene Ableitung `ALL_RULE_DEFS minus ausgewertet` macht es von selbst laut. Kein
|
|
59
|
+
* zweiter Zweig — die ND-fail-open-Lehre aus CR-SM-286.
|
|
60
|
+
*/
|
|
61
|
+
{ profile: 'conformance', rules: CODE_CONFORMANCE_RULES },
|
|
62
|
+
];
|
|
63
|
+
export const ALL_RULE_DEFS = CATALOGS.flatMap(({ profile, rules }) => rules.map(r => ({ id: r.id, name: r.name, severity: r.severity, domain: r.domain, profile })));
|
|
35
64
|
export function getRuleDefsForProfile(profile) {
|
|
36
|
-
if (profile === '
|
|
37
|
-
return ALL_RULE_DEFS
|
|
38
|
-
|
|
39
|
-
return ALL_RULE_DEFS.filter(r => CODING_PREFIXES.some(p => r.id.startsWith(p)));
|
|
40
|
-
return ALL_RULE_DEFS;
|
|
65
|
+
if (profile === 'default')
|
|
66
|
+
return ALL_RULE_DEFS;
|
|
67
|
+
return ALL_RULE_DEFS.filter(r => r.profile === profile);
|
|
41
68
|
}
|
|
42
69
|
/**
|
|
43
70
|
* Evaluate all rules against a graph. Single call replaces the individual evaluator calls.
|
|
@@ -47,6 +74,16 @@ export function getRuleDefsForProfile(profile) {
|
|
|
47
74
|
* `DEFAULT_METRIC_POLICY` sichtbar an der Aufrufstelle.
|
|
48
75
|
*/
|
|
49
76
|
export function evaluateAllRules(graph, policy) {
|
|
77
|
+
// CR-SM-284: die Hebung der flach committeten SSOT laeuft HIER, nicht beim Aufrufer.
|
|
78
|
+
//
|
|
79
|
+
// `toEvaluableGraph` gibt es seit CR-SM-258 — und sie wurde von keinem Produktionspfad und
|
|
80
|
+
// keinem Messskript gerufen, nur aus Tests. Eine Korrektur, die man rufen DARF statt MUSS, ist
|
|
81
|
+
// keine: an graphcode erzeugte die flache Lesart 158 Phantom-Befunde (R-19 124, R-20 115,
|
|
82
|
+
// R-26 36, CR-R04 42) und verdeckte zugleich 156 ECHTE Fehler (CR-R02, severity error).
|
|
83
|
+
//
|
|
84
|
+
// Idempotent und identitaetserhaltend (s. dort), also eine Normalisierung am einzigen Eingang
|
|
85
|
+
// und kein Fallback: ein bereits genesteter Graph geht unveraendert und uneingepackt durch.
|
|
86
|
+
graph = toEvaluableGraph(graph);
|
|
50
87
|
return [
|
|
51
88
|
...evaluateRules(graph, policy),
|
|
52
89
|
...evaluateBQRules(graph, policy),
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import type { OntologyGraph } from './ontology.js';
|
|
5
5
|
import type { RuleDefinition, RuleViolation } from './rules.js';
|
|
6
6
|
import type { MetricPolicy } from './policy.js';
|
|
7
|
-
export declare function fc01ActorBoundary(graph: OntologyGraph): RuleViolation[];
|
|
8
7
|
export declare function fc02LeafUcHasFchain(graph: OntologyGraph): RuleViolation[];
|
|
9
8
|
export declare function fc03FchainFlat(graph: OntologyGraph): RuleViolation[];
|
|
10
9
|
export declare function fc04ActorBounded(graph: OntologyGraph): RuleViolation[];
|
|
@@ -1,48 +1,5 @@
|
|
|
1
1
|
import { indexOf } from './graph-index.js';
|
|
2
2
|
// ---------------------------------------------------------------------------
|
|
3
|
-
// FC-01: FCHAIN must have Actor boundary (input or output via FLOW→ACTOR io)
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
export function fc01ActorBoundary(graph) {
|
|
6
|
-
// CR-SM-264: dieselbe Frage, einmal statt je Kette neu.
|
|
7
|
-
//
|
|
8
|
-
// Die alte Fassung war die verschachtelte Form, die UC-02 kubisch gemacht hat (CR-SM-261):
|
|
9
|
-
// je FCHAIN alle Traces, darin je io-Kante noch einmal alle Traces, darin je Treffer alle
|
|
10
|
-
// Elemente — `FCHAIN x FUNC x T x T x E`. Im Profil nach Teil a war FC-01 mit 6,3 % die
|
|
11
|
-
// teuerste FCHAIN-Regel.
|
|
12
|
-
//
|
|
13
|
-
// Beide Zweige fragen in Wahrheit DASSELBE: "beruehrt dieses Element eine io-Kante, deren
|
|
14
|
-
// anderes Ende ein ACTOR ist?" Einmal fuer den Zwischenknoten der Kettenglieder, einmal
|
|
15
|
-
// direkt fuer den Eltern-UC. Eine Menge beantwortet beide.
|
|
16
|
-
const idx = indexOf(graph);
|
|
17
|
-
const actorAdjacent = new Set();
|
|
18
|
-
for (const t of idx.tracesOfType('io')) {
|
|
19
|
-
if (idx.typeOf(t.target) === 'ACTOR')
|
|
20
|
-
actorAdjacent.add(t.source);
|
|
21
|
-
if (idx.typeOf(t.source) === 'ACTOR')
|
|
22
|
-
actorAdjacent.add(t.target);
|
|
23
|
-
}
|
|
24
|
-
return idx.elementsOfType('FCHAIN')
|
|
25
|
-
.filter(fc => {
|
|
26
|
-
// Mitglieder der Kette — bewusst OHNE Typfilter, wie in der alten Fassung: FC-01 fragt
|
|
27
|
-
// nach dem, was komponiert ist, nicht nach dem, was eine FUNC ist (FC-03 tut das).
|
|
28
|
-
const memberIds = idx.out(fc.id, 'compose').map(t => t.target);
|
|
29
|
-
const hasActorIO = memberIds.some(fid => idx.out(fid, 'io').some(t => actorAdjacent.has(t.target)) ||
|
|
30
|
-
idx.in(fid, 'io').some(t => actorAdjacent.has(t.source)));
|
|
31
|
-
// Der Umweg ueber den Eltern-UC: dessen eigene ACTOR-io zaehlt auch.
|
|
32
|
-
const parentUC = idx.in(fc.id, 'compose').find(t => idx.typeOf(t.source) === 'UC');
|
|
33
|
-
const hasDirectActorIO = parentUC !== undefined && actorAdjacent.has(parentUC.source);
|
|
34
|
-
return !hasActorIO && !hasDirectActorIO;
|
|
35
|
-
})
|
|
36
|
-
.map(fc => ({
|
|
37
|
-
rule_id: 'FC-01',
|
|
38
|
-
severity: 'warning',
|
|
39
|
-
element_id: fc.id,
|
|
40
|
-
message: `${fc.id} has no actor boundary (no ACTOR io connection)`,
|
|
41
|
-
fix_hint: 'Ensure at least one FUNC in the chain connects to an ACTOR via FLOW io',
|
|
42
|
-
context: { element_type: fc.type, element_name: fc.name },
|
|
43
|
-
}));
|
|
44
|
-
}
|
|
45
|
-
// ---------------------------------------------------------------------------
|
|
46
3
|
// FC-02: Leaf UC (no UC→compose→UC) must have at least one FCHAIN
|
|
47
4
|
// ---------------------------------------------------------------------------
|
|
48
5
|
export function fc02LeafUcHasFchain(graph) {
|
|
@@ -142,7 +99,6 @@ export function fc04ActorBounded(graph) {
|
|
|
142
99
|
// Aggregated
|
|
143
100
|
// ---------------------------------------------------------------------------
|
|
144
101
|
export const FC_RULES = [
|
|
145
|
-
{ id: 'FC-01', name: 'FCHAIN has actor boundary', severity: 'warning', evaluate: fc01ActorBoundary, domain: ['FCHAIN'] },
|
|
146
102
|
{ id: 'FC-02', name: 'Leaf UC has FCHAIN', severity: 'warning', evaluate: fc02LeafUcHasFchain, domain: ['UC'] },
|
|
147
103
|
// CR-SM-243: domain ist FUNC, nicht FCHAIN — die Regel meldet am FUNC mit der
|
|
148
104
|
// verschachtelten Zerlegung. Die FCHAIN ist der Suchraum, nicht die Grundgesamtheit:
|
package/dist/se/flat-graph.d.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
1
|
import type { OntologyGraph } from './ontology.js';
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Hebt eine flach committete SSOT in die Form, die der Live-Gate dem Evaluator gibt.
|
|
4
|
+
*
|
|
5
|
+
* CR-SM-284: **identitaetserhaltend.** War nichts zu heben — der Normalfall, weil der Live-Gate
|
|
6
|
+
* bereits genestet liefert —, kommt DIESELBE Referenz zurueck. Das ist die Voraussetzung dafuer,
|
|
7
|
+
* dass `evaluateAllRules` die Funktion selbst rufen kann: die WeakMap-Caches der Familie
|
|
8
|
+
* (`indexOf`, `moduleCrossings`, `MEASURE_CACHE`) haengen an der Graph-Identitaet, und ein bei
|
|
9
|
+
* jedem Aufruf neu gebautes Objekt haette sie im Best-of-N-Loop bei jedem Kandidaten gesprengt.
|
|
10
|
+
*/
|
|
3
11
|
export declare function toEvaluableGraph(graph: OntologyGraph): OntologyGraph;
|
package/dist/se/flat-graph.js
CHANGED
|
@@ -42,11 +42,20 @@ function nestAttributes(entry, canonical) {
|
|
|
42
42
|
attributes.status = entry.status;
|
|
43
43
|
return { ...top, attributes };
|
|
44
44
|
}
|
|
45
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
* Hebt eine flach committete SSOT in die Form, die der Live-Gate dem Evaluator gibt.
|
|
47
|
+
*
|
|
48
|
+
* CR-SM-284: **identitaetserhaltend.** War nichts zu heben — der Normalfall, weil der Live-Gate
|
|
49
|
+
* bereits genestet liefert —, kommt DIESELBE Referenz zurueck. Das ist die Voraussetzung dafuer,
|
|
50
|
+
* dass `evaluateAllRules` die Funktion selbst rufen kann: die WeakMap-Caches der Familie
|
|
51
|
+
* (`indexOf`, `moduleCrossings`, `MEASURE_CACHE`) haengen an der Graph-Identitaet, und ein bei
|
|
52
|
+
* jedem Aufruf neu gebautes Objekt haette sie im Best-of-N-Loop bei jedem Kandidaten gesprengt.
|
|
53
|
+
*/
|
|
46
54
|
export function toEvaluableGraph(graph) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
const elements = graph.elements.map((e) => nestAttributes(e, TOP_LEVEL_ELEMENT_KEYS));
|
|
56
|
+
const traces = graph.traces.map((t) => nestAttributes(t, TOP_LEVEL_TRACE_KEYS));
|
|
57
|
+
// `nestAttributes` gibt bei bereits genesteten Eintraegen das Original zurueck; sind ALLE
|
|
58
|
+
// unveraendert, war der Graph schon evaluierbar und wird nicht angefasst.
|
|
59
|
+
const untouched = elements.every((e, i) => e === graph.elements[i]) && traces.every((t, i) => t === graph.traces[i]);
|
|
60
|
+
return untouched ? graph : { ...graph, elements, traces };
|
|
52
61
|
}
|
|
@@ -11,14 +11,18 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const GRAMMAR_SNAPSHOT: {
|
|
13
13
|
readonly versions: {
|
|
14
|
-
readonly ontology: "
|
|
15
|
-
readonly metaModel: "
|
|
16
|
-
readonly rules: "
|
|
14
|
+
readonly ontology: "9.0.0";
|
|
15
|
+
readonly metaModel: "5.0.0";
|
|
16
|
+
readonly rules: "19.2.0";
|
|
17
17
|
};
|
|
18
18
|
readonly elementTypes: readonly ["ACTOR", "CR", "FCHAIN", "FLOW", "FUNC", "MOD", "MS", "REQ", "SCHEMA", "SYS", "TEST", "UC"];
|
|
19
19
|
readonly traceTypes: readonly ["allocate", "compose", "io", "relation", "satisfy", "verify"];
|
|
20
|
-
readonly patterns: readonly ["ACTOR -io-> FLOW", "CR -relation-> FUNC", "CR -relation-> MOD", "CR -relation-> MS", "CR -relation-> REQ", "CR -relation-> UC", "FCHAIN -compose-> FUNC [1..*]", "FCHAIN -satisfy-> REQ", "FLOW -io-> ACTOR", "FLOW -io-> FUNC", "FLOW -relation-> SCHEMA [
|
|
20
|
+
readonly patterns: readonly ["ACTOR -io-> FLOW", "CR -relation-> FUNC", "CR -relation-> MOD", "CR -relation-> MS", "CR -relation-> REQ", "CR -relation-> UC", "FCHAIN -compose-> FUNC [1..*]", "FCHAIN -satisfy-> REQ", "FLOW -io-> ACTOR", "FLOW -io-> FUNC", "FLOW -relation-> SCHEMA [1]", "FUNC -allocate-> MOD [0..1]", "FUNC -compose-> FUNC [0..*]", "FUNC -io-> FLOW", "FUNC -satisfy-> REQ where target.kinds in {functional,postcondition,precondition}", "MOD -compose-> MOD [0..*]", "MOD -satisfy-> REQ where target.kinds in {mitigation,non-functional,risk}", "MS -compose-> FUNC", "MS -compose-> REQ", "MS -compose-> UC", "MS -relation-> MS label=depends-on", "REQ -compose-> REQ [0..*]", "SYS -compose-> MOD [0..*]", "SYS -compose-> REQ [0..*]", "SYS -compose-> SYS [0..*]", "SYS -compose-> UC [1..*]", "SYS -satisfy-> REQ where target.kinds in {mitigation,non-functional,risk}", "TEST -verify-> REQ", "UC -compose-> FCHAIN [1..*]", "UC -compose-> REQ [1..*]"];
|
|
21
|
+
readonly elementColumns: readonly ["OntologyElement.attributes", "OntologyElement.created_at", "OntologyElement.description", "OntologyElement.id", "OntologyElement.kinds", "OntologyElement.method", "OntologyElement.name", "OntologyElement.status", "OntologyElement.type", "OntologyElement.updated_at", "Trace.attributes", "Trace.created_at", "Trace.label", "Trace.source", "Trace.target", "Trace.type", "Trace.verified_at", "Trace.weight"];
|
|
21
22
|
readonly attributes: readonly ["CR.rationale: string", "CR.spike: boolean", "CR.status: enum", "FLOW.protocol: string", "FLOW.qos: string", "FUNC.concept: boolean", "FUNC.external: boolean", "FUNC.measuredMs: number", "FUNC.realRef: object", "FUNC.safety_relevant: boolean", "FUNC.sourceFile: string", "FUNC.timingBudgetMs: number", "MOD.concept: boolean", "MOD.external: boolean", "MOD.kind: string", "MOD.path: string", "MOD.realRef: object", "REQ.detection: number", "REQ.occurrence: number", "REQ.severity: number", "SCHEMA.concept: boolean", "SCHEMA.contract: string", "SCHEMA.external: boolean", "SCHEMA.realRef: object", "TEST.concept: boolean", "TEST.sourceFile: string", "TEST.testRefs: array", "UC.operatingMode: string"];
|
|
22
|
-
readonly rules: readonly ["AF-01 (warning) domain=[graph]", "AF-02 (warning) domain=[graph]", "AF-03 (warning) domain=[graph]", "AF-04 (warning) domain=[graph]", "AF-05 (warning) domain=[graph]", "
|
|
23
|
+
readonly rules: readonly ["AF-01 (warning) domain=[graph]", "AF-02 (warning) domain=[graph]", "AF-03 (warning) domain=[graph]", "AF-04 (warning) domain=[graph]", "AF-05 (warning) domain=[graph]", "BQ-01 (warning) domain=[REQ]", "BQ-02 (warning) domain=[REQ]", "BQ-04 (warning) domain=[REQ]", "BQ-06 (warning) domain=[REQ]", "BQ-07 (warning) domain=[REQ]", "BW-02 (warning) domain=[FUNC]", "CL-01 (warning) domain=[ACTOR]", "CR-01 (warning) domain=[MOD]", "CR-R01 (error) domain=[CR]", "CR-R02 (error) domain=[CR]", "CR-R03 (warning) domain=[all]", "FC-02 (warning) domain=[UC]", "FC-03 (warning) domain=[FUNC]", "FC-04 (warning) domain=[FCHAIN]", "FM-01 (warning) domain=[REQ]", "FM-02 (warning) domain=[REQ]", "FM-03 (error) domain=[REQ]", "IO-01 (warning) domain=[FUNC]", "MS-01 (warning) domain=[MS]", "MS-02 (error) domain=[MS]", "MS-03 (info) domain=[CR]", "MT-01 (warning) domain=[MOD]", "MT-02 (info) domain=[MOD]", "ND-01 (error) domain=[FUNC]", "ND-02 (error) domain=[SCHEMA]", "NFR-01 (warning) domain=[FCHAIN,FUNC,MOD]", "R-01 (error) domain=[REQ]", "R-02 (warning) domain=[FUNC]", "R-04 (warning) domain=[MOD]", "R-05 (warning) domain=[TEST]", "R-08 (error) domain=[all]", "R-10 (warning) domain=[FLOW]", "R-12 (warning) domain=[FUNC]", "R-15 (warning) domain=[FCHAIN]", "R-16 (warning) domain=[ACTOR]", "R-17 (warning) domain=[SYS]", "R-18 (error) domain=[all]", "R-19 (warning) domain=[TEST]", "R-20 (warning) domain=[FUNC]", "R-21 (warning) domain=[FCHAIN]", "R-22 (warning) domain=[FUNC]", "R-23 (warning) domain=[MOD]", "R-26 (warning) domain=[SCHEMA]", "R-29 (error) domain=[TEST]", "R-30 (warning) domain=[FUNC]", "R-31 (warning) domain=[FUNC]", "RC-01 (error) domain=[FUNC]", "RC-02 (error) domain=[TEST]", "RC-03 (error) domain=[SCHEMA]", "RC-04 (warning) domain=[SCHEMA]", "RC-05 (warning) domain=[MOD]", "RC-06 (warning) domain=[FUNC,MOD,SCHEMA]", "RD-01 (warning) domain=[REQ]", "RD-02 (warning) domain=[REQ]", "RD-03 (info) domain=[REQ]", "RD-04 (warning) domain=[FUNC,MOD,SYS]", "SC-02 (warning) domain=[SCHEMA]", "UC-01 (error) domain=[UC]", "UC-02 (error) domain=[UC]", "UC-03 (warning) domain=[UC]", "UC-04 (warning) domain=[UC]", "UC-05 (info) domain=[UC]", "UC-06 (info) domain=[UC]", "VR-01 (info) domain=[TEST]"];
|
|
23
24
|
readonly conformanceRules: readonly ["RC-01 (error)", "RC-02 (error)", "RC-03 (error)", "RC-04 (warning)", "RC-05 (warning)", "RC-06 (warning)"];
|
|
25
|
+
readonly policy: readonly ["apTable = null", "boundaryWidth = {warning:5}", "crossingFlows = {warning:3}", "decompositionBreadth = {warning:9}", "instability = null", "lcom4 = {info:4,warning:6}", "moduleSize = {coupled:7,crossings:2,large:9}", "riskRpn = 100"];
|
|
26
|
+
readonly ruleHelp: readonly ["AF-01", "AF-02", "AF-03", "AF-04", "AF-05", "BQ-01", "BQ-02", "BQ-04", "BQ-06", "BQ-07", "BW-02", "CL-01", "CR-01", "CR-R01", "CR-R02", "CR-R03", "FC-02", "FC-03", "FC-04", "FM-01", "FM-02", "FM-03", "IO-01", "MS-01", "MS-02", "MS-03", "MT-01", "MT-02", "ND-01", "ND-02", "NFR-01", "R-01", "R-02", "R-04", "R-05", "R-08", "R-10", "R-12", "R-15", "R-16", "R-17", "R-18", "R-19", "R-20", "R-21", "R-22", "R-23", "R-26", "R-29", "R-30", "R-31", "RC-01", "RC-02", "RC-03", "RC-04", "RC-05", "RC-06", "RD-01", "RD-02", "RD-03", "RD-04", "SC-02", "UC-01", "UC-02", "UC-03", "UC-04", "UC-05", "UC-06", "VR-01"];
|
|
27
|
+
readonly exports: readonly ["AF_RULES", "ALL_RULE_DEFS", "AO_RULES", "ActionPriority", "AnalysisArtifactId", "AnalysisFreshnessStampSchema", "ApTableSchema", "BOUNDED_PATTERNS", "BQ_RULES", "CODE_CONFORMANCE_RULES", "CR_RULES", "CodeFactsSchema", "DEFAULT_METRIC_POLICY", "DIMENSION_READINESS_DELTA_NAME", "DIMENSION_READINESS_NAME", "ELEMENT_ATTRIBUTES", "ELEMENT_DESCRIPTIONS", "ElementType", "ElementUid", "FC_RULES", "FM_RULES", "FileFactsSchema", "ImportEdgeSchema", "MAX_SLUG_LENGTH", "META_MODEL_VERSION", "MODELING_ELEMENT_TYPES", "MT_RULES", "MetricPolicySchema", "ND_RULES", "ONTOLOGY_VERSION", "OntologyElement", "OntologyGraph", "PHASE_READINESS_NAME", "PhaseGate", "READINESS_SCORED_PROFILES", "REQUIRED_PATTERNS", "RULES_VERSION", "RULE_HELP", "RULE_TO_DIMENSION", "RULE_TO_PHASE", "ReadinessDimension", "ReadinessReport", "ReadinessScore", "RealRefSchema", "RepoRelativePathSchema", "ReqKind", "RuleSeverity", "RuleViolation", "SC_RULES", "TRACE_PATTERNS", "TestRefSchema", "TestRefsSchema", "TestResult", "Trace", "TraceType", "UC_RULES", "V3_RULES", "VIEW_RULES", "VerificationMethod", "ViolationCandidate", "ViolationContext", "actionPriority", "allocationCohesion", "apMethod", "attributeTypeOf", "bq01Unambiguous", "bq02Verifiable", "bq04Necessary", "bq06Conforming", "bq07Complete", "bw02WhiteboxWidth", "cl01ConopsCompleteness", "cr01CrossingFlowCount", "crossingContractCount", "decomposedFuncs", "evaluateAFRules", "evaluateAORules", "evaluateAllRules", "evaluateBQRules", "evaluateCRRules", "evaluateConformanceRules", "evaluateFCRules", "evaluateFMRules", "evaluateMTRules", "evaluateNDRules", "evaluateRules", "evaluateSCRules", "evaluateUCRules", "evaluateViewRules", "extractFormatE", "fc02LeafUcHasFchain", "fc03FchainFlat", "fc04ActorBounded", "fm01MissingFmeaAttributes", "fm02MissingMitigation", "fm03HighRiskUnverified", "funcSimilarity", "getRuleDefsForProfile", "hydrateAttrValue", "importCoverage", "indexOf", "io01CrossModuleCompleteness", "isElementUid", "isValidTrace", "jaccard", "maxOccurs", "minOccurs", "moduleCrossings", "moduleMetrics", "mt01Instability", "mt02Lcom4", "nd01FuncNearDuplicate", "nd02SchemaNearDuplicate", "nfr01BudgetOvershoot", "normalizeReqKinds", "pairsAbove", "parseElementUid", "parseFormatE", "sc02IsReferenced", "schemaSimilarity", "serializeToFormatE", "setBQ04SimilarityMatrix", "subtreeFuncs", "toElementUid", "toEvaluableGraph", "tokens", "traceRejection", "tryParseElementUid", "uc01HasRequirements", "uc02HasActor", "uc03HasScenario", "uc04GoalDefined", "uc05HasPostcondition", "uc06HasPrecondition", "vr01TestNoResult", "whiteboxContractCount"];
|
|
24
28
|
};
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export const GRAMMAR_SNAPSHOT = {
|
|
13
13
|
versions: {
|
|
14
|
-
ontology: "
|
|
15
|
-
metaModel: "
|
|
16
|
-
rules: "
|
|
14
|
+
ontology: "9.0.0",
|
|
15
|
+
metaModel: "5.0.0",
|
|
16
|
+
rules: "19.2.0",
|
|
17
17
|
},
|
|
18
18
|
elementTypes: [
|
|
19
19
|
"ACTOR",
|
|
@@ -48,7 +48,7 @@ export const GRAMMAR_SNAPSHOT = {
|
|
|
48
48
|
"FCHAIN -satisfy-> REQ",
|
|
49
49
|
"FLOW -io-> ACTOR",
|
|
50
50
|
"FLOW -io-> FUNC",
|
|
51
|
-
"FLOW -relation-> SCHEMA [
|
|
51
|
+
"FLOW -relation-> SCHEMA [1]",
|
|
52
52
|
"FUNC -allocate-> MOD [0..1]",
|
|
53
53
|
"FUNC -compose-> FUNC [0..*]",
|
|
54
54
|
"FUNC -io-> FLOW",
|
|
@@ -69,6 +69,26 @@ export const GRAMMAR_SNAPSHOT = {
|
|
|
69
69
|
"UC -compose-> FCHAIN [1..*]",
|
|
70
70
|
"UC -compose-> REQ [1..*]",
|
|
71
71
|
],
|
|
72
|
+
elementColumns: [
|
|
73
|
+
"OntologyElement.attributes",
|
|
74
|
+
"OntologyElement.created_at",
|
|
75
|
+
"OntologyElement.description",
|
|
76
|
+
"OntologyElement.id",
|
|
77
|
+
"OntologyElement.kinds",
|
|
78
|
+
"OntologyElement.method",
|
|
79
|
+
"OntologyElement.name",
|
|
80
|
+
"OntologyElement.status",
|
|
81
|
+
"OntologyElement.type",
|
|
82
|
+
"OntologyElement.updated_at",
|
|
83
|
+
"Trace.attributes",
|
|
84
|
+
"Trace.created_at",
|
|
85
|
+
"Trace.label",
|
|
86
|
+
"Trace.source",
|
|
87
|
+
"Trace.target",
|
|
88
|
+
"Trace.type",
|
|
89
|
+
"Trace.verified_at",
|
|
90
|
+
"Trace.weight",
|
|
91
|
+
],
|
|
72
92
|
attributes: [
|
|
73
93
|
"CR.rationale: string",
|
|
74
94
|
"CR.spike: boolean",
|
|
@@ -105,21 +125,17 @@ export const GRAMMAR_SNAPSHOT = {
|
|
|
105
125
|
"AF-03 (warning) domain=[graph]",
|
|
106
126
|
"AF-04 (warning) domain=[graph]",
|
|
107
127
|
"AF-05 (warning) domain=[graph]",
|
|
108
|
-
"AO-D01 (info) domain=[FUNC]",
|
|
109
|
-
"AO-D03 (info) domain=[FUNC]",
|
|
110
128
|
"BQ-01 (warning) domain=[REQ]",
|
|
111
129
|
"BQ-02 (warning) domain=[REQ]",
|
|
112
130
|
"BQ-04 (warning) domain=[REQ]",
|
|
113
131
|
"BQ-06 (warning) domain=[REQ]",
|
|
114
132
|
"BQ-07 (warning) domain=[REQ]",
|
|
115
|
-
"
|
|
133
|
+
"BW-02 (warning) domain=[FUNC]",
|
|
116
134
|
"CL-01 (warning) domain=[ACTOR]",
|
|
117
135
|
"CR-01 (warning) domain=[MOD]",
|
|
118
136
|
"CR-R01 (error) domain=[CR]",
|
|
119
137
|
"CR-R02 (error) domain=[CR]",
|
|
120
138
|
"CR-R03 (warning) domain=[all]",
|
|
121
|
-
"CR-R04 (warning) domain=[CR]",
|
|
122
|
-
"FC-01 (warning) domain=[FCHAIN]",
|
|
123
139
|
"FC-02 (warning) domain=[UC]",
|
|
124
140
|
"FC-03 (warning) domain=[FUNC]",
|
|
125
141
|
"FC-04 (warning) domain=[FCHAIN]",
|
|
@@ -135,16 +151,13 @@ export const GRAMMAR_SNAPSHOT = {
|
|
|
135
151
|
"ND-01 (error) domain=[FUNC]",
|
|
136
152
|
"ND-02 (error) domain=[SCHEMA]",
|
|
137
153
|
"NFR-01 (warning) domain=[FCHAIN,FUNC,MOD]",
|
|
138
|
-
"PH-01 (info) domain=[MOD]",
|
|
139
154
|
"R-01 (error) domain=[REQ]",
|
|
140
155
|
"R-02 (warning) domain=[FUNC]",
|
|
141
|
-
"R-03 (error) domain=[MOD]",
|
|
142
156
|
"R-04 (warning) domain=[MOD]",
|
|
143
157
|
"R-05 (warning) domain=[TEST]",
|
|
144
158
|
"R-08 (error) domain=[all]",
|
|
145
159
|
"R-10 (warning) domain=[FLOW]",
|
|
146
160
|
"R-12 (warning) domain=[FUNC]",
|
|
147
|
-
"R-14 (warning) domain=[UC]",
|
|
148
161
|
"R-15 (warning) domain=[FCHAIN]",
|
|
149
162
|
"R-16 (warning) domain=[ACTOR]",
|
|
150
163
|
"R-17 (warning) domain=[SYS]",
|
|
@@ -155,17 +168,20 @@ export const GRAMMAR_SNAPSHOT = {
|
|
|
155
168
|
"R-22 (warning) domain=[FUNC]",
|
|
156
169
|
"R-23 (warning) domain=[MOD]",
|
|
157
170
|
"R-26 (warning) domain=[SCHEMA]",
|
|
158
|
-
"R-27 (warning) domain=[MOD]",
|
|
159
171
|
"R-29 (error) domain=[TEST]",
|
|
160
172
|
"R-30 (warning) domain=[FUNC]",
|
|
161
173
|
"R-31 (warning) domain=[FUNC]",
|
|
174
|
+
"RC-01 (error) domain=[FUNC]",
|
|
175
|
+
"RC-02 (error) domain=[TEST]",
|
|
176
|
+
"RC-03 (error) domain=[SCHEMA]",
|
|
177
|
+
"RC-04 (warning) domain=[SCHEMA]",
|
|
178
|
+
"RC-05 (warning) domain=[MOD]",
|
|
179
|
+
"RC-06 (warning) domain=[FUNC,MOD,SCHEMA]",
|
|
162
180
|
"RD-01 (warning) domain=[REQ]",
|
|
163
181
|
"RD-02 (warning) domain=[REQ]",
|
|
164
182
|
"RD-03 (info) domain=[REQ]",
|
|
165
183
|
"RD-04 (warning) domain=[FUNC,MOD,SYS]",
|
|
166
|
-
"RT-01 (error) domain=[FUNC]",
|
|
167
184
|
"SC-02 (warning) domain=[SCHEMA]",
|
|
168
|
-
"SC-04 (warning) domain=[FLOW]",
|
|
169
185
|
"UC-01 (error) domain=[UC]",
|
|
170
186
|
"UC-02 (error) domain=[UC]",
|
|
171
187
|
"UC-03 (warning) domain=[UC]",
|
|
@@ -182,4 +198,223 @@ export const GRAMMAR_SNAPSHOT = {
|
|
|
182
198
|
"RC-05 (warning)",
|
|
183
199
|
"RC-06 (warning)",
|
|
184
200
|
],
|
|
201
|
+
policy: [
|
|
202
|
+
"apTable = null",
|
|
203
|
+
"boundaryWidth = {warning:5}",
|
|
204
|
+
"crossingFlows = {warning:3}",
|
|
205
|
+
"decompositionBreadth = {warning:9}",
|
|
206
|
+
"instability = null",
|
|
207
|
+
"lcom4 = {info:4,warning:6}",
|
|
208
|
+
"moduleSize = {coupled:7,crossings:2,large:9}",
|
|
209
|
+
"riskRpn = 100",
|
|
210
|
+
],
|
|
211
|
+
ruleHelp: [
|
|
212
|
+
"AF-01",
|
|
213
|
+
"AF-02",
|
|
214
|
+
"AF-03",
|
|
215
|
+
"AF-04",
|
|
216
|
+
"AF-05",
|
|
217
|
+
"BQ-01",
|
|
218
|
+
"BQ-02",
|
|
219
|
+
"BQ-04",
|
|
220
|
+
"BQ-06",
|
|
221
|
+
"BQ-07",
|
|
222
|
+
"BW-02",
|
|
223
|
+
"CL-01",
|
|
224
|
+
"CR-01",
|
|
225
|
+
"CR-R01",
|
|
226
|
+
"CR-R02",
|
|
227
|
+
"CR-R03",
|
|
228
|
+
"FC-02",
|
|
229
|
+
"FC-03",
|
|
230
|
+
"FC-04",
|
|
231
|
+
"FM-01",
|
|
232
|
+
"FM-02",
|
|
233
|
+
"FM-03",
|
|
234
|
+
"IO-01",
|
|
235
|
+
"MS-01",
|
|
236
|
+
"MS-02",
|
|
237
|
+
"MS-03",
|
|
238
|
+
"MT-01",
|
|
239
|
+
"MT-02",
|
|
240
|
+
"ND-01",
|
|
241
|
+
"ND-02",
|
|
242
|
+
"NFR-01",
|
|
243
|
+
"R-01",
|
|
244
|
+
"R-02",
|
|
245
|
+
"R-04",
|
|
246
|
+
"R-05",
|
|
247
|
+
"R-08",
|
|
248
|
+
"R-10",
|
|
249
|
+
"R-12",
|
|
250
|
+
"R-15",
|
|
251
|
+
"R-16",
|
|
252
|
+
"R-17",
|
|
253
|
+
"R-18",
|
|
254
|
+
"R-19",
|
|
255
|
+
"R-20",
|
|
256
|
+
"R-21",
|
|
257
|
+
"R-22",
|
|
258
|
+
"R-23",
|
|
259
|
+
"R-26",
|
|
260
|
+
"R-29",
|
|
261
|
+
"R-30",
|
|
262
|
+
"R-31",
|
|
263
|
+
"RC-01",
|
|
264
|
+
"RC-02",
|
|
265
|
+
"RC-03",
|
|
266
|
+
"RC-04",
|
|
267
|
+
"RC-05",
|
|
268
|
+
"RC-06",
|
|
269
|
+
"RD-01",
|
|
270
|
+
"RD-02",
|
|
271
|
+
"RD-03",
|
|
272
|
+
"RD-04",
|
|
273
|
+
"SC-02",
|
|
274
|
+
"UC-01",
|
|
275
|
+
"UC-02",
|
|
276
|
+
"UC-03",
|
|
277
|
+
"UC-04",
|
|
278
|
+
"UC-05",
|
|
279
|
+
"UC-06",
|
|
280
|
+
"VR-01",
|
|
281
|
+
],
|
|
282
|
+
exports: [
|
|
283
|
+
"AF_RULES",
|
|
284
|
+
"ALL_RULE_DEFS",
|
|
285
|
+
"AO_RULES",
|
|
286
|
+
"ActionPriority",
|
|
287
|
+
"AnalysisArtifactId",
|
|
288
|
+
"AnalysisFreshnessStampSchema",
|
|
289
|
+
"ApTableSchema",
|
|
290
|
+
"BOUNDED_PATTERNS",
|
|
291
|
+
"BQ_RULES",
|
|
292
|
+
"CODE_CONFORMANCE_RULES",
|
|
293
|
+
"CR_RULES",
|
|
294
|
+
"CodeFactsSchema",
|
|
295
|
+
"DEFAULT_METRIC_POLICY",
|
|
296
|
+
"DIMENSION_READINESS_DELTA_NAME",
|
|
297
|
+
"DIMENSION_READINESS_NAME",
|
|
298
|
+
"ELEMENT_ATTRIBUTES",
|
|
299
|
+
"ELEMENT_DESCRIPTIONS",
|
|
300
|
+
"ElementType",
|
|
301
|
+
"ElementUid",
|
|
302
|
+
"FC_RULES",
|
|
303
|
+
"FM_RULES",
|
|
304
|
+
"FileFactsSchema",
|
|
305
|
+
"ImportEdgeSchema",
|
|
306
|
+
"MAX_SLUG_LENGTH",
|
|
307
|
+
"META_MODEL_VERSION",
|
|
308
|
+
"MODELING_ELEMENT_TYPES",
|
|
309
|
+
"MT_RULES",
|
|
310
|
+
"MetricPolicySchema",
|
|
311
|
+
"ND_RULES",
|
|
312
|
+
"ONTOLOGY_VERSION",
|
|
313
|
+
"OntologyElement",
|
|
314
|
+
"OntologyGraph",
|
|
315
|
+
"PHASE_READINESS_NAME",
|
|
316
|
+
"PhaseGate",
|
|
317
|
+
"READINESS_SCORED_PROFILES",
|
|
318
|
+
"REQUIRED_PATTERNS",
|
|
319
|
+
"RULES_VERSION",
|
|
320
|
+
"RULE_HELP",
|
|
321
|
+
"RULE_TO_DIMENSION",
|
|
322
|
+
"RULE_TO_PHASE",
|
|
323
|
+
"ReadinessDimension",
|
|
324
|
+
"ReadinessReport",
|
|
325
|
+
"ReadinessScore",
|
|
326
|
+
"RealRefSchema",
|
|
327
|
+
"RepoRelativePathSchema",
|
|
328
|
+
"ReqKind",
|
|
329
|
+
"RuleSeverity",
|
|
330
|
+
"RuleViolation",
|
|
331
|
+
"SC_RULES",
|
|
332
|
+
"TRACE_PATTERNS",
|
|
333
|
+
"TestRefSchema",
|
|
334
|
+
"TestRefsSchema",
|
|
335
|
+
"TestResult",
|
|
336
|
+
"Trace",
|
|
337
|
+
"TraceType",
|
|
338
|
+
"UC_RULES",
|
|
339
|
+
"V3_RULES",
|
|
340
|
+
"VIEW_RULES",
|
|
341
|
+
"VerificationMethod",
|
|
342
|
+
"ViolationCandidate",
|
|
343
|
+
"ViolationContext",
|
|
344
|
+
"actionPriority",
|
|
345
|
+
"allocationCohesion",
|
|
346
|
+
"apMethod",
|
|
347
|
+
"attributeTypeOf",
|
|
348
|
+
"bq01Unambiguous",
|
|
349
|
+
"bq02Verifiable",
|
|
350
|
+
"bq04Necessary",
|
|
351
|
+
"bq06Conforming",
|
|
352
|
+
"bq07Complete",
|
|
353
|
+
"bw02WhiteboxWidth",
|
|
354
|
+
"cl01ConopsCompleteness",
|
|
355
|
+
"cr01CrossingFlowCount",
|
|
356
|
+
"crossingContractCount",
|
|
357
|
+
"decomposedFuncs",
|
|
358
|
+
"evaluateAFRules",
|
|
359
|
+
"evaluateAORules",
|
|
360
|
+
"evaluateAllRules",
|
|
361
|
+
"evaluateBQRules",
|
|
362
|
+
"evaluateCRRules",
|
|
363
|
+
"evaluateConformanceRules",
|
|
364
|
+
"evaluateFCRules",
|
|
365
|
+
"evaluateFMRules",
|
|
366
|
+
"evaluateMTRules",
|
|
367
|
+
"evaluateNDRules",
|
|
368
|
+
"evaluateRules",
|
|
369
|
+
"evaluateSCRules",
|
|
370
|
+
"evaluateUCRules",
|
|
371
|
+
"evaluateViewRules",
|
|
372
|
+
"extractFormatE",
|
|
373
|
+
"fc02LeafUcHasFchain",
|
|
374
|
+
"fc03FchainFlat",
|
|
375
|
+
"fc04ActorBounded",
|
|
376
|
+
"fm01MissingFmeaAttributes",
|
|
377
|
+
"fm02MissingMitigation",
|
|
378
|
+
"fm03HighRiskUnverified",
|
|
379
|
+
"funcSimilarity",
|
|
380
|
+
"getRuleDefsForProfile",
|
|
381
|
+
"hydrateAttrValue",
|
|
382
|
+
"importCoverage",
|
|
383
|
+
"indexOf",
|
|
384
|
+
"io01CrossModuleCompleteness",
|
|
385
|
+
"isElementUid",
|
|
386
|
+
"isValidTrace",
|
|
387
|
+
"jaccard",
|
|
388
|
+
"maxOccurs",
|
|
389
|
+
"minOccurs",
|
|
390
|
+
"moduleCrossings",
|
|
391
|
+
"moduleMetrics",
|
|
392
|
+
"mt01Instability",
|
|
393
|
+
"mt02Lcom4",
|
|
394
|
+
"nd01FuncNearDuplicate",
|
|
395
|
+
"nd02SchemaNearDuplicate",
|
|
396
|
+
"nfr01BudgetOvershoot",
|
|
397
|
+
"normalizeReqKinds",
|
|
398
|
+
"pairsAbove",
|
|
399
|
+
"parseElementUid",
|
|
400
|
+
"parseFormatE",
|
|
401
|
+
"sc02IsReferenced",
|
|
402
|
+
"schemaSimilarity",
|
|
403
|
+
"serializeToFormatE",
|
|
404
|
+
"setBQ04SimilarityMatrix",
|
|
405
|
+
"subtreeFuncs",
|
|
406
|
+
"toElementUid",
|
|
407
|
+
"toEvaluableGraph",
|
|
408
|
+
"tokens",
|
|
409
|
+
"traceRejection",
|
|
410
|
+
"tryParseElementUid",
|
|
411
|
+
"uc01HasRequirements",
|
|
412
|
+
"uc02HasActor",
|
|
413
|
+
"uc03HasScenario",
|
|
414
|
+
"uc04GoalDefined",
|
|
415
|
+
"uc05HasPostcondition",
|
|
416
|
+
"uc06HasPrecondition",
|
|
417
|
+
"vr01TestNoResult",
|
|
418
|
+
"whiteboxContractCount",
|
|
419
|
+
],
|
|
185
420
|
};
|
package/dist/se/index.d.ts
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Single source of truth for SE ontology schemas across all projects.
|
|
4
4
|
*/
|
|
5
5
|
/** Ontology schema version (element types + trace types). */
|
|
6
|
-
export declare const ONTOLOGY_VERSION = "
|
|
6
|
+
export declare const ONTOLOGY_VERSION = "9.0.0";
|
|
7
7
|
/** Rules engine version (validation rules incl. RC conformance). */
|
|
8
|
-
export declare const RULES_VERSION = "
|
|
8
|
+
export declare const RULES_VERSION = "19.2.0";
|
|
9
9
|
/** Meta-model version (trace pattern constraints + format-e parser). */
|
|
10
|
-
export declare const META_MODEL_VERSION = "
|
|
10
|
+
export declare const META_MODEL_VERSION = "5.0.0";
|
|
11
11
|
export * from './ontology.js';
|
|
12
12
|
export * from './rules.js';
|
|
13
13
|
export * from './conformance-rules.js';
|
|
@@ -21,7 +21,10 @@ export * from './fmea-rules.js';
|
|
|
21
21
|
export * from './view-rules.js';
|
|
22
22
|
export * from './cr-quality-rules.js';
|
|
23
23
|
export * from './near-duplicate-rules.js';
|
|
24
|
+
export * from './similarity.js';
|
|
24
25
|
export * from './ao-rules.js';
|
|
26
|
+
export * from './rule-help.js';
|
|
27
|
+
export * from './module-crossings.js';
|
|
25
28
|
export * from './quality-rules.js';
|
|
26
29
|
export * from './analysis-freshness-rules.js';
|
|
27
30
|
export * from './evaluate-all.js';
|