T-VZA1-backup-storybook-enrolment
State: planning/draft · Impact: low · Complexity: medium
S-0019 asks every UI component for stories and a screenshot baseline. The backup experience has neither, because it has no Storybook host. M-E9UU narrowed the preview and restore tasks’ visual criteria for that reason. This task closes that gap, so later backup UI work (such as the retention settings) can follow S-0019 in full.
solutions/determined/experiences/backup/ has components under app/components/
(BackupChangesList, BackupFilePreview, BackupOverviewPanel, BackupScheduleSettings,
BackupSnapshotDetail, BackupStoreLocation, BackupTreeBrowser, BackupDeltaBadge,
BackupSettingsSection) and no .storybook/. The polish experience is the full model: its
.storybook/main.ts extends @determined/ui/.storybook/main.ts, its package.json has
storybook:check and storybook:baseline scripts over the shared story-shots.sh runner, its
moon.yml has storybook-build and storybook-check tasks, and baselines live in
.storybook/baselines/.
Proposed
Section titled “Proposed”- A
.storybook/in the backup experience that extends the shared config and preview, as polish and fitness do, with stories in a top-levelstories/directory. - Stories for the empty, loading, error and populated states of each component, including any backup component added after this task was written, such as the retention settings. Components that call the transport get a mock transport with fixed snapshot data.
storybook,storybook:build,storybook:checkandstorybook:baselinescripts, andstorybook-buildandstorybook-checkmoon tasks, copied from polish’s shape.- Committed Linux light and dark baselines for every enrolled story.
Approach
Section titled “Approach”- Add the Storybook config, dependencies and scripts, following polish.
- Add a mock transport and fixture data for stories.
- Write stories per component and state.
- Generate and commit baselines with
bun run storybook:baseline.
| Area | Note |
|---|---|
solutions/determined/experiences/backup/.storybook/ | Config, preview, baselines |
solutions/determined/experiences/backup/stories/ | Stories and the mock transport |
solutions/determined/experiences/backup/package.json | Storybook scripts and dependencies |
solutions/determined/experiences/backup/moon.yml | storybook-build and storybook-check tasks |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
bun run storybookin the backup experience serves stories for every component listed above, and for every other backup component that exists when this task lands. - AC-2:
moon run exp-backup:storybook-checkpasses against committed baselines, light and dark. - AC-3: Each component has stories for the states S-0019 rule 2 lists that apply to it.
Out of scope
Section titled “Out of scope”- Visual changes to the components.
- Stories for the retention settings if they do not exist yet when this task lands. In that case T-94OR-backup-retention-setting adds them. If T-94OR lands first, this task covers them.
Dependencies
Section titled “Dependencies”- none