Defer graph health computation to first trigger, not startup

Loading 23K nodes + building graph was blocking consciousness startup.
Now computed on first trigger cycle (runs async from mind loop).

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
ProofOfConcept 2026-04-09 01:05:08 -04:00
parent 0d40f27098
commit b7e053edc3

View file

@ -116,13 +116,11 @@ impl Unconscious {
} }
agents.sort_by(|a, b| a.name.cmp(&b.name)); agents.sort_by(|a, b| a.name.cmp(&b.name));
let mut s = Self { Self {
agents, max_concurrent: 2, agents, max_concurrent: 2,
graph_health: None, graph_health: None,
last_health_check: None, last_health_check: None,
}; }
s.refresh_health();
s
} }
/// Toggle an agent on/off by name. Returns new enabled state. /// Toggle an agent on/off by name. Returns new enabled state.
@ -167,10 +165,10 @@ impl Unconscious {
/// Reap finished agents and spawn new ones. /// Reap finished agents and spawn new ones.
pub async fn trigger(&mut self) { pub async fn trigger(&mut self) {
// Periodic graph health refresh // Periodic graph health refresh (also on first call)
if self.last_health_check if self.last_health_check
.map(|t| t.elapsed() > Duration::from_secs(600)) .map(|t| t.elapsed() > Duration::from_secs(600))
.unwrap_or(false) .unwrap_or(true)
{ {
self.refresh_health(); self.refresh_health();
} }