Skip to content

chore(studio): set new defaults for feature flags - #1241

Merged
nakolean merged 2 commits into
mainfrom
nkolean/feature-flag-update
Aug 12, 2026
Merged

chore(studio): set new defaults for feature flags#1241
nakolean merged 2 commits into
mainfrom
nkolean/feature-flag-update

Conversation

@nakolean

@nakolean nakolean commented Aug 11, 2026

Copy link
Copy Markdown
Contributor
Screen.Recording.2026-08-11.at.1.52.50.PM.mov

Guardrails (default: off) (includes virtual models)

Experiments (default: on)

Traces (default: on)

Data Designer (default: on)

Safe Synthesizer (default: on)

Filesets (default: on)

Deployments (default: off) (need to follow up on func, ticket to come)

Custom and Base Models (default: on)

Jobs (default: off)

Suggestions (delete page)

Monitor (default: off) (will feed into new Agent Entity page)

Evaluations (is moving to a tab in Agent Entity page)

Playground (is moving to models)

Summary

Related Issue

Changes

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with documentation updates
  • Documentation only
  • Contributor tooling or automation
  • CI, build, or test infrastructure

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Documentation updated for user-visible behavior
  • Documentation not applicable — justification:

Verification

  • Pull request title follows the repository's Conventional Commit format
  • Every commit includes an appropriate Signed-off-by: trailer
  • uv run pre-commit run -a passes, or any blocked checks are identified below
  • Targeted tests pass, or tests are marked not applicable above
  • No secrets, API keys, or credentials are included

Targeted validation:

Summary by CodeRabbit

  • New Features

    • Added feature-flag controls for monitoring, tool calling, tours, settings, and related Studio capabilities.
    • Added monitoring indicators and conditionally displayed tracing and monitoring navigation.
    • Virtual Models navigation now appears only when Guardrails is enabled.
  • Bug Fixes

    • Standardized evaluation score display to use supported range and rubric scores.
    • Updated feature-flag defaults for a more consistent Studio experience.
  • Removed

    • Removed the Agent Optimizations experience, including suggestions, optimization controls, and related evaluation workflows.

Signed-off-by: Nicholas Kolean <nakolean@gmail.com>
@nakolean
nakolean requested review from a team as code owners August 11, 2026 20:03
@github-actions github-actions Bot added the chore label Aug 11, 2026
@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Changes

Studio feature-flag defaults and environment mappings were updated. Agent aggregate score handling now excludes scalar scores. The agent optimization flow was removed. Monitor and Virtual Models routes and navigation entries are now feature-gated.

Studio configuration

Layer / File(s) Summary
Feature-flag configuration
services/studio/src/nmp/studio/env_mappings.py, web/packages/studio/env/*, web/packages/studio/src/constants/*
Updated feature-flag defaults, added monitor mappings, and added exported feature-flag constants.
Evaluation contracts and filesets
web/packages/studio/src/api/evaluation/*, web/packages/studio/src/components/agents/AgentBlockingInput/*, web/packages/studio/src/components/dataViews/EvalComparisonTable/*
Removed scalar aggregate scores, added evalFilesetForAgent, and updated aggregate score extraction to use score.mean.
Agent optimization removal
web/packages/studio/src/routes/agents/AgentSuggestionsRoute/*, web/packages/studio/src/routes/agents/CopilotChatRoute/artifacts.ts
Removed the agent optimization route, hooks, API, components, types, utilities, constants, and related tests and link template.

Gated agent routes

Layer / File(s) Summary
Monitor and Virtual Models gating
web/packages/studio/src/routes/groups/*, web/packages/studio/src/routes/WorkspaceLayout/*
Monitor route and navigation entries require MONITOR_ENABLED. Virtual Models navigation and routes require guardrails to be enabled.
Monitor UI and navigation suggestions
web/packages/studio/src/routes/agents/AgentDetailRoute/*, web/packages/studio/src/routes/agents/AgentMonitorRoute/*, web/packages/studio/src/routes/agents/CopilotChatRoute/*
The traces action and Agent Monitor navigation suggestion are flag-gated. The Monitor heading displays the monitorEnabled badge.

Possibly related PRs

Suggested reviewers: steramae-nvidia, rrhyne

🚥 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 clearly and concisely summarizes the primary change: updating Studio feature-flag defaults.
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 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch nkolean/feature-flag-update

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

🧹 Nitpick comments (1)
web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx (1)

14-15: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add disabled-state coverage for the feature-flag changes.

All three fixtures force the relevant flags on. They do not protect the default-off behavior described by PR #1241.

  • web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx#L14-L15: Test disabled GUARDRAILS_ENABLED and MONITOR_ENABLED states.
  • web/packages/studio/src/routes/agents/AgentDetailRoute/index.test.tsx#L4-L6: Assert that Open traces is absent when Monitor is disabled.
  • web/packages/studio/src/routes/agents/CopilotChatRoute/studioUiNavigationSuggestions.test.ts#L23-L23: Assert that the agent-monitor suggestion is absent when monitorEnabled is false.
🤖 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 `@web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx`
around lines 14 - 15, Extend the feature-flag tests to cover disabled defaults:
in web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx
lines 14-15, add coverage for disabled GUARDRAILS_ENABLED and MONITOR_ENABLED;
in web/packages/studio/src/routes/agents/AgentDetailRoute/index.test.tsx lines
4-6, assert Open traces is absent when Monitor is disabled; and in
web/packages/studio/src/routes/agents/CopilotChatRoute/studioUiNavigationSuggestions.test.ts
lines 23-23, assert the agent-monitor suggestion is absent when monitorEnabled
is false.
🤖 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 `@web/packages/studio/src/api/evaluation/agent-evaluations.ts`:
- Around line 25-26: Update AgentEvalAggregateScore and aggregateScoresOf to
handle AggregateScalarScore results by reading their numeric value from value
rather than mean, while preserving existing range and rubric aggregation
behavior. Add a regression test covering scalar scores and verifying the
returned aggregate value is not null.

In `@web/packages/studio/src/api/evaluation/eval-config-fileset.ts`:
- Around line 29-30: Update the sample evaluation selection flow that uses
evalFilesetForAgent to ensure the corresponding <agentName>-eval fileset is
seeded before returning it. Invoke the existing ensureEvalConfigFileset path, or
create and upload the fileset through the established mechanism, while
preserving the current fileset naming contract.

---

Nitpick comments:
In `@web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx`:
- Around line 14-15: Extend the feature-flag tests to cover disabled defaults:
in web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx
lines 14-15, add coverage for disabled GUARDRAILS_ENABLED and MONITOR_ENABLED;
in web/packages/studio/src/routes/agents/AgentDetailRoute/index.test.tsx lines
4-6, assert Open traces is absent when Monitor is disabled; and in
web/packages/studio/src/routes/agents/CopilotChatRoute/studioUiNavigationSuggestions.test.ts
lines 23-23, assert the agent-monitor suggestion is absent when monitorEnabled
is false.
🪄 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: 38cabc69-5e5a-4773-807a-f21665b20b9e

📥 Commits

Reviewing files that changed from the base of the PR and between 6d9163f and 1a06d18.

📒 Files selected for processing (40)
  • services/studio/src/nmp/studio/env_mappings.py
  • web/packages/studio/env/.env.dev.local.sample
  • web/packages/studio/env/.env.fastapi
  • web/packages/studio/src/api/evaluation/agent-evaluations.ts
  • web/packages/studio/src/api/evaluation/eval-config-fileset.ts
  • web/packages/studio/src/components/agents/AgentBlockingInput/EvalConfigBlockingInput.tsx
  • web/packages/studio/src/components/dataViews/EvalComparisonTable/utils.test.ts
  • web/packages/studio/src/components/dataViews/EvalComparisonTable/utils.ts
  • web/packages/studio/src/components/dataViews/JobsDataView/index.test.tsx
  • web/packages/studio/src/constants/environment.ts
  • web/packages/studio/src/constants/featureFlags/featureFlags.ts
  • web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.test.tsx
  • web/packages/studio/src/routes/WorkspaceLayout/WorkspaceSideNav.tsx
  • web/packages/studio/src/routes/agents/AgentDetailRoute/index.test.tsx
  • web/packages/studio/src/routes/agents/AgentDetailRoute/index.tsx
  • web/packages/studio/src/routes/agents/AgentMonitorRoute/index.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.read.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/AgentGroupSection.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/ApplyEvalConfigModal.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/EmptyState.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/SectionHeading.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/SeverityStat.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/StatColumn.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/StatsSection.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/SuggestionTile.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/constants.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/index.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/types.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useAgentOptimizations.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.test.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.ts
  • web/packages/studio/src/routes/agents/CopilotChatRoute/artifacts.ts
  • web/packages/studio/src/routes/agents/CopilotChatRoute/studioUiNavigationSuggestions.test.ts
  • web/packages/studio/src/routes/agents/CopilotChatRoute/studioUiNavigationSuggestions.ts
  • web/packages/studio/src/routes/groups/agentRoutes.tsx
  • web/packages/studio/src/routes/groups/virtualModelsRoutes.tsx
💤 Files with no reviewable changes (21)
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/SectionHeading.tsx
  • web/packages/studio/src/components/dataViews/EvalComparisonTable/utils.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/ApplyEvalConfigModal.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/StatsSection.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/EmptyState.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/index.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/AgentGroupSection.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/SuggestionTile.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useAgentOptimizations.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.read.test.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.test.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/types.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/useOptimizerSuggestions.ts
  • web/packages/studio/src/routes/agents/CopilotChatRoute/artifacts.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/StatColumn.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/constants.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/components/SeverityStat.tsx
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/api.ts
  • web/packages/studio/src/routes/agents/AgentSuggestionsRoute/utils.ts

Comment thread web/packages/studio/src/api/evaluation/agent-evaluations.ts Outdated
Comment thread web/packages/studio/src/api/evaluation/eval-config-fileset.ts
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 32008/40624 78.8% 63.5%
Integration Tests 18561/38550 48.1% 20.8%

Signed-off-by: Nicholas Kolean <nakolean@gmail.com>
@nakolean
nakolean added this pull request to the merge queue Aug 12, 2026
Merged via the queue into main with commit a847491 Aug 12, 2026
55 checks passed
@nakolean
nakolean deleted the nkolean/feature-flag-update branch August 12, 2026 15:14
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