panacea-api / src /model /triage.py
DTanzillo's picture
Upload folder using huggingface_hub
a4b5ecb verified
# 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,
)