Skip to content

Commit ddf42e2

Browse files
authored
Merge pull request #193 from mruckman1/feature/artifact-cleanup
feat: Implement automatic artifact cleanup
2 parents 0b7096a + 85a0f21 commit ddf42e2

File tree

21 files changed

+1351
-1157
lines changed

21 files changed

+1351
-1157
lines changed

examples/circle_packing/evaluator.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,22 @@ def validate_packing(centers, radii):
3535
True if valid, False otherwise
3636
"""
3737
n = centers.shape[0]
38-
38+
3939
# Check for NaN values
4040
if np.isnan(centers).any():
4141
print("NaN values detected in circle centers")
4242
return False
43-
43+
4444
if np.isnan(radii).any():
4545
print("NaN values detected in circle radii")
4646
return False
4747

4848
# Check if radii are nonnegative and not nan
4949
for i in range(n):
50-
if(radii[i] < 0):
50+
if radii[i] < 0:
5151
print(f"Circle {i} has negative radius {radii[i]}")
5252
return False
53-
elif(np.isnan(radii[i])):
53+
elif np.isnan(radii[i]):
5454
print(f"Circle {i} has nan radius")
5555
return False
5656

@@ -214,7 +214,7 @@ def evaluate(program_path):
214214
centers = np.array(centers)
215215
if not isinstance(radii, np.ndarray):
216216
radii = np.array(radii)
217-
217+
218218
# Check for NaN values before validation
219219
if np.isnan(centers).any() or np.isnan(radii).any():
220220
print("NaN values detected in solution")

examples/circle_packing_with_artifacts/evaluator.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -295,9 +295,9 @@ def evaluate(program_path):
295295
# Add successful packing stats for good solutions
296296
if valid and target_ratio > 0.95: # Near-optimal solutions
297297
artifacts["stdout"] = f"Excellent packing! Achieved {target_ratio:.1%} of target value"
298-
artifacts[
299-
"radius_stats"
300-
] = f"Min: {validation_details['min_radius']:.6f}, Max: {validation_details['max_radius']:.6f}, Avg: {validation_details['avg_radius']:.6f}"
298+
artifacts["radius_stats"] = (
299+
f"Min: {validation_details['min_radius']:.6f}, Max: {validation_details['max_radius']:.6f}, Avg: {validation_details['avg_radius']:.6f}"
300+
)
301301

302302
return EvaluationResult(
303303
metrics={
@@ -404,9 +404,9 @@ def evaluate_stage1(program_path):
404404

405405
# Add validation issues if any
406406
if not valid:
407-
artifacts[
408-
"stderr"
409-
] = f"Validation failed: {len(validation_details.get('boundary_violations', []))} boundary violations, {len(validation_details.get('overlaps', []))} overlaps"
407+
artifacts["stderr"] = (
408+
f"Validation failed: {len(validation_details.get('boundary_violations', []))} boundary violations, {len(validation_details.get('overlaps', []))} overlaps"
409+
)
410410
artifacts["failure_stage"] = "stage1_geometric_validation"
411411
if validation_details.get("boundary_violations"):
412412
artifacts["boundary_issues"] = validation_details["boundary_violations"][

0 commit comments

Comments
 (0)