from inferscale import run_simulation def test_healthy_run_has_diagnosis(): result = run_simulation( { "duration_s": 6, "request_rate_rps": 0.5, "prompt_tokens_mean": 128, "output_tokens_mean": 8, "slo_ttft_ms": 2000, "slo_e2e_ms": 20000, "slo_attainment_target": 0.95, } ) assert result["diagnostics"]["code"] in {"healthy", "healthy_near_saturation"} assert result["diagnostics"]["provenance"] == "heuristic-simulator-diagnosis" def test_summary_exposes_component_slo_attainment(): result = run_simulation( { "duration_s": 6, "request_rate_rps": 2, "prompt_tokens_mean": 128, "output_tokens_mean": 8, } ) summary = result["summary"] assert 0 <= summary["ttft_slo_attainment"] <= 1 assert 0 <= summary["e2e_slo_attainment"] <= 1 assert set(summary["slo_failure_breakdown"]) == {"ttft_only", "e2e_only", "both"}