Skip to content

feat: enable optimization plugins & UI - #975

Merged
nicot merged 5 commits into
mainfrom
enable-default-agent-plugins/nicot
Jul 29, 2026
Merged

feat: enable optimization plugins & UI#975
nicot merged 5 commits into
mainfrom
enable-default-agent-plugins/nicot

Conversation

@nicot

@nicot nicot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • install the Insights/Analyst and Experimentalist plugins through the default enabled-plugins group
  • enable the Studio Intake and Optimizer feature flags by default in frontend and runtime configuration
  • update plugin documentation and lock metadata to match the new defaults

Validation

  • uv sync --frozen
  • uv lock --check
  • uv run --frozen nemo insights --help
  • uv run --frozen nemo experimentalist --help
  • 35 targeted Python tests passed, including Eval Author and Studio runtime-default coverage
  • pnpm --filter nemo-studio-ui typecheck
  • pnpm --filter nemo-studio-ui feature-flags
  • 8 targeted Studio route tests passed
  • pnpm --filter nemo-studio-ui build
  • built Studio root, Intake, and Optimizer routes returned HTTP 200 from the preview server

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Studio’s Intake and Optimizer preview features are now enabled by default.
  • Documentation

    • Updated first-party plugin lists and installation/removal guidance, including clearer instructions for Insights and Experimentalist.
  • Configuration

    • Updated first-party plugin availability: Insights is installed by default, and Experimentalist/Eval Author are only included on supported Python versions.

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
@nicot
nicot requested review from a team as code owners July 29, 2026 20:23
@github-actions github-actions Bot added the feat label Jul 29, 2026
@nicot nicot changed the title feat: enable optimization workflows by default feat: enable optimization plugins & UI Jul 29, 2026
@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Updated first-party plugin documentation and installation wiring, enabled Studio Intake and Optimizer defaults, regenerated dependency exports, and refreshed third-party license metadata.

Changes

Plugin enablement

Layer / File(s) Summary
Plugin registration and package wiring
docs/agents/plugins.mdx, plugins/README.md, pyproject.toml
Adds Insights, Experimentalist, and Eval Author documentation and configures package inclusion with Python-version gating.
Insights installation instructions
plugins/nemo-insights/README.md
Updates installation and development test commands to use the default environment.

Studio feature defaults

Layer / File(s) Summary
Intake and Optimizer defaults
services/studio/..., web/packages/studio/...
Enables Intake and Optimizer by default in Studio mappings, flag definitions, and the local development environment sample.

Dependency and license metadata

Layer / File(s) Summary
Regenerated dependency export
third_party/requirements-main.txt
Refreshes editable references, dependency entries, transitive packages, provenance comments, and package hashes.
License inventory updates
third_party/licenses.jsonl, third_party/osv-licenses.json
Adds license records for new dependencies, removes the backports-tarfile record, and recalculates license totals.

Possibly related PRs

  • NVIDIA-NeMo/nemo-platform#932: Adds the extracted Eval Author plugin later integrated into the dependency groups and enabled-plugin configuration.

Suggested reviewers: tylersbray, mckornfield, anubhutivyas, stefan-kickoff

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title matches the main change: enabling optimization-related plugins and Studio UI flags by default.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 enable-default-agent-plugins/nicot

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

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 28180/36015 78.2% 62.6%
Integration Tests 16748/34733 48.2% 20.9%

nicot added 2 commits July 29, 2026 13:48
…plugins/nicot

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
Signed-off-by: Nico Tonozzi <ntonozzi@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 `@third_party/osv-licenses.json`:
- Around line 1110-1123: Update the GitPython dependency pin identified near the
affected 3.1.50 entry to version 3.1.55 or later, ensuring the lockfile and
related dependency metadata remain consistent. If the pin cannot be upgraded,
add an explicit accepted-risk exception covering all listed GitPython advisories
instead.

In `@third_party/requirements-main.txt`:
- Around line 1633-1634: Remove nooa from the default dependency list in
requirements-main.txt; place it in the appropriate optional dependency group, or
replace the git reference with an indexed package only if it must remain
default. Preserve the platform markers and the nemo-experimentalist-plugin
association.
🪄 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: 29f856e8-c921-463a-ad9e-88c925e4c57e

📥 Commits

Reviewing files that changed from the base of the PR and between bbc18a8 and bf758d7.

📒 Files selected for processing (3)
  • third_party/licenses.jsonl
  • third_party/osv-licenses.json
  • third_party/requirements-main.txt

Comment thread third_party/osv-licenses.json
Comment thread third_party/requirements-main.txt Outdated
…plugins/nicot

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>
@nicot
nicot added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Jul 29, 2026
…plugins/nicot

Signed-off-by: Nico Tonozzi <ntonozzi@nvidia.com>

# Conflicts:
#	pyproject.toml
#	third_party/osv-licenses.json
#	third_party/requirements-main.txt
@nicot
nicot enabled auto-merge July 29, 2026 21:59

@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)
third_party/osv-licenses.json (1)

2630-2639: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Correct the two MIT classifications. Update third_party/osv-licenses.json for both h2 and hyperframe from non-standard to MIT, then adjust license_summary (MIT +2, non-standard -2).

  • third_party/osv-licenses.json#L2630-L2639: h2MIT
  • third_party/osv-licenses.json#L2760-L2769: hyperframeMIT
🤖 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 `@third_party/osv-licenses.json` around lines 2630 - 2639, Update
third_party/osv-licenses.json at lines 2630-2639 for h2 and lines 2760-2769 for
hyperframe, changing each license classification from non-standard to MIT.
Adjust license_summary by increasing MIT by 2 and decreasing non-standard by 2.

Source: MCP 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.

Outside diff comments:
In `@third_party/osv-licenses.json`:
- Around line 2630-2639: Update third_party/osv-licenses.json at lines 2630-2639
for h2 and lines 2760-2769 for hyperframe, changing each license classification
from non-standard to MIT. Adjust license_summary by increasing MIT by 2 and
decreasing non-standard by 2.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 53328971-09ea-4537-82b3-58fdbc44602f

📥 Commits

Reviewing files that changed from the base of the PR and between bf758d7 and 6b90612.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (6)
  • docs/agents/plugins.mdx
  • plugins/README.md
  • pyproject.toml
  • third_party/licenses.jsonl
  • third_party/osv-licenses.json
  • third_party/requirements-main.txt
🚧 Files skipped from review as they are similar to previous changes (4)
  • docs/agents/plugins.mdx
  • pyproject.toml
  • third_party/licenses.jsonl
  • third_party/requirements-main.txt

@nicot
nicot added this pull request to the merge queue Jul 29, 2026
Merged via the queue into main with commit 4566df3 Jul 29, 2026
65 checks passed
@nicot
nicot deleted the enable-default-agent-plugins/nicot branch July 29, 2026 22:26
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