@3f-consulting/spec-controller-core 0.1.0-alpha.4 → 0.1.0-alpha.6
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/README.md +3 -1
- package/dist/assemble/evidenceReconciliationFromSources.d.ts +4 -13
- package/dist/assemble/evidenceReconciliationFromSources.d.ts.map +1 -1
- package/dist/assemble/evidenceReconciliationFromSources.js +17 -22
- package/dist/assemble/evidenceReconciliationFromSources.js.map +1 -1
- package/dist/domain/checkCharacteristics.d.ts +22 -15
- package/dist/domain/checkCharacteristics.d.ts.map +1 -1
- package/dist/domain/checkCharacteristics.js +22 -15
- package/dist/domain/checkCharacteristics.js.map +1 -1
- package/dist/domain/evidenceReconciliation.d.ts +26 -2
- package/dist/domain/evidenceReconciliation.d.ts.map +1 -1
- package/dist/domain/evidenceReconciliation.js +164 -61
- package/dist/domain/evidenceReconciliation.js.map +1 -1
- package/dist/domain/fitnessChecks.d.ts +24 -35
- package/dist/domain/fitnessChecks.d.ts.map +1 -1
- package/dist/domain/fitnessChecks.js +3 -30
- package/dist/domain/fitnessChecks.js.map +1 -1
- package/dist/domain/journal.d.ts +13 -103
- package/dist/domain/journal.d.ts.map +1 -1
- package/dist/domain/journal.js +6 -19
- package/dist/domain/journal.js.map +1 -1
- package/dist/domain/ledger.d.ts.map +1 -1
- package/dist/domain/ledger.js +45 -34
- package/dist/domain/ledger.js.map +1 -1
- package/dist/domain/posting.d.ts.map +1 -1
- package/dist/domain/posting.js +4 -7
- package/dist/domain/posting.js.map +1 -1
- package/dist/domain/qualityCheckFaultMessages.d.ts +7 -2
- package/dist/domain/qualityCheckFaultMessages.d.ts.map +1 -1
- package/dist/domain/qualityCheckFaultMessages.js +7 -2
- package/dist/domain/qualityCheckFaultMessages.js.map +1 -1
- package/dist/domain/qualityCheckReconciliation.d.ts +21 -0
- package/dist/domain/qualityCheckReconciliation.d.ts.map +1 -1
- package/dist/domain/qualityCheckReconciliation.js +40 -105
- package/dist/domain/qualityCheckReconciliation.js.map +1 -1
- package/dist/domain/qualityCheckReconciliationFault.d.ts +3 -1
- package/dist/domain/qualityCheckReconciliationFault.d.ts.map +1 -1
- package/dist/domain/qualityCheckReconciliationFault.js +3 -1
- package/dist/domain/qualityCheckReconciliationFault.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +2 -10
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +24 -71
- package/dist/internal.js.map +1 -1
- package/dist/parse/checkScriptsRunInCI.d.ts +8 -7
- package/dist/parse/checkScriptsRunInCI.d.ts.map +1 -1
- package/dist/parse/checkScriptsRunInCI.js +7 -6
- package/dist/parse/checkScriptsRunInCI.js.map +1 -1
- package/dist/parse/ciStepRecord.d.ts +5 -17
- package/dist/parse/ciStepRecord.d.ts.map +1 -1
- package/dist/parse/ciStepRecord.js +7 -27
- package/dist/parse/ciStepRecord.js.map +1 -1
- package/dist/parse/corpusCodeFaults.d.ts +4 -4
- package/dist/parse/corpusCodeFaults.js +4 -4
- package/dist/parse/corpusFaults.d.ts +24 -36
- package/dist/parse/corpusFaults.d.ts.map +1 -1
- package/dist/parse/corpusFaults.js +16 -32
- package/dist/parse/corpusFaults.js.map +1 -1
- package/dist/parse/corpusGrammarFaults.d.ts +11 -73
- package/dist/parse/corpusGrammarFaults.d.ts.map +1 -1
- package/dist/parse/corpusGrammarFaults.js +27 -58
- package/dist/parse/corpusGrammarFaults.js.map +1 -1
- package/dist/parse/runningStaticChecks.d.ts +3 -2
- package/dist/parse/runningStaticChecks.d.ts.map +1 -1
- package/dist/parse/runningStaticChecks.js +3 -2
- package/dist/parse/runningStaticChecks.js.map +1 -1
- package/dist/parse/scenarios.d.ts +27 -12
- package/dist/parse/scenarios.d.ts.map +1 -1
- package/dist/parse/scenarios.js +47 -85
- package/dist/parse/scenarios.js.map +1 -1
- package/dist/parse/targetCorpus.d.ts +21 -11
- package/dist/parse/targetCorpus.d.ts.map +1 -1
- package/dist/parse/targetCorpus.js +16 -19
- package/dist/parse/targetCorpus.js.map +1 -1
- package/dist/parse/targetManifest.d.ts +10 -85
- package/dist/parse/targetManifest.d.ts.map +1 -1
- package/dist/parse/targetManifest.js +47 -137
- package/dist/parse/targetManifest.js.map +1 -1
- package/dist/provenance/provenance.d.ts +8 -11
- package/dist/provenance/provenance.d.ts.map +1 -1
- package/dist/provenance/provenance.js +2 -3
- package/dist/provenance/provenance.js.map +1 -1
- package/dist/render/evidenceGrid.d.ts +45 -0
- package/dist/render/evidenceGrid.d.ts.map +1 -0
- package/dist/render/evidenceGrid.js +145 -0
- package/dist/render/evidenceGrid.js.map +1 -0
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +85 -190
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/runVerdict.d.ts +3 -2
- package/dist/render/runVerdict.d.ts.map +1 -1
- package/dist/render/runVerdict.js +3 -2
- package/dist/render/runVerdict.js.map +1 -1
- package/dist/render/staticChecks.d.ts.map +1 -1
- package/dist/render/staticChecks.js +10 -1
- package/dist/render/staticChecks.js.map +1 -1
- package/package.json +1 -1
- package/dist/domain/thresholds.d.ts +0 -123
- package/dist/domain/thresholds.d.ts.map +0 -1
- package/dist/domain/thresholds.js +0 -185
- package/dist/domain/thresholds.js.map +0 -1
- package/dist/parse/checkStaticEvidenceObligations.d.ts +0 -32
- package/dist/parse/checkStaticEvidenceObligations.d.ts.map +0 -1
- package/dist/parse/checkStaticEvidenceObligations.js +0 -78
- package/dist/parse/checkStaticEvidenceObligations.js.map +0 -1
- package/dist/parse/corpusClaimFaults.d.ts +0 -104
- package/dist/parse/corpusClaimFaults.d.ts.map +0 -1
- package/dist/parse/corpusClaimFaults.js +0 -128
- package/dist/parse/corpusClaimFaults.js.map +0 -1
- package/dist/parse/measurements.d.ts +0 -47
- package/dist/parse/measurements.d.ts.map +0 -1
- package/dist/parse/measurements.js +0 -65
- package/dist/parse/measurements.js.map +0 -1
- package/dist/render/measuredItem.d.ts +0 -30
- package/dist/render/measuredItem.d.ts.map +0 -1
- package/dist/render/measuredItem.js +0 -43
- package/dist/render/measuredItem.js.map +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* THE GRAMMAR RULES of `spec-controller tags` — everything about whether a TAG on a scenario
|
|
3
|
-
* means anything. Its
|
|
4
|
-
*
|
|
5
|
-
*
|
|
3
|
+
* means anything. Its sibling holds the other question: `corpusCodeFaults.ts` whether a feature
|
|
4
|
+
* code binds to one feature file. `corpusFaults.ts` composes the two and is the only entry point
|
|
5
|
+
* either of them has.
|
|
6
6
|
*
|
|
7
7
|
* THE SEAM, STATED FROM THIS SIDE. A grammar rule asks *is this word part of the `@SCN` scheme*,
|
|
8
8
|
* and the answer is assembled from places that are not this module's: the engine's own
|
|
9
9
|
* quality-check maps, the `SCN-<FFF>-<NNN>` spelling `featureCodeOf` owns, and the target's own
|
|
10
|
-
* manifest. A code rule needs none of those; it reads the corpus's shape.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
10
|
+
* manifest. A code rule needs none of those; it reads the corpus's shape. Two questions, two
|
|
11
|
+
* modules; the split happened when the joined module reached the 400-line `max-lines` ceiling
|
|
12
|
+
* with four more grammar clauses still to land (@SCN-FIT-001, and never an exception entry). The
|
|
13
|
+
* claim rule that once made a third sibling left with the measured axis (3F-3516): once the axis
|
|
14
|
+
* word is the only word that names a check, no scenario can claim two.
|
|
15
15
|
*
|
|
16
16
|
* AND THE TARGET'S HALF IS RESOLVED HERE, NOT HANDED IN RESOLVED. The composition hands this
|
|
17
17
|
* module a manifest rather than an answer, so the read lives beside the rule that uses it — the
|
|
@@ -25,10 +25,9 @@
|
|
|
25
25
|
* agree with its source by diligence and then drift, and the check that then reds is the one
|
|
26
26
|
* telling authors which words are legitimate.
|
|
27
27
|
*/
|
|
28
|
-
import { measuredCheckTags } from "../domain/thresholds.js";
|
|
29
28
|
import { featureCodeOf } from "../lib/featureCode.js";
|
|
30
29
|
import { FITNESS_AXIS_TAG, PENDING_QUALITY_CHECK_TAGS, RUNTIME_QUALITY_CHECK_TAGS, parseTaggedScenarios, } from "./scenarios.js";
|
|
31
|
-
import { resolveDeferralTags
|
|
30
|
+
import { resolveDeferralTags } from "./targetManifest.js";
|
|
32
31
|
/**
|
|
33
32
|
* The tier tags an unrecognised tag is measured against, and the set that answers whether a tag
|
|
34
33
|
* NAMES a tier at all.
|
|
@@ -67,10 +66,11 @@ const TIER_TAGS = [
|
|
|
67
66
|
*
|
|
68
67
|
* NO BARE TAG NAMES A CHECK ANY LONGER (3F-3161). The target's own check registry used to be
|
|
69
68
|
* read here as the TARGET's answer for which bare words meant a check; that reading is retired,
|
|
70
|
-
* and a bare check tag is grammar nowhere now, registered or not
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
69
|
+
* and a bare check tag is grammar nowhere now, registered or not. The measured tags read off the
|
|
70
|
+
* target's own thresholds left with the measured axis (3F-3516), so the one word this function
|
|
71
|
+
* admits beside the scheme's own tiers is the converted axis word — and it reads no manifest to
|
|
72
|
+
* find it, because the word is the model's. A target still writing a bare check tag is read
|
|
73
|
+
* nowhere by this assembly, which is the whole of what @SCN-STG-005 changed.
|
|
74
74
|
*
|
|
75
75
|
* AND THE AXIS WORD IS NOT THE TARGET'S TO GRANT (3F-3138, 3F-3149). A CONVERTED check carries
|
|
76
76
|
* one word for the whole axis and puts its CHARACTERISTIC on a configured row, so the retired
|
|
@@ -85,35 +85,9 @@ const TIER_TAGS = [
|
|
|
85
85
|
* there is. Redding it here too would print half of one fault in a second place with the wrong
|
|
86
86
|
* remedy attached — *this word means nothing here*, said to an author whose scenario names the
|
|
87
87
|
* one axis the model has.
|
|
88
|
-
*
|
|
89
|
-
* AND THE MEASURED SOURCE IS THE OTHER (@SCN-STG-009). A measured check produces a number held
|
|
90
|
-
* against an authored ceiling; nothing invokes it, so it has no runnable script handle and was
|
|
91
|
-
* never named by a registry either — the only place it is named is the target's thresholds. Skip
|
|
92
|
-
* them and a target's `@ci-run-time` row reds on the very tag its own obligation was raised from,
|
|
93
|
-
* which is why this assembly still has two sources rather than collapsing to the axis word alone.
|
|
94
|
-
*
|
|
95
|
-
* AND IT HAS A SECOND READER SINCE 3F-3307, which is what makes "one assembly" a fact rather than
|
|
96
|
-
* a habit. `corpusClaimFaults.ts` asks a different question over this same set — how many of these
|
|
97
|
-
* words one scenario may claim — and IMPORTS this function rather than rebuilding it. A rule
|
|
98
|
-
* counting a narrower set than the grammar admits would green a corpus claiming two checks by one
|
|
99
|
-
* of the words the grammar had just called legitimate; a wider one would red a word no obligation
|
|
100
|
-
* is ever raised from. It is exported for that reason and no other: it is not on the barrel, and a
|
|
101
|
-
* consumer's route to this capability stays the CLI.
|
|
102
|
-
*
|
|
103
|
-
* THE THRESHOLD READ TAKES THE KILL-FLOOR READER, and taking it is the discipline rather than a
|
|
104
|
-
* need this rule can feel. A bar may name a mutation gate instead of a figure (@SCN-MUT-012), so
|
|
105
|
-
* resolving one means opening that gate's record on the target's own tree — the closure the
|
|
106
|
-
* command's edge builds over the target root, the same one the reconciliation beside it hands to
|
|
107
|
-
* the same resolver. What it returns cannot move THIS answer: a threshold KEY survives whatever
|
|
108
|
-
* its bar resolves to (@SCN-MUT-003), and the key set is the whole of what is read here. So a
|
|
109
|
-
* cheaper reading would agree with the resolver today — and be a second answer the first time a
|
|
110
|
-
* bar decided a key. The set is resolved once, by the resolver that owns it.
|
|
111
88
|
*/
|
|
112
|
-
|
|
113
|
-
return [
|
|
114
|
-
...measuredCheckTags(resolveThresholds(packageJson, killFloor)),
|
|
115
|
-
FITNESS_AXIS_TAG,
|
|
116
|
-
];
|
|
89
|
+
function checkTagsOf() {
|
|
90
|
+
return [FITNESS_AXIS_TAG];
|
|
117
91
|
}
|
|
118
92
|
/** Levenshtein distance, uncapped — the strings here are tag-length. */
|
|
119
93
|
function editDistance(a, b) {
|
|
@@ -201,11 +175,12 @@ function unrecognisedTagFault(tag) {
|
|
|
201
175
|
/**
|
|
202
176
|
* Is this tag part of the `@SCN` scheme's grammar, on a scenario in this file?
|
|
203
177
|
*
|
|
204
|
-
* SIX CLAUSES, AND ONE OF THEM CARRIES THE WHOLE CHECK-TAG
|
|
205
|
-
* scheme's own words, the target's deferral set, and `checkTagsOf`'s
|
|
206
|
-
*
|
|
207
|
-
* and then shrank
|
|
208
|
-
* of assembling it there: a clause reading one source at a time would have had to move
|
|
178
|
+
* SIX CLAUSES, AND ONE OF THEM CARRIES THE WHOLE CHECK-TAG SET. What this rule reaches is the
|
|
179
|
+
* scheme's own words, the target's deferral set, and `checkTagsOf`'s one word — the axis word (a
|
|
180
|
+
* bare check tag is grammar nowhere now, 3F-3161, and the measured tags left with the measured
|
|
181
|
+
* axis, 3F-3516). That the set grew and then shrank to one source changed nothing here, which is
|
|
182
|
+
* the point of assembling it there: a clause reading one source at a time would have had to move
|
|
183
|
+
* with it.
|
|
209
184
|
*
|
|
210
185
|
* THE FILE'S HEADER CODE IS GRAMMAR, and that clause is new rather than moved. `@TGT` sits on the
|
|
211
186
|
* `Feature:` line and `parseTaggedScenarios` inherits it onto every scenario beneath, exactly as
|
|
@@ -281,9 +256,8 @@ function isGrammar(tag, scenarioId, featureCode, deferralTags, checkTags) {
|
|
|
281
256
|
*
|
|
282
257
|
* @param features the target's discovered feature files, read once at the edge.
|
|
283
258
|
* @param packageJson the TARGET's manifest, read HERE through the same resolvers the ingest edge
|
|
284
|
-
* reads it with — one reading of `specController.deferralTags` (@SCN-PND-021)
|
|
285
|
-
*
|
|
286
|
-
* the words the engine beside it honours as a skip and raises obligations from.
|
|
259
|
+
* reads it with — one reading of `specController.deferralTags` (@SCN-PND-021), so the words this
|
|
260
|
+
* rule calls legitimate are exactly the words the engine beside it honours as a skip.
|
|
287
261
|
* The target's own check registry is retired and read nowhere in this assembly (@SCN-STG-005,
|
|
288
262
|
* 3F-3161). A set handed in already resolved would have been a second answer travelling under the
|
|
289
263
|
* first's name.
|
|
@@ -292,18 +266,13 @@ function isGrammar(tag, scenarioId, featureCode, deferralTags, checkTags) {
|
|
|
292
266
|
* strings — and a copy held in core would be a second statement of it. Pass none and this clause
|
|
293
267
|
* recognises nothing it was not given, which is the difference between owning a policy and
|
|
294
268
|
* hard-coding someone else's.
|
|
295
|
-
* @param killFloor the reader over the TARGET's mutation records, threaded through to the
|
|
296
|
-
* threshold resolution because a bar may name a gate rather than a figure (@SCN-MUT-012). It is
|
|
297
|
-
* the edge's closure over the target root, so the ceilings this rule reads and the records they
|
|
298
|
-
* reach answer for one tree.
|
|
299
269
|
*/
|
|
300
|
-
export function unrecognisedTags(features, packageJson, starterDeferralTags
|
|
270
|
+
export function unrecognisedTags(features, packageJson, starterDeferralTags) {
|
|
301
271
|
const deferralTags = resolveDeferralTags(packageJson, starterDeferralTags);
|
|
302
272
|
// Both sets are resolved ONCE, before the walk, rather than per tag: the manifest cannot change
|
|
303
273
|
// mid-corpus, and one resolution is what makes "the same set the obligation rule reads" a fact
|
|
304
|
-
// about this run rather than about each tag's turn through it.
|
|
305
|
-
|
|
306
|
-
const checkTags = checkTagsOf(packageJson, killFloor);
|
|
274
|
+
// about this run rather than about each tag's turn through it.
|
|
275
|
+
const checkTags = checkTagsOf();
|
|
307
276
|
const faults = [];
|
|
308
277
|
for (const file of features) {
|
|
309
278
|
for (const scenario of parseTaggedScenarios(file.source)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corpusGrammarFaults.js","sourceRoot":"","sources":["../../src/parse/corpusGrammarFaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"corpusGrammarFaults.js","sourceRoot":"","sources":["../../src/parse/corpusGrammarFaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
* THE ONLY STATIC-CHECK OBSERVER THE RECONCILIATION COMPOSITION WIRES IN (3F-3397). Discovery and
|
|
31
31
|
* attribution are one reader now: every running check reaches the books here, and the `citedScn`
|
|
32
32
|
* seam below stamps the credit's row as the step is observed — there is no second, obligation-side
|
|
33
|
-
* reader left to keep in agreement with it
|
|
34
|
-
*
|
|
33
|
+
* reader left to keep in agreement with it — and since 3F-3410 there is no such reader ANYWHERE:
|
|
34
|
+
* the obligation-side observer this sentence used to point at has been deleted, so this is the only
|
|
35
|
+
* static-check observer there is, not merely the only one wired in. The CI-parse walk still
|
|
35
36
|
* comes from `checkScriptsRunInCI` (`ciWorkflowSteps`, of which `ciRunSteps` and `ciRunCommands`
|
|
36
37
|
* are the projections / `commandInvokesScript`).
|
|
37
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runningStaticChecks.d.ts","sourceRoot":"","sources":["../../src/parse/runningStaticChecks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runningStaticChecks.d.ts","sourceRoot":"","sources":["../../src/parse/runningStaticChecks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAEH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAwD5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EAChD,uBAAuB,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,GACzD,OAAO,CAET;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,cAAc,EACpB,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAC/C,OAAO,CAET;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,kBAAkB,EAgB/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,EAgChD,QAAQ,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,cAAc,GAAG,IAAiB,EAuBtF,uBAAuB,GAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAqB,GACvE,wBAAwB,EAAE,CA8D5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,GAC/C,iBAAiB,EAAE,CAarB"}
|
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
* THE ONLY STATIC-CHECK OBSERVER THE RECONCILIATION COMPOSITION WIRES IN (3F-3397). Discovery and
|
|
31
31
|
* attribution are one reader now: every running check reaches the books here, and the `citedScn`
|
|
32
32
|
* seam below stamps the credit's row as the step is observed — there is no second, obligation-side
|
|
33
|
-
* reader left to keep in agreement with it
|
|
34
|
-
*
|
|
33
|
+
* reader left to keep in agreement with it — and since 3F-3410 there is no such reader ANYWHERE:
|
|
34
|
+
* the obligation-side observer this sentence used to point at has been deleted, so this is the only
|
|
35
|
+
* static-check observer there is, not merely the only one wired in. The CI-parse walk still
|
|
35
36
|
* comes from `checkScriptsRunInCI` (`ciWorkflowSteps`, of which `ciRunSteps` and `ciRunCommands`
|
|
36
37
|
* are the projections / `commandInvokesScript`).
|
|
37
38
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runningStaticChecks.js","sourceRoot":"","sources":["../../src/parse/runningStaticChecks.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runningStaticChecks.js","sourceRoot":"","sources":["../../src/parse/runningStaticChecks.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
* Parent: @SCN-LDG-001.
|
|
27
27
|
*/
|
|
28
28
|
import type { Scenario, QualityCheck } from "../model.js";
|
|
29
|
-
import {
|
|
30
|
-
import { type FitnessCheckIndex } from "../domain/fitnessChecks.js";
|
|
29
|
+
import type { FitnessCheckIndex, UnspecifiedFitnessRow } from "../domain/fitnessChecks.js";
|
|
31
30
|
/**
|
|
32
31
|
* Recognise a `<quality-check>pending` tag (evidence-manifesto §11B) — return its deferred
|
|
33
32
|
* quality-check, or `null` when the bare tag is not one of the five recognised `<qc>pending`
|
|
@@ -123,6 +122,28 @@ export declare const FITNESS_AXIS_TAG = "fitness";
|
|
|
123
122
|
* half-converted checks where there is one.
|
|
124
123
|
*/
|
|
125
124
|
export declare function unconfiguredFitnessScenarios(scenarios: readonly TaggedScenario[], fitnessChecks: FitnessCheckIndex): string[];
|
|
125
|
+
/**
|
|
126
|
+
* THE CONFIGURED ROWS THE CORPUS CARRIES NO SCENARIO FOR (3F-3472, @SCN-LNT-027) — the mirror of
|
|
127
|
+
* `unconfiguredFitnessScenarios` directly above, in MANIFEST order.
|
|
128
|
+
*
|
|
129
|
+
* THE RUN DOES NOT ALREADY RED ON IT, WHICH IS THE WHOLE DIFFERENCE BETWEEN THE TWO. Its mirror
|
|
130
|
+
* adds only a sentence, because a scenario no row names already reconciles to zero rows on both
|
|
131
|
+
* sides and is out of balance through the degenerate item. A row no scenario names raised NOTHING:
|
|
132
|
+
* the obligations travel with the scenarios, so a row with no scenario contributed a characteristic
|
|
133
|
+
* nobody asked for and the run read balanced over a check that was declared and never specified.
|
|
134
|
+
* `double-entry-manifesto.md` names that shape exactly — a ledger catches a credit that never
|
|
135
|
+
* arrived and is blind to a debit that was never raised.
|
|
136
|
+
*
|
|
137
|
+
* IT READS THE WALK IT IS HANDED, for its mirror's reason: a second walk would be free to disagree
|
|
138
|
+
* about which scenarios the corpus holds, and a row raised against a corpus the obligations were
|
|
139
|
+
* not taken from is the phantom-row fault (@SCN-LNT-009) reached from the manifest side.
|
|
140
|
+
*
|
|
141
|
+
* EVERY `@SCN`-CARRYING SCENARIO COUNTS, NOT THE `@fitness` ONES ALONE. The claim is that the
|
|
142
|
+
* corpus carries no scenario for the row — so a scenario carrying the row's code and saying nothing
|
|
143
|
+
* about the fitness axis is still a scenario somebody wrote under that code, and minting a debit
|
|
144
|
+
* beside it would report a check nobody has specified where one has been started.
|
|
145
|
+
*/
|
|
146
|
+
export declare function unspecifiedFitnessRows(scenarios: readonly TaggedScenario[], fitnessChecks: FitnessCheckIndex): UnspecifiedFitnessRow[];
|
|
126
147
|
/**
|
|
127
148
|
* One `@SCN`-carrying scenario as the corpus READS it, before any obligation rule is applied:
|
|
128
149
|
* its id and its EFFECTIVE tag set (its own tags, then everything it inherits from its `Rule:`
|
|
@@ -209,16 +230,10 @@ export declare function parseTaggedScenarios(source: string): TaggedScenario[];
|
|
|
209
230
|
* reads exactly the corpus it read before. A target that has registered nothing raises no fitness
|
|
210
231
|
* obligations, which is what lets the bare-tag reading land ahead of the corpus sweep that uses it.
|
|
211
232
|
*
|
|
212
|
-
* `thresholds` — the target's authored ceilings (@SCN-CIP-001) — is trailing and optional for the
|
|
213
|
-
* same reason, and carries the scenario's own `scnId` into the obligation rule: a measured check's
|
|
214
|
-
* ceiling is keyed by the row it is owed on, so the rule cannot be applied to a tag set alone.
|
|
215
|
-
* Empty by default, so a target that has authored no ceiling raises no measured obligation and the
|
|
216
|
-
* axis is dormant.
|
|
217
|
-
*
|
|
218
233
|
* `fitnessChecks` — the target's CONFIGURED ROWS (@SCN-LNT-018) — is trailing and optional for the
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
* target that has converted nothing raises nothing on this route.
|
|
234
|
+
* same reason, and carries the scenario's own `scnId` into the obligation rule: a converted check's
|
|
235
|
+
* characteristic is keyed by the row it is owed on, so the rule cannot be applied to a tag set
|
|
236
|
+
* alone. Empty by default, so a target that has converted nothing raises nothing on this route.
|
|
222
237
|
*/
|
|
223
|
-
export declare function parseScenarios(source: string, deferralTags?: readonly string[], checkTags?: readonly string[],
|
|
238
|
+
export declare function parseScenarios(source: string, deferralTags?: readonly string[], checkTags?: readonly string[], fitnessChecks?: FitnessCheckIndex): Scenario[];
|
|
224
239
|
//# sourceMappingURL=scenarios.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarios.d.ts","sourceRoot":"","sources":["../../src/parse/scenarios.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAsB,YAAY,EAAuB,MAAM,aAAa,CAAC;AACnG,OAAO,
|
|
1
|
+
{"version":3,"file":"scenarios.d.ts","sourceRoot":"","sources":["../../src/parse/scenarios.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAsB,YAAY,EAAuB,MAAM,aAAa,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAoB3F;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAEpE;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAEvD,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAAsC,CAAC;AAiB/F;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAe1D;AAYD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB/D;AA6DD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAwC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,aAAa,EAAE,iBAAiB,GAC/B,MAAM,EAAE,CAQV;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,aAAa,EAAE,iBAAiB,GAC/B,qBAAqB,EAAE,CAQzB;AAsED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;CACjB;AAkFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE,CA0CrE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,SAAS,MAAM,EAAO,EACpC,SAAS,GAAE,SAAS,MAAM,EAAO,EACjC,aAAa,GAAE,iBAA6B,GAC3C,QAAQ,EAAE,CAWZ"}
|
package/dist/parse/scenarios.js
CHANGED
|
@@ -28,8 +28,6 @@
|
|
|
28
28
|
import { AstBuilder, GherkinClassicTokenMatcher, Parser } from "@cucumber/gherkin";
|
|
29
29
|
import { IdGenerator } from "@cucumber/messages";
|
|
30
30
|
import { bareTerm } from "../lib/bareTerm.js";
|
|
31
|
-
import { measuredCheckTags, thresholdFor } from "../domain/thresholds.js";
|
|
32
|
-
import { carriesBar } from "../domain/fitnessChecks.js";
|
|
33
31
|
const SCN_CODE = /^SCN-[A-Z0-9]+-\d+$/;
|
|
34
32
|
/**
|
|
35
33
|
* The recognised `<quality-check>pending` lexicon (evidence-manifesto §11B) — a bare tag
|
|
@@ -198,9 +196,10 @@ export function parseUntaggedScenarios(source) {
|
|
|
198
196
|
* `stepless` boolean on after the rule stopped reading it, kept by a reason that was wrong twice
|
|
199
197
|
* (3F-3134): it named `parse/scnTags.ts` as the surviving reader, which is not a path in this
|
|
200
198
|
* repository, and the corpus check it meant computed its own steplessness off its own line parser
|
|
201
|
-
* and never read this one. Both rules that reason named read the
|
|
202
|
-
*
|
|
203
|
-
*
|
|
199
|
+
* and never read this one. Both rules that reason named read the tag instead (@SCN-STG-005, and
|
|
200
|
+
* the one-check rule until it left with the measured axis; 3F-3126, 3F-3516). So nothing asked
|
|
201
|
+
* the walk for a scenario's SHAPE, and the walk stopped answering: steplessness is derived
|
|
202
|
+
* nowhere in this tree, and a scenario's axis is its tag.
|
|
204
203
|
*
|
|
205
204
|
* SUPPLIED, NOT INFERRED. `checkTags` is the caller's set of recognised check tags, taken as
|
|
206
205
|
* data. Without it every unrecognised tag would be a candidate check and `@smoke` would owe one;
|
|
@@ -212,50 +211,15 @@ export function parseUntaggedScenarios(source) {
|
|
|
212
211
|
* its own plus its `Rule:`'s and its `Feature:`'s (@SCN-LDG-020), so one check can reach one
|
|
213
212
|
* scenario twice and is owed once. Two obligations for one check would leave the second `missing`
|
|
214
213
|
* for ever — one run is one credit and can cite one `@SCN`.
|
|
215
|
-
*
|
|
216
|
-
* MEASURED CHECKS JOIN THROUGH THE SAME ARM (@SCN-CIP-001), because they are the same rule: a bare
|
|
217
|
-
* tag on a scenario, owed once. What differs is what the obligation HOLDS. A measured check
|
|
218
|
-
* is assessed by running the suite and measuring it, so its evidence is a number and its obligation
|
|
219
|
-
* carries the CEILING that number is held against — read for THIS scenario, since canon's own shape
|
|
220
|
-
* for the axis is several stepless scenarios sharing one characteristic with ceilings of their own.
|
|
221
|
-
*
|
|
222
|
-
* A MEASURED TAG IS RECOGNISED BY THE THRESHOLD INDEX. A measured check has no runnable script
|
|
223
|
-
* handle — nothing invokes `ci-run-time` — so a set built from discovered handles alone cannot
|
|
224
|
-
* name it, and a rule reading that alone would raise nothing for it: silent, which is worse than
|
|
225
|
-
* wrong.
|
|
226
|
-
*
|
|
227
|
-
* `measured: true` IS SET WHETHER OR NOT A CEILING WAS FOUND, and that is the point. The flag routes
|
|
228
|
-
* the obligation to the comparison arm; the missing ceiling is what that arm then reports
|
|
229
|
-
* (@SCN-CIP-002). Marking it measured only when a ceiling exists would send an un-authored one down
|
|
230
|
-
* the static route, to be reported as a check nobody wrote — the wrong cure for the actual fault.
|
|
231
214
|
*/
|
|
232
|
-
function fitnessObligationsOf(tags, checkTags, seen
|
|
215
|
+
function fitnessObligationsOf(tags, checkTags, seen) {
|
|
233
216
|
const registered = new Set(checkTags);
|
|
234
|
-
const measured = new Set(measuredCheckTags(thresholds));
|
|
235
217
|
const raised = [];
|
|
236
218
|
for (const tag of tags) {
|
|
237
|
-
if (
|
|
219
|
+
if (!registered.has(tag) || seen.has(tag))
|
|
238
220
|
continue;
|
|
239
221
|
seen.add(tag);
|
|
240
|
-
|
|
241
|
-
raised.push({ qualityCheck: "lint", staticCheck: tag });
|
|
242
|
-
continue;
|
|
243
|
-
}
|
|
244
|
-
const bar = thresholdFor(thresholds, scnId, tag);
|
|
245
|
-
raised.push({
|
|
246
|
-
qualityCheck: "lint",
|
|
247
|
-
staticCheck: tag,
|
|
248
|
-
measured: true,
|
|
249
|
-
// Spread rather than `threshold: bar?.threshold ?? undefined`, so an obligation with no
|
|
250
|
-
// authored bar carries no key at all — the absence is a fact about the manifest, and a row
|
|
251
|
-
// serialising `"threshold": null` would read as a bar somebody wrote.
|
|
252
|
-
//
|
|
253
|
-
// THE WHOLE BAR IS SPREAD, not its number picked out (@SCN-MUT-001). The bar and the
|
|
254
|
-
// obligation hold the comparison in the same sparse terms, so a bare-number entry lands
|
|
255
|
-
// exactly the keys it landed before the comparison existed, and the direction cannot be
|
|
256
|
-
// dropped in transit by a reader that only knew to copy the number.
|
|
257
|
-
...(bar !== null ? bar : {}),
|
|
258
|
-
});
|
|
222
|
+
raised.push({ qualityCheck: "lint", staticCheck: tag });
|
|
259
223
|
}
|
|
260
224
|
return raised;
|
|
261
225
|
}
|
|
@@ -270,7 +234,7 @@ function fitnessObligationsOf(tags, checkTags, seen, scnId, thresholds) {
|
|
|
270
234
|
export const FITNESS_AXIS_TAG = "fitness";
|
|
271
235
|
/**
|
|
272
236
|
* The obligation a CONVERTED check's scenario raises (@SCN-LNT-018) — the characteristic its
|
|
273
|
-
* CONFIGURED ROW names, once
|
|
237
|
+
* CONFIGURED ROW names, once.
|
|
274
238
|
*
|
|
275
239
|
* THE TAG NAMES THE AXIS AND THE ROW NAMES THE SUBJECT. A bare characteristic tag answered both at
|
|
276
240
|
* once; the tier tags answer only the first, and nobody mints `@unit-parser`. So a converted
|
|
@@ -282,19 +246,6 @@ export const FITNESS_AXIS_TAG = "fitness";
|
|
|
282
246
|
* pair key, the reconciler's static arm and the roll-up are untouched: only where the word came
|
|
283
247
|
* from changed.
|
|
284
248
|
*
|
|
285
|
-
* THE ROW'S SHAPE SAYS WHICH OF THE TWO OBLIGATION SHAPES IT IS (@SCN-LNT-019) — no type field, no
|
|
286
|
-
* second tag, no roster of measured characteristics. A row carrying a bar is measured and one
|
|
287
|
-
* carrying none is static, which is the discrimination `thresholdsOf` has always made: a check with
|
|
288
|
-
* no entry there is already the static case. `carriesBar` is the ONE spelling of that question, and
|
|
289
|
-
* the credit side asks it too — a measured row's credit is its NUMBER, so its step's outcome raises
|
|
290
|
-
* none beside it, and two readers of one fact would eventually differ about the row whose bar
|
|
291
|
-
* nothing can read.
|
|
292
|
-
*
|
|
293
|
-
* `measured: true` IS SET WHETHER OR NOT A BAR COULD BE READ, exactly as the registered-tag arm
|
|
294
|
-
* sets it. The flag routes the obligation to the comparison arm and the bar nobody wrote is what
|
|
295
|
-
* that arm then reports (@SCN-CIP-002); marking a row measured only where a readable bar was found
|
|
296
|
-
* would send an un-authored one down the static route, to be reported as a check nobody wrote.
|
|
297
|
-
*
|
|
298
249
|
* NO REGISTRY HOP, and that is what conversion retires. An unconverted static check is discovered
|
|
299
250
|
* as a script handle, and a handle does not know what it is for — hence the (now-retired)
|
|
300
251
|
* registry, and hence the corpus lookup behind it. This route reads the citation off the row
|
|
@@ -313,21 +264,7 @@ function convertedFitnessObligationsOf(tags, fitnessChecks, seen, scnId) {
|
|
|
313
264
|
if (row === undefined || seen.has(row.characteristic))
|
|
314
265
|
return [];
|
|
315
266
|
seen.add(row.characteristic);
|
|
316
|
-
|
|
317
|
-
return [{ qualityCheck: "lint", staticCheck: row.characteristic }];
|
|
318
|
-
const bar = row.bar ?? null;
|
|
319
|
-
return [
|
|
320
|
-
{
|
|
321
|
-
qualityCheck: "lint",
|
|
322
|
-
staticCheck: row.characteristic,
|
|
323
|
-
measured: true,
|
|
324
|
-
// THE WHOLE BAR IS SPREAD, not its number picked out (@SCN-MUT-001) — the direction is half
|
|
325
|
-
// of the bar, and a reader that only knew to copy the number would drop it in transit. Spread
|
|
326
|
-
// rather than assigned, so a measured row whose bar nothing could read carries no key at all:
|
|
327
|
-
// `"threshold": null` would serialise as a bar somebody wrote.
|
|
328
|
-
...(bar !== null ? bar : {}),
|
|
329
|
-
},
|
|
330
|
-
];
|
|
267
|
+
return [{ qualityCheck: "lint", staticCheck: row.characteristic }];
|
|
331
268
|
}
|
|
332
269
|
/**
|
|
333
270
|
* The scenarios ON the fitness axis that no configured row NAMES (@SCN-LNT-020) — a corpus that has
|
|
@@ -372,12 +309,43 @@ export function unconfiguredFitnessScenarios(scenarios, fitnessChecks) {
|
|
|
372
309
|
}
|
|
373
310
|
return unconfigured;
|
|
374
311
|
}
|
|
312
|
+
/**
|
|
313
|
+
* THE CONFIGURED ROWS THE CORPUS CARRIES NO SCENARIO FOR (3F-3472, @SCN-LNT-027) — the mirror of
|
|
314
|
+
* `unconfiguredFitnessScenarios` directly above, in MANIFEST order.
|
|
315
|
+
*
|
|
316
|
+
* THE RUN DOES NOT ALREADY RED ON IT, WHICH IS THE WHOLE DIFFERENCE BETWEEN THE TWO. Its mirror
|
|
317
|
+
* adds only a sentence, because a scenario no row names already reconciles to zero rows on both
|
|
318
|
+
* sides and is out of balance through the degenerate item. A row no scenario names raised NOTHING:
|
|
319
|
+
* the obligations travel with the scenarios, so a row with no scenario contributed a characteristic
|
|
320
|
+
* nobody asked for and the run read balanced over a check that was declared and never specified.
|
|
321
|
+
* `double-entry-manifesto.md` names that shape exactly — a ledger catches a credit that never
|
|
322
|
+
* arrived and is blind to a debit that was never raised.
|
|
323
|
+
*
|
|
324
|
+
* IT READS THE WALK IT IS HANDED, for its mirror's reason: a second walk would be free to disagree
|
|
325
|
+
* about which scenarios the corpus holds, and a row raised against a corpus the obligations were
|
|
326
|
+
* not taken from is the phantom-row fault (@SCN-LNT-009) reached from the manifest side.
|
|
327
|
+
*
|
|
328
|
+
* EVERY `@SCN`-CARRYING SCENARIO COUNTS, NOT THE `@fitness` ONES ALONE. The claim is that the
|
|
329
|
+
* corpus carries no scenario for the row — so a scenario carrying the row's code and saying nothing
|
|
330
|
+
* about the fitness axis is still a scenario somebody wrote under that code, and minting a debit
|
|
331
|
+
* beside it would report a check nobody has specified where one has been started.
|
|
332
|
+
*/
|
|
333
|
+
export function unspecifiedFitnessRows(scenarios, fitnessChecks) {
|
|
334
|
+
const carried = new Set(scenarios.map((scenario) => scenario.scnId));
|
|
335
|
+
const unspecified = [];
|
|
336
|
+
for (const [scnId, row] of fitnessChecks) {
|
|
337
|
+
if (carried.has(scnId))
|
|
338
|
+
continue;
|
|
339
|
+
unspecified.push({ scnId, characteristic: row.characteristic });
|
|
340
|
+
}
|
|
341
|
+
return unspecified;
|
|
342
|
+
}
|
|
375
343
|
/**
|
|
376
344
|
* Derive a scenario's evidence obligations from its EFFECTIVE tags — its own PLUS everything it
|
|
377
345
|
* inherits from its `Feature:` and any enclosing `Rule:` (@SCN-LDG-020). Unchanged in substance
|
|
378
346
|
* from the tag-block reading it replaces; what changed is WHICH tags reach it.
|
|
379
347
|
*/
|
|
380
|
-
function obligationsFromTags(tags, deferralTags, checkTags, scnId,
|
|
348
|
+
function obligationsFromTags(tags, deferralTags, checkTags, scnId, fitnessChecks) {
|
|
381
349
|
const evidenceObligations = [];
|
|
382
350
|
const seenQualityChecks = new Set();
|
|
383
351
|
const seenPending = new Set();
|
|
@@ -404,7 +372,7 @@ function obligationsFromTags(tags, deferralTags, checkTags, scnId, thresholds, f
|
|
|
404
372
|
// below, so a deferred fitness scenario defers like any other rather than escaping through a later
|
|
405
373
|
// arm. `seenChecks` keeps a check from being owed twice however many of a scenario's effective
|
|
406
374
|
// tags name it.
|
|
407
|
-
evidenceObligations.push(...fitnessObligationsOf(tags, checkTags, seenChecks
|
|
375
|
+
evidenceObligations.push(...fitnessObligationsOf(tags, checkTags, seenChecks),
|
|
408
376
|
// The CONVERTED route (@SCN-LNT-018), on the same `seen` set and after the registered-tag arm:
|
|
409
377
|
// a characteristic is owed once whichever of the two named it.
|
|
410
378
|
...convertedFitnessObligationsOf(tags, fitnessChecks, seenChecks, scnId));
|
|
@@ -584,21 +552,15 @@ export function parseTaggedScenarios(source) {
|
|
|
584
552
|
* reads exactly the corpus it read before. A target that has registered nothing raises no fitness
|
|
585
553
|
* obligations, which is what lets the bare-tag reading land ahead of the corpus sweep that uses it.
|
|
586
554
|
*
|
|
587
|
-
* `thresholds` — the target's authored ceilings (@SCN-CIP-001) — is trailing and optional for the
|
|
588
|
-
* same reason, and carries the scenario's own `scnId` into the obligation rule: a measured check's
|
|
589
|
-
* ceiling is keyed by the row it is owed on, so the rule cannot be applied to a tag set alone.
|
|
590
|
-
* Empty by default, so a target that has authored no ceiling raises no measured obligation and the
|
|
591
|
-
* axis is dormant.
|
|
592
|
-
*
|
|
593
555
|
* `fitnessChecks` — the target's CONFIGURED ROWS (@SCN-LNT-018) — is trailing and optional for the
|
|
594
|
-
*
|
|
595
|
-
*
|
|
596
|
-
* target that has converted nothing raises nothing on this route.
|
|
556
|
+
* same reason, and carries the scenario's own `scnId` into the obligation rule: a converted check's
|
|
557
|
+
* characteristic is keyed by the row it is owed on, so the rule cannot be applied to a tag set
|
|
558
|
+
* alone. Empty by default, so a target that has converted nothing raises nothing on this route.
|
|
597
559
|
*/
|
|
598
|
-
export function parseScenarios(source, deferralTags = [], checkTags = [],
|
|
560
|
+
export function parseScenarios(source, deferralTags = [], checkTags = [], fitnessChecks = new Map()) {
|
|
599
561
|
return parseTaggedScenarios(source).map((scenario) => ({
|
|
600
562
|
scnId: scenario.scnId,
|
|
601
|
-
evidenceObligations: obligationsFromTags(scenario.tags, deferralTags, checkTags, scenario.scnId,
|
|
563
|
+
evidenceObligations: obligationsFromTags(scenario.tags, deferralTags, checkTags, scenario.scnId, fitnessChecks),
|
|
602
564
|
}));
|
|
603
565
|
}
|
|
604
566
|
//# sourceMappingURL=scenarios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../src/parse/scenarios.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../src/parse/scenarios.ts"],"names":[],"mappings":"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"}
|