@@ -309,11 +309,8 @@ def _format_evolution_history(
309309 selected_top = top_programs [: min (self .config .num_top_programs , len (top_programs ))]
310310
311311 for i , program in enumerate (selected_top ):
312- # Extract a snippet (first 10 lines) for display
312+ # Use the full program code
313313 program_code = program .get ("code" , "" )
314- program_snippet = "\n " .join (program_code .split ("\n " )[:10 ])
315- if len (program_code .split ("\n " )) > 10 :
316- program_snippet += "\n # ... (truncated for brevity)"
317314
318315 # Calculate a composite score using safe numeric average
319316 score = safe_numeric_average (program .get ("metrics" , {}))
@@ -338,7 +335,7 @@ def _format_evolution_history(
338335 program_number = i + 1 ,
339336 score = f"{ score :.4f} " ,
340337 language = language ,
341- program_snippet = program_snippet ,
338+ program_snippet = program_code ,
342339 key_features = key_features_str ,
343340 )
344341 + "\n \n "
@@ -362,11 +359,8 @@ def _format_evolution_history(
362359 diverse_programs_str += "\n \n ## Diverse Programs\n \n "
363360
364361 for i , program in enumerate (diverse_programs ):
365- # Extract a snippet (first 5 lines for diversity)
362+ # Use the full program code
366363 program_code = program .get ("code" , "" )
367- program_snippet = "\n " .join (program_code .split ("\n " )[:5 ])
368- if len (program_code .split ("\n " )) > 5 :
369- program_snippet += "\n # ... (truncated)"
370364
371365 # Calculate a composite score using safe numeric average
372366 score = safe_numeric_average (program .get ("metrics" , {}))
@@ -388,7 +382,7 @@ def _format_evolution_history(
388382 program_number = f"D{ i + 1 } " ,
389383 score = f"{ score :.4f} " ,
390384 language = language ,
391- program_snippet = program_snippet ,
385+ program_snippet = program_code ,
392386 key_features = key_features_str ,
393387 )
394388 + "\n \n "
@@ -430,11 +424,8 @@ def _format_inspirations_section(
430424 inspiration_programs_str = ""
431425
432426 for i , program in enumerate (inspirations ):
433- # Extract a snippet (first 8 lines) for display
427+ # Use the full program code
434428 program_code = program .get ("code" , "" )
435- program_snippet = "\n " .join (program_code .split ("\n " )[:8 ])
436- if len (program_code .split ("\n " )) > 8 :
437- program_snippet += "\n # ... (truncated for brevity)"
438429
439430 # Calculate a composite score using safe numeric average
440431 score = safe_numeric_average (program .get ("metrics" , {}))
@@ -451,7 +442,7 @@ def _format_inspirations_section(
451442 score = f"{ score :.4f} " ,
452443 program_type = program_type ,
453444 language = language ,
454- program_snippet = program_snippet ,
445+ program_snippet = program_code ,
455446 unique_features = unique_features ,
456447 )
457448 + "\n \n "
@@ -540,7 +531,9 @@ def _extract_unique_features(self, program: Dict[str, Any]) -> str:
540531 program_type = self ._determine_program_type (program )
541532 features .append (f"{ program_type } approach to the problem" )
542533
543- return ", " .join (features [:3 ]) # Limit to top 3 features
534+ # Use num_top_programs as limit for features (similar to how we limit programs)
535+ feature_limit = self .config .num_top_programs
536+ return ", " .join (features [:feature_limit ])
544537
545538 def _apply_template_variations (self , template : str ) -> str :
546539 """Apply stochastic variations to the template"""
0 commit comments