Commit Graph
223 Commits
Author SHA1 Message Date
Oleksiy Syvokon 72d0a321c3 ep: Add line-level exact match metric (#47383)
Release Notes:

- N/A
2026-01-22 16:18:32 +00:00
Oleksiy Syvokon f5a2cf3124 ep: Don't log steps that took <500ms (#47371)
Release Notes:

- N/A
2026-01-22 12:17:55 +00:00
Oleksiy Syvokon 1d1bc1821b Add ep import-batch to download finsihed Anthropic batches (#47364)
Release Notes:

- N/A
2026-01-22 11:34:51 +00:00
Ben Kunkle 0764b13267 ep_cli: Chunk teacher prediction requests to Anthropic batch API (#47318)
Closes #ISSUE

We're hitting request size limits on the new larger dataset, so we need
to do pre-batching. A 16k chunk size was chosen arbitrarily but seems to
be a good tradeoff between number of chunks / within request size limit

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-01-21 14:52:45 -05:00
Oleksiy Syvokon a948ff8812 ep: Update teacher prompt to avoid undoing user edits (#47313)
Release Notes:

- N/A
2026-01-21 18:26:19 +00:00
Oleksiy Syvokon d3bba57d14 ep: Check whether predictions worsen brace balance (#47301)
Release Notes:

- N/A
2026-01-21 18:30:53 +02:00
Oleksiy Syvokon 6837d0e5b8 ep: Don't compute n-grams for regions that match exactly (#47281)
This makes delta-chrF computation ~50 faster.

Release Notes:

- N/A
2026-01-21 11:15:25 +00:00
Oleksiy Syvokon 524cbde492 ep: Fix in-place processing (#47274)
Release Notes:

- N/A
2026-01-21 09:47:26 +00:00
Ben Kunkle 81697a48db ep_cli: Add filter languages subcommand (#47242)
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-01-20 15:58:50 -05:00
Ben Kunkle 622cc90791 ep_cli: Fix "Too many open files" errors (#47243)
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-01-20 15:41:31 -05:00
Max BrunsfeldandBen Kunkle 875b49a7c2 Add --offset flag to ep cli (#47175)
Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-20 14:08:15 -05:00
Oleksiy Syvokon 8a9fa00b5f ep: Make --provider optional, skip prediction when results exist (#47225)
When --provider is not provided, `ep` will now use whatever provider is
recorded in the data.

Release Notes:

- N/A
2026-01-20 17:26:37 +02:00
Oleksiy Syvokon fcad48ce7c Add ep parse-output command (#47220)
This command takes raw LLM outputs (`predictions.actual_output`) that
could be generated elsewhere and parses them into a canonical unified
diff (`predictions.actual_patch`).

This is useful for simplifying the evaluation pipeline and for rerunning
the parser without having to generate LLM outputs.

Release Notes:

- N/A
2026-01-20 17:12:58 +02:00
Oleksiy Syvokon 07b08522f2 ep: Add a prompt with git-style merge markers (#47215)
Release Notes:

- N/A
2026-01-20 13:33:43 +00:00
Oleksiy Syvokon 1940d78ca8 ep: Fix teacher prompt formatting (#47172)
Release Notes:

- N/A
2026-01-19 20:57:56 +00:00
Oleksiy Syvokon 70fa46e41b Make ep split-commit respect --failed=skip (#47150)
Release Notes:

- N/A
2026-01-19 17:26:41 +02:00
Oleksiy Syvokon 25264b2cc3 ep: Missing newlines in teacher prompt (#47143)
Release Notes:

- N/A
2026-01-19 14:45:30 +00:00
Max Brunsfeld c0a0e8b236 Add a 'rejected patch' field to example specs, for DPO examples (#47043)
The `capture example` action now populates the markdown file with a noop
"Rejected Patch", so that you can easily specify the good and bad
output.

Release Notes:

- N/A
2026-01-18 20:25:23 -08:00
Max Brunsfeld 798c80884c Fix more errors found when retrieving context for a huge example batch (#47039)
Release Notes:

- N/A
2026-01-16 16:43:11 -08:00
fc411f554f Fix edit history clearing bug in ep (#47017)
We were including changes due to Buffer.reload in the edit history.

Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-01-16 15:44:38 -08:00
Ben Kunkle 2277c3eb8d Fix not sending file_chunks parameter to Sweep in evals (#46999)
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-01-16 11:56:33 -05:00
0e98b46809 ep: Add 180 token editable region experiment (#46945)
Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-15 17:46:22 -03:00
6c6a07da0c ep cli: Compute editable region during format-prompt (#46929)
Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-15 18:50:15 +00:00
Oleksiy Syvokon 9e8af6d131 ep: Combine PredictionProvider and ZetaVersion (#46896)
We can specify prompt version in the provider name itself, like this
`--provider zeta2:0113`.

This kind of tag will also be stored in the `provider` field of
jsonlines files.

This drops the `--version` parameter.


Release Notes:

- N/A
2026-01-15 14:00:21 -03:00
Max BrunsfeldandAgus Zubiaga 7e9dbb4b96 Allow EP synthesize command to take multiple repos (#46853)
Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>
2026-01-15 01:23:40 +00:00
Max BrunsfeldandAgus Zubiaga 883bb691e3 Fix issues processing captured edit prediction examples (#46773)
Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>
2026-01-14 14:32:42 -08:00
1332a4f1c5 Introduce zeta2 format with cursor content in original order (#46732)
This one does `fim_prefix`, `fim_middle`, and `fim_suffix` in that
order, in the prompt, instead of putting the current middle last.

Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-13 21:53:44 +00:00
Max BrunsfeldandBen Kunkle ee8e813a5f Prevent stale related excerpts by avoiding storing their contents as strings (#46666)
This fixes an issue that we noticed in particular with Mercury edit
predictions.

* [x] fix storage to not go stale
* [x] exclude excerpts that intersect the cursor excerpt
* [x] see if string representation of excerpts can be cached, to avoid
rebuilding it on every prediction

Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-13 13:31:23 -08:00
Max Brunsfeld e024c4de03 Fix a missing newline in the zeta prompt (#46677)
Release Notes:

- N/A
2026-01-12 23:27:06 -08:00
Oleksiy SyvokonandAgus Zubiaga 47dc49254f ep: Fix applying patch to text without a trailing newline (#46471)
Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>
2026-01-12 14:59:25 +00:00
Oleksiy SyvokonandAgus Zubiaga 7d1484b3b2 ep: Fix editable region for teacher models (#46459)
Editable region was different for Zeta2 and Teacher, leading to "Edits
outside of editable region" errors.

Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>
2026-01-09 16:01:19 +00:00
Oleksiy Syvokon 2d13fa976a Add ep --failed=skip to exclude errored examples from output (#46453)
Release Notes:

- N/A
2026-01-09 14:45:08 +00:00
Max BrunsfeldandBen Kunkle 4f61230bf6 ep: Cache Anthropic client (#46406)
This makes running `predict` with the teacher model much faster, when
there are many examples.

Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-09 00:04:40 +00:00
0f5db2e0f7 Edit prediction: teacher prompt improvements (#46392)
Release Notes:

- N/A

---------

Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-08 22:12:32 +00:00
Agus ZubiagaandBen Kunkle 3ad93884dd ep: Enable workspace test-support (#46395)
Some code got added to `workspace` that prevents us from running tests
for the `edit_prediction(cli)` crates specifically without the
`test-support` feature flag.

Release Notes:

- N/A

Co-authored-by: Ben Kunkle <ben@zed.dev>
2026-01-08 18:30:07 -03:00
Max Brunsfeld d89ad6afd1 Fix EP CLI output flicker (#46313)
Release Notes:

- N/A
2026-01-08 17:08:24 +00:00
Oleksiy Syvokon e66473ddbe Add ep split subcommand for dataset splitting (#46364)
Adds a new `ep split` command that splits JSONL datasets into multiple
output files with stratification by `repository_url` when present.

Example usage:

  ep split input.jsonl train.jsonl=80% valid.jsonl=rest

Release Notes:

- N/A
2026-01-08 13:31:26 +00:00
Oleksiy Syvokon 8e015b7b0b ep: Handle errored requests in Anthropic batches (#46351)
Also, save all requests in a single sqlite transaction -- much faster.

Release Notes:

- N/A
2026-01-08 10:59:03 +00:00
Agus Zubiaga 8d5c13c071 ep cli: Resume from output file (#46293) 2026-01-07 21:50:46 -03:00
Mikayla MakiandClaude Opus 4.5 8d8107cff7 gpui: Actually remove the Result from AsyncApp (#45809)
Depends on: https://github.com/zed-industries/zed/pull/45768

Refactor plan:
https://gist.github.com/mikayla-maki/6c4bf263fd80050715ba01f45478796e
Overall plan:
https://gist.github.com/mikayla-maki/7bb5078e4385a2e683e1e1eb40d17d38

This is the big one.

Release Notes:

- N/A

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 12:48:24 -08:00
Oleksiy SyvokonandAgus Zubiaga e3904addbc ep: Add file deletion support in unified diff parsing (#46279)
- Replace `is_new_file: bool` with `FileStatus` enum
(Created/Modified/Deleted) in udiff.rs to properly track file status
through diff operations
- Handle deleted files in `apply_diff` by calling
`project.delete_file()`
- Fix diff serialization in reorder_patch.rs to output `+++ /dev/null`
for file deletions and parse both `--- /dev/null` and `+++ /dev/null`
correctly
- Add bounds check for edit ranges exceeding buffer length

Also includes edit_prediction_cli improvements:
- Track `context_range` and `editable_range` in ExampleBuffer for more
precise prompt formatting
- Export MAX_CONTEXT_TOKENS and MAX_REWRITE_TOKENS from zeta2
- Wait for buffer parsing before computing ranges
- Respect NO_COLOR env var and enable info-level logging


Release Notes:

- N/A

Co-authored-by: Agus Zubiaga <agus@zed.dev>
2026-01-07 18:54:22 +00:00
Agus Zubiaga e9c4dff857 ep cli: More substatus granularity (#46266)
Helps narrow down steps that are taking too long

Release Notes:

- N/A
2026-01-07 15:49:18 -03:00
Oleksiy Syvokon f902ef8902 ep: Fix code block extraction to require closing fence at line start (#46270)
`extract_last_codeblock` was using `find()` to locate closing fences,
which would match backticks anywhere in the text. This caused incorrect
parsing when the content contained inline backticks or nested code
blocks, resulting in wrong diffs.

Fix by requiring the closing fence to be preceded by a newline.
Release Notes:

- N/A
2026-01-07 16:52:04 +00:00
Oleksiy Syvokon 5d88054ada ep: Fix revision resolution for tilde expressions (#46258)
When a revision like `abcd~1` wasn't found locally, the function would
fetch and then return `FETCH_HEAD`, which points to the tip of the
fetched branch rather than the requested revision expression.

Now it re-resolves the original revision after fetching, correctly
handling tilde expressions and other git revision syntax.

Release Notes:

- N/A
2026-01-07 14:18:54 +00:00
Oleksiy Syvokon 3b31ca513b ep: Fix incorrect example count in failure summary (#46257)
The 'X of Y examples failed' message was counting completed steps/tasks
instead of actual examples. For example, with 2 examples each going
through Load and Context steps, it would report '1 of 3' instead of '1
of 2'.

Release Notes:

- N/A
2026-01-07 14:09:33 +00:00
Agus Zubiaga 7333fd4dfd ep cli: Clean leftover git locks (#46255)
Sometimes git locks are left over from crashed runs. We now assume
there's only one process of the CLI running and clean them up. If we
want to run multiple processes at the same time, we should consider our
own file-based lock, but it seems fine for an internal tool.

Release Notes:

- N/A
2026-01-07 14:01:57 +00:00
Agus Zubiaga d066181d70 ep cli: Handle opening buffers from files created by the edit history (#46254)
Since we don't persist new files to disk, they don't have entries, so we
have to look them up in memory first.

Release Notes:

- N/A
2026-01-07 13:52:42 +00:00
Max Brunsfeld 27266f6194 Fix some issues with edit prediction CLI (#46197)
* Added `--repo` and `--name` flags for running only examples with a
specific name, or repo (substring matching)
* Fixed a race condition that caused hangs when running multiple
examples at the same repo and sha
* Fixed a bug where scoring was completely wrong because I had passed
the arguments to `apply_diff_to_string` in the wrong order
* The current evals now run quickly and without errors.

Release Notes:

- N/A
2026-01-06 14:11:19 -08:00
Agus Zubiaga 1006eae075 ep cli: Fix finalize counter (#46198)
Release Notes:

- N/A
2026-01-06 22:04:36 +00:00
Agus Zubiaga f324b2d004 ep cli: Refresh cursor path entry (#46195)
Release Notes:

- N/A
2026-01-06 21:41:58 +00:00