diff --git a/crates/edit_prediction_cli/evals/flask--add-and-rename-test-function.md b/crates/edit_prediction_cli/evals/flask--add-and-rename-test-function.md
index 2946013deb10a7d1082c35545b41164dacf2d40e..3487899176348f57824bf8ffd1002a388db35e1c 100644
--- a/crates/edit_prediction_cli/evals/flask--add-and-rename-test-function.md
+++ b/crates/edit_prediction_cli/evals/flask--add-and-rename-test-function.md
@@ -78,3 +78,21 @@ def test_static_url_path():
+ assert rv.status_code == 404
+ rv.close()
```
+
+```diff
+--- a/tests/test_basic.py
++++ b/tests/test_basic.py
+@@ -1376,8 +1376,13 @@
+-def test_static_file_not_found():
+- pass
++def test_static_file_not_found(app, client):
++ rv = client.get("/static/nonexistent.html")
++ assert rv.status_code == 404
++ assert rv.data.strip() == b"
Not Found
"
++ with app.test_request_context():
++ pytest.raises(BuildError, flask.url_for, "static", filename="nonexistent.html")
++ rv.close()
+
+
+ def test_static_url_path():
+```
diff --git a/crates/edit_prediction_cli/evals/tree-sitter--tuple-to-struct-destructuring.md b/crates/edit_prediction_cli/evals/tree-sitter--tuple-to-struct-destructuring.md
index a55495795e48cc24d19eb8c3aef7b55968dafab1..c9583405764f704cffbbd2fdd46c0487630fa1ac 100644
--- a/crates/edit_prediction_cli/evals/tree-sitter--tuple-to-struct-destructuring.md
+++ b/crates/edit_prediction_cli/evals/tree-sitter--tuple-to-struct-destructuring.md
@@ -138,7 +138,7 @@ revision = "24007727d42b4caceda3095ac685c463fae1ba1a"
fn language_for_id(&self, id: usize) -> LoaderResult {
- let (path, language, externals) = &self.languages_by_id[id];
-+ let LanguageEntry { path, language, external_files } = &self.languages_by_id[id];
++ let LanguageEntry { path, language, external_files } = &self.languages_by_id[id];
language
.get_or_try_init(|| {
let src_path = path.join("src");
diff --git a/crates/edit_prediction_cli/src/format_prompt.rs b/crates/edit_prediction_cli/src/format_prompt.rs
index fcb33def235fb6953e2da2638c5ee36f094031a3..17d8aa68359a771da72558cd21523f13e2df4b38 100644
--- a/crates/edit_prediction_cli/src/format_prompt.rs
+++ b/crates/edit_prediction_cli/src/format_prompt.rs
@@ -211,12 +211,17 @@ impl TeacherPrompt {
pub fn parse(example: &Example, response: &str) -> Result<(String, Option)> {
// Check if the model indicated no edits are needed
+ let no_edits = (String::new(), None);
if let Some(last_codeblock) = extract_last_codeblock(&response) {
if last_codeblock.trim() == Self::NO_EDITS {
- return Ok((String::new(), None));
+ return Ok(no_edits);
}
}
+ if response.trim().ends_with(Self::NO_EDITS) {
+ return Ok(no_edits);
+ }
+
// Extract updated (new) editable region from the model response.
let new_editable_region = Self::extract_editable_region(&response)?;
let cursor_offset = new_editable_region.find(Self::USER_CURSOR_MARKER);
diff --git a/crates/edit_prediction_cli/src/repair.rs b/crates/edit_prediction_cli/src/repair.rs
index a8b0002b8396808f5fedb22496f383eb3896198d..b6ad41d553dabf1e49f261f4cc745395fdb1d1f6 100644
--- a/crates/edit_prediction_cli/src/repair.rs
+++ b/crates/edit_prediction_cli/src/repair.rs
@@ -79,7 +79,7 @@ pub struct RepairArgs {
fn model_for_backend(backend: BatchProvider) -> &'static str {
match backend {
- BatchProvider::Anthropic => "claude-sonnet-4-5",
+ BatchProvider::Anthropic => "claude-sonnet-4-6",
BatchProvider::Openai => "gpt-5.2",
}
}