Skip to main content

validate_coverage

Function validate_coverage 

Source
pub fn validate_coverage(
    vocab: &[&str],
    registry: &[SurfaceCoverage],
    discovered: &[&str],
) -> Vec<String>
Expand description

Hold a registry against the axis vocabulary and a mechanically discovered surface roster. Returns one finding per defect; an empty result is the only clean outcome. Pure and total: callers in tests pass the live vocabulary and their own live walk, fixtures pass synthetic ones.

The findings, each mapped to the failure it refuses:

  • a discovered surface with no registry row (a surface landed without declaring),
  • a registry row no walk discovers (a stale declaration reading as coverage),
  • a duplicate row (two claims, no single truth),
  • an axis named by a declaration that the vocabulary does not carry (a stale axis reading as coverage),
  • an axis in the vocabulary that a verdict declaration neither examines nor excludes (a new axis met by silence: the clean verdict would cover it by omission),
  • an axis both examined and excluded (a contradiction),
  • an exclusion or no-verdict claim with an empty reason (a declaration that declares nothing).