rhodawk-ai-devops-engine / tests /test_model_router.py
Rhodawk Mythos Agent
ARCHITECT: full masterplan implementation — 19 skills, 10 new MCP servers, 5-tier model router, EmbodiedOS bridge, autonomous night-mode loop, sandbox manager, pytest suite, stability fixes
da8fcf1
Raw
History Blame Contribute Delete
1.17 kB
"""ARCHITECT model-router unit tests."""
from __future__ import annotations
def test_default_routes_present(fresh_budget):
routes = fresh_budget.all_routes()
for required in ("static_analysis", "patch_generation", "exploit_reasoning",
"adversarial_review_a", "adversarial_review_b",
"adversarial_review_c", "critical_cve_draft", "bulk_triage"):
assert required in routes, f"missing route: {required}"
def test_route_returns_known_model(fresh_budget):
d = fresh_budget.route("static_analysis")
assert d.model.startswith("deepseek/")
assert d.tier == 1
def test_budget_caps_force_local_fallback(fresh_budget):
fresh_budget.reset_budget(hard_cap_usd=0.0001)
fresh_budget.record_usage(fresh_budget.TIER1_PRIMARY, 100_000_000)
d = fresh_budget.route("static_analysis")
assert d.model == fresh_budget.TIER5_LOCAL
assert "budget" in d.reason
def test_caller_preferred_overrides(fresh_budget):
d = fresh_budget.route("static_analysis", prefer=fresh_budget.TIER2_PRIMARY)
assert d.model == fresh_budget.TIER2_PRIMARY
assert d.reason.startswith("caller-preferred")