Files
Shadowbroker/backend/tests/test_runtime_profile.py
BigBodyCobain b7824004db feat(gt): experimental Derived OSINT analytics with lean-node safeguards
Cherry-picked from @Bobpick PR #391 (GT + OpenClaw slice): Bayesian strategic-risk engine, map overlay, OpenClaw commands, and telegram_rhetoric watchdog. Off by default (GT_ANALYTICS_ENABLED=false, gt_risk layer false). 1 vCPU nodes get cgroup detection, UI warning on layer toggle, and lean profile that skips scheduled ingest/Louvain unless GT_ANALYTICS_ACK_LOW_CPU=true. Backtest HUD removed from dashboard (OpenClaw/API regression only).

Co-authored-by: Robert Pickett <bobpickettsr@yahoo.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-16 17:03:11 -06:00

29 lines
1.2 KiB
Python

"""Runtime profile detection for lean fleet nodes."""
from services import runtime_profile
def test_resolve_profile_name_env_override(monkeypatch):
monkeypatch.setenv("GT_ANALYTICS_PROFILE", "standard")
monkeypatch.setattr(runtime_profile, "detect_cpu_limit", lambda: 1.0)
assert runtime_profile.resolve_profile_name() == "standard"
def test_resolve_profile_name_auto_lean_on_one_cpu(monkeypatch):
monkeypatch.delenv("GT_ANALYTICS_PROFILE", raising=False)
monkeypatch.setattr(runtime_profile, "detect_cpu_limit", lambda: 1.0)
assert runtime_profile.resolve_profile_name() == "lean"
def test_runtime_profile_payload(monkeypatch):
monkeypatch.delenv("GT_ANALYTICS_PROFILE", raising=False)
monkeypatch.setattr(runtime_profile, "detect_cpu_limit", lambda: 1.0)
monkeypatch.setattr(runtime_profile, "detect_memory_limit_mb", lambda: 4096)
runtime_profile.clear_runtime_profile_cache()
payload = runtime_profile.get_runtime_profile()
assert payload["profile"] == "lean"
assert payload["cpu_limit"] == 1.0
assert payload["gt_analytics"]["recommended"] is False
assert payload["gt_analytics"]["lean_node"] is True
assert "1 vCPU" in (payload["gt_analytics"]["warning"] or "")