junaid0600 commited on
Commit
42a1cbd
Β·
1 Parent(s): 1a89fae

Normalize all rewards to strictly (0.001, 0.999) range in step()

Browse files
Files changed (1) hide show
  1. env/environment.py +13 -5
env/environment.py CHANGED
@@ -124,7 +124,7 @@ class SQLDebuggerEnvironment:
124
  obs = self.reset()
125
  return StepResponse(
126
  observation=obs,
127
- reward=Reward(score=0.0, breakdown={"auto_reset": True}, feedback="Environment auto-reset."),
128
  done=False,
129
  info={"auto_reset": True}
130
  )
@@ -134,7 +134,7 @@ class SQLDebuggerEnvironment:
134
  obs = self._build_observation()
135
  return StepResponse(
136
  observation=obs,
137
- reward=Reward(score=0.0, breakdown={"episode_done": True}, feedback="Episode already finished. Call reset()."),
138
  done=True,
139
  info={"episode_done": True, "total_reward": self._state.total_reward}
140
  )
@@ -144,9 +144,9 @@ class SQLDebuggerEnvironment:
144
  self._state.step_count += 1
145
  obs = self._build_observation()
146
  reward = Reward(
147
- score=-0.1,
148
- breakdown={"invalid_action": -0.1},
149
- feedback="Null or invalid action received. Penalty -0.1."
150
  )
151
  self._state.last_reward = -0.1
152
  self._state.total_reward = round(self._state.total_reward - 0.1, 4)
@@ -216,6 +216,14 @@ class SQLDebuggerEnvironment:
216
  "duration_sec": round(time.time() - (self._started_at or time.time()), 2),
217
  }
218
 
 
 
 
 
 
 
 
 
219
  return StepResponse(observation=obs, reward=reward, done=done, info=info)
220
 
221
  # ─────────────────────────────────────────────
 
124
  obs = self.reset()
125
  return StepResponse(
126
  observation=obs,
127
+ reward=Reward(score=0.5, breakdown={"auto_reset": True}, feedback="Environment auto-reset."),
128
  done=False,
129
  info={"auto_reset": True}
130
  )
 
134
  obs = self._build_observation()
135
  return StepResponse(
136
  observation=obs,
137
+ reward=Reward(score=0.5, breakdown={"episode_done": True}, feedback="Episode already finished. Call reset()."),
138
  done=True,
139
  info={"episode_done": True, "total_reward": self._state.total_reward}
140
  )
 
144
  self._state.step_count += 1
145
  obs = self._build_observation()
146
  reward = Reward(
147
+ score=0.001,
148
+ breakdown={"invalid_action": 0.001},
149
+ feedback="Null or invalid action received."
150
  )
151
  self._state.last_reward = -0.1
152
  self._state.total_reward = round(self._state.total_reward - 0.1, 4)
 
216
  "duration_sec": round(time.time() - (self._started_at or time.time()), 2),
217
  }
218
 
219
+ # Normalize reward to strictly (0, 1) exclusive for validator compliance
220
+ normalized_score = max(0.001, min(0.999, (reward.score + 1.0) / 2.0))
221
+ reward = Reward(
222
+ score=normalized_score,
223
+ breakdown=reward.breakdown,
224
+ feedback=reward.feedback
225
+ )
226
+
227
  return StepResponse(observation=obs, reward=reward, done=done, info=info)
228
 
229
  # ─────────────────────────────────────────────