Fix MCP hangs and add logging

This commit is contained in:
Riz Ashraf committed 2026-09-13 11:10:35 +01:00
1 parent 75748f0e21
commit f2582b58be
18 files changed
+1034 -39

No files matched your search

+12 -9
View File
@@ -192,12 +192,12 @@ impl MemoryState {
pub fn rebuild_index(&self) {
if let Ok(new_idx) = MemoryIndex::new(&self.base_dir) {
let session = self.session_graph.read().unwrap();
let cache = self.master_cache.read().unwrap();
let session_clone = { self.session_graph.read().unwrap().clone() };
let cache_clone = { self.master_cache.read().unwrap().0.clone() };
// Index entities that are only in master, or merge if they are in both
for (name, e) in &cache.0.entities {
if let Some(session_e) = session.entities.get(name) {
for (name, e) in &cache_clone.entities {
if let Some(session_e) = session_clone.entities.get(name) {
let mut merged_e = e.clone();
for obs in &session_e.observations {
if !merged_e.observations.contains(obs) {
@@ -210,19 +210,22 @@ impl MemoryState {
}
}
// Index entities that are only in session
for (name, session_e) in &session.entities {
if !cache.0.entities.contains_key(name) {
for (name, session_e) in &session_clone.entities {
if !cache_clone.entities.contains_key(name) {
let _ = new_idx.index_entity(session_e);
}
}
for t in self.tasks.read() {
let tasks = self.tasks.read();
for t in tasks {
let _ = new_idx.index_task(&t);
}
for s in self.snippets.read() {
let snippets = self.snippets.read();
for s in snippets {
let _ = new_idx.index_snippet(&s);
}
for a in self.adrs.read() {
let adrs = self.adrs.read();
for a in adrs {
let _ = new_idx.index_adr(&a);
}
let _ = new_idx.commit();