feat(studio): add the describe-with-AI job config generation hook - #1021
Open
steramae-nvidia wants to merge 2 commits into
Open
feat(studio): add the describe-with-AI job config generation hook#1021steramae-nvidia wants to merge 2 commits into
steramae-nvidia wants to merge 2 commits into
Conversation
onContinue took (optionId, templateId?), which could not carry a payload per option without growing more optional arguments. Replace it with a StartSelection union so each option's payload travels with its own case. The Continue footer now renders as soon as an option is picked and disables itself with a hint, rather than appearing only once the choice is complete — previously the button materialized with no explanation of what was missing. Signed-off-by: Sean Teramae <steramae@nvidia.com>
useDescribeWithAi drives the generate/validate/repair loop for drafting a Data Designer job config from a plain-language description: it calls the model with the job-config tool, parses the tool call, and runs the draft through validateGeneratedJobRequest so nothing unloadable reaches the builder. When validation reports problems, buildFixMessages replays the prompt, the draft, and the issues so the model can repair its own output. The hook is not wired into any UI yet — the Describe with AI panel that consumes it lands next. Also drops the "alias now uses X instead of the drafted Y" warning from aiSeed: the generation model always overrides drafted aliases by design, so the warning fired on every run and would have made the repair loop chase a non-issue. Signed-off-by: Sean Teramae <steramae@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
useDescribeWithAidrives the generate → validate → repair loop that drafts a Data Designer job config from a plain-language description:generateDataDesignerJobRequesttoolvalidateGeneratedJobRequest, so nothing unloadable can reach the builderbuildFixMessagesreplays the original prompt, the draft, and the specific issues back to the model so it can repair its own outputAlso drops the
Alias "x" now uses "y" instead of the drafted "z"warning fromaiSeed. The generation model overrides drafted aliases by design, so that warning fired on essentially every run — and would have sent the new repair loop chasing a non-issue.Why
PR 2 of 3 in the "Describe with AI" stack. This is all logic and tests, no UI imports, which is why it's separable.
Stack
steramae/dd-start-selection— contract refactorsteramae/dd-ai-start-option— the panel, and flipping the tile onTesting
pnpm --filter nemo-studio-ui typecheck— cleanpnpm --filter nemo-studio-ui test src/components/CreateFilesetStart src/routes/DataDesignerJobBuildRoute/aiSeed.test.ts— 34 passing🤖 Generated with Claude Code