@3f-consulting/spec-controller-core 0.1.0-alpha.3 → 0.1.0-alpha.5
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 +1 -1
- package/dist/assemble/evidenceReconciliationFromSources.d.ts +8 -15
- package/dist/assemble/evidenceReconciliationFromSources.d.ts.map +1 -1
- package/dist/assemble/evidenceReconciliationFromSources.js +21 -24
- package/dist/assemble/evidenceReconciliationFromSources.js.map +1 -1
- package/dist/domain/checkCharacteristics.d.ts +24 -15
- package/dist/domain/checkCharacteristics.d.ts.map +1 -1
- package/dist/domain/checkCharacteristics.js +24 -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 +23 -2
- 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 +17 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -19
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +8 -15
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +37 -84
- package/dist/internal.js.map +1 -1
- package/dist/model.d.ts +3 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +3 -2
- package/dist/model.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 +26 -37
- package/dist/parse/corpusFaults.d.ts.map +1 -1
- package/dist/parse/corpusFaults.js +18 -33
- 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 +28 -13
- package/dist/parse/scenarios.d.ts.map +1 -1
- package/dist/parse/scenarios.js +48 -86
- 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 +12 -86
- package/dist/parse/targetManifest.d.ts.map +1 -1
- package/dist/parse/targetManifest.js +49 -138
- 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 +11 -4
- 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 -6
- 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
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE LEDGER'S EVIDENCE GRID — the corpus-driven evidence columns the Scenario Reconciliations table
|
|
3
|
+
* gains when the runtime-observation axis is in play, and the two-sided cell under each.
|
|
4
|
+
*
|
|
5
|
+
* Its own module rather than a block in `markdown.ts`, moved out whole at 3F-3524 so the ledger
|
|
6
|
+
* section's split into functions under the complexity and function-length ceilings did not push
|
|
7
|
+
* the file past its `max-lines`; `staticChecks.ts` and `runVerdict.ts` are the precedent. NOTHING
|
|
8
|
+
* about the grid changed in the move: same columns, same headers, same cells.
|
|
9
|
+
*/
|
|
10
|
+
import { RUNTIME_QUALITY_CHECKS } from "../domain/ledger.js";
|
|
11
|
+
import { isScenario, staticCheckReconciliationsOf, presentStaticCheckCountOf, } from "../domain/scenarioReconciliation.js";
|
|
12
|
+
import { evidenceObligationsOf } from "../domain/journal.js";
|
|
13
|
+
/**
|
|
14
|
+
* The corpus-driven evidence columns: lint first (when any scenario names a static check), then
|
|
15
|
+
* each runtime quality-check present as an EVIDENCE OBLIGATION or as a posted EVIDENCE OBSERVATION
|
|
16
|
+
* on a scenario row, in canonical quality-check order.
|
|
17
|
+
*/
|
|
18
|
+
export function evidenceColumns(scenarios) {
|
|
19
|
+
// Only scenario rows carry evidence obligations that drive columns — a phantom / suspense
|
|
20
|
+
// row's credit-side items are not evidence obligations, so they never add a column.
|
|
21
|
+
const scenarioRows = scenarios.filter(isScenario);
|
|
22
|
+
// ASKED (3F-2203) — whether a row has static-check sub-rows is the same model cut the grid cell
|
|
23
|
+
// and the lint table read. Whether a COLUMN then appears is the renderer's own business; what a
|
|
24
|
+
// row's lint sub-rows ARE is not.
|
|
25
|
+
const hasStatic = scenarioRows.some((s) => staticCheckReconciliationsOf(s).length > 0);
|
|
26
|
+
const qualityChecksPresent = new Set();
|
|
27
|
+
// A column appears for every runtime quality-check present in EVIDENCE OBLIGATION or OBSERVATION on a scenario
|
|
28
|
+
// row. Both are read off the Ledger: a named or no-evidence-obligation quality-check surfaces as a
|
|
29
|
+
// `QualityCheckReconciliation` at that check; every observed credit surfaces as a posted credit on
|
|
30
|
+
// the row (@SCN-LDG-022). The retired census's `attributed[]` re-represented those posted credits
|
|
31
|
+
// — it added no quality-check the rows do not already carry (a matched/no-evidence-obligation credit always
|
|
32
|
+
// has its `QualityCheckReconciliation`), so folding the rows keeps the column set byte-identical.
|
|
33
|
+
for (const s of scenarioRows) {
|
|
34
|
+
for (const o of s.qualityCheckReconciliations) {
|
|
35
|
+
// A both-missing item carries no quality-check — it drives no column.
|
|
36
|
+
if (o.qualityCheck && o.qualityCheck !== "lint")
|
|
37
|
+
qualityChecksPresent.add(o.qualityCheck);
|
|
38
|
+
}
|
|
39
|
+
for (const o of s.evidenceObservations) {
|
|
40
|
+
if (o.qualityCheck !== "lint")
|
|
41
|
+
qualityChecksPresent.add(o.qualityCheck);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const columns = [];
|
|
45
|
+
if (hasStatic)
|
|
46
|
+
columns.push({ kind: "lint" });
|
|
47
|
+
for (const qualityCheck of RUNTIME_QUALITY_CHECKS) {
|
|
48
|
+
if (qualityChecksPresent.has(qualityCheck))
|
|
49
|
+
columns.push({ kind: "runtime", qualityCheck });
|
|
50
|
+
}
|
|
51
|
+
return columns;
|
|
52
|
+
}
|
|
53
|
+
/** The column's header — the tag word, title-cased (Lint / Unit / Integration / …). */
|
|
54
|
+
export function columnHeader(col) {
|
|
55
|
+
const word = col.kind === "lint" ? "lint" : col.qualityCheck;
|
|
56
|
+
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The quality-check → single-letter obligation glyph, parallel to `columnHeader` — the LEFT side
|
|
60
|
+
* of the two-sided cell (the evidence obligation). A single letter names WHICH check is obligated; the right
|
|
61
|
+
* side (after the `/`) carries the OBSERVATION count (the credit). Lint's left MAY carry a count
|
|
62
|
+
* suffix (`L2`/`L3`) when a scenario names more than one static check — the evidence-obligation
|
|
63
|
+
* count; the runtime letters stay countless (one obligation per tier).
|
|
64
|
+
*/
|
|
65
|
+
const QUALITY_CHECK_LETTER = {
|
|
66
|
+
lint: "L",
|
|
67
|
+
unit: "U",
|
|
68
|
+
integration: "I",
|
|
69
|
+
e2e: "E",
|
|
70
|
+
performance: "P",
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* One evidence cell — the two-sided `<obligation>/<observation>` encoding. The LEFT side is the
|
|
74
|
+
* EVIDENCE OBLIGATION (a single quality-check letter iff the scenario obligated this check, else `-`); the RIGHT
|
|
75
|
+
* side is the OBSERVATION count (the multiplicity of posted credits at this check, else `-`). It
|
|
76
|
+
* projects the two-sided ledger row — it reconstructs nothing. It counts BACKING (presence), NOT
|
|
77
|
+
* quality: a failing runtime evidenceObligation still shows its credit count (the failing-ness lives
|
|
78
|
+
* in the Verdict + Reconciling-items columns), so `U/-` is unambiguously named-but-missing (zero
|
|
79
|
+
* evidenceObservations). A `-/N` cell is a NO-EVIDENCE-OBLIGATION observation (a credit at a check the scenario
|
|
80
|
+
* did not name, @SCN-LDG-008); a doubly-empty `-/-` renders BLANK (`""`) — no evidence obligation, no credit.
|
|
81
|
+
* The lint cell reads the scenario's static evidenceObligation outcomes (lint is not a counted
|
|
82
|
+
* evidence observation): its right side is the count of static checks PRESENT — `balanced` or the
|
|
83
|
+
* watermelon (the script exists; its inadequacy is quality, in Reconciling-items 🍉), NOT a posted
|
|
84
|
+
* credit. The count exposes backing, not quality — never rank by it.
|
|
85
|
+
*/
|
|
86
|
+
export function evidenceCell(s, col) {
|
|
87
|
+
// A PHANTOM / suspense row has no evidence obligation of its own — its
|
|
88
|
+
// whole story is the credit-side reconciling item. Every evidence cell is neither-named-nor-
|
|
89
|
+
// matched, so it reads `—`; the citation shows in Reconciling items.
|
|
90
|
+
if (!isScenario(s))
|
|
91
|
+
return "—";
|
|
92
|
+
return col.kind === "lint" ? lintCell(s) : runtimeCell(s, col.qualityCheck);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The two sides joined — except a doubly-empty cell (no evidence obligation, no credit), which
|
|
96
|
+
* renders BLANK: the column is simply absent for this scenario.
|
|
97
|
+
*/
|
|
98
|
+
function twoSided(left, right) {
|
|
99
|
+
return left === "-" && right === "-" ? "" : `${left}/${right}`;
|
|
100
|
+
}
|
|
101
|
+
/** The lint column's cell on a scenario row. */
|
|
102
|
+
function lintCell(s) {
|
|
103
|
+
// LEFT: a lint obligation is NAMED iff a lint QualityCheckReconciliation exists on the row
|
|
104
|
+
// (`L`; `L2`/`L3` when the row names >1 static check — the evidence-obligation count, one
|
|
105
|
+
// lint QCR per `@lint=<guard>` obligation). RIGHT: the PRESENT-guard count — the
|
|
106
|
+
// static checks `satisfied` or watermelon. Lint's right stays this static-outcome derivation
|
|
107
|
+
// (NOT `evidenceObservations`): lint carries no credit multiplicity, so the count is exact.
|
|
108
|
+
// BOTH SIDES ASKED (3F-2203) — the named-guard sub-rows and the present-guard count are
|
|
109
|
+
// model facts, read off the row. "Present" spans satisfied AND watermelon (a watermelon guard
|
|
110
|
+
// EXISTS; its inadequacy is quality, shown in Reconciling items 🍉) — an outcome-vocabulary
|
|
111
|
+
// rule, which is why the renderer no longer states it.
|
|
112
|
+
const statics = staticCheckReconciliationsOf(s);
|
|
113
|
+
const left = statics.length > 0
|
|
114
|
+
? QUALITY_CHECK_LETTER.lint + (statics.length > 1 ? String(statics.length) : "")
|
|
115
|
+
: "-";
|
|
116
|
+
const present = presentStaticCheckCountOf(s);
|
|
117
|
+
const right = present > 0 ? String(present) : "-";
|
|
118
|
+
return twoSided(left, right);
|
|
119
|
+
}
|
|
120
|
+
/** A runtime quality-check column's cell on a scenario row. */
|
|
121
|
+
function runtimeCell(s, qualityCheck) {
|
|
122
|
+
// LEFT — EVIDENCE OBLIGATION is ASKED of the Ledger, not reconstructed. `s.evidenceObligations` is the debit
|
|
123
|
+
// side the scenario RAISED (@SCN-LDG-023) — the fact itself — filtered to the ACTIVE ones: a
|
|
124
|
+
// `<qc>pending` obligation names NOTHING (it partitions off to a one-sided Pending Item), so it
|
|
125
|
+
// is not an evidence obligation. Named → the check's letter; else `-`.
|
|
126
|
+
// ASKED, not re-encoded (3F-2203). "A pending obligation names nothing" is the model's rule
|
|
127
|
+
// (canon, Pending Item — a `<qc>pending` tag raises NO Evidence Obligation), and it is the SAME
|
|
128
|
+
// rule `evidenceObligationPairsOf` applies. The renderer stated the
|
|
129
|
+
// `!pending` clause itself before: a third home for one rule, agreeing by copy.
|
|
130
|
+
const named = evidenceObligationsOf(s.evidenceObligations).some((o) => o.qualityCheck === qualityCheck);
|
|
131
|
+
const left = named ? QUALITY_CHECK_LETTER[qualityCheck] : "-";
|
|
132
|
+
// RIGHT — the OBSERVATION count is the MULTIPLICITY of POSTED CREDITS at this quality-check on THIS
|
|
133
|
+
// row (@SCN-LDG-022) — read straight off the Ledger's `evidenceObservations`, NEVER from
|
|
134
|
+
// `qualityCheckReconciliations` (which collapse to ONE matched row however many credits cite the
|
|
135
|
+
// pair, and would undercount duplicate citations). BOTH the named and no-evidence-obligation arms read this
|
|
136
|
+
// one source: a named check's credits are matched-attributed, a no-evidence-obligation check's credits post
|
|
137
|
+
// as no-evidence-obligation rows — the same posted credits either way, so `evidenceObservations` is the single
|
|
138
|
+
// multiplicity-correct count. (Provably equal to the retired split off `qualityCheckReconciliations`
|
|
139
|
+
// for the no-evidence-obligation arm — the reconciler posts one no-evidence-obligation QCR per citing credit — but that
|
|
140
|
+
// derivation collapses duplicate citations, so the credits are the correct source.)
|
|
141
|
+
const observed = s.evidenceObservations.filter((o) => o.qualityCheck === qualityCheck).length;
|
|
142
|
+
const right = observed > 0 ? String(observed) : "-";
|
|
143
|
+
return twoSided(left, right);
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=evidenceGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidenceGrid.js","sourceRoot":"","sources":["../../src/render/evidenceGrid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/render/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/render/markdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAcH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAI5E,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AA2LlF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AA6dvD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAExD;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,GAAG,EAAE,UAAU,EACf,mBAAmB,CAAC,EAAE,mBAAmB,EACzC,YAAY,CAAC,EAAE,YAAY,GAC1B,MAAM,CAER"}
|
package/dist/render/markdown.js
CHANGED
|
@@ -25,12 +25,9 @@
|
|
|
25
25
|
// decomposition walks (3F-1806): both live in the model, so the renderer cannot drift from the
|
|
26
26
|
// union. Internal core imports (NOT on the frozen v1 barrel).
|
|
27
27
|
import { OUTCOME_DESCRIPTION, OUT_OF_BALANCE_OUTCOMES, OUTCOME_SIDE_PROFILE } from "../model.js";
|
|
28
|
-
import { measuredSuffix } from "./measuredItem.js";
|
|
29
|
-
import { RUNTIME_QUALITY_CHECKS } from "../domain/ledger.js";
|
|
30
28
|
// THE MODEL DERIVATIONS THE RENDERER READS (3F-2203) — it projects these; it does not compute them.
|
|
31
29
|
import { brokenItemsOf, lintReconciliationsOf } from "../domain/ledger.js";
|
|
32
|
-
import { isScenario
|
|
33
|
-
import { evidenceObligationsOf } from "../domain/journal.js";
|
|
30
|
+
import { isScenario } from "../domain/scenarioReconciliation.js";
|
|
34
31
|
import { assembleRenderInput } from "../assemble/renderInput.js";
|
|
35
32
|
// The run-integrity predicate (@SCN-LDG-018) — the existential scan for a `broken` reconciling
|
|
36
33
|
// item. The renderer asks the predicate and prints the HEADLINE word: predicate-name ≠
|
|
@@ -49,6 +46,7 @@ import { reconcilerSection } from "./reconcilerSteps.js";
|
|
|
49
46
|
import { stepAccountingSection } from "./stepAccounting.js";
|
|
50
47
|
import { testVolumeSection } from "./testVolume.js";
|
|
51
48
|
import { featureCodeOf } from "../lib/featureCode.js";
|
|
49
|
+
import { evidenceColumns, columnHeader, evidenceCell } from "./evidenceGrid.js";
|
|
52
50
|
/** A short status glyph per reconciling-item outcome — a visual cue alongside the word. */
|
|
53
51
|
const ITEM_GLYPH = {
|
|
54
52
|
satisfied: "✓",
|
|
@@ -107,6 +105,14 @@ function renderItem(item) {
|
|
|
107
105
|
return `${ITEM_GLYPH["no-scn-code"]} ${OUTCOME_DESCRIPTION["no-scn-code"]}`;
|
|
108
106
|
}
|
|
109
107
|
const subject = item.qualityCheck;
|
|
108
|
+
const suffix = creditSuffix(item) ?? "";
|
|
109
|
+
return `${subject} ${ITEM_GLYPH[item.outcome]} ${OUTCOME_DESCRIPTION[item.outcome]}${suffix}`;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The credit arms of a reconciling item's where-to-fix, or `undefined` when none applies and the
|
|
113
|
+
* item renders bare.
|
|
114
|
+
*/
|
|
115
|
+
function creditSuffix(item) {
|
|
110
116
|
// A CREDIT-SIDE item surfaces its WHERE-TO-FIX in the reconciliation cell (ruling
|
|
111
117
|
// Q5): a lint credit (the uncited static-check folded onto the suspense row, ruling
|
|
112
118
|
// Q4) shows its static check handle; a runtime credit (phantom `cites-unknown-scenario` or
|
|
@@ -120,10 +126,6 @@ function renderItem(item) {
|
|
|
120
126
|
// joins. (`broken` and `both-missing` are (None, None), so both terms are read.)
|
|
121
127
|
const profile = OUTCOME_SIDE_PROFILE[item.outcome];
|
|
122
128
|
const isCredit = profile.obligation === "None" && profile.observation === "Exists";
|
|
123
|
-
// A MEASURED item is DEBIT-side, so its where-to-fix — its two numbers — starts here rather than
|
|
124
|
-
// in the credit arms below (`measuredItem.ts`, @SCN-CIP-008). It is "" for every other item, so
|
|
125
|
-
// the credit arms overwrite it exactly as they overwrote the empty default.
|
|
126
|
-
let suffix = measuredSuffix(item);
|
|
127
129
|
// The `broken` credit (@SCN-RPT-021) carries BOTH halves of its where-to-fix: the locator of the
|
|
128
130
|
// evidence that never ran (a test file, or a feature file) AND the message it carries. The
|
|
129
131
|
// message's HEADLINE LINE only — a vitest collection message is multi-line (message + stack) and
|
|
@@ -134,14 +136,13 @@ function renderItem(item) {
|
|
|
134
136
|
const where = [item.locator, item.message === undefined ? undefined : headlineOf(item.message)]
|
|
135
137
|
.filter((part) => part !== undefined && part.length > 0)
|
|
136
138
|
.join(": ");
|
|
137
|
-
|
|
138
|
-
suffix = ` (${cellSafe(where)})`;
|
|
139
|
+
return where.length > 0 ? ` (${cellSafe(where)})` : undefined;
|
|
139
140
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return
|
|
141
|
+
if (isCredit && item.staticCheck)
|
|
142
|
+
return ` (${item.staticCheck})`;
|
|
143
|
+
if (isCredit && item.locator !== undefined)
|
|
144
|
+
return ` (${item.locator})`;
|
|
145
|
+
return undefined;
|
|
145
146
|
}
|
|
146
147
|
/**
|
|
147
148
|
* The first non-empty line of a runner message — its HEADLINE (`Error: Cannot find package
|
|
@@ -384,14 +385,16 @@ const evidenceReconciliationSection = (report) => {
|
|
|
384
385
|
// decomposition above — its own line, never a `↳` row under the out-of-balance table. Read
|
|
385
386
|
// off the materialised `summary.pending`; rendered only when the run genuinely carries Pending
|
|
386
387
|
// Items (the omit-when-empty precedent), so a zero-pending report stays byte-identical.
|
|
387
|
-
|
|
388
|
-
if (pending > 0) {
|
|
389
|
-
lines.push("");
|
|
390
|
-
lines.push(`⏳ ${pending} Pending Item(s) — deferred, tallied apart from balanced and out-of-balance.`);
|
|
391
|
-
}
|
|
388
|
+
lines.push(...pendingTally(report.summary.pending));
|
|
392
389
|
lines.push("");
|
|
393
390
|
return lines;
|
|
394
391
|
};
|
|
392
|
+
/** The Pending Items tally line, preceded by its blank — or nothing at all when none is pending. */
|
|
393
|
+
function pendingTally(pending) {
|
|
394
|
+
return pending > 0
|
|
395
|
+
? ["", `⏳ ${pending} Pending Item(s) — deferred, tallied apart from balanced and out-of-balance.`]
|
|
396
|
+
: [];
|
|
397
|
+
}
|
|
395
398
|
/**
|
|
396
399
|
* Lint evidence obligations (@SCN-RPT-005; re-cut under Summary views with a total line, labelled
|
|
397
400
|
* by the @lint TAG) — lifts every `@lint` evidence obligation out of the per-scenario trial
|
|
@@ -476,128 +479,6 @@ const byFeatureSection = (report) => {
|
|
|
476
479
|
lines.push("");
|
|
477
480
|
return lines;
|
|
478
481
|
};
|
|
479
|
-
/**
|
|
480
|
-
* The corpus-driven evidence columns: lint first (when any scenario names a static check), then
|
|
481
|
-
* each runtime quality-check present as an EVIDENCE OBLIGATION or as a posted EVIDENCE OBSERVATION
|
|
482
|
-
* on a scenario row, in canonical quality-check order.
|
|
483
|
-
*/
|
|
484
|
-
function evidenceColumns(scenarios) {
|
|
485
|
-
// Only scenario rows carry evidence obligations that drive columns — a phantom / suspense
|
|
486
|
-
// row's credit-side items are not evidence obligations, so they never add a column.
|
|
487
|
-
const scenarioRows = scenarios.filter(isScenario);
|
|
488
|
-
// ASKED (3F-2203) — whether a row has static-check sub-rows is the same model cut the grid cell
|
|
489
|
-
// and the lint table read. Whether a COLUMN then appears is the renderer's own business; what a
|
|
490
|
-
// row's lint sub-rows ARE is not.
|
|
491
|
-
const hasStatic = scenarioRows.some((s) => staticCheckReconciliationsOf(s).length > 0);
|
|
492
|
-
const qualityChecksPresent = new Set();
|
|
493
|
-
// A column appears for every runtime quality-check present in EVIDENCE OBLIGATION or OBSERVATION on a scenario
|
|
494
|
-
// row. Both are read off the Ledger: a named or no-evidence-obligation quality-check surfaces as a
|
|
495
|
-
// `QualityCheckReconciliation` at that check; every observed credit surfaces as a posted credit on
|
|
496
|
-
// the row (@SCN-LDG-022). The retired census's `attributed[]` re-represented those posted credits
|
|
497
|
-
// — it added no quality-check the rows do not already carry (a matched/no-evidence-obligation credit always
|
|
498
|
-
// has its `QualityCheckReconciliation`), so folding the rows keeps the column set byte-identical.
|
|
499
|
-
for (const s of scenarioRows) {
|
|
500
|
-
for (const o of s.qualityCheckReconciliations) {
|
|
501
|
-
// A both-missing item carries no quality-check — it drives no column.
|
|
502
|
-
if (o.qualityCheck && o.qualityCheck !== "lint")
|
|
503
|
-
qualityChecksPresent.add(o.qualityCheck);
|
|
504
|
-
}
|
|
505
|
-
for (const o of s.evidenceObservations) {
|
|
506
|
-
if (o.qualityCheck !== "lint")
|
|
507
|
-
qualityChecksPresent.add(o.qualityCheck);
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
const columns = [];
|
|
511
|
-
if (hasStatic)
|
|
512
|
-
columns.push({ kind: "lint" });
|
|
513
|
-
for (const qualityCheck of RUNTIME_QUALITY_CHECKS) {
|
|
514
|
-
if (qualityChecksPresent.has(qualityCheck))
|
|
515
|
-
columns.push({ kind: "runtime", qualityCheck });
|
|
516
|
-
}
|
|
517
|
-
return columns;
|
|
518
|
-
}
|
|
519
|
-
/** The column's header — the tag word, title-cased (Lint / Unit / Integration / …). */
|
|
520
|
-
function columnHeader(col) {
|
|
521
|
-
const word = col.kind === "lint" ? "lint" : col.qualityCheck;
|
|
522
|
-
return word.charAt(0).toUpperCase() + word.slice(1);
|
|
523
|
-
}
|
|
524
|
-
/**
|
|
525
|
-
* The quality-check → single-letter obligation glyph, parallel to `columnHeader` — the LEFT side
|
|
526
|
-
* of the two-sided cell (the evidence obligation). A single letter names WHICH check is obligated; the right
|
|
527
|
-
* side (after the `/`) carries the OBSERVATION count (the credit). Lint's left MAY carry a count
|
|
528
|
-
* suffix (`L2`/`L3`) when a scenario names more than one static check — the evidence-obligation
|
|
529
|
-
* count; the runtime letters stay countless (one obligation per tier).
|
|
530
|
-
*/
|
|
531
|
-
const QUALITY_CHECK_LETTER = {
|
|
532
|
-
lint: "L",
|
|
533
|
-
unit: "U",
|
|
534
|
-
integration: "I",
|
|
535
|
-
e2e: "E",
|
|
536
|
-
performance: "P",
|
|
537
|
-
};
|
|
538
|
-
/**
|
|
539
|
-
* One evidence cell — the two-sided `<obligation>/<observation>` encoding. The LEFT side is the
|
|
540
|
-
* EVIDENCE OBLIGATION (a single quality-check letter iff the scenario obligated this check, else `-`); the RIGHT
|
|
541
|
-
* side is the OBSERVATION count (the multiplicity of posted credits at this check, else `-`). It
|
|
542
|
-
* projects the two-sided ledger row — it reconstructs nothing. It counts BACKING (presence), NOT
|
|
543
|
-
* quality: a failing runtime evidenceObligation still shows its credit count (the failing-ness lives
|
|
544
|
-
* in the Verdict + Reconciling-items columns), so `U/-` is unambiguously named-but-missing (zero
|
|
545
|
-
* evidenceObservations). A `-/N` cell is a NO-EVIDENCE-OBLIGATION observation (a credit at a check the scenario
|
|
546
|
-
* did not name, @SCN-LDG-008); a doubly-empty `-/-` renders BLANK (`""`) — no evidence obligation, no credit.
|
|
547
|
-
* The lint cell reads the scenario's static evidenceObligation outcomes (lint is not a counted
|
|
548
|
-
* evidence observation): its right side is the count of static checks PRESENT — `balanced` or the
|
|
549
|
-
* watermelon (the script exists; its inadequacy is quality, in Reconciling-items 🍉), NOT a posted
|
|
550
|
-
* credit. The count exposes backing, not quality — never rank by it.
|
|
551
|
-
*/
|
|
552
|
-
function evidenceCell(s, col) {
|
|
553
|
-
// A PHANTOM / suspense row has no evidence obligation of its own — its
|
|
554
|
-
// whole story is the credit-side reconciling item. Every evidence cell is neither-named-nor-
|
|
555
|
-
// matched, so it reads `—`; the citation shows in Reconciling items.
|
|
556
|
-
if (!isScenario(s))
|
|
557
|
-
return "—";
|
|
558
|
-
if (col.kind === "lint") {
|
|
559
|
-
// LEFT: a lint obligation is NAMED iff a lint QualityCheckReconciliation exists on the row
|
|
560
|
-
// (`L`; `L2`/`L3` when the row names >1 static check — the evidence-obligation count, one
|
|
561
|
-
// lint QCR per `@lint=<guard>` obligation). RIGHT: the PRESENT-guard count — the
|
|
562
|
-
// static checks `satisfied` or watermelon. Lint's right stays this static-outcome derivation
|
|
563
|
-
// (NOT `evidenceObservations`): lint carries no credit multiplicity, so the count is exact.
|
|
564
|
-
// BOTH SIDES ASKED (3F-2203) — the named-guard sub-rows and the present-guard count are
|
|
565
|
-
// model facts, read off the row. "Present" spans satisfied AND watermelon (a watermelon guard
|
|
566
|
-
// EXISTS; its inadequacy is quality, shown in Reconciling items 🍉) — an outcome-vocabulary
|
|
567
|
-
// rule, which is why the renderer no longer states it.
|
|
568
|
-
const statics = staticCheckReconciliationsOf(s);
|
|
569
|
-
const left = statics.length > 0
|
|
570
|
-
? QUALITY_CHECK_LETTER.lint + (statics.length > 1 ? String(statics.length) : "")
|
|
571
|
-
: "-";
|
|
572
|
-
const present = presentStaticCheckCountOf(s);
|
|
573
|
-
const right = present > 0 ? String(present) : "-";
|
|
574
|
-
return left === "-" && right === "-" ? "" : `${left}/${right}`;
|
|
575
|
-
}
|
|
576
|
-
// LEFT — EVIDENCE OBLIGATION is ASKED of the Ledger, not reconstructed. `s.evidenceObligations` is the debit
|
|
577
|
-
// side the scenario RAISED (@SCN-LDG-023) — the fact itself — filtered to the ACTIVE ones: a
|
|
578
|
-
// `<qc>pending` obligation names NOTHING (it partitions off to a one-sided Pending Item), so it
|
|
579
|
-
// is not an evidence obligation. Named → the check's letter; else `-`.
|
|
580
|
-
// ASKED, not re-encoded (3F-2203). "A pending obligation names nothing" is the model's rule
|
|
581
|
-
// (canon, Pending Item — a `<qc>pending` tag raises NO Evidence Obligation), and it is the SAME
|
|
582
|
-
// rule `evidenceObligationPairsOf` applies. The renderer stated the
|
|
583
|
-
// `!pending` clause itself before: a third home for one rule, agreeing by copy.
|
|
584
|
-
const named = evidenceObligationsOf(s.evidenceObligations).some((o) => o.qualityCheck === col.qualityCheck);
|
|
585
|
-
const left = named ? QUALITY_CHECK_LETTER[col.qualityCheck] : "-";
|
|
586
|
-
// RIGHT — the OBSERVATION count is the MULTIPLICITY of POSTED CREDITS at this quality-check on THIS
|
|
587
|
-
// row (@SCN-LDG-022) — read straight off the Ledger's `evidenceObservations`, NEVER from
|
|
588
|
-
// `qualityCheckReconciliations` (which collapse to ONE matched row however many credits cite the
|
|
589
|
-
// pair, and would undercount duplicate citations). BOTH the named and no-evidence-obligation arms read this
|
|
590
|
-
// one source: a named check's credits are matched-attributed, a no-evidence-obligation check's credits post
|
|
591
|
-
// as no-evidence-obligation rows — the same posted credits either way, so `evidenceObservations` is the single
|
|
592
|
-
// multiplicity-correct count. (Provably equal to the retired split off `qualityCheckReconciliations`
|
|
593
|
-
// for the no-evidence-obligation arm — the reconciler posts one no-evidence-obligation QCR per citing credit — but that
|
|
594
|
-
// derivation collapses duplicate citations, so the credits are the correct source.)
|
|
595
|
-
const observed = s.evidenceObservations.filter((o) => o.qualityCheck === col.qualityCheck).length;
|
|
596
|
-
const right = observed > 0 ? String(observed) : "-";
|
|
597
|
-
// A doubly-empty cell (no evidence obligation, no credit) renders BLANK — the column is simply absent for this
|
|
598
|
-
// scenario. Otherwise the two-sided `<left>/<right>`.
|
|
599
|
-
return left === "-" && right === "-" ? "" : `${left}/${right}`;
|
|
600
|
-
}
|
|
601
482
|
/**
|
|
602
483
|
* The ledger (moved to the END) — the per-scenario table, with its summary lines on top: the
|
|
603
484
|
* verdict tally bullet, and (when an evidence-obligation census is threaded) the
|
|
@@ -621,12 +502,21 @@ const ledgerSection = (report) => {
|
|
|
621
502
|
// (@SCN-RPT-010 / 3F-2103 — the gate that was the retired `evidenceObservations` section's
|
|
622
503
|
// presence). When it is, the ledger gains the corpus-driven evidence columns.
|
|
623
504
|
const withObservations = report.summary.testVolume !== undefined;
|
|
624
|
-
|
|
625
|
-
const lines = [
|
|
505
|
+
return [
|
|
626
506
|
// The reconciled per-scenario OUTPUT table — "Scenario Reconciliations", not "Ledger"
|
|
627
507
|
// ("Ledger" is the INPUT concept in canon; double-entry-manifesto).
|
|
628
508
|
"## Scenario Reconciliations",
|
|
629
509
|
"",
|
|
510
|
+
...ledgerTallyLines(report.summary.scenarioReconciliations),
|
|
511
|
+
...(report.evidenceObligations ? censusLines(report.evidenceObligations) : []),
|
|
512
|
+
"",
|
|
513
|
+
...ledgerTableLines(scenarios, withObservations),
|
|
514
|
+
"",
|
|
515
|
+
];
|
|
516
|
+
};
|
|
517
|
+
/** The ledger's verdict tally bullet, and the phantom / suspense sub-counts broken out of it. */
|
|
518
|
+
function ledgerTallyLines(totals) {
|
|
519
|
+
const lines = [
|
|
630
520
|
// The headline verdict tally counts EVERY Scenario Reconciliation — scenario, phantom and
|
|
631
521
|
// suspense alike (@SCN-RMD-001, 3F-1724; the scenario-only "ruling Q3" is retracted).
|
|
632
522
|
`- ${totals.total} Scenario Reconciliation(s): ${totals.balanced} balanced, ` +
|
|
@@ -644,60 +534,65 @@ const ledgerSection = (report) => {
|
|
|
644
534
|
if (totals.suspense > 0) {
|
|
645
535
|
lines.push(`- ${totals.suspense} suspense-scenario(s): credits citing no scenario, aggregated into "(no scenario)".`);
|
|
646
536
|
}
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
537
|
+
return lines;
|
|
538
|
+
}
|
|
539
|
+
/**
|
|
540
|
+
* The scenario-corpus CENSUS — obligation-side facts on report.evidenceObligations.
|
|
541
|
+
* These re-homed here from the dissolved `## Warnings` section: they are census
|
|
542
|
+
* facts, NOT warnings and NOT reconciling items, so they ride in the ledger summary co-located
|
|
543
|
+
* with the excluded-occurrence bullet (the evidenceObligations census view). Facts only —
|
|
544
|
+
* count + locator.
|
|
545
|
+
*/
|
|
546
|
+
function censusLines(census) {
|
|
547
|
+
const lines = [`- ${census.excludedOccurrences} @SCN ids seen in non-tag context, excluded`];
|
|
548
|
+
// Untagged scenarios (@SCN-RPT-014) — Gherkin scenarios with no @SCN tag, located by
|
|
549
|
+
// `feature : scenario`. Sorted defensively (a hand-built corpus fixture may be unsorted).
|
|
550
|
+
const untagged = census.untaggedScenarios;
|
|
551
|
+
if (untagged.length > 0) {
|
|
552
|
+
const sorted = [...untagged].sort((a, b) => a.feature.localeCompare(b.feature) || a.scenario.localeCompare(b.scenario));
|
|
553
|
+
lines.push(`- ${untagged.length} scenario(s) carry no @SCN tag:`);
|
|
554
|
+
for (const { feature, scenario } of sorted) {
|
|
555
|
+
lines.push(` - ${feature} : ${scenario}`);
|
|
663
556
|
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
}
|
|
557
|
+
}
|
|
558
|
+
// Prose-only codes (@SCN-RPT-015) — @SCN ids mentioned in prose but never tagged anywhere
|
|
559
|
+
// (the dangling references). The bare code is its own locator. Sorted, after untagged.
|
|
560
|
+
const proseOnly = census.proseOnlyCodes;
|
|
561
|
+
if (proseOnly.length > 0) {
|
|
562
|
+
lines.push(`- ${proseOnly.length} @SCN code(s) appear only in prose, never as a tag:`);
|
|
563
|
+
for (const code of [...proseOnly].sort()) {
|
|
564
|
+
lines.push(` - ${code}`);
|
|
672
565
|
}
|
|
673
566
|
}
|
|
674
|
-
lines
|
|
567
|
+
return lines;
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* The per-scenario table: with the corpus-driven evidence columns between Scenario and Verdict when
|
|
571
|
+
* the runtime-observation axis is in play and any column appears, else the original three columns.
|
|
572
|
+
*/
|
|
573
|
+
function ledgerTableLines(scenarios, withObservations) {
|
|
675
574
|
const columns = withObservations ? evidenceColumns(scenarios) : [];
|
|
676
|
-
if (withObservations && columns.length > 0) {
|
|
677
|
-
|
|
678
|
-
"Scenario",
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
"Reconciling items",
|
|
575
|
+
if (!(withObservations && columns.length > 0)) {
|
|
576
|
+
return [
|
|
577
|
+
"| Scenario | Verdict | Reconciling items |",
|
|
578
|
+
"| --- | --- | --- |",
|
|
579
|
+
...scenarios.map(renderScenario),
|
|
682
580
|
];
|
|
683
|
-
lines.push(`| ${headers.join(" | ")} |`);
|
|
684
|
-
lines.push(`| ${headers.map(() => "---").join(" | ")} |`);
|
|
685
|
-
for (const s of scenarios) {
|
|
686
|
-
const cells = columns.map((col) => evidenceCell(s, col));
|
|
687
|
-
const items = renderRowExceptions(s);
|
|
688
|
-
lines.push(`| ${[s.scnId, ...cells, `${VERDICT_GLYPH[s.verdict]} ${s.verdict}`, items].join(" | ")} |`);
|
|
689
|
-
}
|
|
690
581
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
582
|
+
const headers = [
|
|
583
|
+
"Scenario",
|
|
584
|
+
...columns.map(columnHeader),
|
|
585
|
+
"Verdict",
|
|
586
|
+
"Reconciling items",
|
|
587
|
+
];
|
|
588
|
+
const lines = [`| ${headers.join(" | ")} |`, `| ${headers.map(() => "---").join(" | ")} |`];
|
|
589
|
+
for (const s of scenarios) {
|
|
590
|
+
const cells = columns.map((col) => evidenceCell(s, col));
|
|
591
|
+
const items = renderRowExceptions(s);
|
|
592
|
+
lines.push(`| ${[s.scnId, ...cells, `${VERDICT_GLYPH[s.verdict]} ${s.verdict}`, items].join(" | ")} |`);
|
|
697
593
|
}
|
|
698
|
-
lines.push("");
|
|
699
594
|
return lines;
|
|
700
|
-
}
|
|
595
|
+
}
|
|
701
596
|
/**
|
|
702
597
|
* The ordered section list (project design §2; reorganised summary-first / ledger-last,
|
|
703
598
|
* test volume added): title → provenance → the run-integrity stamp (only when the run is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/render/markdown.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/render/markdown.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* THE RUN VERDICT — the headline sentence a reader meets first, and the exit code it names.
|
|
3
3
|
*
|
|
4
4
|
* Its own module rather than a further section in `markdown.ts`, which sits at a `max-lines`
|
|
5
|
-
* exception — and an exception excuses existing debt, never headroom
|
|
6
|
-
* The precedent
|
|
5
|
+
* exception — and an exception excuses existing debt, never headroom.
|
|
6
|
+
* The precedent was `measuredItem.ts` (retired with the measured axis, 3F-3516), moved out for
|
|
7
|
+
* the same reason; the move was forced here by
|
|
7
8
|
* @SCN-CLI-019 adding a fifth verdict, and it is the emitter this file is named for.
|
|
8
9
|
*/
|
|
9
10
|
import type { RenderInput } from "../assemble/renderInput.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runVerdict.d.ts","sourceRoot":"","sources":["../../src/render/runVerdict.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"runVerdict.d.ts","sourceRoot":"","sources":["../../src/render/runVerdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAoG9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,WAAW,KAAG,MAAM,EAsB7D,CAAC"}
|