Skip to content

refactor(evaluator)!: drop the plugin's local execution path - #1262

Draft
SandyChapman wants to merge 1 commit into
evaluator-collapse-dataset-entrypoints/schapmanfrom
evaluator-drop-plugin-local-execution/schapman
Draft

refactor(evaluator)!: drop the plugin's local execution path#1262
SandyChapman wants to merge 1 commit into
evaluator-collapse-dataset-entrypoints/schapmanfrom
evaluator-drop-plugin-local-execution/schapman

Conversation

@SandyChapman

Copy link
Copy Markdown
Contributor

Stacked on #1202 — review that first; this PR's diff is against its branch and should be retargeted to main once it lands.

SKILL.md already told callers not to build on client.evaluator.run() because it was being retired. This removes it, plus the executor methods that existed only to serve it — run_local, evaluate_remote, evaluate, evaluate_benchmark on both executors.

Nothing in production called it. The remote path is submit; local execution is nemo_evaluator_sdk.Evaluator, which is what the skill already points at.

What goes

File Removed
_executor.py 4 methods × sync/async
resources.py run (4 overloads × sync/async)
fs_utils.py whole module — fully orphaned
utils.py filter_evaluation_result, filter_benchmark_result
test_sdk.py 14 tests/classes of the removed path

Net: 870 deletions, 6 insertions.

Notes for review

  • The CLI run verb is unaffected — it comes from the job framework's NemoJobScheduler.run_local, a different path that happens to share a name.
  • Two create tests patched _executor.asyncio.to_thread to prove creation never bridges through a thread. With local execution gone the module no longer imports asyncio, so they now assert its absence — the property holds by construction rather than by one observed call.
  • test_*_resource_does_not_expose_backend_methods were kept: they are negative assertions that only get more true.
  • ty reports the same 4 pre-existing diagnostics as the base, at shifted lines. No new ones.

Follow-up

SKILL.md still says the path "is being retired… even though --help still lists it", which now misdescribes the SDK. Left untouched deliberately, since skill updates were pulled out of the previous PR — worth a separate change.

🤖 Generated with Claude Code

`SKILL.md` already told callers not to build on `client.evaluator.run()` because
it was being retired. This removes it, along with the executor methods that
existed only to serve it: `run_local`, `evaluate_remote`, `evaluate`, and
`evaluate_benchmark` on both the sync and async executors.

Nothing in production called it. The plugin's remote path is `submit`, and
callers wanting local execution use the standalone `nemo_evaluator_sdk.Evaluator`
directly, which is what the skill already recommends.

Removing it orphans a supporting cast, so that goes too: `sdk/fs_utils.py`
entirely, since `local_artifact_path` was only reachable from
`local_result_path` and `EvaluatorLocalRunResult` only from tests of the removed
methods; and `filter_evaluation_result`/`filter_benchmark_result` from
`sdk/utils.py`, which keeps `filter_aggregate_scores` for `job_resources`.

Two `create` tests patched `_executor.asyncio.to_thread` to prove creation never
bridges through a thread. With local execution gone the module has no asyncio
import at all, so they now assert its absence — the property holds by
construction rather than by one observed call.

The CLI `run` verb is unaffected: it comes from the job framework's
`NemoJobScheduler.run_local`, which is a different path from the executor method
of the same name.

BREAKING CHANGE: `client.evaluator.run()` is removed from both the sync and
async plugin resources. Use `submit` for platform evaluation, or
`nemo_evaluator_sdk.Evaluator` for local execution.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Sandy Chapman <schapman@nvidia.com>
@github-actions github-actions Bot added breaking breaking change (!-marked title) refactor labels Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking breaking change (!-marked title) refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant