pub(crate) fn edit_prompt(
metric_name: &str,
goal: &str,
goal_description: Option<&str>,
best_value: Option<f64>,
history: &[RoundRecord],
attempt_memory: Option<&str>,
last_verdict_json: &str,
crate_diff: &str,
build_errors: Option<&str>,
note: Option<&str>,
plan: Option<&str>,
) -> StringExpand description
The coder is handed exactly the planner’s plan - nothing else. Build-fix and runtime-fix rounds have no plan, so they fall back to the round context plus the failure to repair.