-
Notifications
You must be signed in to change notification settings - Fork 20
feat(eval-author)!: replace the CLI with skills for Harbor eval discovery #1411
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
228829d
feat(eval-author): add Eval Author skills for Harbor eval discovery
aleckhoury 71ed103
refactor(eval-author)!: delete the CLI and discovery, leaving only sk…
aleckhoury 2d5c272
docs(packaging): correct the Eval Author bundling rationale
aleckhoury 30b0d72
build(eval-author)!: stop shipping the skills in nemo-platform[all]
aleckhoury 435341f
feat(eval-author): have the agent save a discovery report
aleckhoury c2e4538
refactor(eval-author)!: move the skills up and cut the platform import
aleckhoury 989ad0e
Merge remote-tracking branch 'origin/main' into eval-author-discover-…
aleckhoury 451f81d
fix(eval-author): keep discovery alive on files it cannot read
aleckhoury 566b4d7
docs(eval-author): cut the prose explaining the removed CLI
aleckhoury 09d7cdc
Merge branch 'main' into eval-author-discover-skill/akhoury
aleckhoury File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,26 +1,36 @@ | ||
| <!-- SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. --> | ||
| <!-- SPDX-License-Identifier: Apache-2.0 --> | ||
|
|
||
| # NeMo Eval Author Plugin | ||
| # NeMo Eval Author | ||
|
|
||
| Owns the `nemo agents eval-author` command group, registered under `nemo.cli.agents` and | ||
| mounted by the agents plugin. `discover` is implemented; `audit`, `propose`, `run`, and | ||
| `doctor` are placeholders. | ||
| Two skills that an agent reads to work on the evaluation suites in a user's own | ||
| repository. There is no CLI and no service. A customer points their agent at | ||
| `skills/` and nothing gets installed. | ||
|
|
||
| Use `discover` only with a trusted repository, because importing an agent runs | ||
| module top-level code. | ||
| | Skill | Role | | ||
| | --- | --- | | ||
| | [`eval-author`](src/nemo_eval_author_plugin/skills/eval-author/SKILL.md) | Core. Owns the standard every sub-flow follows and routes to one. | | ||
| | [`eval-author-discover`](src/nemo_eval_author_plugin/skills/eval-author-discover/SKILL.md) | Sub-flow. Records whether a repository's Harbor evals are ready to run. | | ||
|
|
||
| The Eval Author agent moved into the Experimentalist plugin, at | ||
| [`nemo_experimentalist_plugin.eval_author`](../nemo-experimentalist/src/nemo_experimentalist_plugin/eval_author/README.md). | ||
| Experimentalist insight mode is its only caller, so the agent sits beside the evaluator, | ||
| staging, and trace helpers it depends on. | ||
| ## Why skills instead of an agent | ||
|
|
||
| ## Direction of travel | ||
| Harbor tasks live in the customer's repository, so an agent that proposes changes | ||
| has to write to that repository. Customers were unwilling to grant that, sandboxed | ||
| or not. A skill inverts the arrangement: the customer's own agent does the work, | ||
| and this package only supplies the instructions and the deterministic scripts. | ||
|
|
||
| The dependency is one arrow. `discovery/run.py` borrows `make_client` from Experimentalist, | ||
| and Experimentalist imports nothing from here, so there is no package cycle for `uv` to | ||
| resolve. Install both plugins with: | ||
| The Eval Author agent that Experimentalist insight mode still uses lives in | ||
| [the Experimentalist plugin](../nemo-experimentalist/src/nemo_experimentalist_plugin/eval_author/README.md). | ||
|
|
||
| ```bash | ||
| uv sync --group experimentalist | ||
| ``` | ||
| ## Dependencies | ||
|
|
||
| The scripts under `skills/*/scripts/` import the standard library only, so they run | ||
| on whatever Python the customer already has. Where a real answer needs a provider, | ||
| the skill defers to the provider's own validators rather than guessing from file | ||
| layout, which is why `eval-author-discover` probes for an installed Harbor and asks | ||
| Harbor to judge each config. | ||
|
coderabbitai[bot] marked this conversation as resolved.
Outdated
|
||
|
|
||
| The two declared dependencies serve `tests/test_skill_contract.py`, which reads the | ||
| skills with `pyyaml` and checks them against the platform's check helpers. Adding a | ||
| runtime dependency to a bundled script is a breaking change for anyone who copied | ||
| the skill, so the contract test guards against it. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
118 changes: 0 additions & 118 deletions
118
plugins/nemo-eval-author/src/nemo_eval_author_plugin/cli.py
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.