From de4e77d52460ee0376a57e1d9cb18efc58cfbdd9a3fee610dc8bad16873a951d Mon Sep 17 00:00:00 2001 From: larssand Date: Tue, 30 Jun 2026 12:33:44 +0200 Subject: [PATCH] fix cache and restart --- src/fgai/dashboard.py | 1 + src/fgai/monitor.py | 1 + start.sh | 3 ++- tests/test_monitor.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fgai/dashboard.py b/src/fgai/dashboard.py index 470b17c..30cb94a 100644 --- a/src/fgai/dashboard.py +++ b/src/fgai/dashboard.py @@ -261,6 +261,7 @@ async function refresh() { document.getElementById('liveStatus').innerHTML = [ data.stale ? `Showing cached dashboard data because live MCP fetch failed.` : '', cache.stored_at ? `Cached snapshot: ${esc(new Date(cache.stored_at * 1000).toLocaleString())}` : '', + `Status schema: ${esc(data.status_schema || 'old')}`, `Log file: ${esc(data.log_path || '')}`, `Policy file: ${esc(data.policy_path || 'none')}`, `Critical anomalies: ${esc((a.critical || 0))}`, diff --git a/src/fgai/monitor.py b/src/fgai/monitor.py index cf263e3..8c5efcf 100644 --- a/src/fgai/monitor.py +++ b/src/fgai/monitor.py @@ -306,6 +306,7 @@ def build_status( summary["raw_sample_total"] = len(events) summary["aggregate_backed"] = True status = { + "status_schema": 2, "generated_at": int(time.time()), "log_path": log_path, "policy_path": policy_path, diff --git a/start.sh b/start.sh index 699f0d7..48ee72c 100755 --- a/start.sh +++ b/start.sh @@ -14,6 +14,7 @@ STATE_FILE="${FGAI_STATE_FILE:-$ROOT_DIR/state/fgai-status.json}" CONFIG_FILE="${FGAI_CONFIG_FILE:-$ROOT_DIR/state/fgai-config.json}" BASELINE_DB="${FGAI_BASELINE_DB:-$ROOT_DIR/state/fgai-baseline.sqlite3}" HISTORY_DB="${FGAI_HISTORY_DB:-$ROOT_DIR/state/signalscope-history.sqlite3}" +STATUS_CACHE_DB="${FGAI_STATUS_CACHE_DB:-$ROOT_DIR/state/signalscope-status-cache.sqlite3}" MONITOR_INTERVAL="${FGAI_MONITOR_INTERVAL:-10}" LLM_ENABLED="${FGAI_LLM:-0}" LLM_INTERVAL="${FGAI_LLM_INTERVAL:-300}" @@ -121,7 +122,7 @@ start_monitor() { return 0 fi - monitor_args=(monitor --logs "$LOG_FILE" --output "$STATE_FILE" --interval "$MONITOR_INTERVAL" --baseline-db "$BASELINE_DB" --history-db "$HISTORY_DB" --config-file "$CONFIG_FILE") + monitor_args=(monitor --logs "$LOG_FILE" --output "$STATE_FILE" --interval "$MONITOR_INTERVAL" --baseline-db "$BASELINE_DB" --history-db "$HISTORY_DB" --status-cache-db "$STATUS_CACHE_DB" --config-file "$CONFIG_FILE") if [ -f "$POLICY_FILE" ]; then monitor_args+=(--policies "$POLICY_FILE") fi diff --git a/tests/test_monitor.py b/tests/test_monitor.py index 6b19885..9819d6c 100644 --- a/tests/test_monitor.py +++ b/tests/test_monitor.py @@ -26,6 +26,7 @@ class MonitorTests(unittest.TestCase): status = build_status(str(log_path), incident_path=str(Path(tmp) / "incidents.json")) self.assertEqual(status["summary"]["total"], 3) + self.assertEqual(status["status_schema"], 2) self.assertGreaterEqual(len(status["anomalies"]), 1) def test_write_status_creates_parent_directory(self):