Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Capability and Admission

This document defines the capability gates that control runtime admission and profile selection.

Gate Layers

Admission is enforced across Lean theorem-pack surfaces and Rust runtime checks.

LayerMain API
Lean theorem-pack facadeRuntime/Proofs/TheoremPack/API.lean
Lean capability inventoryRuntime/Proofs/TheoremPack/Inventory.lean
Lean admission logicRuntime/Adequacy/EnvelopeCore/AdmissionLogic.lean
Rust runtime gatesrust/vm/src/runtime_contracts.rs
Rust composition admissionrust/vm/src/composition.rs

Runtime Gate Flow

Rust runtime admission uses a fixed gate sequence.

StepFunctionResult class
advanced mode checkrequires_vm_runtime_contractsboolean requirement
runtime admissionadmit_vm_runtimeAdmitted or RejectedMissingContracts
profile requestrequest_determinism_profileselected profile or None
unified gateenforce_vm_runtime_gatesAdmitted, RejectedMissingContracts, or RejectedUnsupportedDeterminismProfile

The unified gate is the admission decision used by higher-level runtime loaders.

Determinism Profiles

Determinism profiles are validated against artifacts and capability switches.

ProfileRust enumArtifact flag
fullDeterminismMode::Fulldeterminism_artifacts.full
modulo effect traceDeterminismMode::ModuloEffectsdeterminism_artifacts.modulo_effect_trace
modulo commutativityDeterminismMode::ModuloCommutativitydeterminism_artifacts.modulo_commutativity
replayDeterminismMode::Replaydeterminism_artifacts.replay

Non-full profiles also require can_use_mixed_determinism_profiles.

Theorem-Pack Capability Inventory

The theorem-pack inventory publishes machine-readable capability keys.

Inventory familyExample keys
protocol safety and livenesstermination, output_condition_soundness
distributed impossibility and safetyflp_impossibility, cap_impossibility, quorum_geometry_safety
distributed deployment familiespartial_synchrony_liveness, reconfiguration_safety, atomic_broadcast_ordering
advanced envelope familiesconsensus_envelope, failure_envelope, vm_envelope_adherence, vm_envelope_admission, protocol_envelope_bridge
classical transport familiesclassical_foster, classical_maxweight, classical_ldp, classical_functional_clt

Rust capability snapshots should align with this inventory for release and admission claims.

Composition Admission

Composed runtime admission in rust/vm/src/composition.rs enforces both proof artifacts and runtime gates.

RequirementFailure mode
link_ok_full compatibility evidenceMissingCompatibilityProof
runtime contracts for advanced modeMissingRuntimeContracts
required scheduler capabilityMissingCapability
required determinism capabilityMissingCapability
output-condition gating capabilityMissingCapability
memory budgetBudgetExceeded

This path guarantees that admitted bundles carry both semantic and operational evidence.

Admission Diagnostics

Lean and Rust both expose structured rejection categories.

SurfaceRejection classes
Lean admission logicmaxDiffExceeded, eqSafeNotSupported, missingRequiredProfiles
Rust runtime gateRejectedMissingContracts, RejectedUnsupportedDeterminismProfile
Rust compositiontyped CompositionError variants with capability key strings

These categories are intended for machine-visible reporting and CI gate failures.

Governance and CI

Admission and capability drift are controlled by repository lanes.

CheckCommand
runtime capability gate shapejust check-capability-gates
theorem-pack release conformancejust check-release-conformance
VM parity suitejust check-parity --suite
parity type and schema policyjust check-parity --types
consolidated parity policyjust check-parity --all