pub(crate) fn knob_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,
note: Option<&str>,
plan: Option<&str>,
inventory: &str,
) -> StringExpand description
Knob-phase coder prompt. With a planner plan (openai backend) it just asks the coder to apply that one-line default change. Without a plan (subprocess backends, which have no separate planner) it carries the round context plus the knob inventory so the coder can pick and apply a knob itself.