Tejasva commited on
Commit
65ae195
·
1 Parent(s): 14b6f9b

fix:improvements

Browse files
Files changed (1) hide show
  1. env/models.py +14 -6
env/models.py CHANGED
@@ -1,20 +1,28 @@
1
- from pydantic import BaseModel
2
- from typing import List, Optional
3
 
4
  # What agent sees
5
  class Observation(BaseModel):
6
  code: str
7
  intent: str
8
  constraints: List[str]
 
 
 
9
 
10
  # What agent sends
11
  class Action(BaseModel):
12
- action_type: str # "detect", "risk", "fix"
13
  detected_issues: Optional[List[str]] = None
14
- risk_level: Optional[str] = None # "low", "medium", "high"
15
  suggested_fix: Optional[str] = None
16
 
17
  # What env returns
18
  class Reward(BaseModel):
19
- score: float
20
- feedback: str
 
 
 
 
 
 
1
+ from pydantic import BaseModel, validator
2
+ from typing import List, Optional, Dict, Literal
3
 
4
  # What agent sees
5
  class Observation(BaseModel):
6
  code: str
7
  intent: str
8
  constraints: List[str]
9
+ task_id: str
10
+ difficulty: Literal["easy", "medium", "hard"]
11
+ step_index: int
12
 
13
  # What agent sends
14
  class Action(BaseModel):
15
+ action_type: Literal["detect", "risk", "fix"]
16
  detected_issues: Optional[List[str]] = None
17
+ risk_level: Optional[Literal["low", "medium", "high"]] = None
18
  suggested_fix: Optional[str] = None
19
 
20
  # What env returns
21
  class Reward(BaseModel):
22
+ value: float
23
+ feedback: str
24
+ partial_scores: Dict[str, float]
25
+
26
+ @validator('value')
27
+ def clamp_value(cls, v):
28
+ return max(0.0, min(1.0, v))