@3f-consulting/spec-controller-core 0.1.0-alpha.7 → 0.1.0-alpha.70
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 -3
- package/dist/assemble/evidenceReconciliationFromSources.d.ts +5 -40
- package/dist/assemble/evidenceReconciliationFromSources.d.ts.map +1 -1
- package/dist/assemble/evidenceReconciliationFromSources.js +30 -325
- package/dist/assemble/evidenceReconciliationFromSources.js.map +1 -1
- package/dist/assemble/renderInput.d.ts +7 -73
- package/dist/assemble/renderInput.d.ts.map +1 -1
- package/dist/assemble/renderInput.js +3 -45
- package/dist/assemble/renderInput.js.map +1 -1
- package/dist/census/evidenceObligations.d.ts +11 -46
- package/dist/census/evidenceObligations.d.ts.map +1 -1
- package/dist/census/evidenceObligations.js +19 -25
- package/dist/census/evidenceObligations.js.map +1 -1
- package/dist/domain/evidenceOrder.d.ts +3 -0
- package/dist/domain/evidenceOrder.d.ts.map +1 -0
- package/dist/domain/evidenceOrder.js +15 -0
- package/dist/domain/evidenceOrder.js.map +1 -0
- package/dist/domain/evidenceReconciliation.d.ts +21 -391
- package/dist/domain/evidenceReconciliation.d.ts.map +1 -1
- package/dist/domain/evidenceReconciliation.js +87 -382
- package/dist/domain/evidenceReconciliation.js.map +1 -1
- package/dist/domain/featureCode.d.ts +4 -0
- package/dist/domain/featureCode.d.ts.map +1 -0
- package/dist/domain/featureCode.js +12 -0
- package/dist/domain/featureCode.js.map +1 -0
- package/dist/domain/journal.d.ts +8 -393
- package/dist/domain/journal.d.ts.map +1 -1
- package/dist/domain/journal.js +6 -118
- package/dist/domain/journal.js.map +1 -1
- package/dist/domain/ledger.d.ts +8 -328
- package/dist/domain/ledger.d.ts.map +1 -1
- package/dist/domain/ledger.js +23 -326
- package/dist/domain/ledger.js.map +1 -1
- package/dist/domain/messages.d.ts +213 -0
- package/dist/domain/messages.d.ts.map +1 -0
- package/dist/domain/messages.js +313 -0
- package/dist/domain/messages.js.map +1 -0
- package/dist/domain/outcome.d.ts +3 -0
- package/dist/domain/outcome.d.ts.map +1 -0
- package/dist/domain/outcome.js +2 -0
- package/dist/domain/outcome.js.map +1 -0
- package/dist/domain/posting.d.ts +8 -105
- package/dist/domain/posting.d.ts.map +1 -1
- package/dist/domain/posting.js +4 -56
- package/dist/domain/posting.js.map +1 -1
- package/dist/domain/qualityCheckFault.d.ts +3 -43
- package/dist/domain/qualityCheckFault.d.ts.map +1 -1
- package/dist/domain/qualityCheckFault.js +0 -24
- package/dist/domain/qualityCheckFault.js.map +1 -1
- package/dist/domain/qualityCheckReconciliation.d.ts +7 -280
- package/dist/domain/qualityCheckReconciliation.d.ts.map +1 -1
- package/dist/domain/qualityCheckReconciliation.js +63 -463
- package/dist/domain/qualityCheckReconciliation.js.map +1 -1
- package/dist/domain/qualityCheckReconciliationFault.d.ts +0 -19
- package/dist/domain/qualityCheckReconciliationFault.d.ts.map +1 -1
- package/dist/domain/qualityCheckReconciliationFault.js +1 -24
- package/dist/domain/qualityCheckReconciliationFault.js.map +1 -1
- package/dist/domain/scenarioCodeError.d.ts +16 -0
- package/dist/domain/scenarioCodeError.d.ts.map +1 -0
- package/dist/domain/scenarioCodeError.js +4 -0
- package/dist/domain/scenarioCodeError.js.map +1 -0
- package/dist/domain/scenarioReconciliation.d.ts +2 -207
- package/dist/domain/scenarioReconciliation.d.ts.map +1 -1
- package/dist/domain/scenarioReconciliation.js +4 -101
- package/dist/domain/scenarioReconciliation.js.map +1 -1
- package/dist/domain/scnAllocation.d.ts +27 -0
- package/dist/domain/scnAllocation.d.ts.map +1 -0
- package/dist/domain/scnAllocation.js +33 -0
- package/dist/domain/scnAllocation.js.map +1 -0
- package/dist/domain/verdictCode.d.ts +10 -0
- package/dist/domain/verdictCode.d.ts.map +1 -0
- package/dist/domain/verdictCode.js +16 -0
- package/dist/domain/verdictCode.js.map +1 -0
- package/dist/index.d.ts +14 -40
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -88
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +3 -27
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +3 -94
- package/dist/internal.js.map +1 -1
- package/dist/lib/bareTerm.d.ts +0 -39
- package/dist/lib/bareTerm.d.ts.map +1 -1
- package/dist/lib/bareTerm.js +0 -39
- package/dist/lib/bareTerm.js.map +1 -1
- package/dist/lib/portablePath.d.ts.map +1 -1
- package/dist/lib/portablePath.js +2 -16
- package/dist/lib/portablePath.js.map +1 -1
- package/dist/lib/scnCitation.d.ts +0 -32
- package/dist/lib/scnCitation.d.ts.map +1 -1
- package/dist/lib/scnCitation.js +2 -42
- package/dist/lib/scnCitation.js.map +1 -1
- package/dist/model.d.ts +0 -23
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +0 -23
- package/dist/model.js.map +1 -1
- package/dist/parse/checkScriptsRunInCI.d.ts +5 -168
- package/dist/parse/checkScriptsRunInCI.d.ts.map +1 -1
- package/dist/parse/checkScriptsRunInCI.js +11 -171
- package/dist/parse/checkScriptsRunInCI.js.map +1 -1
- package/dist/parse/ciStepRecord.d.ts +4 -118
- package/dist/parse/ciStepRecord.d.ts.map +1 -1
- package/dist/parse/ciStepRecord.js +18 -225
- package/dist/parse/ciStepRecord.js.map +1 -1
- package/dist/parse/commandRuns.d.ts +0 -39
- package/dist/parse/commandRuns.d.ts.map +1 -1
- package/dist/parse/commandRuns.js +6 -67
- package/dist/parse/commandRuns.js.map +1 -1
- package/dist/parse/cucumber.d.ts +0 -53
- package/dist/parse/cucumber.d.ts.map +1 -1
- package/dist/parse/cucumber.js +42 -146
- package/dist/parse/cucumber.js.map +1 -1
- package/dist/parse/discoveryScope.d.ts +1 -46
- package/dist/parse/discoveryScope.d.ts.map +1 -1
- package/dist/parse/discoveryScope.js +2 -57
- package/dist/parse/discoveryScope.js.map +1 -1
- package/dist/parse/fitnessCitations.d.ts +1 -72
- package/dist/parse/fitnessCitations.d.ts.map +1 -1
- package/dist/parse/fitnessCitations.js +3 -55
- package/dist/parse/fitnessCitations.js.map +1 -1
- package/dist/parse/reconcilerSteps.d.ts +0 -46
- package/dist/parse/reconcilerSteps.d.ts.map +1 -1
- package/dist/parse/reconcilerSteps.js +2 -64
- package/dist/parse/reconcilerSteps.js.map +1 -1
- package/dist/parse/runningFitnessFunctions.d.ts +9 -0
- package/dist/parse/runningFitnessFunctions.d.ts.map +1 -0
- package/dist/parse/runningFitnessFunctions.js +57 -0
- package/dist/parse/runningFitnessFunctions.js.map +1 -0
- package/dist/parse/scenarioCodeErrors.d.ts +11 -0
- package/dist/parse/scenarioCodeErrors.d.ts.map +1 -0
- package/dist/parse/scenarioCodeErrors.js +78 -0
- package/dist/parse/scenarioCodeErrors.js.map +1 -0
- package/dist/parse/scenarios.d.ts +3 -228
- package/dist/parse/scenarios.d.ts.map +1 -1
- package/dist/parse/scenarios.js +20 -457
- package/dist/parse/scenarios.js.map +1 -1
- package/dist/parse/stepAccounting.d.ts +0 -46
- package/dist/parse/stepAccounting.d.ts.map +1 -1
- package/dist/parse/stepAccounting.js +1 -55
- package/dist/parse/stepAccounting.js.map +1 -1
- package/dist/parse/stepExclusions.d.ts +0 -47
- package/dist/parse/stepExclusions.d.ts.map +1 -1
- package/dist/parse/stepExclusions.js +2 -50
- package/dist/parse/stepExclusions.js.map +1 -1
- package/dist/parse/stepNames.d.ts +0 -27
- package/dist/parse/stepNames.d.ts.map +1 -1
- package/dist/parse/stepNames.js +0 -27
- package/dist/parse/stepNames.js.map +1 -1
- package/dist/parse/targetCorpus.d.ts +1 -78
- package/dist/parse/targetCorpus.d.ts.map +1 -1
- package/dist/parse/targetCorpus.js +4 -46
- package/dist/parse/targetCorpus.js.map +1 -1
- package/dist/parse/targetManifest.d.ts +8 -146
- package/dist/parse/targetManifest.d.ts.map +1 -1
- package/dist/parse/targetManifest.js +48 -198
- package/dist/parse/targetManifest.js.map +1 -1
- package/dist/parse/vitest.d.ts +0 -60
- package/dist/parse/vitest.d.ts.map +1 -1
- package/dist/parse/vitest.js +4 -83
- package/dist/parse/vitest.js.map +1 -1
- package/dist/provenance/provenance.d.ts +2 -110
- package/dist/provenance/provenance.d.ts.map +1 -1
- package/dist/provenance/provenance.js +2 -58
- package/dist/provenance/provenance.js.map +1 -1
- package/dist/render/behaviouralRunners.d.ts +0 -29
- package/dist/render/behaviouralRunners.d.ts.map +1 -1
- package/dist/render/behaviouralRunners.js +6 -69
- package/dist/render/behaviouralRunners.js.map +1 -1
- package/dist/render/configurationNotRead.d.ts +3 -0
- package/dist/render/configurationNotRead.d.ts.map +1 -0
- package/dist/render/configurationNotRead.js +17 -0
- package/dist/render/configurationNotRead.js.map +1 -0
- package/dist/render/discoveryScope.d.ts +0 -37
- package/dist/render/discoveryScope.d.ts.map +1 -1
- package/dist/render/discoveryScope.js +3 -39
- package/dist/render/discoveryScope.js.map +1 -1
- package/dist/render/evidenceGrid.d.ts +1 -35
- package/dist/render/evidenceGrid.d.ts.map +1 -1
- package/dist/render/evidenceGrid.js +21 -103
- package/dist/render/evidenceGrid.js.map +1 -1
- package/dist/render/excludedSteps.d.ts +0 -26
- package/dist/render/excludedSteps.d.ts.map +1 -1
- package/dist/render/excludedSteps.js +4 -32
- package/dist/render/excludedSteps.js.map +1 -1
- package/dist/render/fitnessFunctions.d.ts +3 -0
- package/dist/render/fitnessFunctions.d.ts.map +1 -0
- package/dist/render/fitnessFunctions.js +12 -0
- package/dist/render/fitnessFunctions.js.map +1 -0
- package/dist/render/json.d.ts +0 -11
- package/dist/render/json.d.ts.map +1 -1
- package/dist/render/json.js +0 -11
- package/dist/render/json.js.map +1 -1
- package/dist/render/markdown.d.ts +1 -55
- package/dist/render/markdown.d.ts.map +1 -1
- package/dist/render/markdown.js +128 -467
- package/dist/render/markdown.js.map +1 -1
- package/dist/render/provenanceSection.d.ts +0 -22
- package/dist/render/provenanceSection.d.ts.map +1 -1
- package/dist/render/provenanceSection.js +10 -53
- package/dist/render/provenanceSection.js.map +1 -1
- package/dist/render/reconcilerSteps.d.ts +0 -25
- package/dist/render/reconcilerSteps.d.ts.map +1 -1
- package/dist/render/reconcilerSteps.js +5 -30
- package/dist/render/reconcilerSteps.js.map +1 -1
- package/dist/render/runVerdict.d.ts +0 -38
- package/dist/render/runVerdict.d.ts.map +1 -1
- package/dist/render/runVerdict.js +62 -129
- package/dist/render/runVerdict.js.map +1 -1
- package/dist/render/scenarioCodeErrorsSection.d.ts +3 -0
- package/dist/render/scenarioCodeErrorsSection.d.ts.map +1 -0
- package/dist/render/scenarioCodeErrorsSection.js +45 -0
- package/dist/render/scenarioCodeErrorsSection.js.map +1 -0
- package/dist/render/stepAccounting.d.ts +0 -36
- package/dist/render/stepAccounting.d.ts.map +1 -1
- package/dist/render/stepAccounting.js +5 -49
- package/dist/render/stepAccounting.js.map +1 -1
- package/dist/render/testVolume.d.ts +0 -25
- package/dist/render/testVolume.d.ts.map +1 -1
- package/dist/render/testVolume.js +4 -35
- package/dist/render/testVolume.js.map +1 -1
- package/package.json +4 -1
- package/dist/domain/checkCharacteristics.d.ts +0 -88
- package/dist/domain/checkCharacteristics.d.ts.map +0 -1
- package/dist/domain/checkCharacteristics.js +0 -109
- package/dist/domain/checkCharacteristics.js.map +0 -1
- package/dist/domain/fitnessChecks.d.ts +0 -79
- package/dist/domain/fitnessChecks.d.ts.map +0 -1
- package/dist/domain/fitnessChecks.js +0 -81
- package/dist/domain/fitnessChecks.js.map +0 -1
- package/dist/domain/qualityCheckFaultMessages.d.ts +0 -43
- package/dist/domain/qualityCheckFaultMessages.d.ts.map +0 -1
- package/dist/domain/qualityCheckFaultMessages.js +0 -38
- package/dist/domain/qualityCheckFaultMessages.js.map +0 -1
- package/dist/lib/featureCode.d.ts +0 -21
- package/dist/lib/featureCode.d.ts.map +0 -1
- package/dist/lib/featureCode.js +0 -24
- package/dist/lib/featureCode.js.map +0 -1
- package/dist/parse/corpusCodeFaults.d.ts +0 -76
- package/dist/parse/corpusCodeFaults.d.ts.map +0 -1
- package/dist/parse/corpusCodeFaults.js +0 -121
- package/dist/parse/corpusCodeFaults.js.map +0 -1
- package/dist/parse/corpusFaults.d.ts +0 -124
- package/dist/parse/corpusFaults.d.ts.map +0 -1
- package/dist/parse/corpusFaults.js +0 -72
- package/dist/parse/corpusFaults.js.map +0 -1
- package/dist/parse/corpusGrammarFaults.d.ts +0 -71
- package/dist/parse/corpusGrammarFaults.d.ts.map +0 -1
- package/dist/parse/corpusGrammarFaults.js +0 -292
- package/dist/parse/corpusGrammarFaults.js.map +0 -1
- package/dist/parse/runningStaticChecks.d.ts +0 -125
- package/dist/parse/runningStaticChecks.d.ts.map +0 -1
- package/dist/parse/runningStaticChecks.js +0 -316
- package/dist/parse/runningStaticChecks.js.map +0 -1
- package/dist/render/staticChecks.d.ts +0 -23
- package/dist/render/staticChecks.d.ts.map +0 -1
- package/dist/render/staticChecks.js +0 -69
- package/dist/render/staticChecks.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evidenceReconciliation.js","sourceRoot":"","sources":["../../src/domain/evidenceReconciliation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evidenceReconciliation.js","sourceRoot":"","sources":["../../src/domain/evidenceReconciliation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureCode.d.ts","sourceRoot":"","sources":["../../src/domain/featureCode.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG1D;AAID,eAAO,MAAM,aAAa,2BAAoC,CAAC;AAM/D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export function featureCodeOf(scnId) {
|
|
2
|
+
const match = FEATURE_CODE_OF.exec(scnId);
|
|
3
|
+
return match ? match[1] : null;
|
|
4
|
+
}
|
|
5
|
+
const FEATURE_PART_SOURCE = "[A-Z0-9]{2,5}";
|
|
6
|
+
export const SCN_ID_SOURCE = `SCN-${FEATURE_PART_SOURCE}-\\d+`;
|
|
7
|
+
const FEATURE_CODE_OF = new RegExp(`^SCN-(${FEATURE_PART_SOURCE})-\\d+$`);
|
|
8
|
+
const FEATURE_PART = new RegExp(`^${FEATURE_PART_SOURCE}$`);
|
|
9
|
+
export function isFeaturePart(text) {
|
|
10
|
+
return FEATURE_PART.test(text);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=featureCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"featureCode.js","sourceRoot":"","sources":["../../src/domain/featureCode.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,mBAAmB,OAAO,CAAC;AAE/D,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,SAAS,mBAAmB,SAAS,CAAC,CAAC;AAE1E,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5D,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/domain/journal.d.ts
CHANGED
|
@@ -1,425 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* as one module (module, not class). These are the raw entries a run RAISES (evidence
|
|
4
|
-
* obligations, and the scenarios that raise them) and OBSERVES (evidence observations, runtime
|
|
5
|
-
* and static), keyed by one flat `qualityCheck` per evidence obligation — the two-axis
|
|
6
|
-
* `(kind, level)` grid collapsed to a single mutually-exclusive coordinate.
|
|
7
|
-
*
|
|
8
|
-
* `@lint` is one quality-check VALUE, not a second axis; `qualityCheck === "lint"` is the
|
|
9
|
-
* watermelon discriminator (replacing the retired `kind === "static"`). The runtime
|
|
10
|
-
* quality-checks (@unit/@integration/@e2e/@performance) reconcile against emitted test
|
|
11
|
-
* results; the `lint` quality-check reconciles a static check over the source artifact.
|
|
12
|
-
*
|
|
13
|
-
* The reconciled OUTCOMES these entries produce live in the sibling concept modules
|
|
14
|
-
* (`qualityCheckReconciliation`, `scenarioReconciliation`, `ledger`), which import this one.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* The flat quality-check — the single evidence coordinate. One
|
|
18
|
-
* mutually-exclusive value per evidence obligation: `lint` (a static check over the
|
|
19
|
-
* source) or a runtime test level (`unit`/`integration`/`e2e`/`performance`).
|
|
20
|
-
* Retires the two-axis `Kind` × `Level` grid.
|
|
21
|
-
*/
|
|
22
|
-
export type QualityCheck = "lint" | "unit" | "integration" | "e2e" | "performance";
|
|
23
|
-
/**
|
|
24
|
-
* The runtime quality-checks — the flat coordinate MINUS `lint`, i.e. the value-set the
|
|
25
|
-
* retired `Level` type named. Types the runtime-only surfaces (the observed readers' stamped
|
|
26
|
-
* quality-check, the test-volume `rawByRuntimeQualityCheck` keying) without re-admitting
|
|
27
|
-
* the two-axis grid.
|
|
28
|
-
*/
|
|
29
|
-
export type RuntimeQualityCheck = Exclude<QualityCheck, "lint">;
|
|
30
|
-
/**
|
|
31
|
-
* One evidence obligation a scenario raises — a SINGLE flat shape keyed on
|
|
32
|
-
* `qualityCheck` (no `kind`/`level` discriminated union):
|
|
33
|
-
* - `@unit`/`@integration`/… → `{ qualityCheck: <level> }`.
|
|
34
|
-
* - a `@fitness` scenario, via its `specController.fitnessChecks` row
|
|
35
|
-
* → `{ qualityCheck: 'lint', staticCheck: <the row's characteristic> }`.
|
|
36
|
-
* - a registered bare check tag (e.g. `@complexity`)
|
|
37
|
-
* → `{ qualityCheck: 'lint', staticCheck: <the tag> }`.
|
|
38
|
-
* `staticCheck` is present IFF `qualityCheck === 'lint'` (the characteristic the check is about);
|
|
39
|
-
* a runtime evidence obligation carries no `staticCheck`. The `@lint=<handle>` rider that once
|
|
40
|
-
* raised this went with the by-name route (3F-2590) and raises nothing now (@SCN-LNT-007).
|
|
41
|
-
*
|
|
42
|
-
* `qualityCheck` is OPTIONAL (@SCN-PND-022) — `undefined` = SCENARIO-SCOPE: the
|
|
43
|
-
* synthesised whole-scenario deferral a recognised deferral tag raises on a scenario
|
|
44
|
-
* raising ZERO obligations (a bare `@wip` — no evidence tag). It is always
|
|
45
|
-
* `{ pending: true }` with no `qualityCheck` (nor `staticCheck`): it owes no specific check,
|
|
46
|
-
* so the reconcile partition routes it to ONE `qualityCheck`-less Pending Item rather
|
|
47
|
-
* than a both-missing row. Every ordinary (tag-derived) obligation carries a
|
|
48
|
-
* `qualityCheck`; only the synthesised scenario-scope pending omits it.
|
|
49
|
-
*/
|
|
1
|
+
export type QualityCheck = "fitness" | "unit" | "integration" | "e2e" | "performance";
|
|
2
|
+
export type RuntimeQualityCheck = Exclude<QualityCheck, "fitness">;
|
|
50
3
|
export interface EvidenceObligation {
|
|
51
4
|
qualityCheck?: QualityCheck;
|
|
52
|
-
/** The `staticCheck` handle — present IFF `qualityCheck === 'lint'`. */
|
|
53
|
-
staticCheck?: string;
|
|
54
|
-
/**
|
|
55
|
-
* The obligation is owed but deliberately DEFERRED to a later slice — a
|
|
56
|
-
* `<quality-check>pending` tag (evidence-manifesto §11B). ABSENT (undefined) on a
|
|
57
|
-
* normal obligation; `true` on a pending one. A pending obligation is one-sided:
|
|
58
|
-
* `@lintpending` derives `{ qualityCheck: 'lint', pending: true }` with NO `staticCheck` payload
|
|
59
|
-
* (the static check doesn't exist yet). PARSE only — what a pending obligation DOES on the ledger
|
|
60
|
-
* (the one-sided Pending Item) is a later slice.
|
|
61
|
-
*/
|
|
62
5
|
pending?: boolean;
|
|
63
6
|
}
|
|
64
|
-
/** A scenario — its @SCN id, and the evidence obligations its evidence tags raise. */
|
|
65
7
|
export interface Scenario {
|
|
66
|
-
/** The bare scenario id, e.g. `SCN-LDG-001` (no leading @). */
|
|
67
8
|
scnId: string;
|
|
68
9
|
evidenceObligations: EvidenceObligation[];
|
|
69
10
|
}
|
|
70
|
-
/**
|
|
71
|
-
* The NAMED `(scnId, quality-check)` pairs — the ONE rule for what a scenario names, keyed
|
|
72
|
-
* `"<scnId> <qualityCheck>"`. A credit citing a scenario is reconciliation-matched only
|
|
73
|
-
* when its pair is in this set; otherwise it is `no-evidence-obligation` (a real scenario, at a quality-check
|
|
74
|
-
* it never named).
|
|
75
|
-
*
|
|
76
|
-
* A `pending` obligation is EXCLUDED — it names nothing. Canon, Pending Item: a
|
|
77
|
-
* `<quality-check>pending` tag raises **no Evidence Obligation**, so an Evidence Observation
|
|
78
|
-
* citing that scenario at a pending quality-check is `no-evidence-obligation` — exactly as when
|
|
79
|
-
* nothing was raised at all. Nothing is named, so nothing can be attributed to it. (This also drops the
|
|
80
|
-
* scenario-scope pending obligation, which carries no `qualityCheck` at all — it names no
|
|
81
|
-
* specific check, so it never belonged in a pair set keyed by one.)
|
|
82
|
-
*
|
|
83
|
-
* ONE COPY, BY CONSTRUCTION (3F-1858). This loop existed TWICE, character-identical — in
|
|
84
|
-
* `reconcile` and in the observation census — each building the set over ALL obligations
|
|
85
|
-
* INCLUDING pending. They agreed by copy-paste, not by construction: either could have grown a
|
|
86
|
-
* filter alone and nothing would have redded. That is exactly what the pending divergence was —
|
|
87
|
-
* the pair-check excluded the credit from `no-evidence-obligation` while the pending partition excluded it
|
|
88
|
-
* from the debit side, so it posted NOWHERE and the run read balanced, exit 0, over a fault canon
|
|
89
|
-
* says must fail (@SCN-PND-005).
|
|
90
|
-
*
|
|
91
|
-
* Lives in the model, not in either caller: what a scenario NAMES is the model's rule, not a
|
|
92
|
-
* reconciler's or a census's private business (`entity-owns-its-behaviour`) — the same reason
|
|
93
|
-
* `OUT_OF_BALANCE_OUTCOMES` lives here rather than in the renderer that walks it.
|
|
94
|
-
*
|
|
95
|
-
* A runtime credit's quality-check is a `RuntimeQualityCheck`, so a `lint` obligation
|
|
96
|
-
* never matches one — as intended; the two axes key differently, see below.
|
|
97
|
-
*
|
|
98
|
-
* THE FITNESS KEY CARRIES ITS CHECK TAG (@SCN-LNT-013), and the asymmetry with the runtime key is
|
|
99
|
-
* the design rather than an inconsistency. A runtime credit's `qualityCheck` IS its discriminating
|
|
100
|
-
* term — an obligation at `unit` is answered by a credit at `unit`, and there is nothing finer to
|
|
101
|
-
* key on. On the fitness axis the axis word is `lint` for EVERY check, so the axis alone cannot
|
|
102
|
-
* discriminate: keyed on it, a row's obligation for one check answers a credit for any other.
|
|
103
|
-
*
|
|
104
|
-
* WHICH IS EXACTLY THE FAULT THIS CLOSES. `@SCN-LNT-012` made the debit MATCH compare check tags —
|
|
105
|
-
* the `@SCN` picks the row, the tag picks the obligation — so a credit whose tag no obligation on
|
|
106
|
-
* its row names matches nothing, correctly. This set stayed keyed on the axis, so the credit it
|
|
107
|
-
* newly failed to match was also excluded from the credit-side items that should have caught it,
|
|
108
|
-
* and it reconciled to NOTHING: filtered out of the debit by its tag and out of the credit side by
|
|
109
|
-
* its axis. Measured over a genuine watermelon, the run read balanced, exit 0.
|
|
110
|
-
*
|
|
111
|
-
* BUILT AND READ TOGETHER. `noEvidenceObligationReconciliationsOf` composes the same key from the
|
|
112
|
-
* CREDIT's own `checkTag`. A key built one way and read another is this same bug in a new spelling,
|
|
113
|
-
* so the two are one change and are described in both places.
|
|
114
|
-
*/
|
|
115
11
|
export declare function evidenceObligationPairsOf(scenarios: readonly Scenario[]): Set<string>;
|
|
116
|
-
|
|
117
|
-
* THE ONE SPELLING of a `(scenario, what-it-names)` key — shared by the set above and by the
|
|
118
|
-
* credit-side lookup, so the two cannot drift.
|
|
119
|
-
*
|
|
120
|
-
* `checkTag` is the FITNESS discriminator (the obligation's `staticCheck`, the credit's `checkTag`)
|
|
121
|
-
* and is ignored on the runtime axis, where the quality-check already discriminates. A fitness
|
|
122
|
-
* entry with NO tag keys distinctly from every tagged one rather than collapsing onto a bare
|
|
123
|
-
* `"<scn> lint"` that a tagged obligation could answer — an uncited credit never reaches a real
|
|
124
|
-
* row (`citationOfCitedRow` resolves the `@SCN` and the tag together or neither), and if one ever
|
|
125
|
-
* did, it must not match by having nothing to compare.
|
|
126
|
-
*/
|
|
127
|
-
export declare function evidenceObligationPairKey(scnId: string, qualityCheck: QualityCheck | undefined, checkTag: string | undefined): string;
|
|
128
|
-
/**
|
|
129
|
-
* THE PENDING PARTITION, debit half (@SCN-PND-004, 3F-2204) — the evidence obligations a scenario
|
|
130
|
-
* actually NAMES: every non-pending one, in document order. These are the obligations that
|
|
131
|
-
* reconcile; the complement becomes one-sided Pending Items (`pendingItemsOf`, below).
|
|
132
|
-
*
|
|
133
|
-
* A pending obligation is EXCLUDED for the SAME reason, and by the same canon clause, as in
|
|
134
|
-
* `evidenceObligationPairsOf`: a `<quality-check>pending` tag raises
|
|
135
|
-
* NO Evidence Obligation, so it names nothing. This completes that family — the three now state
|
|
136
|
-
* one rule over three keyings (the whole obligations, the `(scnId, quality-check)` pairs, the
|
|
137
|
-
* static-check handles) instead of two stating it and a third restating it inline in the fold.
|
|
138
|
-
*
|
|
139
|
-
* Lives here rather than in the reconciler: what a scenario NAMES is the model's rule, not the
|
|
140
|
-
* reconciler's private business (`entity-owns-its-behaviour`).
|
|
141
|
-
*
|
|
142
|
-
* Takes the OBLIGATIONS rather than a `Scenario` (3F-2203) so the one rule serves both sides of the
|
|
143
|
-
* pipeline: `reconcile` passes the obligations a scenario raises, and the renderer passes a Ledger
|
|
144
|
-
* row's POSTED DEBITS (`ScenarioReconciliation.evidenceObligations`) to answer "does this row
|
|
145
|
-
* name this quality-check?" for the grid. The renderer previously re-encoded the `!pending`
|
|
146
|
-
* clause itself — the same rule in a second home, agreeing by copy.
|
|
147
|
-
*/
|
|
12
|
+
export declare function evidenceObligationPairKey(scnId: string, qualityCheck: QualityCheck | undefined): string;
|
|
148
13
|
export declare function evidenceObligationsOf(evidenceObligations: readonly EvidenceObligation[]): EvidenceObligation[];
|
|
149
|
-
/**
|
|
150
|
-
* THE PENDING PARTITION, deferred half (@SCN-PND-004, 3F-2204) — the one-sided Pending Items a
|
|
151
|
-
* scenario's deferred obligations raise, one per `<quality-check>pending` obligation, in document
|
|
152
|
-
* order. The exact complement of `evidenceObligationsOf`: together they partition the
|
|
153
|
-
* scenario's obligations, so nothing is dropped and nothing is counted twice.
|
|
154
|
-
*
|
|
155
|
-
* A Pending Item carries ONLY the quality-check owed — `undefined` for the scenario-scope deferral
|
|
156
|
-
* (@SCN-PND-022, a bare `@wip` raising no obligations), which owes no specific check. It is
|
|
157
|
-
* partitioned off BEFORE the observation match, so it never becomes a Quality Check Reconciliation
|
|
158
|
-
* and never a reconciling item: "one-sided — nothing is reconciled".
|
|
159
|
-
*/
|
|
160
14
|
export declare function pendingItemsOf(scenario: Scenario): PendingItem[];
|
|
161
|
-
/** The pass/fail status an observed test result carries. */
|
|
162
15
|
export type EvidenceStatus = "passed" | "failed";
|
|
163
|
-
/**
|
|
164
|
-
* One observed RUNTIME evidence result, normalised from a runner's output. The
|
|
165
|
-
* quality-check is supplied by the CALLER, not inferred: the caller states the quality-check a
|
|
166
|
-
* source yields and the reader stamps it — the core makes no source→quality-check assumption (the
|
|
167
|
-
* JS-ecosystem default is set at the CLI edge: vitest⇒unit, cucumber⇒integration). A runtime
|
|
168
|
-
* evidence observation never carries `lint`.
|
|
169
|
-
*/
|
|
170
16
|
export interface RuntimeEvidenceObservation {
|
|
171
17
|
qualityCheck: RuntimeQualityCheck;
|
|
172
|
-
/**
|
|
173
|
-
* The bare scenario id the result attests, e.g. `SCN-LDG-001`, or `null` when the
|
|
174
|
-
* result carries NO `@SCN` anchor at all (@SCN-LDG-007). A null-scnId credit
|
|
175
|
-
* cites no scenario — it posts to the SUSPENSE scenario (the reconciler aggregates every
|
|
176
|
-
* such credit into one `suspense-scenario` row, outcome `cites-no-scenario`). The observed
|
|
177
|
-
* parsers now EMIT these (they were previously dropped); the reconciler consumes them.
|
|
178
|
-
*/
|
|
179
18
|
scnId: string | null;
|
|
180
19
|
status: EvidenceStatus;
|
|
181
|
-
/**
|
|
182
|
-
* The test-file locator this credit came from (Vitest `testResults[].name` /
|
|
183
|
-
* Cucumber feature `uri`), carried so the bidirectional reconciler can stamp the
|
|
184
|
-
* where-to-fix onto a CREDIT-side reconciling item (ruling Q5 — e.g. a
|
|
185
|
-
* `cites-unknown-scenario` on a phantom scenario). Optional: hand-built evidence observations
|
|
186
|
-
* (and the earlier readers) omit it.
|
|
187
|
-
*/
|
|
188
20
|
locator?: string;
|
|
189
|
-
/**
|
|
190
|
-
* The PROOF NEVER RAN — the harness failed before it could exercise the behaviour, so the
|
|
191
|
-
* observation cites no @SCN and can be attributed to NO scenario. ABSENT (undefined) on an
|
|
192
|
-
* ordinary observation; `true` on broken evidence. The optional-flag shape, mirroring
|
|
193
|
-
* `EvidenceObligation.pending?: true` (chosen over a third variant in the `EvidenceObservation`
|
|
194
|
-
* union, which would touch every `qualityCheck === "lint"` narrowing site).
|
|
195
|
-
*
|
|
196
|
-
* READER-AGNOSTIC. `broken` has two producers and belongs to neither: a vitest suite that
|
|
197
|
-
* failed to COLLECT (@SCN-LDG-017), and a cucumber step matched by two or more step
|
|
198
|
-
* definitions (@SCN-LDG-019). What they share is the fact this flag names — a proof that
|
|
199
|
-
* never ran — so the vocabulary here must not privilege either instance.
|
|
200
|
-
*
|
|
201
|
-
* FAIL-SAFE: the reconciler checks `broken` BEFORE `status`. A broken observation NEVER
|
|
202
|
-
* reconciles as `failing` or `satisfied` — a proof that never ran cannot discharge (or fail)
|
|
203
|
-
* an obligation. It posts ONE `broken` reconciling item on the SUSPENSE row, whatever `scnId` /
|
|
204
|
-
* `status` it structurally carries.
|
|
205
|
-
*
|
|
206
|
-
* BOUNDARY: a runtime throw INSIDE a named `it` is attributable (vitest reports it with a name
|
|
207
|
-
* and `status: failed`) and lands as `failing`, as before. `broken` is specifically the
|
|
208
|
-
* CITATION-LESS case — the harness broke before the behaviour was ever exercised.
|
|
209
|
-
*/
|
|
210
21
|
broken?: true;
|
|
211
|
-
/**
|
|
212
|
-
* The collection error the runner reported (Vitest `testResults[].message`) — the WHAT-BROKE
|
|
213
|
-
* half of a `broken` observation's where-to-fix payload, alongside the file `locator`. Present
|
|
214
|
-
* on a `broken` observation; absent on an ordinary one.
|
|
215
|
-
*/
|
|
216
22
|
message?: string;
|
|
217
23
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
* ABSENCE of wiring no emitted test result can carry, so this is read from the
|
|
222
|
-
* *config* of the real tree.
|
|
223
|
-
*/
|
|
224
|
-
export interface GuardEvidenceObservation {
|
|
225
|
-
/** A static check evidence observation is the `lint` quality-check (the watermelon discriminator). */
|
|
226
|
-
qualityCheck: "lint";
|
|
227
|
-
/**
|
|
228
|
-
* WHAT THE CHECK IS CALLED — the runnable npm-script handle on the DISCOVERED route
|
|
229
|
-
* (`lint:complexity`), and the CHARACTERISTIC itself on the converted one (@SCN-LNT-021), because
|
|
230
|
-
* a converted check has no handle: it is not invoked by name, it is a scenario that ran.
|
|
231
|
-
*
|
|
232
|
-
* It is the where-to-fix an unmatched credit carries, never what the reconciler matches on —
|
|
233
|
-
* that is `checkTag` below, and the difference between the two is stated there at length.
|
|
234
|
-
*/
|
|
235
|
-
staticCheck: string;
|
|
236
|
-
/**
|
|
237
|
-
* The `@SCN` this run CITES — the fitness scenario whose bare check tag the citation seam
|
|
238
|
-
* resolved this handle to (`parse/fitnessCitations`), stamped by the observer.
|
|
239
|
-
*
|
|
240
|
-
* ABSENT when the seam reached none: no configured row names it, or its CI step states no
|
|
241
|
-
* code. That absence is now the WHOLE routing decision, no flag needed — a citing credit posts
|
|
242
|
-
* to the one row it names, and a credit that cites nothing posts to suspense and answers no
|
|
243
|
-
* obligation at all (3F-2590 removed the by-name posting arm; 3F-2625 the by-handle half that
|
|
244
|
-
* outlived it in `qualityCheckReconciliation`). Optional rather than `string | null` (the runtime
|
|
245
|
-
* twin's shape) so every existing construction site and every JSON golden is untouched: an
|
|
246
|
-
* observation that cites nothing serialises exactly as it did.
|
|
247
|
-
*/
|
|
24
|
+
export interface FitnessEvidenceObservation {
|
|
25
|
+
qualityCheck: "fitness";
|
|
26
|
+
fitnessFunction: string;
|
|
248
27
|
scnId?: string;
|
|
249
|
-
/**
|
|
250
|
-
* The BARE CHECK TAG this run IS (`complexity`) — the observation's own characteristic, resolved
|
|
251
|
-
* by the same citation seam that stamped `scnId` and stamped with it.
|
|
252
|
-
*
|
|
253
|
-
* WHAT THE LEDGER RECONCILES ON, which is why the observation carries it. `staticCheck` above is
|
|
254
|
-
* the RUNNABLE HANDLE (`lint:complexity`) — where-to-fix, the command a reader has to invoke —
|
|
255
|
-
* while an Evidence Obligation names the bare tag its stepless scenario carries. Those are two
|
|
256
|
-
* vocabularies by design, and matching one against the other is name-match wearing a new coat: it
|
|
257
|
-
* agrees only where the spellings coincide, which is `typecheck`, the one unprefixed check. The
|
|
258
|
-
* bare tag is what makes the comparison compare like with like.
|
|
259
|
-
*
|
|
260
|
-
* WITHOUT IT, THE `@SCN` HAS TO CARRY THE MATCH ALONE, and it cannot: a stepless scenario may
|
|
261
|
-
* carry more than one bare check tag, so two runs can honestly cite the same `@SCN` and the first
|
|
262
|
-
* one found answers both obligations (@SCN-LNT-012). Measured before this field existed — a
|
|
263
|
-
* genuine `typecheck` watermelon read `satisfied` off `lint:complexity`'s credit and the row read
|
|
264
|
-
* `balanced`.
|
|
265
|
-
*
|
|
266
|
-
* PRESENT EXACTLY WHEN `scnId` IS, never on its own: the seam resolves both terms or neither
|
|
267
|
-
* (`parse/fitnessCitations` → `citationOfCitedRow`), so an uncited observation carries no citation
|
|
268
|
-
* keys at all and its JSON is byte-identical to what it was. Optional for the same reason `scnId`
|
|
269
|
-
* is — this interface is on the frozen v1 barrel, and a required field would break external
|
|
270
|
-
* construction of a publicly exported type.
|
|
271
|
-
*/
|
|
272
|
-
checkTag?: string;
|
|
273
|
-
/**
|
|
274
|
-
* The static check EXISTS — and the route the observer took to that fact is now one of two
|
|
275
|
-
* (@SCN-LNT-021).
|
|
276
|
-
*
|
|
277
|
-
* INFERRED on the DISCOVERED route: a `package.json` `scripts` entry by that name is present, so
|
|
278
|
-
* something by that name could be invoked. OBSERVED on the CONVERTED route: the check's scenario
|
|
279
|
-
* step appears in the CI run's own record of what each of its steps did, which says it RAN — a
|
|
280
|
-
* stronger fact than a manifest holding a name, and one no manifest read can reach.
|
|
281
|
-
*
|
|
282
|
-
* The field means the same thing either way, which is why it is one field: this check is not
|
|
283
|
-
* absent from the target. What differs is the strength of what stands behind it, and the
|
|
284
|
-
* converted route's is the stronger of the two — which is why `--ci` and its twin below
|
|
285
|
-
* eventually retire for converted checks (3F-3139).
|
|
286
|
-
*/
|
|
287
28
|
exists: boolean;
|
|
288
|
-
/**
|
|
289
|
-
* The static check ran OVER THE REAL TREE rather than over a fixture — and, as with `exists`
|
|
290
|
-
* above, by one of two routes (@SCN-LNT-021).
|
|
291
|
-
*
|
|
292
|
-
* INFERRED on the DISCOVERED route: the check appears as a step of the target's CI — a `run:` one
|
|
293
|
-
* or a `uses:` one (@SCN-USG-013) — the v1 (COARSE) signal, which verifies the check IS a CI step
|
|
294
|
-
* and NOT that it reads real source vs fixtures, the residual gap a later
|
|
295
|
-
* evidenceObservation-based check closes. OBSERVED on the
|
|
296
|
-
* CONVERTED route: the step ran inside the target's own pipeline, over the target's own checkout,
|
|
297
|
-
* so a step the run's record names ran over that tree — and the coarseness the workflow read
|
|
298
|
-
* carries is simply not on this path.
|
|
299
|
-
*
|
|
300
|
-
* NEITHER ROUTE READS THE CHECK'S OWN VERDICT, on this field or any other. Whether the check
|
|
301
|
-
* FOUND anything is the runner's exit code's answer; whether it RAN is this one's. Two questions,
|
|
302
|
-
* two mechanisms, and a converted check keeps that split exactly.
|
|
303
|
-
*/
|
|
304
29
|
enforcedOverRealSource: boolean;
|
|
305
|
-
/**
|
|
306
|
-
* THE CHECK'S OWN VERDICT, where the stream that observed it carried one (@SCN-LNT-028) — the
|
|
307
|
-
* same field, spelled the same way, as its runtime sibling's above.
|
|
308
|
-
*
|
|
309
|
-
* IT IS ABSENT ON EVERY ROUTE THAT READS A CONFIG, and that absence is the honest value rather
|
|
310
|
-
* than an omission. `exists` and `enforcedOverRealSource` are read from a manifest and a
|
|
311
|
-
* workflow, which say a check is there and is wired; neither document knows what the check
|
|
312
|
-
* FOUND. So those routes assert nothing here and reconcile exactly as they always have.
|
|
313
|
-
*
|
|
314
|
-
* WHAT MADE IT NECESSARY WAS THE THIRD THING GOING AWAY. While a runner ran the checks, a check
|
|
315
|
-
* that found violations reddened the run through the runner's exit code, so a reader could
|
|
316
|
-
* honestly answer "did it run" and leave the verdict to somebody else. A CI step's exit code
|
|
317
|
-
* reaches this ledger nowhere: what crosses is a status field, so the verdict now has to travel
|
|
318
|
-
* on the observation or not at all — and a reader that went on collapsing passed and failed
|
|
319
|
-
* would be green over every check that ran and found something.
|
|
320
|
-
*
|
|
321
|
-
* `failed` REACHES `failing`, WHICH IS THE WORD EVERY OTHER AXIS ALREADY USES. Present-and-
|
|
322
|
-
* passing reconciles satisfied and present-and-failing reconciles failing, and a failed unit
|
|
323
|
-
* test has posted `failing` since the ledger had two sides. It is emphatically NOT `broken`:
|
|
324
|
-
* that is the never-ran case, it carries no observation at all, and it stamps the run unsound —
|
|
325
|
-
* so reading a check that ran and found violations as broken would discard what the check said.
|
|
326
|
-
*/
|
|
327
30
|
status?: EvidenceStatus;
|
|
328
|
-
/**
|
|
329
|
-
* THE CHECK NEVER RAN (@SCN-LNT-026) — the static twin of the flag its runtime sibling has
|
|
330
|
-
* carried since @SCN-LDG-017, and the same fact under the same name: a proof that never
|
|
331
|
-
* materialised. ABSENT on an ordinary observation; `true` on broken evidence.
|
|
332
|
-
*
|
|
333
|
-
* `true` RATHER THAN `boolean`, which is the runtime twin's shape and its reason: `false` would
|
|
334
|
-
* be an expressible value meaning exactly what absence already means, and the reconciler's
|
|
335
|
-
* fail-safes test the flag rather than its negation. There is no state for the second spelling
|
|
336
|
-
* to name.
|
|
337
|
-
*
|
|
338
|
-
* WHAT REACHES IT ON THIS AXIS, AND IT IS NOW TWO DOCUMENTS RATHER THAN ONE (@SCN-LNT-026). A
|
|
339
|
-
* converted check's credit says what the check DID, and the document saying so is the CI run's
|
|
340
|
-
* own step record — so an entry carrying no reading that says what the check did is a check whose
|
|
341
|
-
* running nothing can vouch for, and so is a configured row the record holds no entry for at all
|
|
342
|
-
* (@SCN-LNT-027). THERE IS NO EXCEPTION: no row can excuse a skip (3F-3252), because a command
|
|
343
|
-
* that examines nothing still runs and still ends, so a skip never means that and a declaration
|
|
344
|
-
* saying it did could only be read for whether it was named.
|
|
345
|
-
*
|
|
346
|
-
* THE SAME FAIL-SAFE, IN THE SAME TWO PLACES. `postingOf` takes `broken` on the FLAG before
|
|
347
|
-
* `scnId` is consulted, so a broken credit is never citation-routed; `staticCheckObservationFor`
|
|
348
|
-
* excludes it from the obligation match, so it can neither discharge nor fail the obligation it
|
|
349
|
-
* cites. Both hold WHATEVER the observation structurally carries — and it does carry its `scnId`
|
|
350
|
-
* and `checkTag`, exactly as cucumber's broken observation carries the `@SCN` its scenario cited.
|
|
351
|
-
*
|
|
352
|
-
* `exists` AND `enforcedOverRealSource` READ `false` ON ONE, AND THAT IS NOT A NEGATIVE CLAIM
|
|
353
|
-
* DRESSED UP. Both are OBSERVED facts on the converted route — the scenario appearing in the
|
|
354
|
-
* report says the check ran, over the target's own tree — and neither was observed here. So the
|
|
355
|
-
* honest values are the ones that assert nothing, and they are also the ones that keep the
|
|
356
|
-
* roll-up right: a check that did not run is not a running static check.
|
|
357
|
-
*/
|
|
358
31
|
broken?: true;
|
|
359
|
-
/**
|
|
360
|
-
* WHAT the report said, and why that is not a credit — the WHAT-BROKE half of a `broken`
|
|
361
|
-
* observation's payload, in the voice its cucumber twin already uses (`ambiguousMessage`): it
|
|
362
|
-
* names the subject, states the diagnosis, and prescribes NO cure.
|
|
363
|
-
*
|
|
364
|
-
* IT IS THE WHOLE OF THE REPORT'S ANSWER, so it is written as one. The broken item carries no
|
|
365
|
-
* `evidenceObservation` — a proof that never ran is not an observed piece of evidence — so this
|
|
366
|
-
* sentence is all a reader gets under `## Run integrity`. Present on a `broken` observation;
|
|
367
|
-
* absent on an ordinary one.
|
|
368
|
-
*/
|
|
369
32
|
message?: string;
|
|
370
|
-
/**
|
|
371
|
-
* WHERE the reader is sent — the report's own feature `uri` for the scenario that did not run,
|
|
372
|
-
* the where-to-fix half beside `message`.
|
|
373
|
-
*
|
|
374
|
-
* A DISCOVERED static check has no locator and says so (`qualityCheckReconciliation` states it):
|
|
375
|
-
* it is read from a config, not from a file that ran. A CONVERTED one is a scenario in a corpus,
|
|
376
|
-
* so the corpus is a real place to send a reader, and the renderer already prints it.
|
|
377
|
-
*/
|
|
378
33
|
locator?: string;
|
|
379
34
|
}
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
*
|
|
383
|
-
* ONE SHAPE SINCE THE MEASURED AXIS LEFT (3F-3516). A measurement once joined the static-check
|
|
384
|
-
* fact here as a second member; with it gone the name is the guard observation's, kept so a reader
|
|
385
|
-
* that means "a fitness credit" still says so rather than naming the interface it happens to be.
|
|
386
|
-
*/
|
|
387
|
-
export type FitnessEvidenceObservation = GuardEvidenceObservation;
|
|
388
|
-
/**
|
|
389
|
-
* Is this observation a STATIC-CHECK fact? The predicate every reader that wants a static check's
|
|
390
|
-
* OWN fields — its runnable handle, its `exists`, its `enforcedOverRealSource` — asks.
|
|
391
|
-
*
|
|
392
|
-
* It outlived the measured member it was written to tell apart from (3F-3516): the `lint`
|
|
393
|
-
* quality-check is a single interface again, so this is the quality-check clause alone, and its
|
|
394
|
-
* readers keep naming what they mean rather than spelling `qualityCheck === "lint"` at each site.
|
|
395
|
-
*/
|
|
396
|
-
export declare function isStaticCheckObservation(observation: EvidenceObservation): observation is GuardEvidenceObservation;
|
|
397
|
-
/**
|
|
398
|
-
* One observed evidence fact — a DISCRIMINATED UNION on `qualityCheck === "lint"`:
|
|
399
|
-
* a runtime test result (keyed by scnId + its runtime quality-check) or a
|
|
400
|
-
* static-check evidenceObservation (`qualityCheck: "lint"`, keyed by `staticCheck`). The
|
|
401
|
-
* reconciler matches each evidence obligation against evidence observations of the
|
|
402
|
-
* same quality-check.
|
|
403
|
-
*/
|
|
404
|
-
export type EvidenceObservation = RuntimeEvidenceObservation | GuardEvidenceObservation;
|
|
405
|
-
/**
|
|
406
|
-
* A PENDING ITEM — the one-sided ledger entry a deliberately-DEFERRED evidence
|
|
407
|
-
* obligation raises. A `<quality-check>pending` tag (evidence-manifesto §11B) records
|
|
408
|
-
* an obligation owed but deferred to a later slice; on the ledger it is NOT a Reconciling
|
|
409
|
-
* Item — nothing is reconciled (no observation is sought, none is matched), so it never
|
|
410
|
-
* becomes a `QualityCheckReconciliation` and never enters `evidenceObligations` /
|
|
411
|
-
* `reconcilingItems`. It records only WHICH quality-check is owed-but-deferred: an IOU on
|
|
412
|
-
* the report, verdict-neutral and run-neutral. One Pending Item per `<qc>pending`
|
|
413
|
-
* obligation the scenario carries.
|
|
414
|
-
*
|
|
415
|
-
* `qualityCheck` is OPTIONAL (@SCN-PND-022) — `undefined` = SCENARIO-SCOPE: the whole
|
|
416
|
-
* scenario is deferred (a bare `@wip` raising no obligations) and owes NO specific
|
|
417
|
-
* check. An obligation-scope Pending Item (a `<qc>pending` tag) names its owed
|
|
418
|
-
* `qualityCheck`; a scenario-scope one names none. Kept ONE `PendingItem` type — the
|
|
419
|
-
* `undefined` `qualityCheck` is the scenario-scope discriminator, not a parallel flag.
|
|
420
|
-
*/
|
|
35
|
+
export declare function isFitnessObservation(observation: EvidenceObservation): observation is FitnessEvidenceObservation;
|
|
36
|
+
export type EvidenceObservation = RuntimeEvidenceObservation | FitnessEvidenceObservation;
|
|
421
37
|
export interface PendingItem {
|
|
422
|
-
/** The flat quality-check this deferred obligation is owed at; ABSENT for a scenario-scope Pending Item. */
|
|
423
38
|
qualityCheck?: QualityCheck;
|
|
424
39
|
}
|
|
425
40
|
//# sourceMappingURL=journal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/domain/journal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/domain/journal.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,KAAK,GAAG,aAAa,CAAC;AAEtF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CASrF;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,YAAY,GAAG,SAAS,GACrC,MAAM,CAER;AAED,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,GACjD,kBAAkB,EAAE,CAEtB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,EAAE,CAIhE;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,mBAAmB,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,mBAAmB,GAC/B,WAAW,IAAI,0BAA0B,CAE3C;AAED,MAAM,MAAM,mBAAmB,GAAG,0BAA0B,GAAG,0BAA0B,CAAC;AAE1F,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B"}
|