Skip to content

feat(nemo-agents): update skills to use Fabric backed agents as preferred and NAT as legacy - #1044

Merged
mmogallapalli merged 21 commits into
mainfrom
mmogallapall/aircore-956-add-helper-skills-for-assembling-fabric-backed-agent-configs
Aug 3, 2026
Merged

feat(nemo-agents): update skills to use Fabric backed agents as preferred and NAT as legacy#1044
mmogallapalli merged 21 commits into
mainfrom
mmogallapall/aircore-956-add-helper-skills-for-assembling-fabric-backed-agent-configs

Conversation

@mmogallapalli

@mmogallapalli mmogallapalli commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR updates the NeMo Platform agent-building skills for AIRCORE-956 so new
agents use the Platform-owned nemo-agents-spec-v1 configuration path by
default, while preserving existing NAT workflow YAML as an explicit
compatibility path.

It introduces a focused nemo-agent-config skill and aligns the surrounding
design, specification, model-selection, build, and invocation skills around the
same authoring flow:

Agent idea
  -> nemo-explore
  -> AGENT-SPEC.md through nemo-spec
  -> Platform-owned agent.yaml through nemo-agent-config
  -> Agent registration and deployment through nemo-build-agent
  -> Invocation through nemo-try-agent

Users author Platform concepts such as harness selection, models,
instructions, skills, tools, environment, and telemetry. The skills do not ask
users to author raw Fabric SDK objects or treat Fabric configuration as the
Platform persistence contract.

Changes

  • Added the nemo-agent-config skill for creating, editing, validating, and
    migrating Platform-owned agent.yaml files.
  • Added a canonical nemo-agents-spec-v1 agent.yaml template covering:
    • Supported harness selection.
    • Default and per-harness model configuration.
    • System instructions.
    • Skills, MCP servers, and blocked tools.
    • Workspace and artifact paths.
    • Relay telemetry configuration.
  • Added routing coverage for explicit and implicit nemo-agent-config
    requests, including legacy NAT migration requests.
  • Updated nemo-build-agent to:
    • Use agent.yaml as the default implementation path.
    • Delegate config authoring to nemo-agent-config.
    • Preserve legacy NAT workflows instead of rewriting them automatically.
    • Check for existing Agent entities and deployments before replacement.
    • Avoid silently deleting an existing Agent during the build flow.
  • Updated nemo-skill-selection to route focused Platform agent-config work to
    nemo-agent-config and keep full builds routed to nemo-build-agent.
  • Updated nemo-explore to gather harness, model, tool, skill, environment,
    telemetry, and compatibility requirements needed by the new config path.
  • Updated nemo-spec and its template so AGENT-SPEC.md captures the inputs
    needed to create a Platform-owned agent.yaml while remaining useful for NAT
    compatibility workflows.
  • Updated nemo-model-selection to describe shared Platform model defaults,
    harness-specific overrides, and Inference Gateway behavior without exposing
    Fabric SDK configuration as the user contract.
  • Updated nemo-try-agent to support both Platform-owned agent.yaml and
    legacy NAT YAML for local one-shot invocation, while distinguishing local
    provider requirements from deployed Inference Gateway normalization.
  • Updated skill metadata and routing tests across the affected skills.
  • Updated vendoring configuration to include YAML assets and regenerated the
    SDK copies of all changed skills and templates.

Design Choices

agent.yaml is the preferred machine-readable contract

New agent workflows now produce a Platform-owned agent.yaml with
config_format: nemo-agents-spec-v1. The resulting config is stored in the
Platform Agent entity and translated behind the Platform execution boundary.

The skills deliberately use Platform-facing terms instead of asking users to
construct FabricConfig or other SDK-specific objects.

AGENT-SPEC.md and agent.yaml have separate roles

AGENT-SPEC.md remains the human-readable design and acceptance contract.
agent.yaml is the machine-readable execution configuration derived from that
spec. Both live under the canonical agent spec directory:

agents/<agent-name>-spec/
  AGENT-SPEC.md
  agent.yaml

This preserves the existing spec-first workflow while adding the new Platform
agent format.

NAT remains a compatibility path

Existing NAT workflow YAML continues to be accepted. The updated skills do not
automatically rewrite or overwrite it. Users can deploy it unchanged or choose
a best-effort migration through nemo-agent-config.

If a NAT workflow, custom Python component, or tool has no equivalent supported
harness contract, the skills keep the NAT path or identify the need for a
custom adapter instead of claiming a mechanical conversion.

Model defaults may be overridden by a harness

The template supports one shared models.default and an optional model block
on each harness. A harness-local model takes precedence when provided; otherwise
the shared default is used.

The default deployed path may rely on Platform Inference Gateway normalization.
Local one-shot invocation requires the selected model to already have a usable
provider endpoint and credentials because it does not apply that deployment
normalization.

Existing resources are not replaced silently

The build workflow checks for existing Agent entities and deployments and asks
the user whether to reuse, update, or replace them. The default command sequence
assumes a new Agent and no longer performs an unconditional best-effort delete.

YAML templates are vendored assets

The package vendoring configuration now includes *.yaml so the canonical
agent.yaml template is available from the SDK's bundled skill copy alongside
the Markdown skill content.

Compatibility

  • New agents default to nemo-agents-spec-v1.
  • Existing configs without config_format continue to use the existing
    nat-workflow-v1 default.
  • Existing NAT workflow YAML can still be registered, deployed, and invoked.
  • NAT-to-Platform migration is explicit and best effort.
  • nemo-try-agent continues to support both local and deployed invocation
    targets.

Validation

Focused skill registry and CLI tests:

58 passed

Additional validation completed:

  • Validated the example agent.yaml with the Platform AgentConfig model.
  • Translated the example into a typed Fabric config and successfully ran
    Fabric planning.
  • Confirmed nemo skills list includes nemo-agent-config.
  • Confirmed canonical and vendored skill/template files match after
    make vendor.
  • Ran repository Python style checks successfully.
  • Ran git diff --check successfully.

Summary by CodeRabbit

  • New Features

    • Added guidance for authoring and validating NeMo Platform agent configurations.
    • Added an example configuration covering supported harnesses, models, workspace paths, and telemetry.
    • Added support for building, deploying, and invoking agents from local configurations or named deployments.
  • Improvements

    • Updated model selection, exploration, specification, and skill routing for Platform agents.
    • Retained compatibility guidance for legacy NAT workflows.
    • Expanded validation, migration, troubleshooting, evaluation, and deployment workflows.
    • Improved packaged reference assets and skill coverage tests.

Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
@mmogallapalli
mmogallapalli requested review from a team as code owners August 3, 2026 17:55
@github-actions github-actions Bot added the feat label Aug 3, 2026
@mmogallapalli mmogallapalli self-assigned this Aug 3, 2026
@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

Adds Platform-owned agent.yaml authoring through nemo-agent-config. Updates exploration, specification, model selection, skill routing, building, evaluation, deployment, and invocation for supported harnesses while retaining explicit NAT compatibility workflows.

Changes

Platform agent workflows

Layer / File(s) Summary
Configuration authoring and packaging
packages/nemo_platform_ext/pyproject.toml, packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/*
Adds the nemo-agent-config skill, a multi-harness agent.yaml template, routing tests, and YAML/JSON packaging support.
Lifecycle and model contracts
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-explore/*, packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/*, packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-model-selection/*
Uses supported-harness, nat-workflow, and needs-adapter classifications. Supports Platform agent.yaml, harness selection, provider configuration, model overrides, and explicit NAT compatibility.
Skill routing and handoffs
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/*
Routes configuration authoring, validation, harness selection, deployment, local YAML invocation, and NAT compatibility requests to the corresponding skills.
Agent build and evaluation
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/*, packages/nemo_platform_ext/tests/cli/commands/skills/test_skill_content.py
Uses Platform agent.yaml by default. Adds named registration and deployment, runtime data wiring, Data Designer workflows, evaluation, guardrails, sign-off, format-aware recovery, and packaging tests.
Local and deployed invocation
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/*
Supports local YAML and named deployment invocation. Adds target selection, readiness checks, verification, and failure handling without falling back to nemo chat.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant nemo-skill-selection
  participant nemo-agent-config
  participant NeMo Platform
  User->>nemo-skill-selection: Request agent configuration or deployment
  nemo-skill-selection->>nemo-agent-config: Route configuration work
  nemo-agent-config->>NeMo Platform: Validate or deploy agent.yaml
  NeMo Platform-->>User: Return configuration or deployment status
Loading

Possibly related PRs

Suggested reviewers: yamini, mikeknep, stefan-kickoff

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% 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
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the shift to Platform-backed agents as the preferred path while retaining NAT as a legacy option.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mmogallapall/aircore-956-add-helper-skills-for-assembling-fabric-backed-agent-configs

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: 7

Caution

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

⚠️ Outside diff range comments (1)
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/SKILL.md (1)

7-7: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Namespace the write AGENTSpec trigger.

SkillSpector reports that this trigger shadows the built-in write command. A normal write request can route to nemo-spec instead of the built-in command. Rename the trigger so it has a unique nemo-spec namespace, then rerun the routing tests.

🤖 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 `@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/SKILL.md`
at line 7, Rename the “write AGENTSpec” trigger in the nemo-spec skill
definition to a uniquely namespaced nemo-spec trigger so it no longer shadows
the built-in write command, then rerun the routing tests to verify normal write
requests still use the built-in command.

Source: Linters/SAST tools

🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md`:
- Around line 219-225: Update the local persistent server command in the agent
configuration documentation to use 127.0.0.1 instead of 0.0.0.0 by default, and
indicate that external exposure requires explicit user intent.
- Around line 180-206: Update the registration and deployment instructions
around the Platform create path and Deploy and invoke section to require
explicit user confirmation immediately before running each state-changing
command: agents create and agents deploy. Keep validation and invocation
guidance unchanged, and do not require confirmation for the non-state-changing
wait or invoke commands.

In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md`:
- Around line 159-169: Update the workflow around steps 3–4 to always select an
evaluation purpose and generate a validated evaluation fileset before evaluation
proceeds. Ensure agents/$AGENT_NAME.eval-job.json is created with the actual
model and generated dataset reference, and require its validation before
invoking benchmark-jobs create.
- Around line 63-64: Update the existing-resource lifecycle instructions in
SKILL.md before the create/deploy steps: remove the unsupported “update” and
“recreate and redeploy” paths, define explicit reuse and replacement branches,
and require confirmation before running the agents undeploy and delete commands.
Document the exact commands, restrict --yes to confirmed replacements, and
require verifying resources are absent before recreating and deploying them.
- Around line 42-60: Update the nemo-build-agent workflow to select the NAT
configuration path before pre-flight, defining AGENT_NAME and DEPLOYMENT_NAME
for NAT-only runs so AGENT-SPEC.md and spec-fileset checks do not block them.
Add executable nemo agents create and nemo agents deploy steps that pass the NAT
workflow YAML through --agent-config, and update all smoke-test commands to
reference DEPLOYMENT_NAME.

In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md`:
- Line 114: Update the “Config validation error” routing entry in SKILL.md to
direct local YAML configuration fixes and migrations to nemo-agent-config, while
preserving validation-detail surfacing. Reserve nemo-build-agent routing only
for cases where redeployment is explicitly requested.
- Around line 86-88: Update the ordered list in the skill instructions around
the fenced command so its items use the configured numbering prefixes instead of
resuming at 4. and 5.; preserve the existing guidance text and ordering while
satisfying markdownlint MD029.

---

Outside diff comments:
In `@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/SKILL.md`:
- Line 7: Rename the “write AGENTSpec” trigger in the nemo-spec skill definition
to a uniquely namespaced nemo-spec trigger so it no longer shadows the built-in
write command, then rerun the routing tests to verify normal write requests
still use the built-in command.
🪄 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: 9155d763-64e8-47a5-b199-8ee1e943f7af

📥 Commits

Reviewing files that changed from the base of the PR and between 2cb9a08 and 0d1b346.

⛔ Files ignored due to path filters (9)
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/references/templates/agent.yaml is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-build-agent/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-explore/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-model-selection/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-skill-selection/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-spec/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-spec/references/templates/agent-spec.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-try-agent/SKILL.md is excluded by !sdk/**
📒 Files selected for processing (17)
  • packages/nemo_platform_ext/pyproject.toml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/references/templates/agent.yaml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/tests.json
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/tests.json
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-explore/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-explore/tests.json
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-model-selection/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-model-selection/tests.json
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/tests.json
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/references/templates/agent-spec.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-spec/tests.json
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/tests.json

Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md Outdated
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 30257/38273 79.1% 63.7%
Integration Tests 17899/36942 48.4% 20.9%

Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>

@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: 2

Caution

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

⚠️ Outside diff range comments (1)
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md (1)

204-213: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Wait for $AGENT_NAME-deployment explicitly. --agent "$AGENT_NAME" selects the last matching active deployment, which can differ from the deployment that the next command invokes. Use deployments wait "$AGENT_NAME-deployment".

🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md`
around lines 204 - 213, Update the deployment wait command in the
post-deployment instructions to target the explicit "$AGENT_NAME-deployment"
deployment identifier, matching the deployment passed to the subsequent agents
invoke command, instead of using the --agent "$AGENT_NAME" selector.
🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md`:
- Around line 166-167: Update the Platform and NAT lifecycle instructions around
the agent registration and deployment commands to prompt for confirmation
immediately before each state-changing agents create and agents deploy
operation. Ensure both paths follow the nemo-agent-config requirement, rather
than relying on the later post-deployment prompt, while preserving the existing
selected lifecycle branching.
- Around line 220-238: Update the numbered workflow before Step 3 to explicitly
branch for unchanged NAT-only runs lacking AGENT-SPEC.md: after smoke testing,
stop without executing Steps 3–5 or requiring an evaluation fileset. Continue
into the existing spec-driven purpose selection and data-designer flow only when
the user requests it and AGENT-SPEC.md exists.

---

Outside diff comments:
In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md`:
- Around line 204-213: Update the deployment wait command in the post-deployment
instructions to target the explicit "$AGENT_NAME-deployment" deployment
identifier, matching the deployment passed to the subsequent agents invoke
command, instead of using the --agent "$AGENT_NAME" selector.
🪄 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: c6d6fae0-7bdc-40ab-a1a7-5af5dea281b1

📥 Commits

Reviewing files that changed from the base of the PR and between 0d1b346 and 391ab06.

⛔ Files ignored due to path filters (3)
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-build-agent/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-try-agent/SKILL.md is excluded by !sdk/**
📒 Files selected for processing (3)
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md

Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>

@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: 2

🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md`:
- Around line 100-112: Resolve the unsupported telemetry.atof mapping in the NAT
codex_agent migration guidance: either add telemetry.atof consistently to the
canonical telemetry schema and template, or remove it from the
relay_atof_output_dir mapping and explicitly mark ATOF behavior for manual
migration. Keep the documented rejection of unsupported fields aligned with the
chosen approach.

In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-model-selection/SKILL.md`:
- Around line 51-55: Update the model discovery command in the Platform-routed
harness section to extract each model’s data[].id instead of data[].name. Ensure
an empty candidate set is rejected and follows the existing unreachable/error
path rather than allowing the skill to continue successfully without models.
🪄 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: 1ef2ff0b-b02d-4cc7-806c-c05c2a9c0e81

📥 Commits

Reviewing files that changed from the base of the PR and between 391ab06 and 89e46fa.

⛔ Files ignored due to path filters (4)
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/references/templates/agent.yaml is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-build-agent/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-model-selection/SKILL.md is excluded by !sdk/**
📒 Files selected for processing (5)
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/references/templates/agent.yaml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-model-selection/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-model-selection/tests.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/references/templates/agent.yaml

@tylersbray tylersbray 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.

agent (pr-review): Request changes — consolidated verified findings

Thanks for the clear nemo-agents-spec-v1 preferred / NAT compatibility pivot, removing silent agents delete, and the confirmation gates. CI looks good.

Request changes on two blockers (inline below):

  1. Relative skills.paths — create validates against the authoring dir; deploy only materializes YAML. Non-empty relative skill paths will fail after a successful create.
  2. Vendoring*.yaml was added, but build still depends on agent.yml + eval-job.json, which remain absent from the SDK skill tree.

Additional P2s are filed inline (eval poll CLI, try-agent verify branch, deploy-wait selector, guardrails honesty, model step order, approval_mode, MCP fields, NAT local gateway).

Not actionable (replying on threads): CodeRabbit’s telemetry.atof removal and data[].id advice — both are false positives against TelemetryConfig / nemo models list (ModelEntity.name).

Comment thread packages/nemo_platform_ext/pyproject.toml Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md Outdated

@tylersbray tylersbray 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.

Giving an approval so you are not blocked. Hopefully it is easy to have an agent crank through those recommended changes.

Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>
@mmogallapalli
mmogallapalli enabled auto-merge August 3, 2026 22:23

@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: 2

🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md`:
- Around line 109-113: The verification block invokes the agent a second time
after the earlier “Send the query” step. Reuse the first invocation’s captured
RESP and RC in this local/deployment branching flow, or replace this invocation
with a separate read-only probe, ensuring the target agent is executed only
once.
- Around line 62-66: Update the local Platform CLI invocation flow in the
pre-flight checks to export NMP_BASE_URL=http://localhost:8080 before running
.venv/bin/nemo agents deployments list or any subsequent agents command. Apply
this only to local Platform CLI calls that use the local platform endpoint,
preserving the existing routing and exclusions for deployed, Fabric-owned, and
explicitly configured endpoint invocations.
🪄 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: b9104128-18a4-4b82-a0de-93093ebdbf80

📥 Commits

Reviewing files that changed from the base of the PR and between 89e46fa and e6b0941.

⛔ Files ignored due to path filters (8)
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-agent-config/references/templates/agent.yaml is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-build-agent/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-build-agent/references/templates/agent.yml is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-build-agent/references/templates/eval-job.json is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-model-selection/references/benchmark_cache.json is excluded by !sdk/**
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-try-agent/SKILL.md is excluded by !sdk/**
  • sdk/python/nemo-platform/tests/vendored/nemo_platform_ext/cli/commands/skills/test_skill_content.py is excluded by !sdk/**
📒 Files selected for processing (6)
  • packages/nemo_platform_ext/pyproject.toml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/references/templates/agent.yaml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md
  • packages/nemo_platform_ext/tests/cli/commands/skills/test_skill_content.py
🚧 Files skipped from review as they are similar to previous changes (3)
  • packages/nemo_platform_ext/pyproject.toml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-agent-config/references/templates/agent.yaml
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-build-agent/SKILL.md

Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md Outdated
Comment thread packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md Outdated
Signed-off-by: Manjesh Mogallapalli <mmogallapall@nvidia.com>

@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: 3

Caution

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

⚠️ Outside diff range comments (1)
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md (1)

36-67: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Follow SETUP.md before local CLI use.

This section runs .venv/bin/nemo and local health checks without first directing the agent to follow SETUP.md. Add that setup step. In a sandbox, stop and report missing capabilities instead of bypassing setup.

As per coding guidelines, local Platform and nemo CLI use must follow SETUP.md first.

🤖 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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md`
around lines 36 - 67, Update the Pre-flight instructions before any local
Platform checks or `.venv/bin/nemo` invocation to require following `SETUP.md`
first. In sandboxed environments, instruct the agent to stop and report missing
setup capabilities rather than bypassing the setup process, while preserving the
existing invocation-mode and readiness checks.

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
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md`:
- Around line 98-107: Update the invocation branches in the skill script to use
the runner-provided USER_QUERY variable as data, replacing the literal “<user
query>” argument with a quoted “$USER_QUERY” argument in both local and
deployment modes; leave the remaining nemo invocation options unchanged.
- Around line 54-67: Update both remote and local deployment-list preflight
branches to capture the CLI exit status and stderr, stop immediately on any
non-zero result, and classify the actual authentication, plugin, endpoint, or
CLI failure instead of mapping everything to PLATFORM_UNREACHABLE or continuing
silently. Preserve the existing PLATFORM_DOWN and PLATFORM_WEDGED checks for
local process and health failures, and ensure successful listing output remains
unchanged.
- Around line 62-66: Update the NMP_BASE_URL assignment in the local platform
readiness and CLI command block to use the exact value http://localhost:8080
instead of http://127.0.0.1:8080, leaving the surrounding health checks and
agents deployments list command unchanged.

---

Outside diff comments:
In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md`:
- Around line 36-67: Update the Pre-flight instructions before any local
Platform checks or `.venv/bin/nemo` invocation to require following `SETUP.md`
first. In sandboxed environments, instruct the agent to stop and report missing
setup capabilities rather than bypassing the setup process, while preserving the
existing invocation-mode and readiness checks.
🪄 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: c5ea44d1-d121-4b6d-a62e-a1b2ad3afd09

📥 Commits

Reviewing files that changed from the base of the PR and between e6b0941 and 7067689.

⛔ Files ignored due to path filters (1)
  • sdk/python/nemo-platform/src/nemo_platform/skills/nemo-try-agent/SKILL.md is excluded by !sdk/**
📒 Files selected for processing (1)
  • packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-try-agent/SKILL.md

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.

2 participants