Spaces:
Running
Running
File size: 1,478 Bytes
a4b5ecb | 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | # Generated by Claude Code -- 2026-02-13
"""Urgency tier classifier for conjunction events."""
from enum import Enum
from dataclasses import dataclass
class UrgencyTier(str, Enum):
LOW = "LOW"
MODERATE = "MODERATE"
HIGH = "HIGH"
@dataclass
class TriageResult:
tier: UrgencyTier
color: str
recommendation: str
risk_probability: float
def classify_urgency(risk_prob: float) -> TriageResult:
"""Classify conjunction urgency based on predicted risk probability.
Tiers:
LOW (risk <= 0.10): Monitor only
MODERATE (0.10 < risk <= 0.40): Assess maneuver options
HIGH (risk > 0.40): Immediate action required
"""
if risk_prob <= 0.10:
return TriageResult(
tier=UrgencyTier.LOW,
color="#4fff8a",
recommendation="Monitor conjunction. No action required.",
risk_probability=risk_prob,
)
elif risk_prob <= 0.40:
return TriageResult(
tier=UrgencyTier.MODERATE,
color="#ffb84f",
recommendation="Assess maneuver options. Increased monitoring recommended.",
risk_probability=risk_prob,
)
else:
return TriageResult(
tier=UrgencyTier.HIGH,
color="#ff4f5a",
recommendation="Immediate action required. Initiate collision avoidance maneuver.",
risk_probability=risk_prob,
)
|