pub struct Contract {
pub metadata: Metadata,
pub equations: BTreeMap<String, Equation>,
pub proof_obligations: Vec<ProofObligation>,
pub kernel_structure: Option<KernelStructure>,
pub simd_dispatch: BTreeMap<String, BTreeMap<String, String>>,
pub enforcement: BTreeMap<String, EnforcementRule>,
pub falsification_tests: Vec<FalsificationTest>,
pub kani_harnesses: Vec<KaniHarness>,
pub qa_gate: Option<QaGate>,
pub verification_summary: Option<VerificationSummary>,
pub type_invariants: Vec<TypeInvariant>,
pub coq_spec: Option<CoqSpec>,
}Expand description
A complete YAML kernel contract.
This is the root type for the contract schema defined in
docs/specifications/pv-spec.md Section 3.
Fields§
§metadata: Metadata§equations: BTreeMap<String, Equation>Equations are optional — kaizen, pipeline, and registry contracts
may define only proof_obligations without mathematical equations.
proof_obligations: Vec<ProofObligation>§kernel_structure: Option<KernelStructure>§simd_dispatch: BTreeMap<String, BTreeMap<String, String>>§enforcement: BTreeMap<String, EnforcementRule>§falsification_tests: Vec<FalsificationTest>§kani_harnesses: Vec<KaniHarness>§qa_gate: Option<QaGate>§verification_summary: Option<VerificationSummary>Phase 7: Lean 4 verification summary across all obligations.
type_invariants: Vec<TypeInvariant>Type-level invariants (Meyer’s class invariants).
coq_spec: Option<CoqSpec>Coq verification specification.
Implementations§
Source§impl Contract
impl Contract
Sourcepub fn is_registry(&self) -> bool
pub fn is_registry(&self) -> bool
Returns true if this is a data registry (exempt from provability invariant).
Sourcepub fn provability_violations(&self) -> Vec<String>
pub fn provability_violations(&self) -> Vec<String>
Enforce the provability invariant: kernel contracts MUST have
proof_obligations, falsification_tests, and kani_harnesses.
Returns a list of violations. Empty list = contract is valid.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Contract
impl<'de> Deserialize<'de> for Contract
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Contract
impl RefUnwindSafe for Contract
impl Send for Contract
impl Sync for Contract
impl Unpin for Contract
impl UnsafeUnpin for Contract
impl UnwindSafe for Contract
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more