feat: recipe UX variants — V1 (4-button), V2 (2-button), V3 (step-by-step)#96
Open
aaronbrezel wants to merge 23 commits into
Open
feat: recipe UX variants — V1 (4-button), V2 (2-button), V3 (step-by-step)#96aaronbrezel wants to merge 23 commits into
aaronbrezel wants to merge 23 commits into
Conversation
Implements the V1 recipe variant panel with Prep/Test/Cook/Configure AI buttons, state machine (idle/prepping/prepped/testing/cooking), and full test coverage (12 tests). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…test All three recipe variant panels updated based on user testing feedback: - Buttons are now vertically stacked and numbered in intended order - Helper text is attached directly below each button instead of a bottom block - Test and Cook now dispatch to jobStore for progress bar visibility - All test actions run 5 rows instead of 1 (V1/V3) or 10 (V2) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace separate helper-text paragraphs with a two-span button layout (.recipe-btn-main + .recipe-btn-sub) so context lives inside each button. Remove "▸ 5 rows" / "▸ All" labels now redundant with inline subtitles. Add #prep-status success indicator to V1 after prep completes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
PrepRecipeParams now accepts an optional rowRange. prepRecipe uses it as the floor for numRows when no list-drive-folder column is present, so template/fill-value strategies write to the same number of rows that Step 1 imported. RecipeV3Panel passes this.rowRange in buildStep2Params. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Each step is now a badge + connector layout. Badge color communicates state: gray outline (locked), blue (active), green ✓ (complete). A vertical line connects badges; it turns green when the step above is complete. Locked step content fades to 45% opacity. Removes the raw lock emoji in favor of data-step-state attribute driven entirely by applyLockState. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sidebar was 300px — too narrow for the two-line button layout after stepper badge and padding overhead. 360px gives ~60px more content width. Stepper gap 12→14px, step content padding-bottom 20→24px, label margin-bottom 4→6px for better vertical rhythm. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
360px still felt cramped. 420px gives more comfortable content width. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
setWidth() is a no-op for sidebars — Sheets controls the width. Reduce container padding 16px→12px, stepper badge 24→20px, stepper gap 14→10px to recover horizontal space within the fixed width. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.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.
Summary
Three A/B test UX variant panels for the Document Summarization recipe, implemented as throwaway prototypes on a dedicated branch. Each explores a different interaction pattern before we settle on an official recipe UX direction.
Architecture
recipe-v1.ts,recipe-v2.ts,recipe-v3.ts) plus test filesRECIPESwithvariantfield for routingbuildRunTemplateexported fromrecipe.tsfor variant panels to importRecipesListPanelroutes bydefinition.variant; falls back to"recipe"for originalsrunBatchAI→findOrCreateColumn, not during prepTest Plan
npm test)npm run deployRemoval Plan
To remove a variant: delete its panel file, its recipe entry in
recipes.ts, its registration line insidebar-entry.ts, and its routing case inrecipes-list.ts. No server code is touched.🤖 Generated with Claude Code