PureYAML/scripts/validation-coverage.tsv
Mihaela M b35e2a04f0 build: classify the located-parse public types for coverage
The located-parse port added four public Model types (LocatedValue, LocatedPair,
SourceRange, SourcePosition) that the validation-coverage gate flagged as
unclassified, blocking the push. They are positional projections and pure
position data with no validation invariant of their own: LocatedValue and
LocatedPair wrap an already-validated Model.Value, and SourceRange and
SourcePosition are data-transfer. Classify all four as excluded with reasons.
2026-06-29 12:19:17 +02:00

6.1 KiB

1# Public-type validation coverage manifest (validation-rules.md).
2# Every public type in the PureYAML target is classified exactly once.
3# `validated`: carries a runtime invariant the type system does not enforce; backed by a
4# Validation<Subject> in the framework phase.
5# `excluded`: a caseless namespace, a closed sum type whose illegal states are unrepresentable,
6# a pure data-transfer type, an error value, or engine/machinery that is not a validated subject.
7# scripts/check-validation-coverage.sh fails the build if a public type is missing here or a line
8# here is no longer public.
9# --- namespaces (caseless enums) ---
10# --- model ---
11# --- stream ---
12# --- parsing ---
13# --- emitting ---
14# --- decoding / encoding (Codable machinery) ---
15# --- tagged node subsystem ---
16# --- validation framework's own types ---