pub struct SelfModel { /* private fields */ }Expand description
Top-level self-model — orchestrates metric tracking, forecasting, alerting, and confidence calibration.
Implementations§
Source§impl SelfModel
impl SelfModel
Sourcepub fn with_capacity(capacity: usize) -> Self
pub fn with_capacity(capacity: usize) -> Self
Create a new self-model with the given history capacity per metric.
Sourcepub fn record(&self, kind: MetricKind, value: f32)
pub fn record(&self, kind: MetricKind, value: f32)
Record a metric sample.
Sourcepub fn record_at(&self, kind: MetricKind, value: f32, timestamp: DateTime<Utc>)
pub fn record_at(&self, kind: MetricKind, value: f32, timestamp: DateTime<Utc>)
Record a metric sample with an explicit timestamp (for testing/replay).
Sourcepub fn forecast(&self, kind: MetricKind, horizon: usize) -> Option<Forecast>
pub fn forecast(&self, kind: MetricKind, horizon: usize) -> Option<Forecast>
Forecast a metric horizon samples into the future.
Sourcepub fn forecast_all(&self, horizon: usize) -> Vec<(MetricKind, Forecast)>
pub fn forecast_all(&self, horizon: usize) -> Vec<(MetricKind, Forecast)>
Forecast all tracked metrics.
Sourcepub fn check_alerts(&self) -> Vec<Alert>
pub fn check_alerts(&self) -> Vec<Alert>
Check all alert rules against current forecasts.
Sourcepub fn confidence(&self) -> f32
pub fn confidence(&self) -> f32
Get the overall system confidence (0.0–1.0). Confidence <0.5 triggers conservative dispatch.
Sourcepub fn snapshot(&self) -> SelfModelSnapshot
pub fn snapshot(&self) -> SelfModelSnapshot
Take a snapshot of the entire self-model state.
Sourcepub fn add_alert_rule(&self, rule: AlertRule)
pub fn add_alert_rule(&self, rule: AlertRule)
Add a custom alert rule.
Sourcepub fn tracked_count(&self) -> usize
pub fn tracked_count(&self) -> usize
Get the number of tracked metrics.
Sourcepub fn sample_count(&self, kind: MetricKind) -> usize
pub fn sample_count(&self, kind: MetricKind) -> usize
Get the number of samples for a specific metric.
Sourcepub fn record_cognitive(&self, metrics: &CognitiveMetrics)
pub fn record_cognitive(&self, metrics: &CognitiveMetrics)
Record cognitive metrics from an imagination/research cycle.
Convenience method that records all four cognitive metrics at once.
Sourcepub fn record_cognitive_at(
&self,
metrics: &CognitiveMetrics,
timestamp: DateTime<Utc>,
)
pub fn record_cognitive_at( &self, metrics: &CognitiveMetrics, timestamp: DateTime<Utc>, )
Record cognitive metrics with an explicit timestamp (for testing/replay).
Sourcepub fn forecast_cognitive(&self, horizon: usize) -> CognitiveForecast
pub fn forecast_cognitive(&self, horizon: usize) -> CognitiveForecast
Forecast cognitive metrics horizon samples ahead.
Returns forecasts for all four cognitive metrics that have enough history.
Sourcepub fn check_cognitive_alerts(&self) -> Vec<Alert>
pub fn check_cognitive_alerts(&self) -> Vec<Alert>
Check cognitive-specific alert rules.
Returns alerts for cognitive metrics only (imagination quality, research output, scenario confidence, simulation variance).