Skip to main content

sim_incremental_core/projection/
mod.rs

1//! Durable semantic projections over sealed, caller-supplied world facts.
2//!
3//! Projection is deliberately separate from observation and execution. A
4//! provider receives an immutable selected view, has no I/O port, and returns a
5//! canonical value plus the exact facts it consumed. Admission proves which
6//! implementation and input policy may produce reusable results; confinement
7//! records effect bounds independently.
8
9mod admission;
10mod assay;
11mod assay_repair;
12mod builtin;
13mod engine;
14mod graph;
15mod model;
16
17// NativeSourceEvidence, ProjectorQualificationVerifier, and
18// bootstrap_native_source are `pub(crate)`, deliberately not re-exported: no
19// downstream crate can construct evidence, call the verifier, or mint a
20// bootstrap receipt. The only route to a ProjectorQualification is
21// `ProjectionRegistry::qualification_for`. See admission.rs's module docs.
22pub use admission::{ClosedWasmEvidence, QualificationError};
23#[cfg(test)]
24use admission::{ProjectorQualificationVerifier, bootstrap_native_source};
25pub use assay::{
26    AssayContract, AssayError, AssayOutcome, ControlledDelta, ControlledDeltaClass,
27    ExpectedClosure, ExpectedClosureSet, ExpectedClosureViolation, PredictedClosureAssay,
28    PredictedClosureReport, PredictedWork, StageOneQualification,
29};
30pub use assay_repair::{
31    ArchitectureFaultReview, ProjectionRepairItem, ProjectionRepairSet, ProjectionRepairTracker,
32    RepairDisposition,
33};
34pub use builtin::{
35    BASELINE_PROJECTION_KINDS, PathSelectionRules, SelectFactsProvider, install_baseline_providers,
36};
37pub use engine::{ConfigShapeVerifier, ProjectionEngine, ProjectionRegistry};
38pub use graph::{ClosureError, FederatedClosure, OwnerProjectionGraph};
39pub use model::{
40    ConclusionId, ConfinementEvidence, DeclaredInputSelector, DeterministicImportManifest,
41    ExecutionSemantics, Explanation, FactId, MediatedAccessWitness, ObservedFact, ObservedWorld,
42    PackageIdentity, ProjectionBudget, ProjectionDigest, ProjectionError, ProjectionInputs,
43    ProjectionKindRef, ProjectionOutput, ProjectionProvider, ProjectionResult, ProjectionSpec,
44    ProjectorPolicy, ProjectorQualification, QualifiedRuntime, QualifiedSourceClosure,
45};
46// ProjectorQualificationKind is `pub(crate)`: only this crate's own admission
47// logic constructs a ProjectorQualification's contents. Not re-exported.
48use model::ProjectorQualificationKind;
49
50#[cfg(test)]
51mod assay_tests;
52#[cfg(test)]
53mod tests;