feat(kpi): expand KPI runtime monitoring, prompt advisory envelopes, and missing field resiliency

This commit is contained in:
operator
2026-10-06 20:02:48 +00:00
parent b824f6d405
commit ae4df2f29c
13 changed files with 1702 additions and 85 deletions
+11 -1
View File
@@ -237,7 +237,17 @@ def get_usage(node, timeout=8.0):
return {"ok": False, "node": node,
"error": "empty settings dialog"}
out = {"ok": True, "node": node}
out.update(parse_usage_text(text))
parsed = parse_usage_text(text)
stats_loaded = bool(
parsed.get("weekly_reset")
or parsed.get("weekly_used_pct") is not None
or parsed.get("has_redeemed")
or parsed.get("additional_left")
)
out.update(parsed)
out["stats_loaded"] = stats_loaded
if not stats_loaded:
out["note"] = "Usage stats did not render in Settings dialog"
return out
finally:
_escape(ws)