fix(reflect): support continuous reward scores in failure filtering

not r.get("hard") treats non-zero floats as success.
Add explicit float threshold check (< 1e-9).
Backward compatible with binary hard=0/1.
This commit is contained in:
zq
2026-05-29 19:04:42 +08:00
parent afb552008b
commit a62ec857f1
+1 -1
View File
@@ -490,7 +490,7 @@ def run_minibatch_reflect(
os.makedirs(patches_dir, exist_ok=True) os.makedirs(patches_dir, exist_ok=True)
# Separate failure / success # Separate failure / success
failures = [r for r in results if not r.get("hard")] failures = [r for r in results if not r.get("hard") or float(r.get("hard", 0)) < 1e-9]
successes = [r for r in results if r.get("hard")] if not failure_only else [] successes = [r for r in results if r.get("hard")] if not failure_only else []
failures = _shuffle_for_minibatch(failures, random_seed) failures = _shuffle_for_minibatch(failures, random_seed)