Expand description
Multi-revision judgment: one trace against several protocol revisions in a single pass, with per-clause applicability differences made visible.
validate_revisions projects a RegistrySet to each requested revision, runs the
ordinary engine::validate against each projection, and
aligns the results into a MultiReport: one row per clause in the union, carrying
its outcome under every judged revision. A clause that does not exist at a revision
(its applies range excludes it) reports None there — absent, which the report
keeps distinct from Outcome::NotApplicable (the clause exists at that revision but
a capability gating it was never negotiated, ADR-0006). Seeing both side by side is
what makes a migration’s gains and losses legible: a clause removed in the newer
revision reads pass then absent; one introduced there reads absent then pass.
Against the two registries this build ships, those are the only patterns — see
MultiRow::differs for why, and for what that costs the *differs marker.
Structs§
- Multi
Report - A multi-revision report: the same trace judged against several revisions, aligned per clause.
- Multi
Row - One clause’s row across every judged revision.
- Revision
Summary - One revision’s aggregate result within a
MultiReport.
Enums§
- Multi
Error - Error produced by a multi-revision run.
Functions§
- validate_
revisions - Validates one trace against several protocol revisions in a single pass.