Expand description
The located, collect-all lint-finding types (LintFinding/Severity/LintReport). The located, collect-all lint-finding types (DIA-02 finding shape).
RELOCATED into workbook-runtime (Phase 11, Plan 05): the runtime executor’s
run() returns a Box<LintFinding> on a dependency cycle, so the finding
types must live on the umya-free runtime side. workbook-compiler re-exports
these from pmcp_workbook_runtime so its dialect::{LintFinding, LintReport, Severity} surface (and every crate::dialect::* consumer) is unchanged.
A LintFinding is the linter’s atomic output unit: a severity tier, a
stable slash-namespaced rule id, a sheet + optional cell LOCATION, a
human message, and BA-actionable repair text. A LintReport is the
collect-all aggregate: the linter never stops at the first problem — it
accumulates EVERY finding and answers LintReport::has_errors as the
conformance gate (D-05: only Error severity blocks; Warning/Info do
not).
These three derive serde::Serialize + serde::Deserialize +
schemars::JsonSchema because they serialize to (and round-trip back from)
the lint-report artifact + snapshot that Phases 8–11 and the BA consume
(Deserialize added per D-08 so a served LintReport JSON parses back into
the typed struct).
Structs§
- Lint
Finding - A single located dialect finding (DIA-02). The
ruleis a stable slash-namespaced id (e.g."whitelist/unsupported-fn","structure/hidden-sheet","manifest/role-conflict");repaircarries BA-actionable fix text so a non-engineer can act without a round-trip. - Lint
Report - The collect-all aggregate of every
LintFindingfrom one lint pass (mirrorsCatalogError::Load(Vec<_>)). The linter accumulates into one report;LintReport::has_errorsis the conformance gate (D-05).
Enums§
- Severity
- The severity tier of a
LintFinding. OnlySeverity::Errorgates conformance (LintReport::has_errors);Warning/Infoare advisory (D-05).