Skip to content

feat(studio): Support seeding DD - #685

Merged
steramae-nvidia merged 2 commits into
mainfrom
steramae/seed-dd
Jul 15, 2026
Merged

feat(studio): Support seeding DD#685
steramae-nvidia merged 2 commits into
mainfrom
steramae/seed-dd

Conversation

@steramae-nvidia

@steramae-nvidia steramae-nvidia commented Jul 14, 2026

Copy link
Copy Markdown
Contributor
Screenshot 2026-07-14 at 11 59 00 AM Screenshot 2026-07-14 at 11 58 59 AM

Signed-off-by: Sean Teramae steramae@nvidia.com

Summary by CodeRabbit

  • New Features
    • Added seed-dataset column configuration with fileset/file selection, sampling strategy, and automatic “available columns” discovery.
    • Data Designer job building now incorporates seed configuration and dependency relationships for seed-based outputs.
    • Added automatic column detection for CSV, JSONL, and JSON content.
    • Column-type options in the add-column palette can now be disabled with user-visible explanations.
  • Bug Fixes
    • Prevented adding more than one seed-dataset column per recipe.

@steramae-nvidia
steramae-nvidia requested review from a team as code owners July 14, 2026 19:25
Signed-off-by: Sean Teramae <steramae@nvidia.com>
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 6fa08263-85ae-488f-9573-f37c3574e21b

📥 Commits

Reviewing files that changed from the base of the PR and between 5682ada and cc3da5f.

📒 Files selected for processing (3)
  • web/packages/studio/src/components/ColumnConfigPanel/SeedDatasetConfig.tsx
  • web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.ts
  • web/packages/studio/src/components/common/SelectableCard/index.tsx
🚧 Files skipped from review as they are similar to previous changes (3)
  • web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.ts
  • web/packages/studio/src/components/common/SelectableCard/index.tsx
  • web/packages/studio/src/components/ColumnConfigPanel/SeedDatasetConfig.tsx

📝 Walkthrough

Walkthrough

Changes

Seed dataset support

Layer / File(s) Summary
File column parsing
web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.*, web/packages/studio/src/util/files.*
Renames the CSV parser to parseCSVTable and adds column extraction for CSV, JSONL, and JSON array content.
Seed dataset editor
web/packages/studio/src/components/ColumnConfigPanel/*
Adds fileset/file selection, content loading, available-column discovery, sampling strategy selection, and seed-specific panel rendering.
Seed dataset graph and config output
web/packages/studio/src/routes/DataDesignerJobBuildRoute/columns.*
Adds seed fields, graph tags and deduplicated edges, validation coverage, and seed_config generation while excluding seed columns from regular outputs.
Single seed column palette constraint
web/packages/studio/src/components/common/SelectableCard/*, web/packages/studio/src/components/AddColumnPalette/*, web/packages/studio/src/routes/DataDesignerJobBuildRoute/{BuilderPalette.tsx,useJobBuilder.ts,index.tsx}
Propagates disabled reasons to column cards and prevents adding more than one seed-dataset column.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant BuilderPalette
  participant AddColumnPalette
  participant ColumnTypeCard
  participant useJobBuilder
  User->>BuilderPalette: Open column palette
  BuilderPalette->>AddColumnPalette: Pass disabledColumnReasons
  AddColumnPalette->>ColumnTypeCard: Pass disabledReason
  User->>ColumnTypeCard: Activate seed-dataset option
  ColumnTypeCard->>useJobBuilder: Request column addition
  useJobBuilder-->>ColumnTypeCard: Reject second seed-dataset column
Loading

Possibly related PRs

Suggested reviewers: marcusds

🚥 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: adding seed-dataset support in Studio/Data Designer.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch steramae/seed-dd

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/components/SafeSynthesizerFilesetPreview/util.ts (1)

7-7: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Declare the parser result contract.

parseCSVTable is a public API consumed by getContentColumns; give it a co-located result interface and explicit return type.

🤖 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/components/SafeSynthesizerFilesetPreview/util.ts` at
line 7, Define a co-located interface describing the result returned by
parseCSVTable, and annotate parseCSVTable with that explicit return type. Ensure
the contract matches the shape consumed by getContentColumns.

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 `@web/packages/studio/src/components/ColumnConfigPanel/SeedDatasetConfig.tsx`:
- Around line 125-130: Update the onValueChange handler for the Seed file Select
to clear SEED_AVAILABLE_COLUMNS_KEY whenever the selected file changes, while
still storing the new SEED_FILE_PATH_KEY value. Ensure downstream graph tags and
dependencies cannot reuse columns from the previously selected file during
loading or after a schema error.

In `@web/packages/studio/src/components/common/SelectableCard/index.tsx`:
- Around line 69-84: Update the SelectableCard button to use native
disabled={disabled}, removing disabled cards from keyboard tab order while
preserving the existing click, aria, title, and styling behavior.

---

Nitpick comments:
In `@web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.ts`:
- Line 7: Define a co-located interface describing the result returned by
parseCSVTable, and annotate parseCSVTable with that explicit return type. Ensure
the contract matches the shape consumed by getContentColumns.
🪄 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: 9110cdd1-8f0f-4e26-ba67-5f8073dd2254

📥 Commits

Reviewing files that changed from the base of the PR and between 69c0823 and 5682ada.

📒 Files selected for processing (15)
  • web/packages/studio/src/components/AddColumnPalette/ColumnTypeCard.tsx
  • web/packages/studio/src/components/AddColumnPalette/ColumnTypeGroupSection.tsx
  • web/packages/studio/src/components/AddColumnPalette/index.tsx
  • web/packages/studio/src/components/ColumnConfigPanel/SeedDatasetConfig.tsx
  • web/packages/studio/src/components/ColumnConfigPanel/index.tsx
  • web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.test.ts
  • web/packages/studio/src/components/SafeSynthesizerFilesetPreview/util.ts
  • web/packages/studio/src/components/common/SelectableCard/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobBuildRoute/BuilderPalette.tsx
  • web/packages/studio/src/routes/DataDesignerJobBuildRoute/columns.test.ts
  • web/packages/studio/src/routes/DataDesignerJobBuildRoute/columns.ts
  • web/packages/studio/src/routes/DataDesignerJobBuildRoute/index.tsx
  • web/packages/studio/src/routes/DataDesignerJobBuildRoute/useJobBuilder.ts
  • web/packages/studio/src/util/files.test.ts
  • web/packages/studio/src/util/files.ts

Comment thread web/packages/studio/src/components/ColumnConfigPanel/SeedDatasetConfig.tsx Outdated
Comment thread web/packages/studio/src/components/common/SelectableCard/index.tsx
@github-actions

github-actions Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 25436/32661 77.9% 62.5%
Integration Tests 14703/31310 47.0% 19.3%

Signed-off-by: Sean Teramae <steramae@nvidia.com>
@steramae-nvidia
steramae-nvidia added this pull request to the merge queue Jul 15, 2026
Merged via the queue into main with commit 819de74 Jul 15, 2026
103 of 104 checks passed
@steramae-nvidia
steramae-nvidia deleted the steramae/seed-dd branch July 15, 2026 19:09
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.

3 participants