resilientagent-prod / src /models.py
Ajay1232's picture
fix: clamp grader scores to (0.01, 0.99) - Phase 2 validator requires strictly between 0 and 1
a8ab4a8
Raw
History Blame Contribute Delete
1.12 kB
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any, List, Literal
from datetime import datetime
class MLAction(BaseModel):
action_type: Literal[
"check_metrics", "read_logs", "check_deployment",
"analyze_drift", "scale_service", "rollback_model", "optimize_batch",
"restart_service", "verify_fix", "notify_team"
]
target: str
parameters: Optional[Dict[str, Any]] = None
class MLObservation(BaseModel):
metrics: Dict[str, float]
recent_logs: List[str]
alert_status: str
time_elapsed: float
last_action_result: str
root_cause_hint: Optional[str] = None
class MLReward(BaseModel):
value: float
reason: str
partial_progress: float
class MLState(BaseModel):
task_id: str
services: Dict[str, str]
metrics: Dict[str, float]
logs: List[str]
incident_start: float
time_to_resolution: Optional[float] = None
model_healthy: bool
actions_taken: List[str]
wasted_actions: int
root_cause_identified: Optional[str] = None
fix_applied: Optional[str] = None
step_count: int