Files
timmy-home/scripts/sovereign_health_report.py

69 lines
2.0 KiB
Python

import sqlite3
import json
import os
from pathlib import Path
from datetime import datetime
DB_PATH = Path.home() / ".timmy" / "metrics" / "model_metrics.db"
REPORT_PATH = Path.home() / "timmy" / "SOVEREIGN_HEALTH.md"
def generate_report():
if not DB_PATH.exists():
return "No metrics database found."
conn = sqlite3.connect(str(DB_PATH))
# Get latest sovereignty score
row = conn.execute("""
SELECT local_pct, total_sessions, local_sessions, cloud_sessions, est_cloud_cost, est_saved
FROM sovereignty_score ORDER BY timestamp DESC LIMIT 1
""").fetchone()
if not row:
return "No sovereignty data found."
pct, total, local, cloud, cost, saved = row
# Get model breakdown
models = conn.execute("""
SELECT model, SUM(sessions), SUM(messages), is_local, SUM(est_cost_usd)
FROM session_stats
WHERE timestamp > ?
GROUP BY model
ORDER BY SUM(sessions) DESC
""", (datetime.now().timestamp() - 86400 * 7,)).fetchall()
report = f"""# Sovereign Health Report — {datetime.now().strftime('%Y-%m-%d')}
## ◈ Sovereignty Score: {pct:.1f}%
**Status:** {"🟢 OPTIMAL" if pct > 90 else "🟡 WARNING" if pct > 50 else "🔴 COMPROMISED"}
- **Total Sessions:** {total}
- **Local Sessions:** {local} (Zero Cost, Total Privacy)
- **Cloud Sessions:** {cloud} (Token Leakage)
- **Est. Cloud Cost:** ${cost:.2f}
- **Est. Savings:** ${saved:.2f} (Sovereign Dividend)
## ◈ Fleet Composition (Last 7 Days)
| Model | Sessions | Messages | Local? | Est. Cost |
| :--- | :--- | :--- | :--- | :--- |
"""
for m, s, msg, l, c in models:
local_flag = "" if l else ""
report += f"| {m} | {s} | {msg} | {local_flag} | ${c:.2f} |\n"
report += """
---
*Generated by the Sovereign Health Daemon. Sovereignty is a right. Privacy is a duty.*
"""
with open(REPORT_PATH, "w") as f:
f.write(report)
print(f"Report generated at {REPORT_PATH}")
return report
if __name__ == "__main__":
generate_report()