Skip to main content

agentic_reality/storage/
mod.rs

1//! Domain stores — 8 stores for the 7 reality domains + indexes.
2
3use serde::{Deserialize, Serialize};
4
5use crate::types::coherence::*;
6use crate::types::deployment::*;
7use crate::types::environment::*;
8use crate::types::reality::*;
9use crate::types::resource::*;
10use crate::types::stakes::*;
11use crate::types::temporal::*;
12use crate::types::topology::*;
13
14/// Store for deployment consciousness domain.
15#[derive(Debug, Clone, Default, Serialize, Deserialize)]
16pub struct DeploymentStore {
17    pub soul: Option<DeploymentSoul>,
18    pub incarnation_memory: Option<IncarnationMemory>,
19}
20
21impl DeploymentStore {
22    pub fn new() -> Self {
23        Self::default()
24    }
25}
26
27/// Store for environment sensing domain.
28#[derive(Debug, Clone, Default, Serialize, Deserialize)]
29pub struct EnvironmentStore {
30    pub medium: Option<EnvironmentMedium>,
31    pub fingerprint: Option<ContextFingerprint>,
32}
33
34impl EnvironmentStore {
35    pub fn new() -> Self {
36        Self::default()
37    }
38}
39
40/// Store for resource proprioception domain.
41#[derive(Debug, Clone, Default, Serialize, Deserialize)]
42pub struct ResourceStore {
43    pub body: Option<ResourceBody>,
44    pub pressure_gradient: Option<ResourcePressureGradient>,
45    pub cost: Option<CostConsciousness>,
46    pub capabilities: Option<CapabilityMap>,
47    pub capacity_intuition: Option<CapacityIntuition>,
48}
49
50impl ResourceStore {
51    pub fn new() -> Self {
52        Self::default()
53    }
54}
55
56/// Store for reality physics domain.
57#[derive(Debug, Clone, Default, Serialize, Deserialize)]
58pub struct RealityStore {
59    pub layers: Option<RealityLayers>,
60    pub freshness: Option<FreshnessPerception>,
61    pub anchors: Vec<RealityAnchor>,
62    pub anchor_drifts: Vec<AnchorDrift>,
63    pub hallucination_state: Option<HallucinationState>,
64}
65
66impl RealityStore {
67    pub fn new() -> Self {
68        Self::default()
69    }
70}
71
72/// Store for topology awareness domain.
73#[derive(Debug, Clone, Default, Serialize, Deserialize)]
74pub struct TopologyStore {
75    pub topology: Option<DeploymentTopologyMap>,
76    pub mesh: Option<ServiceMeshPerception>,
77    pub neighbors: Option<NeighborAwareness>,
78    pub dependencies: Option<DependencyAwareness>,
79}
80
81impl TopologyStore {
82    pub fn new() -> Self {
83        Self::default()
84    }
85}
86
87/// Store for temporal grounding domain.
88#[derive(Debug, Clone, Default, Serialize, Deserialize)]
89pub struct TemporalStore {
90    pub awareness: Option<TemporalAwareness>,
91    pub causality: Option<CausalityGraph>,
92    pub timelines: Vec<Timeline>,
93}
94
95impl TemporalStore {
96    pub fn new() -> Self {
97        Self::default()
98    }
99}
100
101/// Store for stakes perception domain.
102#[derive(Debug, Clone, Default, Serialize, Deserialize)]
103pub struct StakesStore {
104    pub consequences: Option<ConsequenceAwareness>,
105    pub risk_field: Option<RiskFieldPerception>,
106    pub blast_radius: Option<BlastRadiusAwareness>,
107}
108
109impl StakesStore {
110    pub fn new() -> Self {
111        Self::default()
112    }
113}
114
115/// Store for coherence maintenance domain.
116#[derive(Debug, Clone, Default, Serialize, Deserialize)]
117pub struct CoherenceStore {
118    pub state: Option<CoherenceState>,
119    pub transitions: Option<TransitionState>,
120}
121
122impl CoherenceStore {
123    pub fn new() -> Self {
124        Self::default()
125    }
126}