feat(nemo-agents): validate fabric relay telemetry - #928
Conversation
|
12ea4a0 to
033a650
Compare
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>
5b4fe98 to
7fca774
Compare
|
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 selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughRelay telemetry translation now emits Fabric observability schema version 2 with normalized ATOF sinks. Fabric dependencies, tests, example relay configurations, and local file/Intake usage documentation were updated. ChangesRelay telemetry and examples
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
plugins/nemo-agents/examples/nemo-agent-config/README.md (2)
119-129: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd the required Next Steps section.
End with cross-links to related agent configuration and telemetry documentation.
As per coding guidelines, documentation pages must include a Next Steps section with cross-links.
🤖 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-agents/examples/nemo-agent-config/README.md` around lines 119 - 129, Add a “Next Steps” section at the end of the README after the Studio trace instructions, including cross-links to the related agent configuration and telemetry documentation pages. Preserve the existing setup and trace-inspection instructions.Source: Coding guidelines
1-12: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAdd prerequisites before the first command.
State the required Python/uv, Cargo, Codex CLI, and local Intake/ClickHouse/Platform setup, including which dependencies apply to each workflow.
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 `@plugins/nemo-agents/examples/nemo-agent-config/README.md` around lines 1 - 12, Update the README before the installation command to add a prerequisites section covering required Python/uv, Cargo, and Codex CLI versions or setup, plus local Intake, ClickHouse, and Platform services. Clearly identify which prerequisites apply to each workflow, while preserving the existing Fabric dependency installation guidance.Source: Coding guidelines
plugins/nemo-agents/tests/unit/test_fabric_translator.py (1)
203-220: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick winAdd coverage for the new ATOF normalization branches.
This assertion covers only flat file settings. Add cases for endpoint-to-stream conversion, existing sinks, explicit output-directory precedence, and conflicting fields so
_relay_atof_configbehavior is locked down.🤖 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-agents/tests/unit/test_fabric_translator.py` around lines 203 - 220, Add unit-test cases in test_fabric_translator.py covering each new _relay_atof_config normalization branch: endpoint-to-stream conversion, preservation of existing sinks, precedence of an explicit output directory, and handling of conflicting fields. Keep the current flat file-settings assertion and verify the normalized ATOF configuration for each scenario.
🤖 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-agents/examples/nemo-agent-config/README.md`:
- Around line 89-97: Update the “Relay to Intake (Local)” setup instructions to
explicitly ensure Platform/Intake is running at 127.0.0.1:8080 before deployment
and API checks, either by adding the appropriate startup command to the shell
block or clearly stating that it must already be running.
- Around line 57-63: Make both workflow checks fail when expected output is
missing: in plugins/nemo-agents/examples/nemo-agent-config/README.md lines
57-63, update the artifact check to require at least one ATIF and one ATOF file;
in the same file lines 112-117, make the HTTP request fail on HTTP errors and
assert that the returned Intake data is non-empty.
In `@plugins/nemo-agents/src/nemo_agents_plugin/fabric/translator.py`:
- Around line 166-171: Update the translated stream-sink handling in the
endpoint loop to remove the legacy endpoint field after mapping it to url, and
ensure every resulting sink has type set to stream rather than preserving a
conflicting value. Keep the existing sink collection behavior unchanged.
---
Nitpick comments:
In `@plugins/nemo-agents/examples/nemo-agent-config/README.md`:
- Around line 119-129: Add a “Next Steps” section at the end of the README after
the Studio trace instructions, including cross-links to the related agent
configuration and telemetry documentation pages. Preserve the existing setup and
trace-inspection instructions.
- Around line 1-12: Update the README before the installation command to add a
prerequisites section covering required Python/uv, Cargo, and Codex CLI versions
or setup, plus local Intake, ClickHouse, and Platform services. Clearly identify
which prerequisites apply to each workflow, while preserving the existing Fabric
dependency installation guidance.
In `@plugins/nemo-agents/tests/unit/test_fabric_translator.py`:
- Around line 203-220: Add unit-test cases in test_fabric_translator.py covering
each new _relay_atof_config normalization branch: endpoint-to-stream conversion,
preservation of existing sinks, precedence of an explicit output directory, and
handling of conflicting fields. Keep the current flat file-settings assertion
and verify the normalized ATOF configuration for each scenario.
🪄 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: eaa3493e-e70e-4a79-b751-d381171418b4
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (6)
plugins/nemo-agents/examples/nemo-agent-config/README.mdplugins/nemo-agents/examples/nemo-agent-config/agent-relay-intake.yamlplugins/nemo-agents/examples/nemo-agent-config/agent-relay.yamlplugins/nemo-agents/pyproject.tomlplugins/nemo-agents/src/nemo_agents_plugin/fabric/translator.pyplugins/nemo-agents/tests/unit/test_fabric_translator.py
Summary
This PR completes AIRCORE-902 by wiring Fabric-backed NeMo Agents to Relay telemetry output and validating the two expected local telemetry paths:
The goal of this PR is to prove that Platform-owned
agent.yamltelemetry settings can be translated into the Fabric/Relay config shape and used by deployed Fabric-backed agents.Changes
agent-relay.yamlas a Relay local-file telemetry example.agent-relay-intake.yamlas a Relay-to-Intake telemetry example.plugins/nemo-agents/examples/nemo-agent-config/README.mdwith reviewer test flows.To Reproduce/Test
The easiest place to start is:
plugins/nemo-agents/examples/nemo-agent-config/README.mdplugins/nemo-agents/examples/nemo-agent-config/agent.yamlplugins/nemo-agents/examples/nemo-agent-config/agent-relay.yamlplugins/nemo-agents/examples/nemo-agent-config/agent-relay-intake.yamlThe README includes three local flows:
agent.yaml: telemetry-neutral local invoke.agent-relay.yaml: Fabric-backed deployed agent emitting local ATIF and ATOF files through Relay.agent-relay-intake.yaml: Fabric-backed deployed agent emitting ATIF through Relay to local Platform Intake, then viewing the trace in Studio.For Relay-backed Codex/Claude telemetry, reviewers also need the Relay CLI in addition to the Python deps:
uv pip install -e "plugins/nemo-agents[fabric]" cargo install nemo-relay-cli --root .venv .venv/bin/nemo-relay --versionFor the Intake path, reviewers should start ClickHouse first:
Validated
nemo agents invoke --agent-deployment ....trajectory-*.atif.jsonevents.atof.jsonlNotes
nemo-relayPython package andnemo-relayCLI are separate install surfaces. The Codex/Claude gateway path requires the CLI binary.VITE_FF_INTAKE_ENABLED=trueandVITE_PLATFORM_BASE_URL=http://localhost:8080.Summary by CodeRabbit