@@ -20,8 +20,10 @@ def format_metrics_safe(metrics: Dict[str, Any]) -> str:
2020
2121 formatted_parts = []
2222 for name , value in metrics .items ():
23- # Check if value is numeric (int, float)
24- if isinstance (value , (int , float )):
23+ # bool is a subclass of int, but logging it as 1.0000/0.0000 is confusing.
24+ if isinstance (value , bool ):
25+ formatted_parts .append (f"{ name } ={ value } " )
26+ elif isinstance (value , (int , float )):
2527 try :
2628 # Only apply float formatting to numeric values
2729 formatted_parts .append (f"{ name } ={ value :.4f} " )
@@ -54,7 +56,12 @@ def format_improvement_safe(parent_metrics: Dict[str, Any], child_metrics: Dict[
5456 if metric in parent_metrics :
5557 parent_value = parent_metrics [metric ]
5658 # Only calculate improvement for numeric values
57- if isinstance (child_value , (int , float )) and isinstance (parent_value , (int , float )):
59+ if (
60+ isinstance (child_value , (int , float ))
61+ and isinstance (parent_value , (int , float ))
62+ and not isinstance (child_value , bool )
63+ and not isinstance (parent_value , bool )
64+ ):
5865 try :
5966 diff = child_value - parent_value
6067 improvement_parts .append (f"{ metric } ={ diff :+.4f} " )
0 commit comments