@3f-consulting/spec-controller-core 0.1.0-alpha.51 → 0.1.0-alpha.52
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/domain/messages.d.ts +191 -0
- package/dist/domain/messages.d.ts.map +1 -0
- package/dist/domain/messages.js +279 -0
- package/dist/domain/messages.js.map +1 -0
- package/dist/domain/qualityCheckReconciliationFault.js +1 -1
- package/dist/domain/qualityCheckReconciliationFault.js.map +1 -1
- package/dist/parse/scenarioCodeErrors.d.ts.map +1 -1
- package/dist/parse/scenarioCodeErrors.js +7 -17
- package/dist/parse/scenarioCodeErrors.js.map +1 -1
- package/dist/render/behaviouralRunners.d.ts.map +1 -1
- package/dist/render/behaviouralRunners.js +6 -5
- package/dist/render/behaviouralRunners.js.map +1 -1
- package/dist/render/configurationNotRead.d.ts.map +1 -1
- package/dist/render/configurationNotRead.js +5 -5
- package/dist/render/configurationNotRead.js.map +1 -1
- package/dist/render/discoveryScope.d.ts.map +1 -1
- package/dist/render/discoveryScope.js +3 -2
- package/dist/render/discoveryScope.js.map +1 -1
- package/dist/render/excludedSteps.d.ts.map +1 -1
- package/dist/render/excludedSteps.js +4 -3
- package/dist/render/excludedSteps.js.map +1 -1
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +48 -50
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/provenanceSection.d.ts.map +1 -1
- package/dist/render/provenanceSection.js +10 -9
- package/dist/render/provenanceSection.js.map +1 -1
- package/dist/render/reconcilerSteps.d.ts.map +1 -1
- package/dist/render/reconcilerSteps.js +5 -4
- package/dist/render/reconcilerSteps.js.map +1 -1
- package/dist/render/runVerdict.d.ts.map +1 -1
- package/dist/render/runVerdict.js +22 -30
- package/dist/render/runVerdict.js.map +1 -1
- package/dist/render/scenarioCodeErrorsSection.d.ts.map +1 -1
- package/dist/render/scenarioCodeErrorsSection.js +20 -17
- package/dist/render/scenarioCodeErrorsSection.js.map +1 -1
- package/dist/render/staticChecks.d.ts.map +1 -1
- package/dist/render/staticChecks.js +3 -2
- package/dist/render/staticChecks.js.map +1 -1
- package/dist/render/stepAccounting.js +5 -5
- package/dist/render/stepAccounting.js.map +1 -1
- package/dist/render/testVolume.d.ts.map +1 -1
- package/dist/render/testVolume.js +4 -3
- package/dist/render/testVolume.js.map +1 -1
- package/package.json +1 -1
- package/dist/domain/qualityCheckFaultMessages.d.ts +0 -8
- package/dist/domain/qualityCheckFaultMessages.d.ts.map +0 -1
- package/dist/domain/qualityCheckFaultMessages.js +0 -10
- package/dist/domain/qualityCheckFaultMessages.js.map +0 -1
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { QualityCheckFaultCode, type QualityCheckFault } from "./qualityCheckFault.js";
|
|
2
|
+
export type QualityCheckFaultMessages = {
|
|
3
|
+
readonly [C in QualityCheckFaultCode]: (fault: Extract<QualityCheckFault, {
|
|
4
|
+
code: C;
|
|
5
|
+
}>) => string;
|
|
6
|
+
};
|
|
7
|
+
export declare const QUALITY_CHECK_FAULT_MESSAGES: QualityCheckFaultMessages;
|
|
8
|
+
export declare enum CoreMessage {
|
|
9
|
+
ReportTitle = 0,
|
|
10
|
+
RunProvenanceHeading = 1,
|
|
11
|
+
ProvenanceTargetRepo = 2,
|
|
12
|
+
ProvenanceNoInputs = 3,
|
|
13
|
+
ProvenanceInputs = 4,
|
|
14
|
+
ProvenanceNotSupplied = 5,
|
|
15
|
+
ProvenanceRunTimestamp = 6,
|
|
16
|
+
ProvenanceSourceSha = 7,
|
|
17
|
+
ProvenanceSourceShaUnknown = 8,
|
|
18
|
+
ProvenanceToolSha = 9,
|
|
19
|
+
ProvenanceToolShaUnknown = 10,
|
|
20
|
+
ProvenanceToolVersion = 11,
|
|
21
|
+
ConfigurationNotReadHeading = 12,
|
|
22
|
+
ConfigurationNotReadIntro = 13,
|
|
23
|
+
ConfigurationWrongKind = 14,
|
|
24
|
+
ConfigurationUnknownKey = 15,
|
|
25
|
+
RunIntegrityHeading = 16,
|
|
26
|
+
OneProofNeverRan = 17,
|
|
27
|
+
ProofsNeverRan = 18,
|
|
28
|
+
RunUnsound = 19,
|
|
29
|
+
BrokenEvidenceNotNamed = 20,
|
|
30
|
+
BrokenEvidenceWhatBroke = 21,
|
|
31
|
+
BrokenEvidenceNoMessage = 22,
|
|
32
|
+
ScenarioCodeErrorsHeading = 23,
|
|
33
|
+
OneScenarioCodeError = 24,
|
|
34
|
+
ScenarioCodeErrorCount = 25,
|
|
35
|
+
ScenarioCodeErrorsFraming = 26,
|
|
36
|
+
DuplicateScnCodeNotListed = 27,
|
|
37
|
+
FeatureFileNoun = 28,
|
|
38
|
+
FeatureCodeNoun = 29,
|
|
39
|
+
ScenarioCodesClean = 30,
|
|
40
|
+
NoFeatureFileJudged = 31,
|
|
41
|
+
ScenarioCodesCleanOver = 32,
|
|
42
|
+
CleanNoCodedScenario = 33,
|
|
43
|
+
CleanEachFileOwnCode = 34,
|
|
44
|
+
CleanOthersUncoded = 35,
|
|
45
|
+
ItPronoun = 36,
|
|
46
|
+
ThemPronoun = 37,
|
|
47
|
+
HoldsVerb = 38,
|
|
48
|
+
HoldVerb = 39,
|
|
49
|
+
DuplicateFeatureCode = 40,
|
|
50
|
+
ForeignScnCodeOneCarrier = 41,
|
|
51
|
+
ForeignScnCodeManyCarriers = 42,
|
|
52
|
+
ForeignScnCodeNoCarrier = 43,
|
|
53
|
+
NoFeatureCode = 44,
|
|
54
|
+
SummaryViewsHeading = 45,
|
|
55
|
+
RunVerdictHeading = 46,
|
|
56
|
+
VerdictExit = 47,
|
|
57
|
+
ScenarioCodeErrorsHeadline = 48,
|
|
58
|
+
ScenarioCodeErrorsGloss = 49,
|
|
59
|
+
AlsoOutOfBalance = 50,
|
|
60
|
+
OutOfBalanceHeadline = 51,
|
|
61
|
+
OutOfBalanceGloss = 52,
|
|
62
|
+
UnsoundHeadline = 53,
|
|
63
|
+
UnsoundGloss = 54,
|
|
64
|
+
PendingHeadline = 55,
|
|
65
|
+
PendingGloss = 56,
|
|
66
|
+
BalancedHeadline = 57,
|
|
67
|
+
BalancedGloss = 58,
|
|
68
|
+
NothingToReconcileHeadline = 59,
|
|
69
|
+
NothingToReconcileGloss = 60,
|
|
70
|
+
PendingItemsOutstanding = 61,
|
|
71
|
+
EvidenceReconciliationHeading = 62,
|
|
72
|
+
SubjectColumn = 63,
|
|
73
|
+
TotalColumn = 64,
|
|
74
|
+
BalancedColumn = 65,
|
|
75
|
+
OutOfBalanceColumn = 66,
|
|
76
|
+
DetailColumn = 67,
|
|
77
|
+
ScenarioReconciliationSubject = 68,
|
|
78
|
+
EvidenceObligationSubject = 69,
|
|
79
|
+
PendingTally = 70,
|
|
80
|
+
TestVolumeHeading = 71,
|
|
81
|
+
TestVolumeSum = 72,
|
|
82
|
+
TestVolumeTableHeader = 73,
|
|
83
|
+
DiscoveryScopeHeading = 74,
|
|
84
|
+
DiscoveryScopeTableHeader = 75,
|
|
85
|
+
StaticChecksHeading = 76,
|
|
86
|
+
StaticChecksCounts = 77,
|
|
87
|
+
BehaviouralRunnersHeading = 78,
|
|
88
|
+
BehaviouralRunnersTableHeader = 79,
|
|
89
|
+
RunnerTierNamesNone = 80,
|
|
90
|
+
RunnerTierUnnamed = 81,
|
|
91
|
+
RunnerKeyNotATier = 82,
|
|
92
|
+
ReconcilerHeading = 83,
|
|
93
|
+
ReconcilerStep = 84,
|
|
94
|
+
ReconcilerReconciles = 85,
|
|
95
|
+
ReconcilerRecords = 86,
|
|
96
|
+
ExcludedStepsHeading = 87,
|
|
97
|
+
StepExcluded = 88,
|
|
98
|
+
NotChecksEntryMatchesNoStep = 89,
|
|
99
|
+
StepAccountingHeading = 90,
|
|
100
|
+
StepAccountingTableHeader = 91,
|
|
101
|
+
EveryStepAccountedFor = 92,
|
|
102
|
+
StepsNotAccountedFor = 93,
|
|
103
|
+
FitnessHeading = 94,
|
|
104
|
+
FitnessSatisfiedOf = 95,
|
|
105
|
+
FitnessTableHeader = 96,
|
|
106
|
+
OutOfBalanceByFeatureHeading = 97,
|
|
107
|
+
ScenarioRowsOutOfBalance = 98,
|
|
108
|
+
GroupedByFeature = 99,
|
|
109
|
+
NotGroupedByFeature = 100,
|
|
110
|
+
PhantomScenarioRows = 101,
|
|
111
|
+
SuspenseScenarioRows = 102,
|
|
112
|
+
AndJoiner = 103,
|
|
113
|
+
ByFeatureTableHeader = 104,
|
|
114
|
+
UncodedScenarios = 105,
|
|
115
|
+
ScenarioReconciliationsHeading = 106,
|
|
116
|
+
ScenarioReconciliationTally = 107,
|
|
117
|
+
PhantomScenarioTally = 108,
|
|
118
|
+
SuspenseScenarioTally = 109,
|
|
119
|
+
ExcludedScnOccurrences = 110,
|
|
120
|
+
UntaggedScenarios = 111,
|
|
121
|
+
SharedScnCodes = 112,
|
|
122
|
+
LedgerTableHeader = 113,
|
|
123
|
+
ScenarioColumn = 114,
|
|
124
|
+
VerdictColumn = 115,
|
|
125
|
+
ReconcilingItemsColumn = 116,
|
|
126
|
+
PendingItem = 117,
|
|
127
|
+
PendingItemFor = 118
|
|
128
|
+
}
|
|
129
|
+
interface CoreMessageParams {
|
|
130
|
+
[CoreMessage.ProvenanceTargetRepo]: [target: string];
|
|
131
|
+
[CoreMessage.ProvenanceNotSupplied]: [flags: string];
|
|
132
|
+
[CoreMessage.ProvenanceRunTimestamp]: [runStartUtc: string];
|
|
133
|
+
[CoreMessage.ProvenanceSourceSha]: [sha: string];
|
|
134
|
+
[CoreMessage.ProvenanceToolSha]: [sha: string];
|
|
135
|
+
[CoreMessage.ProvenanceToolVersion]: [version: string];
|
|
136
|
+
[CoreMessage.ConfigurationWrongKind]: [entry: string, is: string, reads: string];
|
|
137
|
+
[CoreMessage.ConfigurationUnknownKey]: [key: string];
|
|
138
|
+
[CoreMessage.ProofsNeverRan]: [count: number];
|
|
139
|
+
[CoreMessage.RunUnsound]: [proofs: string];
|
|
140
|
+
[CoreMessage.BrokenEvidenceWhatBroke]: [locator: string];
|
|
141
|
+
[CoreMessage.ScenarioCodeErrorCount]: [count: number];
|
|
142
|
+
[CoreMessage.ScenarioCodeErrorsFraming]: [count: string];
|
|
143
|
+
[CoreMessage.ScenarioCodesCleanOver]: [featureFiles: string, featureCodes: string];
|
|
144
|
+
[CoreMessage.CleanNoCodedScenario]: [over: string, them: string];
|
|
145
|
+
[CoreMessage.CleanEachFileOwnCode]: [over: string];
|
|
146
|
+
[CoreMessage.CleanOthersUncoded]: [over: string, uncoded: number, hold: string];
|
|
147
|
+
[CoreMessage.DuplicateFeatureCode]: [code: string, fileCount: number, files: string];
|
|
148
|
+
[CoreMessage.ForeignScnCodeOneCarrier]: [file: string, featureCode: string, scnId: string, named: string, carrier: string];
|
|
149
|
+
[CoreMessage.ForeignScnCodeManyCarriers]: [
|
|
150
|
+
file: string,
|
|
151
|
+
featureCode: string,
|
|
152
|
+
scnId: string,
|
|
153
|
+
named: string,
|
|
154
|
+
carrierCount: number,
|
|
155
|
+
carriers: string
|
|
156
|
+
];
|
|
157
|
+
[CoreMessage.ForeignScnCodeNoCarrier]: [file: string, featureCode: string, scnId: string, named: string];
|
|
158
|
+
[CoreMessage.NoFeatureCode]: [file: string];
|
|
159
|
+
[CoreMessage.VerdictExit]: [code: number];
|
|
160
|
+
[CoreMessage.ScenarioCodeErrorsGloss]: [alsoOutOfBalance: string];
|
|
161
|
+
[CoreMessage.NothingToReconcileGloss]: [corpusDir: string];
|
|
162
|
+
[CoreMessage.PendingTally]: [pending: number];
|
|
163
|
+
[CoreMessage.TestVolumeSum]: [total: number, onScenario: number, onPhantomScenario: number, onSuspenseScenario: number];
|
|
164
|
+
[CoreMessage.StaticChecksCounts]: [running: number, uncited: number];
|
|
165
|
+
[CoreMessage.RunnerTierNamesNone]: [tier: string];
|
|
166
|
+
[CoreMessage.RunnerTierUnnamed]: [tier: string];
|
|
167
|
+
[CoreMessage.RunnerKeyNotATier]: [key: string];
|
|
168
|
+
[CoreMessage.ReconcilerStep]: [step: string, whatItIs: string];
|
|
169
|
+
[CoreMessage.StepExcluded]: [entry: string];
|
|
170
|
+
[CoreMessage.NotChecksEntryMatchesNoStep]: [entry: string];
|
|
171
|
+
[CoreMessage.StepsNotAccountedFor]: [stepsRead: number, accountedFor: number];
|
|
172
|
+
[CoreMessage.FitnessSatisfiedOf]: [satisfied: number, total: number];
|
|
173
|
+
[CoreMessage.ScenarioRowsOutOfBalance]: [outOfBalance: number, rows: number];
|
|
174
|
+
[CoreMessage.NotGroupedByFeature]: [ungrouped: string];
|
|
175
|
+
[CoreMessage.PhantomScenarioRows]: [count: number];
|
|
176
|
+
[CoreMessage.SuspenseScenarioRows]: [count: number];
|
|
177
|
+
[CoreMessage.UncodedScenarios]: [count: number];
|
|
178
|
+
[CoreMessage.ScenarioReconciliationTally]: [total: number, balanced: number, outOfBalance: number];
|
|
179
|
+
[CoreMessage.PhantomScenarioTally]: [count: number];
|
|
180
|
+
[CoreMessage.SuspenseScenarioTally]: [count: number];
|
|
181
|
+
[CoreMessage.ExcludedScnOccurrences]: [count: number];
|
|
182
|
+
[CoreMessage.UntaggedScenarios]: [count: number];
|
|
183
|
+
[CoreMessage.SharedScnCodes]: [scenarios: number, accounts: number, codes: number];
|
|
184
|
+
[CoreMessage.PendingItemFor]: [qualityCheck: string];
|
|
185
|
+
}
|
|
186
|
+
export type CoreMessages = {
|
|
187
|
+
readonly [C in CoreMessage]: C extends keyof CoreMessageParams ? (...params: CoreMessageParams[C]) => string : string;
|
|
188
|
+
};
|
|
189
|
+
export declare const CORE_MESSAGES: CoreMessages;
|
|
190
|
+
export {};
|
|
191
|
+
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../src/domain/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { QualityCheckFaultCode } from "./qualityCheckFault.js";
|
|
2
|
+
export const QUALITY_CHECK_FAULT_MESSAGES = {
|
|
3
|
+
[QualityCheckFaultCode.ObligationSideDivergesFromCanon]: (fault) => `QualityCheckReconciliation invariant (@SCN-LDG-030): outcome "${fault.outcome}" requires the ` +
|
|
4
|
+
`evidence obligation (debit) side to be ${fault.required}, but it was ` +
|
|
5
|
+
`${fault.actual}.`,
|
|
6
|
+
[QualityCheckFaultCode.ObservationSideDivergesFromCanon]: (fault) => `QualityCheckReconciliation invariant (@SCN-LDG-030): outcome "${fault.outcome}" requires the ` +
|
|
7
|
+
`evidence observation (credit) side to be ${fault.required}, but it was ` +
|
|
8
|
+
`${fault.actual}.`,
|
|
9
|
+
};
|
|
10
|
+
export var CoreMessage;
|
|
11
|
+
(function (CoreMessage) {
|
|
12
|
+
CoreMessage[CoreMessage["ReportTitle"] = 0] = "ReportTitle";
|
|
13
|
+
CoreMessage[CoreMessage["RunProvenanceHeading"] = 1] = "RunProvenanceHeading";
|
|
14
|
+
CoreMessage[CoreMessage["ProvenanceTargetRepo"] = 2] = "ProvenanceTargetRepo";
|
|
15
|
+
CoreMessage[CoreMessage["ProvenanceNoInputs"] = 3] = "ProvenanceNoInputs";
|
|
16
|
+
CoreMessage[CoreMessage["ProvenanceInputs"] = 4] = "ProvenanceInputs";
|
|
17
|
+
CoreMessage[CoreMessage["ProvenanceNotSupplied"] = 5] = "ProvenanceNotSupplied";
|
|
18
|
+
CoreMessage[CoreMessage["ProvenanceRunTimestamp"] = 6] = "ProvenanceRunTimestamp";
|
|
19
|
+
CoreMessage[CoreMessage["ProvenanceSourceSha"] = 7] = "ProvenanceSourceSha";
|
|
20
|
+
CoreMessage[CoreMessage["ProvenanceSourceShaUnknown"] = 8] = "ProvenanceSourceShaUnknown";
|
|
21
|
+
CoreMessage[CoreMessage["ProvenanceToolSha"] = 9] = "ProvenanceToolSha";
|
|
22
|
+
CoreMessage[CoreMessage["ProvenanceToolShaUnknown"] = 10] = "ProvenanceToolShaUnknown";
|
|
23
|
+
CoreMessage[CoreMessage["ProvenanceToolVersion"] = 11] = "ProvenanceToolVersion";
|
|
24
|
+
CoreMessage[CoreMessage["ConfigurationNotReadHeading"] = 12] = "ConfigurationNotReadHeading";
|
|
25
|
+
CoreMessage[CoreMessage["ConfigurationNotReadIntro"] = 13] = "ConfigurationNotReadIntro";
|
|
26
|
+
CoreMessage[CoreMessage["ConfigurationWrongKind"] = 14] = "ConfigurationWrongKind";
|
|
27
|
+
CoreMessage[CoreMessage["ConfigurationUnknownKey"] = 15] = "ConfigurationUnknownKey";
|
|
28
|
+
CoreMessage[CoreMessage["RunIntegrityHeading"] = 16] = "RunIntegrityHeading";
|
|
29
|
+
CoreMessage[CoreMessage["OneProofNeverRan"] = 17] = "OneProofNeverRan";
|
|
30
|
+
CoreMessage[CoreMessage["ProofsNeverRan"] = 18] = "ProofsNeverRan";
|
|
31
|
+
CoreMessage[CoreMessage["RunUnsound"] = 19] = "RunUnsound";
|
|
32
|
+
CoreMessage[CoreMessage["BrokenEvidenceNotNamed"] = 20] = "BrokenEvidenceNotNamed";
|
|
33
|
+
CoreMessage[CoreMessage["BrokenEvidenceWhatBroke"] = 21] = "BrokenEvidenceWhatBroke";
|
|
34
|
+
CoreMessage[CoreMessage["BrokenEvidenceNoMessage"] = 22] = "BrokenEvidenceNoMessage";
|
|
35
|
+
CoreMessage[CoreMessage["ScenarioCodeErrorsHeading"] = 23] = "ScenarioCodeErrorsHeading";
|
|
36
|
+
CoreMessage[CoreMessage["OneScenarioCodeError"] = 24] = "OneScenarioCodeError";
|
|
37
|
+
CoreMessage[CoreMessage["ScenarioCodeErrorCount"] = 25] = "ScenarioCodeErrorCount";
|
|
38
|
+
CoreMessage[CoreMessage["ScenarioCodeErrorsFraming"] = 26] = "ScenarioCodeErrorsFraming";
|
|
39
|
+
CoreMessage[CoreMessage["DuplicateScnCodeNotListed"] = 27] = "DuplicateScnCodeNotListed";
|
|
40
|
+
CoreMessage[CoreMessage["FeatureFileNoun"] = 28] = "FeatureFileNoun";
|
|
41
|
+
CoreMessage[CoreMessage["FeatureCodeNoun"] = 29] = "FeatureCodeNoun";
|
|
42
|
+
CoreMessage[CoreMessage["ScenarioCodesClean"] = 30] = "ScenarioCodesClean";
|
|
43
|
+
CoreMessage[CoreMessage["NoFeatureFileJudged"] = 31] = "NoFeatureFileJudged";
|
|
44
|
+
CoreMessage[CoreMessage["ScenarioCodesCleanOver"] = 32] = "ScenarioCodesCleanOver";
|
|
45
|
+
CoreMessage[CoreMessage["CleanNoCodedScenario"] = 33] = "CleanNoCodedScenario";
|
|
46
|
+
CoreMessage[CoreMessage["CleanEachFileOwnCode"] = 34] = "CleanEachFileOwnCode";
|
|
47
|
+
CoreMessage[CoreMessage["CleanOthersUncoded"] = 35] = "CleanOthersUncoded";
|
|
48
|
+
CoreMessage[CoreMessage["ItPronoun"] = 36] = "ItPronoun";
|
|
49
|
+
CoreMessage[CoreMessage["ThemPronoun"] = 37] = "ThemPronoun";
|
|
50
|
+
CoreMessage[CoreMessage["HoldsVerb"] = 38] = "HoldsVerb";
|
|
51
|
+
CoreMessage[CoreMessage["HoldVerb"] = 39] = "HoldVerb";
|
|
52
|
+
CoreMessage[CoreMessage["DuplicateFeatureCode"] = 40] = "DuplicateFeatureCode";
|
|
53
|
+
CoreMessage[CoreMessage["ForeignScnCodeOneCarrier"] = 41] = "ForeignScnCodeOneCarrier";
|
|
54
|
+
CoreMessage[CoreMessage["ForeignScnCodeManyCarriers"] = 42] = "ForeignScnCodeManyCarriers";
|
|
55
|
+
CoreMessage[CoreMessage["ForeignScnCodeNoCarrier"] = 43] = "ForeignScnCodeNoCarrier";
|
|
56
|
+
CoreMessage[CoreMessage["NoFeatureCode"] = 44] = "NoFeatureCode";
|
|
57
|
+
CoreMessage[CoreMessage["SummaryViewsHeading"] = 45] = "SummaryViewsHeading";
|
|
58
|
+
CoreMessage[CoreMessage["RunVerdictHeading"] = 46] = "RunVerdictHeading";
|
|
59
|
+
CoreMessage[CoreMessage["VerdictExit"] = 47] = "VerdictExit";
|
|
60
|
+
CoreMessage[CoreMessage["ScenarioCodeErrorsHeadline"] = 48] = "ScenarioCodeErrorsHeadline";
|
|
61
|
+
CoreMessage[CoreMessage["ScenarioCodeErrorsGloss"] = 49] = "ScenarioCodeErrorsGloss";
|
|
62
|
+
CoreMessage[CoreMessage["AlsoOutOfBalance"] = 50] = "AlsoOutOfBalance";
|
|
63
|
+
CoreMessage[CoreMessage["OutOfBalanceHeadline"] = 51] = "OutOfBalanceHeadline";
|
|
64
|
+
CoreMessage[CoreMessage["OutOfBalanceGloss"] = 52] = "OutOfBalanceGloss";
|
|
65
|
+
CoreMessage[CoreMessage["UnsoundHeadline"] = 53] = "UnsoundHeadline";
|
|
66
|
+
CoreMessage[CoreMessage["UnsoundGloss"] = 54] = "UnsoundGloss";
|
|
67
|
+
CoreMessage[CoreMessage["PendingHeadline"] = 55] = "PendingHeadline";
|
|
68
|
+
CoreMessage[CoreMessage["PendingGloss"] = 56] = "PendingGloss";
|
|
69
|
+
CoreMessage[CoreMessage["BalancedHeadline"] = 57] = "BalancedHeadline";
|
|
70
|
+
CoreMessage[CoreMessage["BalancedGloss"] = 58] = "BalancedGloss";
|
|
71
|
+
CoreMessage[CoreMessage["NothingToReconcileHeadline"] = 59] = "NothingToReconcileHeadline";
|
|
72
|
+
CoreMessage[CoreMessage["NothingToReconcileGloss"] = 60] = "NothingToReconcileGloss";
|
|
73
|
+
CoreMessage[CoreMessage["PendingItemsOutstanding"] = 61] = "PendingItemsOutstanding";
|
|
74
|
+
CoreMessage[CoreMessage["EvidenceReconciliationHeading"] = 62] = "EvidenceReconciliationHeading";
|
|
75
|
+
CoreMessage[CoreMessage["SubjectColumn"] = 63] = "SubjectColumn";
|
|
76
|
+
CoreMessage[CoreMessage["TotalColumn"] = 64] = "TotalColumn";
|
|
77
|
+
CoreMessage[CoreMessage["BalancedColumn"] = 65] = "BalancedColumn";
|
|
78
|
+
CoreMessage[CoreMessage["OutOfBalanceColumn"] = 66] = "OutOfBalanceColumn";
|
|
79
|
+
CoreMessage[CoreMessage["DetailColumn"] = 67] = "DetailColumn";
|
|
80
|
+
CoreMessage[CoreMessage["ScenarioReconciliationSubject"] = 68] = "ScenarioReconciliationSubject";
|
|
81
|
+
CoreMessage[CoreMessage["EvidenceObligationSubject"] = 69] = "EvidenceObligationSubject";
|
|
82
|
+
CoreMessage[CoreMessage["PendingTally"] = 70] = "PendingTally";
|
|
83
|
+
CoreMessage[CoreMessage["TestVolumeHeading"] = 71] = "TestVolumeHeading";
|
|
84
|
+
CoreMessage[CoreMessage["TestVolumeSum"] = 72] = "TestVolumeSum";
|
|
85
|
+
CoreMessage[CoreMessage["TestVolumeTableHeader"] = 73] = "TestVolumeTableHeader";
|
|
86
|
+
CoreMessage[CoreMessage["DiscoveryScopeHeading"] = 74] = "DiscoveryScopeHeading";
|
|
87
|
+
CoreMessage[CoreMessage["DiscoveryScopeTableHeader"] = 75] = "DiscoveryScopeTableHeader";
|
|
88
|
+
CoreMessage[CoreMessage["StaticChecksHeading"] = 76] = "StaticChecksHeading";
|
|
89
|
+
CoreMessage[CoreMessage["StaticChecksCounts"] = 77] = "StaticChecksCounts";
|
|
90
|
+
CoreMessage[CoreMessage["BehaviouralRunnersHeading"] = 78] = "BehaviouralRunnersHeading";
|
|
91
|
+
CoreMessage[CoreMessage["BehaviouralRunnersTableHeader"] = 79] = "BehaviouralRunnersTableHeader";
|
|
92
|
+
CoreMessage[CoreMessage["RunnerTierNamesNone"] = 80] = "RunnerTierNamesNone";
|
|
93
|
+
CoreMessage[CoreMessage["RunnerTierUnnamed"] = 81] = "RunnerTierUnnamed";
|
|
94
|
+
CoreMessage[CoreMessage["RunnerKeyNotATier"] = 82] = "RunnerKeyNotATier";
|
|
95
|
+
CoreMessage[CoreMessage["ReconcilerHeading"] = 83] = "ReconcilerHeading";
|
|
96
|
+
CoreMessage[CoreMessage["ReconcilerStep"] = 84] = "ReconcilerStep";
|
|
97
|
+
CoreMessage[CoreMessage["ReconcilerReconciles"] = 85] = "ReconcilerReconciles";
|
|
98
|
+
CoreMessage[CoreMessage["ReconcilerRecords"] = 86] = "ReconcilerRecords";
|
|
99
|
+
CoreMessage[CoreMessage["ExcludedStepsHeading"] = 87] = "ExcludedStepsHeading";
|
|
100
|
+
CoreMessage[CoreMessage["StepExcluded"] = 88] = "StepExcluded";
|
|
101
|
+
CoreMessage[CoreMessage["NotChecksEntryMatchesNoStep"] = 89] = "NotChecksEntryMatchesNoStep";
|
|
102
|
+
CoreMessage[CoreMessage["StepAccountingHeading"] = 90] = "StepAccountingHeading";
|
|
103
|
+
CoreMessage[CoreMessage["StepAccountingTableHeader"] = 91] = "StepAccountingTableHeader";
|
|
104
|
+
CoreMessage[CoreMessage["EveryStepAccountedFor"] = 92] = "EveryStepAccountedFor";
|
|
105
|
+
CoreMessage[CoreMessage["StepsNotAccountedFor"] = 93] = "StepsNotAccountedFor";
|
|
106
|
+
CoreMessage[CoreMessage["FitnessHeading"] = 94] = "FitnessHeading";
|
|
107
|
+
CoreMessage[CoreMessage["FitnessSatisfiedOf"] = 95] = "FitnessSatisfiedOf";
|
|
108
|
+
CoreMessage[CoreMessage["FitnessTableHeader"] = 96] = "FitnessTableHeader";
|
|
109
|
+
CoreMessage[CoreMessage["OutOfBalanceByFeatureHeading"] = 97] = "OutOfBalanceByFeatureHeading";
|
|
110
|
+
CoreMessage[CoreMessage["ScenarioRowsOutOfBalance"] = 98] = "ScenarioRowsOutOfBalance";
|
|
111
|
+
CoreMessage[CoreMessage["GroupedByFeature"] = 99] = "GroupedByFeature";
|
|
112
|
+
CoreMessage[CoreMessage["NotGroupedByFeature"] = 100] = "NotGroupedByFeature";
|
|
113
|
+
CoreMessage[CoreMessage["PhantomScenarioRows"] = 101] = "PhantomScenarioRows";
|
|
114
|
+
CoreMessage[CoreMessage["SuspenseScenarioRows"] = 102] = "SuspenseScenarioRows";
|
|
115
|
+
CoreMessage[CoreMessage["AndJoiner"] = 103] = "AndJoiner";
|
|
116
|
+
CoreMessage[CoreMessage["ByFeatureTableHeader"] = 104] = "ByFeatureTableHeader";
|
|
117
|
+
CoreMessage[CoreMessage["UncodedScenarios"] = 105] = "UncodedScenarios";
|
|
118
|
+
CoreMessage[CoreMessage["ScenarioReconciliationsHeading"] = 106] = "ScenarioReconciliationsHeading";
|
|
119
|
+
CoreMessage[CoreMessage["ScenarioReconciliationTally"] = 107] = "ScenarioReconciliationTally";
|
|
120
|
+
CoreMessage[CoreMessage["PhantomScenarioTally"] = 108] = "PhantomScenarioTally";
|
|
121
|
+
CoreMessage[CoreMessage["SuspenseScenarioTally"] = 109] = "SuspenseScenarioTally";
|
|
122
|
+
CoreMessage[CoreMessage["ExcludedScnOccurrences"] = 110] = "ExcludedScnOccurrences";
|
|
123
|
+
CoreMessage[CoreMessage["UntaggedScenarios"] = 111] = "UntaggedScenarios";
|
|
124
|
+
CoreMessage[CoreMessage["SharedScnCodes"] = 112] = "SharedScnCodes";
|
|
125
|
+
CoreMessage[CoreMessage["LedgerTableHeader"] = 113] = "LedgerTableHeader";
|
|
126
|
+
CoreMessage[CoreMessage["ScenarioColumn"] = 114] = "ScenarioColumn";
|
|
127
|
+
CoreMessage[CoreMessage["VerdictColumn"] = 115] = "VerdictColumn";
|
|
128
|
+
CoreMessage[CoreMessage["ReconcilingItemsColumn"] = 116] = "ReconcilingItemsColumn";
|
|
129
|
+
CoreMessage[CoreMessage["PendingItem"] = 117] = "PendingItem";
|
|
130
|
+
CoreMessage[CoreMessage["PendingItemFor"] = 118] = "PendingItemFor";
|
|
131
|
+
})(CoreMessage || (CoreMessage = {}));
|
|
132
|
+
const IN_ITS_FILE = "every coded scenario sits in the file its code names";
|
|
133
|
+
const foreignOpening = (file, featureCode, scnId, named) => `${file} carries the feature code @${featureCode}, but holds the scenario ` +
|
|
134
|
+
`@${scnId}, whose feature part names ${named}. A reconciliation's by-feature cut groups on the id, so `;
|
|
135
|
+
const recode = (featureCode) => `Re-code the scenario for @${featureCode}`;
|
|
136
|
+
export const CORE_MESSAGES = {
|
|
137
|
+
[CoreMessage.ReportTitle]: "# Evidence Reconciliation",
|
|
138
|
+
[CoreMessage.RunProvenanceHeading]: "## Run provenance",
|
|
139
|
+
[CoreMessage.ProvenanceTargetRepo]: (target) => `Target repo: ${target}`,
|
|
140
|
+
[CoreMessage.ProvenanceNoInputs]: "Inputs: none specified",
|
|
141
|
+
[CoreMessage.ProvenanceInputs]: "Inputs:",
|
|
142
|
+
[CoreMessage.ProvenanceNotSupplied]: (flags) => `Not supplied: ${flags}`,
|
|
143
|
+
[CoreMessage.ProvenanceRunTimestamp]: (runStartUtc) => `Run timestamp (UTC): ${runStartUtc}`,
|
|
144
|
+
[CoreMessage.ProvenanceSourceSha]: (sha) => `Source SHA: ${sha}`,
|
|
145
|
+
[CoreMessage.ProvenanceSourceShaUnknown]: "unknown (non-git target)",
|
|
146
|
+
[CoreMessage.ProvenanceToolSha]: (sha) => `Tool SHA: ${sha}`,
|
|
147
|
+
[CoreMessage.ProvenanceToolShaUnknown]: "unknown (not a git checkout)",
|
|
148
|
+
[CoreMessage.ProvenanceToolVersion]: (version) => `Tool version: ${version}`,
|
|
149
|
+
[CoreMessage.ConfigurationNotReadHeading]: "## Configuration not read",
|
|
150
|
+
[CoreMessage.ConfigurationNotReadIntro]: "The target's package.json holds configuration this run could not use. Each entry below was read as absent, and every account in this report is the one the target gives without it.",
|
|
151
|
+
[CoreMessage.ConfigurationWrongKind]: (entry, is, reads) => `${entry} is ${is} where ${reads} is read, so this run read it as absent.`,
|
|
152
|
+
[CoreMessage.ConfigurationUnknownKey]: (key) => `${key} is not a key the specController block reads, so this run read nothing from it.`,
|
|
153
|
+
[CoreMessage.RunIntegrityHeading]: "## Run integrity: unsound",
|
|
154
|
+
[CoreMessage.OneProofNeverRan]: "1 proof never ran, so the behaviour it proves was never exercised.",
|
|
155
|
+
[CoreMessage.ProofsNeverRan]: (count) => `${count} proofs never ran, so the behaviours they prove were never exercised.`,
|
|
156
|
+
[CoreMessage.RunUnsound]: (proofs) => `⚠ **This run is unsound.** ${proofs} A \`missing\` outcome ` +
|
|
157
|
+
"below may therefore be a BROKEN proof rather than an absent one — it cannot be read as " +
|
|
158
|
+
`"write the test", because the test may already be there. Fix the harness and regenerate.`,
|
|
159
|
+
[CoreMessage.BrokenEvidenceNotNamed]: "(evidence not named by the runner)",
|
|
160
|
+
[CoreMessage.BrokenEvidenceWhatBroke]: (locator) => `${locator} — what broke:`,
|
|
161
|
+
[CoreMessage.BrokenEvidenceNoMessage]: "(no message reported by the runner)",
|
|
162
|
+
[CoreMessage.ScenarioCodeErrorsHeading]: "## Scenario code errors",
|
|
163
|
+
[CoreMessage.OneScenarioCodeError]: "1 scenario code error",
|
|
164
|
+
[CoreMessage.ScenarioCodeErrorCount]: (count) => `${count} scenario code errors`,
|
|
165
|
+
[CoreMessage.ScenarioCodeErrorsFraming]: (count) => `${count} — each misfiles a scenario code, so the by-feature cut below cannot be trusted, and ` +
|
|
166
|
+
"the run fails (exit 1). Every account still reconciles as it would if the code were filed " +
|
|
167
|
+
"correctly.",
|
|
168
|
+
[CoreMessage.DuplicateScnCodeNotListed]: "A duplicated @SCN code is not listed here: it is reported on its account's rows, as `duplicate-scn-code`.",
|
|
169
|
+
[CoreMessage.FeatureFileNoun]: "feature file",
|
|
170
|
+
[CoreMessage.FeatureCodeNoun]: "feature code",
|
|
171
|
+
[CoreMessage.ScenarioCodesClean]: `Scenario codes are clean, and ${IN_ITS_FILE}.`,
|
|
172
|
+
[CoreMessage.NoFeatureFileJudged]: "No feature file was judged, so this section vouches for no scenario code.",
|
|
173
|
+
[CoreMessage.ScenarioCodesCleanOver]: (featureFiles, featureCodes) => `Scenario codes are clean over ${featureFiles} carrying ${featureCodes}`,
|
|
174
|
+
[CoreMessage.CleanNoCodedScenario]: (over, them) => `${over}: no scenario in ${them} carries an @SCN code to misfile.`,
|
|
175
|
+
[CoreMessage.CleanEachFileOwnCode]: (over) => `${over}: each file carries a code of its own, and ${IN_ITS_FILE}.`,
|
|
176
|
+
[CoreMessage.CleanOthersUncoded]: (over, uncoded, hold) => `${over}: each code is carried by exactly one file, ${IN_ITS_FILE}, and the other ${uncoded} ` +
|
|
177
|
+
`${hold} no coded scenario.`,
|
|
178
|
+
[CoreMessage.ItPronoun]: "it",
|
|
179
|
+
[CoreMessage.ThemPronoun]: "them",
|
|
180
|
+
[CoreMessage.HoldsVerb]: "holds",
|
|
181
|
+
[CoreMessage.HoldVerb]: "hold",
|
|
182
|
+
[CoreMessage.DuplicateFeatureCode]: (code, fileCount, files) => `the feature code @${code} is carried by ${fileCount} feature ` +
|
|
183
|
+
`files — ${files}. A feature code names exactly one feature file: a ` +
|
|
184
|
+
`reconciliation's by-feature cut groups on it, so two files sharing a code report as one ` +
|
|
185
|
+
`row and attribute one file's scenarios to the other. Give one of them a code of its own.`,
|
|
186
|
+
[CoreMessage.ForeignScnCodeOneCarrier]: (file, featureCode, scnId, named, carrier) => `${foreignOpening(file, featureCode, scnId, named)}it counts this scenario under ${carrier}'s row, not ${file}'s. ` +
|
|
187
|
+
`${recode(featureCode)}, or move it to ${carrier}.`,
|
|
188
|
+
[CoreMessage.ForeignScnCodeManyCarriers]: (file, featureCode, scnId, named, carrierCount, carriers) => `${foreignOpening(file, featureCode, scnId, named)}it counts this scenario under the one row for ${named}, which ${carrierCount} feature ` +
|
|
189
|
+
`files carry — ${carriers} — so that row cannot say which of them it belongs to. ` +
|
|
190
|
+
`${recode(featureCode)}, or move it once a single file carries ${named}.`,
|
|
191
|
+
[CoreMessage.ForeignScnCodeNoCarrier]: (file, featureCode, scnId, named) => `${foreignOpening(file, featureCode, scnId, named)}it opens a row for ${named}, which no feature file carries as its header code, so ` +
|
|
192
|
+
`that row stands for no file. ${recode(featureCode)}.`,
|
|
193
|
+
[CoreMessage.NoFeatureCode]: (file) => `${file} carries no feature code, but its scenarios carry @SCN codes. A feature ` +
|
|
194
|
+
`file is the class its scenarios' codes are filed under: give it a header code of its own, ` +
|
|
195
|
+
`and code its scenarios for it.`,
|
|
196
|
+
[CoreMessage.SummaryViewsHeading]: "## Summary views",
|
|
197
|
+
[CoreMessage.RunVerdictHeading]: "### Run verdict",
|
|
198
|
+
[CoreMessage.VerdictExit]: (code) => `exit ${code}`,
|
|
199
|
+
[CoreMessage.ScenarioCodeErrorsHeadline]: "**SCENARIO CODE ERRORS**",
|
|
200
|
+
[CoreMessage.ScenarioCodeErrorsGloss]: (alsoOutOfBalance) => "the corpus files a scenario code under the wrong feature, so the by-feature grouping " +
|
|
201
|
+
`cannot be trusted. Read \`## Scenario code errors\` above.${alsoOutOfBalance} This run FAILED.`,
|
|
202
|
+
[CoreMessage.AlsoOutOfBalance]: " The accounts do not agree either: at least one Scenario Reconciliation carries a reconciling item.",
|
|
203
|
+
[CoreMessage.OutOfBalanceHeadline]: "**OUT-OF-BALANCE**",
|
|
204
|
+
[CoreMessage.OutOfBalanceGloss]: "the accounts do not agree. At least one Scenario Reconciliation carries a reconciling item. This run FAILED.",
|
|
205
|
+
[CoreMessage.UnsoundHeadline]: "**UNSOUND**",
|
|
206
|
+
[CoreMessage.UnsoundGloss]: "the evidence could not be TRUSTED to reconcile. A proof never ran, so the behaviour " +
|
|
207
|
+
"it proves was never exercised. Read the run-integrity stamp above before any count " +
|
|
208
|
+
"below it.",
|
|
209
|
+
[CoreMessage.PendingHeadline]: "**PENDING**",
|
|
210
|
+
[CoreMessage.PendingGloss]: "every Scenario Reconciliation balances, but Pending Items are outstanding and this run " +
|
|
211
|
+
"treats a deferral as a failure (`--strict`). This run FAILED.",
|
|
212
|
+
[CoreMessage.BalancedHeadline]: "**BALANCED**",
|
|
213
|
+
[CoreMessage.BalancedGloss]: "every Scenario Reconciliation balances: scenario, phantom and suspense alike.",
|
|
214
|
+
[CoreMessage.NothingToReconcileHeadline]: "**NOTHING TO RECONCILE**",
|
|
215
|
+
[CoreMessage.NothingToReconcileGloss]: (corpusDir) => "there were no accounts to agree. The ledger carries no Scenario Reconciliation at " +
|
|
216
|
+
`all, so this run has NO BASIS FOR A VERDICT — nothing was declared in \`${corpusDir}\` ` +
|
|
217
|
+
"and nothing was produced. Not balanced: a run that examined nothing must not certify.",
|
|
218
|
+
[CoreMessage.PendingItemsOutstanding]: "⏳ Pending Items are outstanding — deferred, not out-of-balance, so the verdict stands. " +
|
|
219
|
+
"A run that treats a deferral as a failure gives exit 3 under `--strict`.",
|
|
220
|
+
[CoreMessage.EvidenceReconciliationHeading]: "### Evidence reconciliation",
|
|
221
|
+
[CoreMessage.SubjectColumn]: "Subject",
|
|
222
|
+
[CoreMessage.TotalColumn]: "Total",
|
|
223
|
+
[CoreMessage.BalancedColumn]: "Balanced",
|
|
224
|
+
[CoreMessage.OutOfBalanceColumn]: "Out-of-balance",
|
|
225
|
+
[CoreMessage.DetailColumn]: "Detail",
|
|
226
|
+
[CoreMessage.ScenarioReconciliationSubject]: "Scenario Reconciliation",
|
|
227
|
+
[CoreMessage.EvidenceObligationSubject]: "Evidence obligation",
|
|
228
|
+
[CoreMessage.PendingTally]: (pending) => `⏳ ${pending} Pending Item(s) — deferred, tallied apart from balanced and out-of-balance.`,
|
|
229
|
+
[CoreMessage.TestVolumeHeading]: "### Test volume",
|
|
230
|
+
[CoreMessage.TestVolumeSum]: (total, onScenario, onPhantomScenario, onSuspenseScenario) => `${total} evidence observations = ${onScenario} on scenarios + ${onPhantomScenario} on phantom scenarios + ${onSuspenseScenario} on the suspense scenario.`,
|
|
231
|
+
[CoreMessage.TestVolumeTableHeader]: "| Quality-check | Evidence observations |",
|
|
232
|
+
[CoreMessage.DiscoveryScopeHeading]: "### Discovery scope",
|
|
233
|
+
[CoreMessage.DiscoveryScopeTableHeader]: "| Workflow | Job | Steps read | Candidates |",
|
|
234
|
+
[CoreMessage.StaticChecksHeading]: "### Static checks",
|
|
235
|
+
[CoreMessage.StaticChecksCounts]: (running, uncited) => `${running} static check(s) run, ${uncited} uncited static check(s).`,
|
|
236
|
+
[CoreMessage.BehaviouralRunnersHeading]: "### Behavioural runners",
|
|
237
|
+
[CoreMessage.BehaviouralRunnersTableHeader]: "| Tier | Runner | Recognised at |",
|
|
238
|
+
[CoreMessage.RunnerTierNamesNone]: (tier) => `${tier} — no runner: the target names none.`,
|
|
239
|
+
[CoreMessage.RunnerTierUnnamed]: (tier) => `${tier} — unnamed: the target has not said.`,
|
|
240
|
+
[CoreMessage.RunnerKeyNotATier]: (key) => `${key} — not a tier: the runner block is keyed by the four canon tiers, and this key excludes nothing.`,
|
|
241
|
+
[CoreMessage.ReconcilerHeading]: "### The reconciler",
|
|
242
|
+
[CoreMessage.ReconcilerStep]: (step, whatItIs) => `${step} — the reconciler: ${whatItIs}.`,
|
|
243
|
+
[CoreMessage.ReconcilerReconciles]: "this step runs the reconciliation this report is",
|
|
244
|
+
[CoreMessage.ReconcilerRecords]: "this step writes the step record the reconciliation reads",
|
|
245
|
+
[CoreMessage.ExcludedStepsHeading]: "### Excluded steps",
|
|
246
|
+
[CoreMessage.StepExcluded]: (entry) => `${entry} — excluded: the target names this step a non-check.`,
|
|
247
|
+
[CoreMessage.NotChecksEntryMatchesNoStep]: (entry) => `${entry} — matches no step: the entry names nothing this run read.`,
|
|
248
|
+
[CoreMessage.StepAccountingHeading]: "### Step accounting",
|
|
249
|
+
[CoreMessage.StepAccountingTableHeader]: "| Steps read | Candidates | Runners | Reconciler | Excluded | Accounted for |",
|
|
250
|
+
[CoreMessage.EveryStepAccountedFor]: "every step this run read is accounted for.",
|
|
251
|
+
[CoreMessage.StepsNotAccountedFor]: (stepsRead, accountedFor) => `${stepsRead} step(s) read, ${accountedFor} accounted for — the four dispositions do not ` +
|
|
252
|
+
`add up to the steps this run read.`,
|
|
253
|
+
[CoreMessage.FitnessHeading]: "### Fitness evidence obligations",
|
|
254
|
+
[CoreMessage.FitnessSatisfiedOf]: (satisfied, total) => `${satisfied} of ${total} fitness evidence obligations reconcile satisfied.`,
|
|
255
|
+
[CoreMessage.FitnessTableHeader]: "| Scenario | Outcome |",
|
|
256
|
+
[CoreMessage.OutOfBalanceByFeatureHeading]: "### Out-of-balance by feature",
|
|
257
|
+
[CoreMessage.ScenarioRowsOutOfBalance]: (outOfBalance, rows) => `${outOfBalance} of ${rows} scenario rows out of balance`,
|
|
258
|
+
[CoreMessage.GroupedByFeature]: ", grouped by feature",
|
|
259
|
+
[CoreMessage.NotGroupedByFeature]: (ungrouped) => `${ungrouped} out of balance, not grouped by feature (no feature file names them)`,
|
|
260
|
+
[CoreMessage.PhantomScenarioRows]: (count) => `${count} phantom-scenario row(s)`,
|
|
261
|
+
[CoreMessage.SuspenseScenarioRows]: (count) => `${count} suspense-scenario row(s)`,
|
|
262
|
+
[CoreMessage.AndJoiner]: " and ",
|
|
263
|
+
[CoreMessage.ByFeatureTableHeader]: "| Feature | Count | Out-of-balance `@SCN` ids |",
|
|
264
|
+
[CoreMessage.UncodedScenarios]: (count) => `${count} with no \`@SCN\` code`,
|
|
265
|
+
[CoreMessage.ScenarioReconciliationsHeading]: "## Scenario Reconciliations",
|
|
266
|
+
[CoreMessage.ScenarioReconciliationTally]: (total, balanced, outOfBalance) => `${total} Scenario Reconciliation(s): ${balanced} balanced, ${outOfBalance} out-of-balance.`,
|
|
267
|
+
[CoreMessage.PhantomScenarioTally]: (count) => `${count} phantom-scenario(s): cited by an evidence observation, named by no feature.`,
|
|
268
|
+
[CoreMessage.SuspenseScenarioTally]: (count) => `${count} suspense-scenario(s): credits citing no scenario, aggregated into "(no scenario)".`,
|
|
269
|
+
[CoreMessage.ExcludedScnOccurrences]: (count) => `${count} @SCN ids seen in non-tag context, excluded`,
|
|
270
|
+
[CoreMessage.UntaggedScenarios]: (count) => `${count} scenario(s) carry no @SCN tag:`,
|
|
271
|
+
[CoreMessage.SharedScnCodes]: (scenarios, accounts, codes) => `The corpus holds ${scenarios} scenarios in ${accounts} accounts — ${codes} @SCN code(s) carried by more than one scenario:`,
|
|
272
|
+
[CoreMessage.LedgerTableHeader]: "| Scenario | Verdict | Reconciling items |",
|
|
273
|
+
[CoreMessage.ScenarioColumn]: "Scenario",
|
|
274
|
+
[CoreMessage.VerdictColumn]: "Verdict",
|
|
275
|
+
[CoreMessage.ReconcilingItemsColumn]: "Reconciling items",
|
|
276
|
+
[CoreMessage.PendingItem]: "⏳ pending",
|
|
277
|
+
[CoreMessage.PendingItemFor]: (qualityCheck) => `⏳ pending: ${qualityCheck}`,
|
|
278
|
+
};
|
|
279
|
+
//# sourceMappingURL=messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/domain/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qualityCheckReconciliationFault.js","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliationFault.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"qualityCheckReconciliationFault.js","sourceRoot":"","sources":["../../src/domain/qualityCheckReconciliationFault.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACnC;IAArB,YAAqB,KAAwB;QAC3C,KAAK,CAAE,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAC,KAAK,CAAC,CAAC,CAAC;QAD1E,UAAK,GAAL,KAAK,CAAmB;QAE3C,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarioCodeErrors.d.ts","sourceRoot":"","sources":["../../src/parse/scenarioCodeErrors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"scenarioCodeErrors.d.ts","sourceRoot":"","sources":["../../src/parse/scenarioCodeErrors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAIhG,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAW1F;AA6BD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAoBzF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAQxF;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,sBAAsB,CAEhG;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAMzF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { featureCodeOf } from "../domain/featureCode.js";
|
|
2
2
|
import { parseTaggedScenarios } from "./scenarios.js";
|
|
3
|
+
import { CORE_MESSAGES, CoreMessage } from "../domain/messages.js";
|
|
3
4
|
export function duplicateFeatureCodes(features) {
|
|
4
5
|
const faults = [];
|
|
5
6
|
for (const [code, files] of headerFilesByCode(features)) {
|
|
@@ -8,10 +9,7 @@ export function duplicateFeatureCodes(features) {
|
|
|
8
9
|
faults.push({
|
|
9
10
|
kind: "duplicate-feature-code",
|
|
10
11
|
files,
|
|
11
|
-
message:
|
|
12
|
-
`files — ${files.join(", ")}. A feature code names exactly one feature file: a ` +
|
|
13
|
-
`reconciliation's by-feature cut groups on it, so two files sharing a code report as one ` +
|
|
14
|
-
`row and attribute one file's scenarios to the other. Give one of them a code of its own.`,
|
|
12
|
+
message: CORE_MESSAGES[CoreMessage.DuplicateFeatureCode](code, files.length, files.join(", ")),
|
|
15
13
|
});
|
|
16
14
|
}
|
|
17
15
|
return faults;
|
|
@@ -26,20 +24,14 @@ function headerFilesByCode(features) {
|
|
|
26
24
|
return filesByCode;
|
|
27
25
|
}
|
|
28
26
|
function foreignMessage(file, scnId, named, carriers) {
|
|
29
|
-
const
|
|
30
|
-
`@${scnId}, whose feature part names ${named}. A reconciliation's by-feature cut groups on the id, so `;
|
|
31
|
-
const recode = `Re-code the scenario for @${file.featureCode}`;
|
|
27
|
+
const fileName = `${file.slug}.feature`;
|
|
32
28
|
if (carriers.length === 1) {
|
|
33
|
-
return (
|
|
34
|
-
`${recode}, or move it to ${carriers[0]}.`);
|
|
29
|
+
return CORE_MESSAGES[CoreMessage.ForeignScnCodeOneCarrier](fileName, file.featureCode, scnId, named, carriers[0]);
|
|
35
30
|
}
|
|
36
31
|
if (carriers.length > 1) {
|
|
37
|
-
return (
|
|
38
|
-
`files carry — ${carriers.join(", ")} — so that row cannot say which of them it belongs to. ` +
|
|
39
|
-
`${recode}, or move it once a single file carries ${named}.`);
|
|
32
|
+
return CORE_MESSAGES[CoreMessage.ForeignScnCodeManyCarriers](fileName, file.featureCode, scnId, named, carriers.length, carriers.join(", "));
|
|
40
33
|
}
|
|
41
|
-
return (
|
|
42
|
-
`that row stands for no file. ${recode}.`);
|
|
34
|
+
return CORE_MESSAGES[CoreMessage.ForeignScnCodeNoCarrier](fileName, file.featureCode, scnId, named);
|
|
43
35
|
}
|
|
44
36
|
export function foreignScenarioCodes(features) {
|
|
45
37
|
const carriersByCode = headerFilesByCode(features);
|
|
@@ -70,9 +62,7 @@ export function uncodedFeatureFiles(features) {
|
|
|
70
62
|
.map((file) => ({
|
|
71
63
|
kind: "no-feature-code",
|
|
72
64
|
files: [`${file.slug}.feature`],
|
|
73
|
-
message: `${file.slug}.feature
|
|
74
|
-
`file is the class its scenarios' codes are filed under: give it a header code of its own, ` +
|
|
75
|
-
`and code its scenarios for it.`,
|
|
65
|
+
message: CORE_MESSAGES[CoreMessage.NoFeatureCode](`${file.slug}.feature`),
|
|
76
66
|
}));
|
|
77
67
|
}
|
|
78
68
|
export function scenarioCodePopulationOf(features) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarioCodeErrors.js","sourceRoot":"","sources":["../../src/parse/scenarioCodeErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"scenarioCodeErrors.js","sourceRoot":"","sources":["../../src/parse/scenarioCodeErrors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behaviouralRunners.d.ts","sourceRoot":"","sources":["../../src/render/behaviouralRunners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"behaviouralRunners.d.ts","sourceRoot":"","sources":["../../src/render/behaviouralRunners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAmB9D,eAAO,MAAM,yBAAyB,GAAI,QAAQ,WAAW,KAAG,MAAM,EAoBrE,CAAC"}
|