feat(skills): add NeMo Intake guidance - #1096
Conversation
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughChangesNeMo skill workflows
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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-experiments-upload/SKILL.md`:
- Around line 102-105: Correct the OTLP guidance in the ingest endpoint section
to require setting nemo.experiment.id and nemo.test_case.id as attributes on the
root span, not as resource attributes. Preserve the stated mapping of the
experiment attribute to the Evaluation name and the test-case attribute to the
task ID.
In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-intake/SKILL.md`:
- Around line 31-33: Require HTTPS validation in both skill docs so remote
platform targets cannot use plain http:// before telemetry or evaluation
commands run. Update the guidance in
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-intake/SKILL.md#L31-L33
and
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-experiments-upload/SKILL.md#L30
to explicitly reject non-loopback http:// NMP_BASE_URL values, while still
allowing http://localhost and http://127.0.0.1 for local use, and note that
authentication must not be sent across an HTTP redirect.
In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/SKILL.md`:
- Around line 58-59: Resolve the command-execution contradiction in the skill
instructions: update the handoff flow around the `lsof`, `curl`, `ps`, and `ls`
scan so responsibility is consistent with the skill’s no-command policy. Either
move the scan requirements to the caller and remove them from this skill, or
explicitly permit this skill to run them and remove the conflicting prohibitions
near the command rules; ensure the `nemo-intake` and `nemo-experiments-upload`
handoffs remain actionable.
🪄 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: 2e8fac5a-ddef-463c-b651-72c60fb8ea9d
⛔ Files ignored due to path filters (5)
sdk/python/nemo-platform/src/nemo_platform/skills/nemo-experiments-upload/SKILL.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/skills/nemo-experiments-upload/references/troubleshooting.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/skills/nemo-intake/SKILL.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/skills/nemo-intake/references/ingest-formats.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/skills/nemo-skill-selection/SKILL.mdis excluded by!sdk/**
📒 Files selected for processing (8)
AGENTS.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-experiments-upload/SKILL.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-experiments-upload/references/troubleshooting.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-experiments-upload/tests.jsonpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-intake/SKILL.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-intake/references/ingest-formats.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-intake/tests.jsonpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/SKILL.md
|
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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-intake/SKILL.md`:
- Around line 22-25: Update the NMP_BASE_URL validation case to parse the URL
before permitting HTTP loopback access: allow HTTP only when the parsed hostname
is exactly localhost or 127.0.0.1 and no userinfo is present, while requiring
https:// for every other hostname. Apply the same validation to the related
checks near the alternate references, preserving rejection of
attacker-controlled hosts such as userinfo@hostname.
In
`@packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/SKILL.md`:
- Around line 23-29: Update the process-scan and matching-inventory reporting
flow in the nemo-skill-selection skill to avoid exposing command arguments from
ps output. Report only each process PID, user, and executable name, or redact
everything after the executable before returning results; preserve the existing
selection behavior.
- Around line 25-29: Remove the unsupported allowed-tools declaration from the
skill metadata and update the surrounding skill documentation to state that Bash
access is unrestricted, including potential state-changing commands. Do not
claim read-only runtime enforcement unless an actual execution-time allowlist or
sandbox is implemented.
🪄 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: 09ce75b7-1422-49f4-9dcd-a025f0662b3f
⛔ Files ignored due to path filters (3)
sdk/python/nemo-platform/src/nemo_platform/skills/nemo-experiments-upload/SKILL.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/skills/nemo-intake/SKILL.mdis excluded by!sdk/**sdk/python/nemo-platform/src/nemo_platform/skills/nemo-skill-selection/SKILL.mdis excluded by!sdk/**
📒 Files selected for processing (3)
packages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-experiments-upload/SKILL.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-intake/SKILL.mdpackages/nemo_platform_ext/src/nemo_platform_ext/skills/nemo-skill-selection/SKILL.md
Signed-off-by: Brian Newsom <brnewsom@nvidia.com>
Summary
nemo-intakeskill for local or remote Intake requirements, ingest-path selection, instrumentation, and the customer-facing telemetry modelnemo-experiments-uploadto Experiments/Evaluations and leaderboard rollups, update routing, and refresh the vendored SDK copyTesting
uvx uv@0.9.14 run --frozen pytest packages/nemo_platform_ext/tests/cli/commands/skills/test_skill_content.py -q(11 passed)uvx uv@0.9.14 run --frozen pre-commit run -a(all applicable hooks passed; Studio lint-staged could not run because the host has Node 24 instead of required Node 22.23.x and the workspace lackslint-staged)Summary by CodeRabbit
New Features
Documentation
Tests