Nanda Kumar Kondreddy commited on
Commit
b8c69e2
·
1 Parent(s): c256e38

CRITICAL RUNTIME FIX: Remove tuple unpacking from environment handlers - graders now return FLOAT only, not tuples

Browse files
Files changed (2) hide show
  1. server/config_debug_environment.py +15 -5
  2. server/env.py +15 -3
server/config_debug_environment.py CHANGED
@@ -56,15 +56,25 @@ class ConfigDebugEnvironment(Environment):
56
  task_id = self._current_task_id()
57
  task = get_task(task_id)
58
 
59
- # Run the grader
60
- reward, error_message, bugs_fixed = task.grader(action.fixed_config)
61
- reward = max(0.0, min(1.0, reward))
 
 
 
 
 
 
 
 
 
 
62
 
63
  self.current_step += 1
64
  self._global_step += 1
65
- self.bugs_found_so_far = len(bugs_fixed)
66
  self.previous_reward = round(reward, 4)
67
- self.current_error_message = error_message
68
 
69
  # Check if task is complete
70
  task_done = reward >= 0.99 or self.current_step >= MAX_STEPS_PER_TASK
 
56
  task_id = self._current_task_id()
57
  task = get_task(task_id)
58
 
59
+ # Run the grader - now returns FLOAT ONLY for validator compatibility
60
+ grader_result = task.grader(action.fixed_config)
61
+
62
+ # Handle result gracefully (should be float)
63
+ if isinstance(grader_result, float):
64
+ reward = grader_result
65
+ elif isinstance(grader_result, tuple) and len(grader_result) > 0:
66
+ # Fallback for legacy tuple format
67
+ reward = grader_result[0]
68
+ else:
69
+ reward = 0.01 # Safe default
70
+
71
+ reward = max(0.01, min(0.99, reward))
72
 
73
  self.current_step += 1
74
  self._global_step += 1
75
+ self.bugs_found_so_far = 0 # Default since grader no longer returns this
76
  self.previous_reward = round(reward, 4)
77
+ self.current_error_message = "" # Default since grader no longer returns this
78
 
79
  # Check if task is complete
80
  task_done = reward >= 0.99 or self.current_step >= MAX_STEPS_PER_TASK
server/env.py CHANGED
@@ -284,13 +284,25 @@ def ui_step(fixed_config):
284
 
285
  task_id = _get_current_task_id()
286
  task = get_task(task_id)
287
- reward, error_message, bugs_fixed = task.grader(fixed_config)
 
 
 
 
 
 
 
 
 
 
 
 
288
  reward = max(0.01, min(0.99, reward))
289
 
290
  env_state.current_step += 1
291
- env_state.bugs_found_so_far = len(bugs_fixed)
292
  env_state.previous_reward = round(reward, 4)
293
- env_state.current_error_message = error_message
294
 
295
  task_done = reward >= 0.99 or env_state.current_step >= MAX_STEPS_PER_TASK
296
 
 
284
 
285
  task_id = _get_current_task_id()
286
  task = get_task(task_id)
287
+
288
+ # Run the grader - now returns FLOAT ONLY for validator compatibility
289
+ grader_result = task.grader(fixed_config)
290
+
291
+ # Handle result gracefully (should be float)
292
+ if isinstance(grader_result, float):
293
+ reward = grader_result
294
+ elif isinstance(grader_result, tuple) and len(grader_result) > 0:
295
+ # Fallback for legacy tuple format
296
+ reward = grader_result[0]
297
+ else:
298
+ reward = 0.01 # Safe default
299
+
300
  reward = max(0.01, min(0.99, reward))
301
 
302
  env_state.current_step += 1
303
+ env_state.bugs_found_so_far = 0 # Default since grader no longer returns this
304
  env_state.previous_reward = round(reward, 4)
305
+ env_state.current_error_message = "" # Default since grader no longer returns this
306
 
307
  task_done = reward >= 0.99 or env_state.current_step >= MAX_STEPS_PER_TASK
308