From 8d8bd03d413a04c313ce5bd3a6589e9b85acd824 Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Sun, 15 Mar 2026 08:41:50 -0600 Subject: [PATCH] fix: dashboard fidelity chart reads from FidelityManager instead of empty object store The fidelity distribution chart was always showing 0 for L1-L4 because it queried the ObjectStore (never populated) instead of the FidelityManager (which actually tracks degradation state). --- src/mnemosyne/gateway.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/mnemosyne/gateway.py b/src/mnemosyne/gateway.py index 0f528b8..cb26ee4 100644 --- a/src/mnemosyne/gateway.py +++ b/src/mnemosyne/gateway.py @@ -1613,16 +1613,17 @@ def create_app( session_summaries: dict[str, Any] = {} for sid, sess in all_sessions.items(): try: - objs = await sess.object_store.get_session_objects(sid) - total_tokens = sum(obj.current_tokens for obj in objs) + fm = sess.fidelity_manager + obj_count = len(fm._objects) + obj_tokens = fm.total_tokens() fidelity_dist: dict[int, int] = {} - for obj in objs: + for obj in fm._objects.values(): fidelity_dist[obj.current_fidelity] = ( fidelity_dist.get(obj.current_fidelity, 0) + 1 ) session_summaries[sid] = { - "total_objects": len(objs), - "total_tokens": total_tokens, + "total_objects": obj_count, + "total_tokens": obj_tokens, "fidelity_distribution": fidelity_dist, } except Exception: