Skip to main content
You moved your company’s base image from an old registry to a new one. The image content did not change by a single byte; only the image address in the Experiment changed. NiceEval sees that the configuration changed, so it does not reuse the last results automatically, and --dry shows that the whole batch must run again. You know the change does not affect any task, but rerunning the whole batch costs real money. In this case, use niceeval accept to accept those old results explicitly. NiceEval does not let them through on your word alone. It verifies on its own that the change really does not affect the results. Only two kinds of change pass that check:
  • The Experiment was renamed and nothing else changed. You can also rename directly with niceeval exp rename; see the CLI reference.
  • The image reference of the official dockerSandbox changed address, but both the old and new references spell out the same @sha256: digest and a complete platform. Tag-only images do not qualify, because the content a tag points to may have changed.
Any change to the model, flags, Judge, task, assertions, or scores is rejected with accept-ineligible. Those changes can really change the result, so you should rerun.

Find acceptable old results in the run plan

First preview the Experiment you are about to run:
Old results that cannot be reused automatically because of a configuration change show their full Attempt locator, along with an accept command you can copy directly. The locators you put in the command are the entire scope of the acceptance. NiceEval does not accept other results from the same Run or the same Experiment along the way. If all the old results come from the same Run and all of them can be accepted, --dry suggests niceeval accept --run <run-id> --dry instead, so you can preview the whole Run at once.

Check the old result before accepting it

Open the old Attempt in the terminal with its full locator:
Check the verdict, assertions, usage, duration, and evidence, and confirm this is the result you want to keep. When you need to see the whole Run it belonged to, open that Run:

Accept the results you need

When the same Experiment has several results to accept, put all the locators in one command:
To see what would happen without writing anything, add --dry. NiceEval checks every input first. If any locator is invalid, ineligible, or conflicts with another input, the command writes no results at all. It never accepts half of them. On success, NiceEval creates a new Run that references the original Attempts in the matching positions and records that you accepted them explicitly. The original Attempt, its Run, and its locator stay unchanged, and the result is not copied.

Check the new Run

The success output shows the new Run ID. Open it to confirm the results:
The denominator of this Run is still every Attempt the current Experiment plans to run. Positions you accepted show as accepted, and positions you did not accept show as not-dispatched. If you accepted only some of them, the report shows honestly that the results are incomplete. Each accept creates a new Run. It does not modify or merge an earlier acceptance. To get a batch of results into the same Run, put them in the same command.

Common failures

To choose between automatic reuse and a forced rerun, see Rerun Only the Evals Affected by a Change.