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).
This commit is contained in:
Joey Yakimowich-Payne 2026-03-15 08:41:50 -06:00
commit 8d8bd03d41

View file

@ -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: