Public declaration syntax from forge-rs/harness-runtime/src/planes/mod.rs Original source SHA-256: 2b25f5934078544ef559bfe8d52667fca8af025b2f906627e3ceca1c7cc500da Function bodies and constant values are omitted. This is not the complete implementation. Source line 31 pub use context::{ContextFrame, ContextPlane, ContextRequest}; Source line 32 pub use economics::{ BudgetReservation, BudgetReservationRequest, EconomicsPlane, SettlementRecord, SettlementRequest, }; Source line 36 pub use http::HttpPlaneClient; Source line 37 pub use identity::{IdentityPlane, LineageVerification, LineageVerificationRequest}; Source line 38 pub use inference::{ InferencePlane, InferenceRequest, InferenceResponse, InferenceUsage, ModelOutput, TranscriptEntry, TranscriptRole, }; Source line 42 pub use memory::{MemoryPlane, MemoryWrite}; Source line 43 pub use noop::NoopPlanes; Source line 44 pub use perception::{MediaArtifact, PerceptionPlane, PerceptionRecord}; Source line 45 pub use policy::{PolicyDecision, PolicyPlane, PolicyRequest}; Source line 46 pub use substrate::{Placement, PlacementRequest, SubstratePlane}; Source line 47 pub use telemetry::{TelemetryEvent, TelemetryPlane}; Source line 48 pub use tools::{ApprovalDecision, ApprovalRequest, ToolInvocation, ToolOutput, ToolsPlane}; Source line 49 pub use verification::{GateRequest, GateResult, VerificationPlane}; Source line 55 #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum PlaneKind { /// Identity plane (OAS DID lineage). Identity, /// Policy plane (information-flow / capability authorization). Policy, /// Context plane (packed governed frames). Context, /// Memory plane (episodic/procedural/resource/vault). Memory, /// Inference plane (model calls through the binding). Inference, /// Tools plane (allowlisted invocation + approvals). Tools, /// Verification plane (declared gates). Verification, /// Economics plane (reservation, metering, settlement). Economics, /// Telemetry plane (event emission). Telemetry, /// Substrate plane (execution placement). Substrate, /// Perception ingress (signed, typed SemanticIR — optional binding, /// §4.7). Perception, } Source line 106 pub trait Plane: Send + Sync { /// Which plane this adapter serves. fn kind(&self) -> PlaneKind; /// Stable provider identifier for records and logs (e.g. `foundry`, /// `lanes`, `noop`). fn provider_id(&self) -> &str; /// True when a real provider is bound. Noop adapters return false. fn is_bound(&self) -> bool ; } Source line 126 #[derive(Clone, Default)] pub struct PlaneRegistry { } Source line 142 pub fn new() -> Self; Source line 147 pub fn noop_filled() -> Self; Source line 152 pub fn with_identity(mut self, plane: Arc) -> Self; Source line 158 pub fn with_policy(mut self, plane: Arc) -> Self; Source line 164 pub fn with_context(mut self, plane: Arc) -> Self; Source line 170 pub fn with_memory(mut self, plane: Arc) -> Self; Source line 176 pub fn with_inference(mut self, plane: Arc) -> Self; Source line 182 pub fn with_tools(mut self, plane: Arc) -> Self; Source line 188 pub fn with_verification(mut self, plane: Arc) -> Self; Source line 194 pub fn with_economics(mut self, plane: Arc) -> Self; Source line 200 pub fn with_telemetry(mut self, plane: Arc) -> Self; Source line 206 pub fn with_substrate(mut self, plane: Arc) -> Self; Source line 213 pub fn with_perception(mut self, plane: Arc) -> Self; Source line 219 pub fn bound_identity(&self) -> Result<&Arc, PlaneUnbound>; Source line 224 pub fn bound_policy(&self) -> Result<&Arc, PlaneUnbound>; Source line 229 pub fn bound_context(&self) -> Result<&Arc, PlaneUnbound>; Source line 234 pub fn bound_memory(&self) -> Result<&Arc, PlaneUnbound>; Source line 239 pub fn bound_inference(&self) -> Result<&Arc, PlaneUnbound>; Source line 244 pub fn bound_tools(&self) -> Result<&Arc, PlaneUnbound>; Source line 249 pub fn bound_verification(&self) -> Result<&Arc, PlaneUnbound>; Source line 254 pub fn bound_economics(&self) -> Result<&Arc, PlaneUnbound>; Source line 259 pub fn bound_telemetry(&self) -> Result<&Arc, PlaneUnbound>; Source line 264 pub fn bound_substrate(&self) -> Result<&Arc, PlaneUnbound>; Source line 269 pub fn bound_perception(&self) -> Result<&Arc, PlaneUnbound>;