Skip to main content

pleiades_types/
compatibility_claim.rs

1//! Per-entry compatibility claim tier shared by the house and ayanamsa catalogs.
2#![forbid(unsafe_code)]
3
4/// The compatibility claim a catalog makes for one built-in entry.
5///
6/// Two tiers only — no ambiguous middle state. `ReleaseGradeNumeric` asserts the
7/// entry is exercised by an SE numeric gate against a corpus-validated ceiling
8/// and passes it; `DescriptorOnly` asserts catalogue/metadata presence with no
9/// numeric compatibility claim.
10#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
11#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
12pub enum CompatibilityClaimTier {
13    /// Numeric compatibility is asserted and backed by passing gate evidence.
14    ReleaseGradeNumeric,
15    /// Catalogued with metadata/aliases only; no numeric compatibility claim.
16    DescriptorOnly,
17}
18
19#[cfg(test)]
20mod tests {
21    use super::*;
22
23    #[test]
24    fn tiers_are_distinct() {
25        assert_ne!(
26            CompatibilityClaimTier::ReleaseGradeNumeric,
27            CompatibilityClaimTier::DescriptorOnly
28        );
29    }
30}