#!/usr/bin/env python3 """Standalone smoke test for deterministic failure-mode classification.""" import os import sys sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) from reviewer.intelligence import _classify_failure_text, _failure_recommendation def main() -> int: assert _classify_failure_text("approval required before running this command") == "approval_or_permission_stall" assert _classify_failure_text("Permission denied while opening file") == "approval_or_permission_stall" assert _classify_failure_text("permission model docs mention safe defaults") is None assert _classify_failure_text("request timed out after 30s") == "timeout" assert _classify_failure_text("context deadline exceeded") == "timeout" assert _classify_failure_text("model fallback activated") == "model_failover_or_fallback" assert _classify_failure_text("no session found for id abc") == "stale_session_reference" assert "heartbeat" in _failure_recommendation("timeout") print("failure_classifier_smoke: ok") return 0 if __name__ == "__main__": raise SystemExit(main())