File size: 1,120 Bytes
63c75d5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/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())