Skip to content

feat(evaluator): refresh evaluator plugin skills - #1055

Merged
ngoncharenko merged 4 commits into
mainfrom
ngoncharenko/aalgo-550-eval-plugin-skills
Aug 5, 2026
Merged

feat(evaluator): refresh evaluator plugin skills#1055
ngoncharenko merged 4 commits into
mainfrom
ngoncharenko/aalgo-550-eval-plugin-skills

Conversation

@ngoncharenko

@ngoncharenko ngoncharenko commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Followed skill best practices: SKILL.md under 500 lines and 5,000 token, use progressive disclosure throughout
  • Refresh the evaluator skill for current dataset-driven and task-driven workflows, including submit-only platform jobs and standalone runners.
    • remove plugin's .run() from SKILLS since it's going away
  • Add concise, checked examples for exact match, LLM-as-judge, and durable Fabric agent evaluation.
  • Align evaluator plugin docs and CLI discoverability, with focused regression coverage for specs, resources, and examples.
    • skills examples are unit tested

In Progress


Summary by CodeRabbit

  • New Features

    • Added task-driven agent evaluations through the agent-evaluate workflow.
    • Added standalone SDK and platform submission guidance for dataset and agent evaluations.
    • Added reusable evaluator resources, inline metrics, and persisted result retrieval.
    • Added Fabric agent evaluation examples and support.
    • Expanded CLI job discovery to include agent-evaluation jobs.
  • Documentation

    • Added guidance for authentication, execution, metric selection, and troubleshooting.
    • Updated evaluation examples and specifications.
  • Tests

    • Expanded validation for workflows, artifacts, specifications, and integrations.

@ngoncharenko
ngoncharenko marked this pull request as ready for review August 3, 2026 23:48
@ngoncharenko
ngoncharenko requested review from a team as code owners August 3, 2026 23:48
@ngoncharenko ngoncharenko self-assigned this Aug 3, 2026
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Comment thread packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py
Comment thread script/dev-install-fabric.sh
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The change documents local and durable evaluator workflows, converts example specifications to inline metric bundles, expands validation coverage, removes evaluator documentation entry points, and updates Fabric runtime integration.

Changes

Evaluator workflow updates

Layer / File(s) Summary
Specification generation and validation
skills/nemo-evaluator-plugin/scripts/generate_example_specs.py, skills/nemo-evaluator-plugin/assets/specs/*, plugins/nemo-evaluator/tests/*
Specifications now use inline metric bundles. Tests validate hydration, compilation, agent-job configuration, and registered job keys.
Plugin execution surfaces
plugins/nemo-evaluator/README.md, skills/nemo-evaluator-plugin/assets/examples/*, skills/nemo-evaluator-plugin/references/*
Documentation and SDK examples cover standalone execution, durable submission, result retrieval, stored resources, agent evaluation, and custom metric packaging.
Evaluation workflow guidance
skills/nemo-evaluator-plugin/SKILL.md, skills/nemo-evaluator-plugin/references/*, plugins/nemo-evaluator/tests/test_skill_examples.py
The skill documents metric selection, authentication, runner setup, task and dataset workflows, troubleshooting, and completion requirements.
Platform agent-evaluation documentation
docs/evaluator/index.mdx, docs/evaluator/agent-eval/index.mdx
Documentation separates local AgentEvaluator().run() execution from durable plugin jobs and persisted results.
Fabric runtime and integration validation
packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py, packages/nemo_evaluator_sdk/tests/agent_eval/*, script/dev-install-fabric.sh
Fabric configurations use typed models and mappings. Setup guidance uses package-scoped synchronization, and tests verify trajectory evidence references.
Evaluator documentation entry-point removal
packages/nemo_platform/pyproject.toml, plugins/nemo-evaluator/pyproject.toml
Evaluator documentation entry points were removed.

Possibly related PRs

Suggested labels: docs

Suggested reviewers: arpitsardhana, gabwow

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 26.09% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the primary change: updating evaluator plugin skills and related documentation.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ngoncharenko/aalgo-550-eval-plugin-skills

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
plugins/nemo-evaluator/tests/test_evaluate_job.py (1)

71-74: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Cover fabric_agent_eval.json in the agent-evaluation compiler test.

test_checked_durable_fabric_job_is_a_valid_agent_eval_spec validates only AgentEvalInputSpec. The compiler test uses a separate synthetic spec. Load this fixture, convert it through AgentEvalJob.to_spec, and compile it with AgentEvalJob.compile.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/nemo-evaluator/tests/test_evaluate_job.py` around lines 71 - 74,
Update the agent-evaluation compiler test around EXAMPLE_SPEC_PATHS and
test_checked_durable_fabric_job_is_a_valid_agent_eval_spec to include the
fabric_agent_eval.json fixture. Load that fixture, convert it with
AgentEvalJob.to_spec, and compile the resulting spec using AgentEvalJob.compile
instead of relying on the separate synthetic spec.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/evaluator/agent-eval/index.mdx`:
- Line 16: Hyphenate the compound modifier as “platform-durable” in both
execution-mode notes: update docs/evaluator/agent-eval/index.mdx lines 16-16 to
“Local and platform-durable interfaces are available.” and
docs/evaluator/index.mdx lines 123-123 to “Agent evaluation has local and
platform-durable interfaces.”
- Around line 17-18: Update the local SDK usage note in
docs/evaluator/agent-eval/index.mdx at lines 17-18 to document await
AgentEvaluator().run(tasks=..., target=...). Apply the same await addition to
the corresponding note in docs/evaluator/index.mdx at lines 124-125; no other
changes are needed.

In `@packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py`:
- Around line 248-254: Update the requires_live_fabric skip reason to reference
the documented installation command, adding --frozen and --inexact to the
existing uv sync invocation while preserving the rest of the guidance.

In `@plugins/nemo-evaluator/README.md`:
- Around line 74-100: Correct the “Plugin SDK Execution” documentation around
the NeMoPlatform evaluator calls: either add a separate
client.evaluator.run(...) example demonstrating local execution, or revise the
heading and description to state that client.evaluator.submit(...) is durable
execution only.

In `@script/dev-install-fabric.sh`:
- Around line 20-21: Update the comment around the package-scoped command to say
it restores the locked project dependencies rather than returning the
environment to a locked state, and mention using an exact sync when a clean
environment is required.

In `@skills/nemo-evaluator-plugin/references/agent-evaluation.md`:
- Line 8: Update the sentence introducing AgentEvaluator to use correct grammar,
stating that it provides lightweight in-process evaluation without requiring a
running nemo-platform.

In `@skills/nemo-evaluator-plugin/references/execution.md`:
- Line 11: Add the required blank lines around the headings at lines 11, 63, and
196, and before and after the fenced code blocks at lines 69, 77, 89, 130, 137,
141, 158, and 170 in the markdown document, without changing its content.

In `@skills/nemo-evaluator-plugin/references/metric-selection.md`:
- Around line 31-36: Update the metric discovery commands in
skills/nemo-evaluator-plugin/references/metric-selection.md:31-36 to prefix both
nemo invocations with uv run, ensuring repository checkouts use the project CLI.
Apply the same execution-context fix to the secret commands in
skills/nemo-evaluator-plugin/references/api-auth.md:15-28 by prefixing them with
uv run, or explicitly labeling them as installed-platform commands.

In `@skills/nemo-evaluator-plugin/references/resources.md`:
- Around line 21-56: Update the snippet before its first client.evaluator usage
to either initialize client with NeMoPlatform or explicitly state that an
existing client is required; ensure the resulting example is self-contained and
runnable.

In `@skills/nemo-evaluator-plugin/SKILL.md`:
- Around line 38-53: Update the “CLI Interface” prerequisites in SKILL.md to
require setting NMP_BASE_URL to http://localhost:8080, checking whether the
local platform instance is already running, and verifying
$NMP_BASE_URL/health/ready before any CLI commands. Instruct users to stop and
follow SETUP.md if the readiness check fails.

---

Outside diff comments:
In `@plugins/nemo-evaluator/tests/test_evaluate_job.py`:
- Around line 71-74: Update the agent-evaluation compiler test around
EXAMPLE_SPEC_PATHS and
test_checked_durable_fabric_job_is_a_valid_agent_eval_spec to include the
fabric_agent_eval.json fixture. Load that fixture, convert it with
AgentEvalJob.to_spec, and compile the resulting spec using AgentEvalJob.compile
instead of relying on the separate synthetic spec.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5e46cf47-c6af-43ee-b959-4333635877ad

📥 Commits

Reviewing files that changed from the base of the PR and between 79ca283 and 1742e09.

📒 Files selected for processing (25)
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/index.mdx
  • packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • plugins/nemo-evaluator/README.md
  • plugins/nemo-evaluator/src/nemo_evaluator/cli.py
  • plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md
  • plugins/nemo-evaluator/tests/test_evaluate_job.py
  • plugins/nemo-evaluator/tests/test_skill_examples.py
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/SKILL.md
  • skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json
  • skills/nemo-evaluator-plugin/assets/specs/fabric_agent_eval.json
  • skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • skills/nemo-evaluator-plugin/references/api-auth.md
  • skills/nemo-evaluator-plugin/references/evaluation-shapes.md
  • skills/nemo-evaluator-plugin/references/execution.md
  • skills/nemo-evaluator-plugin/references/llm-judge.md
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/resources.md
  • skills/nemo-evaluator-plugin/references/troubleshooting.md
  • skills/nemo-evaluator-plugin/scripts/generate_example_specs.py
💤 Files with no reviewable changes (1)
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json

Comment thread docs/evaluator/agent-eval/index.mdx Outdated
Comment thread docs/evaluator/agent-eval/index.mdx Outdated
Comment thread packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py Outdated
Comment thread plugins/nemo-evaluator/README.md Outdated
Comment thread script/dev-install-fabric.sh Outdated
Comment thread skills/nemo-evaluator-plugin/references/agent-evaluation.md Outdated
Comment thread skills/nemo-evaluator-plugin/references/execution.md
Comment thread skills/nemo-evaluator-plugin/references/metric-selection.md
Comment thread skills/nemo-evaluator-plugin/references/resources.md
Comment thread skills/nemo-evaluator-plugin/SKILL.md
@ngoncharenko ngoncharenko changed the title AALGO-550: refresh evaluator plugin skills feat(evaluator): refresh evaluator plugin skills Aug 4, 2026
@github-actions github-actions Bot added the feat label Aug 4, 2026
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 30782/39277 78.4% 62.8%
Integration Tests 18078/37229 48.6% 21.1%

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
skills/nemo-evaluator-plugin/references/troubleshooting.md (1)

3-4: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Add prerequisites before the first command.

Add a Prerequisites section before Inspect the installed contracts. State that the nemo evaluator CLI must be available and that repository checkouts must run commands through uv run.

As per coding guidelines, documentation pages must list prerequisites at the top.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/troubleshooting.md` around lines 3 -
4, Add a Prerequisites section at the top of the troubleshooting document,
before “Inspect the installed contracts,” stating that the nemo evaluator CLI
must be available and that repository checkouts must invoke commands through uv
run. Preserve the existing command instructions and CLI wording.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@skills/nemo-evaluator-plugin/references/troubleshooting.md`:
- Around line 3-4: Add a Prerequisites section at the top of the troubleshooting
document, before “Inspect the installed contracts,” stating that the nemo
evaluator CLI must be available and that repository checkouts must invoke
commands through uv run. Preserve the existing command instructions and CLI
wording.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d0e6398e-b4c8-45c8-a412-fc81c9c5a842

📥 Commits

Reviewing files that changed from the base of the PR and between 1742e09 and 8b67ab1.

📒 Files selected for processing (15)
  • .cursor/hooks/state/continual-learning.json
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/index.mdx
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • plugins/nemo-evaluator/README.md
  • plugins/nemo-evaluator/tests/test_agent_evaluate.py
  • plugins/nemo-evaluator/tests/test_evaluate_job.py
  • plugins/nemo-evaluator/tests/test_skill_examples.py
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/SKILL.md
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • skills/nemo-evaluator-plugin/references/execution.md
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/resources.md
  • skills/nemo-evaluator-plugin/references/troubleshooting.md
🚧 Files skipped from review as they are similar to previous changes (12)
  • docs/evaluator/agent-eval/index.mdx
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/resources.md
  • plugins/nemo-evaluator/tests/test_skill_examples.py
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • plugins/nemo-evaluator/README.md
  • plugins/nemo-evaluator/tests/test_evaluate_job.py
  • skills/nemo-evaluator-plugin/SKILL.md
  • docs/evaluator/index.mdx
  • skills/nemo-evaluator-plugin/references/execution.md

@ngoncharenko

Copy link
Copy Markdown
Contributor Author

/nvskills-ci

@SandyChapman

Copy link
Copy Markdown
Contributor

/nvskills-ci

Comment thread plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md Outdated
Comment thread plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md Outdated
Comment thread plugins/nemo-evaluator/README.md
Comment thread plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md
@ngoncharenko
ngoncharenko force-pushed the ngoncharenko/aalgo-550-eval-plugin-skills branch from d97623d to 1a47c6e Compare August 5, 2026 19:03
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (4)
plugins/nemo-evaluator/README.md (2)

41-43: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Run documented Python CLI commands through uv.

  • plugins/nemo-evaluator/README.md#L41-L43: replace nemo --help with uv run nemo --help.
  • plugins/nemo-evaluator/README.md#L76-L81: prefix each nemo jobs command with uv run.

As per coding guidelines, run Python scripts and tools through uv.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/nemo-evaluator/README.md` around lines 41 - 43, Update the documented
CLI commands in plugins/nemo-evaluator/README.md at lines 41-43 and 76-81:
change the nemo --help example to use uv run nemo --help, and prefix every nemo
jobs command with uv run. No other documentation changes are needed.

Source: Coding guidelines


3-27: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Separate the documentation quadrants.

Classify this README as REFERENCE. Move setup and execution procedures to HOW-TO pages. Move evaluation-shape concepts to an EXPLANATION page.

As per coding guidelines, each documentation page must fit one Diataxis quadrant.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/nemo-evaluator/README.md` around lines 3 - 27, Reclassify this README
as REFERENCE by retaining only the evaluator plugin interfaces, entry points,
and concise behavior descriptions. Move setup and execution procedures to
appropriate HOW-TO documentation, and move concepts describing evaluation shapes
such as dataset-driven versus task-driven jobs to an EXPLANATION page; update
links or references accordingly.

Source: Coding guidelines

skills/nemo-evaluator-plugin/references/evaluation-shapes.md (1)

1-3: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add the required navigation sections.

Add Prerequisites before Difference summary. Add Next Steps after the final paragraph with links to the dataset and agent-evaluation procedures.

As per coding guidelines, documentation pages must list prerequisites at the top and include a Next Steps section.

Also applies to: 40-41

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/evaluation-shapes.md` around lines 1
- 3, Update the evaluation-shapes documentation page by adding a Prerequisites
section before Difference summary, then add a Next Steps section after the final
paragraph. Include links in Next Steps to the dataset and agent-evaluation
procedures, preserving the existing content and ordering otherwise.

Source: Coding guidelines

skills/nemo-evaluator-plugin/scripts/generate_example_specs.py (1)

62-63: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Annotate metric as Metric.

Import Metric from nemo_evaluator_sdk.metrics.protocol and replace Any in _bundle; bundle_metric requires this protocol.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/scripts/generate_example_specs.py` around lines
62 - 63, Update the _bundle function to import Metric from
nemo_evaluator_sdk.metrics.protocol and annotate its metric parameter as Metric
instead of Any, matching the protocol required by bundle_metric.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/nemo-evaluator/README.md`:
- Around line 129-139: Update the Fabric submission instructions to copy the
checked spec before submission, replace its target.model placeholder with a real
provider/model identifier, and pass the copied spec file to `agent-evaluate
submit` instead of the unchanged checked file. Preserve the existing environment
and capture_trajectory guidance.

In `@skills/nemo-evaluator-plugin/references/llm-judge.md`:
- Around line 3-4: Add a Prerequisites section before the configuration content
in llm-judge.md, covering the SDK environment, reachable judge endpoint, model
ID, and required credentials. Append a Next Steps section at the end with links
to the API authentication and execution guidance documentation.
- Line 43: Update the online judging template near the example at line 43 and
the related section around lines 75-78 to use the generated sample output field,
sample.output_text, instead of the offline dataset field item.output. Keep the
offline example using item.output, or clearly separate the two templates so each
workflow references its correct output source.
- Line 24: Update the standalone example’s api_key_secret value to use
SecretRef(root="NVIDIA_API_KEY") instead of the platform placeholder. Keep
platform-specific secret remapping only in the authentication guidance,
preserving the example’s standalone environment-variable behavior.

In `@skills/nemo-evaluator-plugin/SKILL.md`:
- Line 134: Update the standalone workflow link in SKILL.md to use the required
execution.md anchor “validate-standalone-then-submit-to-the-platform” instead of
“evaluate-standalone-then-submit-to-the-platform”, preserving the existing link
text and reference target.

---

Nitpick comments:
In `@plugins/nemo-evaluator/README.md`:
- Around line 41-43: Update the documented CLI commands in
plugins/nemo-evaluator/README.md at lines 41-43 and 76-81: change the nemo
--help example to use uv run nemo --help, and prefix every nemo jobs command
with uv run. No other documentation changes are needed.
- Around line 3-27: Reclassify this README as REFERENCE by retaining only the
evaluator plugin interfaces, entry points, and concise behavior descriptions.
Move setup and execution procedures to appropriate HOW-TO documentation, and
move concepts describing evaluation shapes such as dataset-driven versus
task-driven jobs to an EXPLANATION page; update links or references accordingly.

In `@skills/nemo-evaluator-plugin/references/evaluation-shapes.md`:
- Around line 1-3: Update the evaluation-shapes documentation page by adding a
Prerequisites section before Difference summary, then add a Next Steps section
after the final paragraph. Include links in Next Steps to the dataset and
agent-evaluation procedures, preserving the existing content and ordering
otherwise.

In `@skills/nemo-evaluator-plugin/scripts/generate_example_specs.py`:
- Around line 62-63: Update the _bundle function to import Metric from
nemo_evaluator_sdk.metrics.protocol and annotate its metric parameter as Metric
instead of Any, matching the protocol required by bundle_metric.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 4ffa1e84-6c28-46ec-81c8-d62795d31972

📥 Commits

Reviewing files that changed from the base of the PR and between ef6e844 and 1a47c6e.

📒 Files selected for processing (29)
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/index.mdx
  • packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • packages/nemo_platform/pyproject.toml
  • plugins/nemo-evaluator/README.md
  • plugins/nemo-evaluator/pyproject.toml
  • plugins/nemo-evaluator/src/nemo_evaluator/cli.py
  • plugins/nemo-evaluator/src/nemo_evaluator/docs.py
  • plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md
  • plugins/nemo-evaluator/tests/test_agent_evaluate.py
  • plugins/nemo-evaluator/tests/test_evaluate_job.py
  • plugins/nemo-evaluator/tests/test_skill_examples.py
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/SKILL.md
  • skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json
  • skills/nemo-evaluator-plugin/assets/specs/fabric_agent_eval.json
  • skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • skills/nemo-evaluator-plugin/references/api-auth.md
  • skills/nemo-evaluator-plugin/references/evaluation-shapes.md
  • skills/nemo-evaluator-plugin/references/execution.md
  • skills/nemo-evaluator-plugin/references/llm-judge.md
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/resources.md
  • skills/nemo-evaluator-plugin/references/troubleshooting.md
  • skills/nemo-evaluator-plugin/scripts/generate_example_specs.py
💤 Files with no reviewable changes (5)
  • plugins/nemo-evaluator/src/nemo_evaluator/docs.py
  • plugins/nemo-evaluator/pyproject.toml
  • packages/nemo_platform/pyproject.toml
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json
  • plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md
🚧 Files skipped from review as they are similar to previous changes (17)
  • docs/evaluator/index.mdx
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json
  • plugins/nemo-evaluator/src/nemo_evaluator/cli.py
  • skills/nemo-evaluator-plugin/references/execution.md
  • plugins/nemo-evaluator/tests/test_agent_evaluate.py
  • docs/evaluator/agent-eval/index.mdx
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • skills/nemo-evaluator-plugin/references/resources.md
  • skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json
  • skills/nemo-evaluator-plugin/references/troubleshooting.md
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/api-auth.md
  • skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py
  • plugins/nemo-evaluator/tests/test_evaluate_job.py

Comment thread plugins/nemo-evaluator/README.md
Comment thread skills/nemo-evaluator-plugin/references/llm-judge.md
Comment thread skills/nemo-evaluator-plugin/references/llm-judge.md Outdated
Comment thread skills/nemo-evaluator-plugin/references/llm-judge.md
Comment thread skills/nemo-evaluator-plugin/SKILL.md Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
skills/nemo-evaluator-plugin/references/llm-judge.md (1)

19-24: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Make the Python example executable or label it as a template.

provider.example and <judge-model-id> are placeholders, so this code cannot run as written. Use the tested endpoint and model from skills/nemo-evaluator-plugin/scripts/generate_example_specs.py, or clearly label this block as a non-runnable template.

As per coding guidelines, “Ensure all code snippets are tested and actually work before publishing.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/llm-judge.md` around lines 19 - 24,
Update the Python example centered on LLMJudgeMetric to either use the tested
endpoint and model values from generate_example_specs.py, including the
corresponding secret configuration, or clearly label the block as a non-runnable
template; do not leave provider.example or <judge-model-id> presented as
executable values.

Source: Coding guidelines

♻️ Duplicate comments (1)
skills/nemo-evaluator-plugin/references/llm-judge.md (1)

43-44: 🎯 Functional Correctness | 🟠 Major

Use generated output for online judging.

The prompt reads {{item.output}}, which is an existing dataset response. The online workflow scores generated samples, and the checked specification uses {{sample.output_text}}. Split the offline and online examples, or change the online prompt to use {{sample.output_text}}.

Also applies to: 75-78

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/llm-judge.md` around lines 43 - 44,
Update the online judging prompt in the relevant example to use the generated
response variable sample.output_text instead of the dataset field item.output.
Keep the offline example using item.output, or split the examples clearly so
each workflow references its correct output source.
🧹 Nitpick comments (1)
skills/nemo-evaluator-plugin/references/llm-judge.md (1)

10-17: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Put Python and CLI examples in a tab set.

Group the SDK example and CLI commands under one tab set. Add equivalent CLI guidance if the current commands only inspect metrics and do not configure the judge workflow.

As per coding guidelines, “Provide both Python SDK and CLI examples in tab-sets for consistency and to support multiple user workflows.”

Also applies to: 62-67

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/llm-judge.md` around lines 10 - 17,
Update the documentation section containing the Python SDK example and CLI
commands to present both workflows in a single tab set. Ensure the CLI tab
includes equivalent judge-workflow configuration guidance, not only metric
inspection commands, while preserving the existing Python example content.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@skills/nemo-evaluator-plugin/references/llm-judge.md`:
- Around line 19-24: Update the Python example centered on LLMJudgeMetric to
either use the tested endpoint and model values from generate_example_specs.py,
including the corresponding secret configuration, or clearly label the block as
a non-runnable template; do not leave provider.example or <judge-model-id>
presented as executable values.

---

Duplicate comments:
In `@skills/nemo-evaluator-plugin/references/llm-judge.md`:
- Around line 43-44: Update the online judging prompt in the relevant example to
use the generated response variable sample.output_text instead of the dataset
field item.output. Keep the offline example using item.output, or split the
examples clearly so each workflow references its correct output source.

---

Nitpick comments:
In `@skills/nemo-evaluator-plugin/references/llm-judge.md`:
- Around line 10-17: Update the documentation section containing the Python SDK
example and CLI commands to present both workflows in a single tab set. Ensure
the CLI tab includes equivalent judge-workflow configuration guidance, not only
metric inspection commands, while preserving the existing Python example
content.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b26e4728-d345-447b-b0fc-d468164e8a45

📥 Commits

Reviewing files that changed from the base of the PR and between 1a47c6e and 221fae7.

📒 Files selected for processing (8)
  • skills/nemo-evaluator-plugin/SKILL.md
  • skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py
  • skills/nemo-evaluator-plugin/assets/specs/fabric_agent_eval.json
  • skills/nemo-evaluator-plugin/references/evaluation-shapes.md
  • skills/nemo-evaluator-plugin/references/execution.md
  • skills/nemo-evaluator-plugin/references/llm-judge.md
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/scripts/generate_example_specs.py
🚧 Files skipped from review as they are similar to previous changes (7)
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/execution.md
  • skills/nemo-evaluator-plugin/references/evaluation-shapes.md
  • skills/nemo-evaluator-plugin/assets/specs/fabric_agent_eval.json
  • skills/nemo-evaluator-plugin/SKILL.md
  • skills/nemo-evaluator-plugin/scripts/generate_example_specs.py
  • skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py

Signed-off-by: Nick Goncharenko <ngoncharenko@nvidia.com>
@ngoncharenko
ngoncharenko force-pushed the ngoncharenko/aalgo-550-eval-plugin-skills branch from 221fae7 to 86984f1 Compare August 5, 2026 20:09
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🧹 Nitpick comments (3)
skills/nemo-evaluator-plugin/references/execution.md (3)

43-43: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use the configured product-name substitution.

Replace NeMo Platform in prose with the configured documentation substitution. Keep API and CLI identifiers literal.

As per coding guidelines: “Never hardcode product names; use substitutions in Sphinx configuration to maintain consistency.”

Also applies to: 124-125

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/execution.md` at line 43, Update the
prose around the nemo-evaluator-plugin execution guidance to use the configured
Sphinx product-name substitution instead of hardcoded “NeMo Platform”; keep API
and CLI identifiers, including client.evaluator.submit, literal.

Source: Coding guidelines


32-63: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use tab sets for SDK and CLI alternatives.

The paired SDK and CLI procedures are sequential. Put each pair in one tab set.

As per coding guidelines: “Use tab sets for parallel alternatives or variants.”

Also applies to: 71-86, 94-137, 147-172, 178-214

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/execution.md` around lines 32 - 63,
Restructure the paired Platform CLI and Platform Python SDK procedures into a
single tab set, with each procedure as a separate tab presenting the same
execution alternative. Apply the same tab-set structure to the corresponding
paired sections at the other referenced locations, preserving their existing
commands and examples.

Source: Coding guidelines


1-7: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add the required Diataxis page structure.

Both pages omit prerequisites and a final Next Steps section. troubleshooting.md also mixes REFERENCE failures with a HOW-TO debugging procedure.

  • skills/nemo-evaluator-plugin/references/execution.md#L1-L7: classify the page as HOW-TO and list prerequisites before the procedures.
  • skills/nemo-evaluator-plugin/references/execution.md#L221-L279: add a final Next Steps section with related cross-links.
  • skills/nemo-evaluator-plugin/references/troubleshooting.md#L1-L4: classify the page as REFERENCE and list prerequisites.
  • skills/nemo-evaluator-plugin/references/troubleshooting.md#L36-L42: move the debugging procedure to a HOW-TO page, then add final Next Steps cross-links.

As per coding guidelines: “Each documentation page should fit ONE Diataxis quadrant,” “Always list prerequisites at the top,” and “Include ‘Next Steps’ section at the end.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@skills/nemo-evaluator-plugin/references/execution.md` around lines 1 - 7,
Update skills/nemo-evaluator-plugin/references/execution.md lines 1-7 to
classify the page as HOW-TO and add prerequisites before its procedures; add a
final Next Steps section with related cross-links at lines 221-279. Update
skills/nemo-evaluator-plugin/references/troubleshooting.md lines 1-4 to classify
it as REFERENCE and add prerequisites; move the debugging procedure from lines
36-42 to a HOW-TO page, then end troubleshooting.md with Next Steps cross-links
so each page fits one Diataxis quadrant.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/nemo-evaluator/README.md`:
- Line 119: Rename the duplicate “CLI Commands” heading in the README to “Agent
evaluation CLI commands” to satisfy markdownlint MD024 while preserving the
section content.
- Around line 6-7: Remove references to the retired `nemo evaluator evaluate
run` workflow from the README’s interface list and examples. Retain
documentation for the durable `submit` workflow, and direct local validation
users to the standalone SDK instead, consistent with the guidance in `SKILL.md`.

In `@skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py`:
- Around line 86-104: Update build_agent_eval_spec so CodexRunnerTarget does not
receive the literal "<codex-model>" placeholder; construct it without a model to
use the CLI default, or add and pass through an optional model argument while
preserving the existing default behavior.

In `@skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json`:
- Around line 57-62: Update the judge prompt content in the llm-as-judge
specification to clearly delimit both rendered values, item.input and
sample.output_text, and explicitly instruct the judge to treat them as data and
ignore any embedded directives or attempts to alter scoring. Add adversarial
evaluation cases verifying prompt-injected instructions in either value cannot
change the required helpfulness score or JSON-only response format.

---

Nitpick comments:
In `@skills/nemo-evaluator-plugin/references/execution.md`:
- Line 43: Update the prose around the nemo-evaluator-plugin execution guidance
to use the configured Sphinx product-name substitution instead of hardcoded
“NeMo Platform”; keep API and CLI identifiers, including
client.evaluator.submit, literal.
- Around line 32-63: Restructure the paired Platform CLI and Platform Python SDK
procedures into a single tab set, with each procedure as a separate tab
presenting the same execution alternative. Apply the same tab-set structure to
the corresponding paired sections at the other referenced locations, preserving
their existing commands and examples.
- Around line 1-7: Update skills/nemo-evaluator-plugin/references/execution.md
lines 1-7 to classify the page as HOW-TO and add prerequisites before its
procedures; add a final Next Steps section with related cross-links at lines
221-279. Update skills/nemo-evaluator-plugin/references/troubleshooting.md lines
1-4 to classify it as REFERENCE and add prerequisites; move the debugging
procedure from lines 36-42 to a HOW-TO page, then end troubleshooting.md with
Next Steps cross-links so each page fits one Diataxis quadrant.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9cdccf46-8091-4e84-b285-6f447b9d57cc

📥 Commits

Reviewing files that changed from the base of the PR and between 795bba2 and 86984f1.

📒 Files selected for processing (29)
  • docs/evaluator/agent-eval/index.mdx
  • docs/evaluator/index.mdx
  • packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • packages/nemo_platform/pyproject.toml
  • plugins/nemo-evaluator/README.md
  • plugins/nemo-evaluator/pyproject.toml
  • plugins/nemo-evaluator/src/nemo_evaluator/cli.py
  • plugins/nemo-evaluator/src/nemo_evaluator/docs.py
  • plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md
  • plugins/nemo-evaluator/tests/test_agent_evaluate.py
  • plugins/nemo-evaluator/tests/test_evaluate_job.py
  • plugins/nemo-evaluator/tests/test_skill_examples.py
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/SKILL.md
  • skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json
  • skills/nemo-evaluator-plugin/assets/specs/fabric_agent_eval.json
  • skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • skills/nemo-evaluator-plugin/references/api-auth.md
  • skills/nemo-evaluator-plugin/references/evaluation-shapes.md
  • skills/nemo-evaluator-plugin/references/execution.md
  • skills/nemo-evaluator-plugin/references/llm-judge.md
  • skills/nemo-evaluator-plugin/references/metric-selection.md
  • skills/nemo-evaluator-plugin/references/resources.md
  • skills/nemo-evaluator-plugin/references/troubleshooting.md
  • skills/nemo-evaluator-plugin/scripts/generate_example_specs.py
💤 Files with no reviewable changes (5)
  • plugins/nemo-evaluator/src/nemo_evaluator/docs/index.md
  • packages/nemo_platform/pyproject.toml
  • plugins/nemo-evaluator/pyproject.toml
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_benchmark.json
  • plugins/nemo-evaluator/src/nemo_evaluator/docs.py
🚧 Files skipped from review as they are similar to previous changes (15)
  • plugins/nemo-evaluator/src/nemo_evaluator/cli.py
  • docs/evaluator/index.mdx
  • skills/nemo-evaluator-plugin/assets/specs/fabric_agent_eval.json
  • packages/nemo_evaluator_sdk/examples/fabric_harness_runtimes.py
  • skills/nemo-evaluator-plugin/references/resources.md
  • skills/nemo-evaluator-plugin/references/llm-judge.md
  • skills/nemo-evaluator-plugin/references/agent-evaluation.md
  • skills/nemo-evaluator-plugin/assets/specs/exact_match_metric.json
  • packages/nemo_evaluator_sdk/tests/agent_eval/test_fabric_integration.py
  • plugins/nemo-evaluator/tests/test_agent_evaluate.py
  • script/dev-install-fabric.sh
  • skills/nemo-evaluator-plugin/references/api-auth.md
  • docs/evaluator/agent-eval/index.mdx
  • plugins/nemo-evaluator/tests/test_evaluate_job.py
  • skills/nemo-evaluator-plugin/references/metric-selection.md

Comment thread plugins/nemo-evaluator/README.md Outdated
Comment thread plugins/nemo-evaluator/README.md Outdated
Comment thread skills/nemo-evaluator-plugin/assets/examples/plugin_sdk_examples.py Outdated
Comment thread skills/nemo-evaluator-plugin/assets/specs/llm_as_judge.json Outdated
Signed-off-by: Nick Goncharenko <ngoncharenko@nvidia.com>
Signed-off-by: Nick Goncharenko <ngoncharenko@nvidia.com>
@gabwow

gabwow commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

/nvskills-ci

Signed-off-by: nvskills-svc-account <svc-nvskills-signing@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants