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}