Skip to content

[harness eval #34777] Fix layout.showPanel manager config#24

Open
valentinpalkovic wants to merge 1 commit into
nextfrom
try-pr-34777
Open

[harness eval #34777] Fix layout.showPanel manager config#24
valentinpalkovic wants to merge 1 commit into
nextfrom
try-pr-34777

Conversation

@valentinpalkovic
Copy link
Copy Markdown
Owner

Synthetic fork PR for agentic harness eval against storybookjs#34777.

@valentinpalkovic valentinpalkovic added the ci:verify Trigger PR Verification Harness label May 14, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 14, 2026

Fails
🚫

PR is not labeled with one of: ["cleanup","BREAKING CHANGE","feature request","bug","documentation","maintenance","build","dependencies"]

🚫

PR is not labeled with one of: ["ci:normal","ci:merged","ci:daily","ci:docs"]

🚫 PR title must be in the format of "Area: Summary", With both Area and Summary starting with a capital letter Good examples: - "Docs: Describe Canvas Doc Block" - "Svelte: Support Svelte v4" Bad examples: - "add new api docs" - "fix: Svelte 4 support" - "Vue: improve docs"

Generated by 🚫 dangerJS against ff752a8

github-actions Bot pushed a commit that referenced this pull request May 14, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: PR-added unit tests failed (see unitTests.details)

Evidence (vision-check, claude-haiku-4-5-20251001): missing

Vision reasoning

Recipe produced no screenshots — cannot verify visible evidence.

PR-added unit tests: ❌ failed — vitest exited 1 without writing a JSON report (likely setup error); see Action log

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
 /tmp/claude/eval-sync-baselines-nested-no-legacy-Gq4IAf/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-g9xLei/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-g9xLei/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-BT6O8v'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-QybssH/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-NQjcBF'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-QybssH/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-FWTbsP/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-ql06JS/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-T5rcsS/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-T5rcsS/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-T5rcsS/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-T5rcsS/remotes/edgy.git
   f1e253e..b56a054  main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-slK9tt'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-Ji59aZ/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /tmp/claude/eval-sync-storybook-version-skip-push-KQfuGu/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-resume-push-ZCbkzY/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)

������ Unhandled Error �������
Error: EROFS: read-only file system, open '/home/runner/work/_temp/unit-tests-report.json'
 � open node:internal/fs/promises:636:25
 � Object.writeFile node:internal/fs/promises:1205:14
 � JsonReporter.writeReport node_modules/vitest/dist/chunks/index.UpGiHP7g.js:3626:4
 � JsonReporter.onTestRunEnd node_modules/vitest/dist/chunks/index.UpGiHP7g.js:3613:3
 � Vitest.report node_modules/vitest/dist/chunks/cli-api.Cjt90eJu.js:13968:3
 � TestRun.end node_modules/vitest/dist/chunks/cli-api.Cjt90eJu.js:12591:3
 � node_modules/vitest/dist/chunks/cli-api.Cjt90eJu.js:13591:6
 � node_modules/vitest/dist/chunks/cli-api.Cjt90eJu.js:13601:11
 � node_modules/vitest/dist/chunks/cli-api.Cjt90eJu.js:13463:19

������������������������������
Serialized Error: { errno: -30, code: 'EROFS', syscall: 'open', path: '/home/runner/work/_temp/unit-tests-report.json' }




Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-14T13-48-15.955Z/pr-24-layout-showPanel-fal-1233d-is-restored-via-togglePanel-chromium/panel-hidden.png

2026-05-14T13-48-15.955Z/pr-24-layout-showPanel-fal-1233d-is-restored-via-togglePanel-chromium/panel-hidden.png

2026-05-14T13-48-15.955Z/pr-24-layout-showPanel-fal-1233d-is-restored-via-togglePanel-chromium/panel-restored.png

2026-05-14T13-48-15.955Z/pr-24-layout-showPanel-fal-1233d-is-restored-via-togglePanel-chromium/panel-restored.png

2026-05-14T13-48-15.955Z/pr-24-layout-showPanel-fal-1233d-is-restored-via-togglePanel-chromium/test-finished-1.png

2026-05-14T13-48-15.955Z/pr-24-layout-showPanel-fal-1233d-is-restored-via-togglePanel-chromium/test-finished-1.png

@valentinpalkovic valentinpalkovic force-pushed the next branch 3 times, most recently from fe2f521 to e537022 Compare May 14, 2026 14:09
@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 14, 2026
github-actions Bot pushed a commit that referenced this pull request May 14, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: PR-added unit tests failed (see unitTests.details)

Evidence (vision-check, claude-haiku-4-5-20251001): found

Vision reasoning

The diff modifies layout.ts to properly handle showPanel via the new applyLayoutOptions function, which zeros out bottomPanelHeight and rightPanelWidth when the panel is hidden. The first screenshot (panel-hidden.png) clearly shows the panel region collapsed/hidden after pressing Alt+a, and the second screenshot (panel-restored.png) shows it restored, demonstrating that the layout state management is working correctly. The visible change—the panel toggling between visible and hidden states—is clearly present in the screenshots.

PR-added unit tests: ❌ failed — vitest exited 1 without writing a JSON report (likely setup error); see Action log

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
Internal Error: ENOENT: no such file or directory, lstat '/tmp/claude'
    at Object.realpathSync (node:fs:2791:29)
    at Yn.realpathSync (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:9:8625)
    at B$ (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:9:44774)
    at Yn.mktempPromise (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:9:45331)
    at Object.she (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:189:2341)
    at NC.execute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:524:1048)
    at async NC.validateAndExecute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:94:787)
    at async t.run (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:98:3263)
    at async gC.execute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:435:497)
    at async gC.validateAndExecute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:94:787)

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-14T14-25-09.815Z/pr-24-layout-panel-togglin-77a2b-pi-updates-panel-visibility-chromium/panel-hidden.png

2026-05-14T14-25-09.815Z/pr-24-layout-panel-togglin-77a2b-pi-updates-panel-visibility-chromium/panel-hidden.png

2026-05-14T14-25-09.815Z/pr-24-layout-panel-togglin-77a2b-pi-updates-panel-visibility-chromium/panel-restored.png

2026-05-14T14-25-09.815Z/pr-24-layout-panel-togglin-77a2b-pi-updates-panel-visibility-chromium/panel-restored.png

2026-05-14T14-25-09.815Z/pr-24-layout-panel-togglin-77a2b-pi-updates-panel-visibility-chromium/test-finished-1.png

2026-05-14T14-25-09.815Z/pr-24-layout-panel-togglin-77a2b-pi-updates-panel-visibility-chromium/test-finished-1.png

@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 14, 2026
github-actions Bot pushed a commit that referenced this pull request May 14, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: Playwright assertion failed in: ? — Error: expect(received).not.toBe(expected) // Object.is equality Expected: not "visible" Call Log: - Timeout 5000ms exceeded while waiting on the predicate 86 | // DOM is the ground truth — when showPanel:false is applied, the panel 87 | // root must collapse (width or height becomes 0) or become hidden. > 88 | await expect | ^ 89 | .poll( 90 | async (

PR-added unit tests: ❌ failed — 6712 passed, 2 failed across 2119 suite(s)

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
  node_modules/storybook that shadows the real Storybook package,
�  causing "Cannot find module storybook/internal/..." errors.

�  Please rename the "name" field in your package.json to something
�  other than "storybook" (e.g. "my-storybook", "docs",
�  "@myorg/storybook").
��  This is a pre-release version: 10.4.0-alpha.17
�  Initializing Storybook
��  Package manager: npm
��  This is a pre-release version: 10.4.0-alpha.17
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
To /tmp/claude/eval-sync-baselines-Fu0JAw/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-Fu0JAw/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-Fu0JAw/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-YgRx8X/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-YgRx8X/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-8BoZrF/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-8BoZrF/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-RsT0w3/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-RsT0w3/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-vJ9zOe'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-nqVUNS/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-1vGE0n'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-nqVUNS/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-ZLh6rh/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-meDjUA/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-MFnmyF'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-uMp7XA/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-xrIJ1h/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-xrIJ1h/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-xrIJ1h/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-xrIJ1h/remotes/edgy.git
   28825b9..79e3ba4  main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /tmp/claude/eval-sync-storybook-version-skip-push-Sy1cxl/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-resume-push-kx3sdb/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
JSON report written to /home/runner/work/_temp/pr-head/.verify-output/unit-tests-report.json

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-14T14-39-51.617Z/pr-24-layout-showPanel-fal-02251-anel-and-zeroes-panel-sizes-chromium/test-failed-1.png

2026-05-14T14-39-51.617Z/pr-24-layout-showPanel-fal-02251-anel-and-zeroes-panel-sizes-chromium/test-failed-1.png

@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 15, 2026
@valentinpalkovic valentinpalkovic force-pushed the next branch 2 times, most recently from 80ccd7d to 745162d Compare May 15, 2026 16:58
github-actions Bot pushed a commit that referenced this pull request May 15, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: Playwright assertion failed in: ? — Error: expect(locator).toBeHidden() failed Locator: locator('#storybook-panel-root') Expected: hidden Received: visible Timeout: 5000ms Call log: - Expect "toBeHidden" with timeout 5000ms - waiting for locator('#storybook-panel-root') 9 × locator resolved to <div data-rac="" class="css-g8559h" id="storybook-panel-root" data-orientation="horizontal">…</div> - unexpected value "vis

PR-added unit tests: ❌ failed — 6713 passed, 1 failed across 2119 suite(s)

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
  node_modules/storybook that shadows the real Storybook package,
�  causing "Cannot find module storybook/internal/..." errors.

�  Please rename the "name" field in your package.json to something
�  other than "storybook" (e.g. "my-storybook", "docs",
�  "@myorg/storybook").
��  This is a pre-release version: 10.4.0-alpha.17
�  Initializing Storybook
��  Package manager: npm
��  This is a pre-release version: 10.4.0-alpha.17
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
To /tmp/claude/eval-sync-baselines-LB7pnB/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-LB7pnB/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-LB7pnB/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-JkHtZH/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-JkHtZH/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-JKZ0FI/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-JKZ0FI/remotes/excalidraw.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-MkJyt9'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-VuvgMH/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-GfxIg3'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-VuvgMH/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-gx0Ro9/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-gx0Ro9/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-rliKAb/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-XbnZBj/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-XbnZBj/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-XbnZBj/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-XbnZBj/remotes/edgy.git
   9ecff49..afb453b  main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-0jNWlE/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-L1Wq8o'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-BZ6U4A/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-WeRY9V/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /tmp/claude/eval-sync-storybook-version-resume-push-H5Z4F6/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
JSON report written to /home/runner/work/_temp/pr-head/.verify-output/unit-tests-report.json

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-15T16-56-30.606Z/pr-24-layout-showPanel-fal-70c87-is-restored-via-togglePanel-chromium/test-failed-1.png

2026-05-15T16-56-30.606Z/pr-24-layout-showPanel-fal-70c87-is-restored-via-togglePanel-chromium/test-failed-1.png

@valentinpalkovic valentinpalkovic force-pushed the next branch 3 times, most recently from a11176d to 9de9d5b Compare May 15, 2026 17:25
@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 15, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

No verdict produced — the workflow failed before the harness ran (likely recipe-author dispatch, deny-regex, or lint). See run log for details.

@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 15, 2026
github-actions Bot pushed a commit that referenced this pull request May 15, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: PR-added unit tests failed (see unitTests.details)

Evidence (vision-check, claude-haiku-4-5-20251001): undetermined

Vision reasoning

The diff is primarily infrastructure/CI changes (GitHub Actions, version bumps, test file deletions) with no user-visible UI changes. The Playwright recipe tests layout.showPanel:false functionality in the manager API, which is not directly related to the structural changes in the diff. The screenshots show the Storybook UI with a Button component and control panel, but these are baseline state captures unrelated to the code modifications.

PR-added unit tests: ❌ failed — 6713 passed, 1 failed across 2119 suite(s)

Files: code/addons/vitest/src/vitest-plugin/agent-telemetry-reporter.test.ts, code/core/src/common/js-package-manager/NPMProxy.test.ts, code/core/src/common/js-package-manager/PNPMProxy.test.ts, code/core/src/common/js-package-manager/Yarn1Proxy.test.ts, code/core/src/common/js-package-manager/Yarn2Proxy.test.ts, code/core/src/core-server/server-channel/ai-setup-channel.test.ts, code/core/src/core-server/server-channel/ghost-stories-channel.test.ts, code/core/src/core-server/utils/checklist.test.ts, code/core/src/core-server/utils/ghost-stories/parse-vitest-report.test.ts, code/core/src/core-server/withTelemetry.test.ts, code/core/src/manager-api/tests/layout.test.ts, code/core/src/shared/utils/ai-checklist-flags.test.ts, code/core/src/shared/utils/analyze-test-results.test.ts, code/lib/create-storybook/src/commands/DependencyInstallationCommand.test.ts, code/lib/create-storybook/src/commands/PreflightCheckCommand.test.ts, code/lib/create-storybook/src/commands/ProjectDetectionCommand.test.ts, code/lib/create-storybook/src/commands/UserPreferencesCommand.test.ts, code/lib/create-storybook/src/generators/REACT_NATIVE/index.test.ts, code/lib/create-storybook/src/initiate.test.ts, code/lib/create-storybook/src/services/FrameworkDetectionService.test.ts, code/lib/create-storybook/src/services/ProjectTypeService.test.ts, code/lib/create-storybook/src/services/TelemetryService.test.ts

vitest output (last 4KB)
  node_modules/storybook that shadows the real Storybook package,
�  causing "Cannot find module storybook/internal/..." errors.

�  Please rename the "name" field in your package.json to something
�  other than "storybook" (e.g. "my-storybook", "docs",
�  "@myorg/storybook").
��  This is a pre-release version: 10.4.0-alpha.17
�  Initializing Storybook
��  Package manager: npm
��  This is a pre-release version: 10.4.0-alpha.17
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
To /tmp/claude/eval-sync-baselines-8qf5NJ/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-8qf5NJ/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-8qf5NJ/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-fWnhaQ/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-fWnhaQ/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-EaHnx4/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-EaHnx4/remotes/excalidraw.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-BVCXOO'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-igb6G5/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-wlEhwj'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-igb6G5/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-902Klr/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-902Klr/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-WnNij8/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-riUYFh/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-riUYFh/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-riUYFh/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-riUYFh/remotes/edgy.git
   8cc9434..03efe95  main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-aEbema/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-nGbN1b'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-xAOn9G/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-B1aUU5/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /tmp/claude/eval-sync-storybook-version-resume-push-RJVSrD/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
JSON report written to /home/runner/work/_temp/pr-head/.verify-output/unit-tests-report.json

How Playwright validated this
interface ManagerWindow {
  __STORYBOOK_ADDONS_MANAGER?: {
    api?: {
      setOptions?: (opts: Record<string, unknown>) => void;
      getCurrentLayoutState?: () => {
        layout?: {
          bottomPanelHeight?: number;
          rightPanelWidth?: number;
          recentVisibleSizes?: { bottomPanelHeight?: number; rightPanelWidth?: number };
        };
      };
    };
  };
}

test('layout.showPanel:false via setOptions hides addon panel', async ({ page }, testInfo) => {
  const pageErrors: string[] = [];
  const consoleErrors: string[] = [];

  page.on('pageerror', (err) => {
    pageErrors.push(err.stack ?? err.message ?? String(err));
  });
  page.on('console', (msg) => {
    if (msg.type() === 'error') consoleErrors.push(msg.text());
  });

  const baseURL =
    process.env.STORYBOOK_URL ?? testInfo.project.use.baseURL ?? 'http://localhost:6006';

  try {
    await page.goto(`${baseURL}/?path=/story/example-button--primary`);
    const recipe = new RecipePage(page, expect);
    await recipe.waitUntilLoaded();

    const panel = page.locator('#storybook-panel-root');
    await expect(panel).toBeVisible();

    await page.waitForFunction(() => {
      const w = globalThis as unknown as ManagerWindow;
      return !!w.__STORYBOOK_ADDONS_MANAGER?.api?.setOptions;
    }, undefined, { timeout: 15000 });

    const sizesBefore = await page.evaluate(() => {
      const w = globalThis as unknown as ManagerWindow;
      const layout = w.__STORYBOOK_ADDONS_MANAGER?.api?.getCurrentLayoutState?.()?.layout;
      return {
        bottomPanelHeight: layout?.bottomPanelHeight,
        rightPanelWidth: layout?.rightPanelWidth,
      };
    });

    expect((sizesBefore.bottomPanelHeight ?? 0) > 0 || (sizesBefore.rightPanelWidth ?? 0) > 0).toBe(
      true
    );

    await page.evaluate(() => {
      const w = globalThis as unknown as ManagerWindow;
      w.__STORYBOOK_ADDONS_MANAGER?.api?.setOptions?.({ layout: { showPanel: false } });
    });

    await expect
      .poll

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-15T18-45-59.055Z/pr-24-layout-showPanel-fal-52fc4-tions-hides-the-addon-panel-chromium/manager-after-toggle.png

2026-05-15T18-45-59.055Z/pr-24-layout-showPanel-fal-52fc4-tions-hides-the-addon-panel-chromium/manager-after-toggle.png

2026-05-15T18-45-59.055Z/pr-24-layout-showPanel-fal-52fc4-tions-hides-the-addon-panel-chromium/test-finished-1.png

2026-05-15T18-45-59.055Z/pr-24-layout-showPanel-fal-52fc4-tions-hides-the-addon-panel-chromium/test-finished-1.png

@valentinpalkovic valentinpalkovic force-pushed the next branch 2 times, most recently from ad75ba9 to 099b6f7 Compare May 15, 2026 19:48
@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 15, 2026
github-actions Bot pushed a commit that referenced this pull request May 15, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target nextjs-vite/default-ts)

Reason: Playwright assertion failed in: ? — Test timeout of 60000ms exceeded.

PR-added unit tests: ❌ failed — 6713 passed, 1 failed across 2119 suite(s)

Files: code/addons/vitest/src/vitest-plugin/agent-telemetry-reporter.test.ts, code/core/src/common/js-package-manager/NPMProxy.test.ts, code/core/src/common/js-package-manager/PNPMProxy.test.ts, code/core/src/common/js-package-manager/Yarn1Proxy.test.ts, code/core/src/common/js-package-manager/Yarn2Proxy.test.ts, code/core/src/core-server/server-channel/ai-setup-channel.test.ts, code/core/src/core-server/server-channel/ghost-stories-channel.test.ts, code/core/src/core-server/utils/checklist.test.ts, code/core/src/core-server/utils/ghost-stories/parse-vitest-report.test.ts, code/core/src/core-server/withTelemetry.test.ts, code/core/src/manager-api/tests/layout.test.ts, code/core/src/shared/utils/ai-checklist-flags.test.ts, code/core/src/shared/utils/analyze-test-results.test.ts, code/lib/create-storybook/src/commands/DependencyInstallationCommand.test.ts, code/lib/create-storybook/src/commands/PreflightCheckCommand.test.ts, code/lib/create-storybook/src/commands/ProjectDetectionCommand.test.ts, code/lib/create-storybook/src/commands/UserPreferencesCommand.test.ts, code/lib/create-storybook/src/generators/REACT_NATIVE/index.test.ts, code/lib/create-storybook/src/initiate.test.ts, code/lib/create-storybook/src/services/FrameworkDetectionService.test.ts, code/lib/create-storybook/src/services/ProjectTypeService.test.ts, code/lib/create-storybook/src/services/TelemetryService.test.ts

vitest output (last 4KB)
  node_modules/storybook that shadows the real Storybook package,
�  causing "Cannot find module storybook/internal/..." errors.

�  Please rename the "name" field in your package.json to something
�  other than "storybook" (e.g. "my-storybook", "docs",
�  "@myorg/storybook").
��  This is a pre-release version: 10.4.0-alpha.17
�  Initializing Storybook
��  Package manager: npm
��  This is a pre-release version: 10.4.0-alpha.17
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
To /tmp/claude/eval-sync-baselines-Irkf6X/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-Irkf6X/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-Irkf6X/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-dm66yj/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-dm66yj/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-fxuCSE/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-fxuCSE/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-I9jAmI/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-I9jAmI/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-8T3n9H'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-AkbU7E/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-h074Hd'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-AkbU7E/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-2IXFY3/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-52rlJ0/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-mIN0oB'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-1yHToG/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-Q8Y1Kj/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-Q8Y1Kj/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-Q8Y1Kj/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-Q8Y1Kj/remotes/edgy.git
   ceac330..5c5ebf9  main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /tmp/claude/eval-sync-storybook-version-skip-push-ys31yT/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-resume-push-eqiXKr/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
JSON report written to /home/runner/work/_temp/pr-head/.verify-output/unit-tests-report.json

How Playwright validated this
test('layout.showPanel:false via setOptions hides the addon panel', async ({ page }, testInfo) => {
  const pageErrors: string[] = [];
  const consoleErrors: string[] = [];

  page.on('pageerror', (err) => {
    pageErrors.push(err.stack ?? err.message ?? String(err));
  });
  page.on('console', (msg) => {
    if (msg.type() === 'error') consoleErrors.push(msg.text());
  });

  const baseURL =
    process.env.STORYBOOK_URL ?? testInfo.project.use.baseURL ?? 'http://localhost:6006';

  try {
    await page.goto(`${baseURL}/?path=/story/example-button--primary`);

    const sb = new RecipePage(page, expect);
    await sb.waitUntilLoaded();

    const panelRoot = page.locator('#storybook-panel-root');
    await expect(panelRoot).toBeVisible({ timeout: 15000 });

    await page.evaluate(() => {
      const w = window as unknown as {
        __STORYBOOK_ADDONS_MANAGER?: { getChannel?: () => unknown };
      };
      const api = (
        window as unknown as { __STORYBOOK_API__?: { setOptions: (o: unknown) => void } }
      ).__STORYBOOK_API__;
      if (api && typeof api.setOptions === 'function') {
        api.setOptions({ layout: { showPanel: false } });
      }
      void w;
    });

    await expect(panelRoot).toBeHidden({ timeout: 10000 });

    await page.evaluate(() => {
      const api = (
        window as unknown as { __STORYBOOK_API__?: { setOptions: (o: unknown) => void } }
      ).__STORYBOOK_API__;
      if (api && typeof api.setOptions === 'function') {
        api.setOptions({ layout: { showPanel: true } });
      }
    });

    await expect(panelRoot).toBeVisible({ timeout: 10000 });

    await page.screenshot({ path: testInfo.outputPath('manager-panel-restored.png') });

    const errorDisplay = page.locator('#sb-errordisplay');
    await expect(errorDisplay).toBeHidden();
  } finally {
    await testInfo.attach('pageErrors', {
      body: JSON.stringify(pageErrors),
      contentType: 'application/json',
    });
    await testInfo.attach('consoleError

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-15T20-57-58.490Z/pr-24-layout-showPanel-fal-f7198-tions-hides-the-addon-panel-chromium/test-failed-1.png

2026-05-15T20-57-58.490Z/pr-24-layout-showPanel-fal-f7198-tions-hides-the-addon-panel-chromium/test-failed-1.png

github-actions Bot pushed a commit that referenced this pull request May 18, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: PR-added unit tests failed (see unitTests.details)

PR-added unit tests: ❌ failed — vitest exited 1 without writing a JSON report (likely setup error); see Action log

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
Internal Error: ENOENT: no such file or directory, lstat '/tmp/claude'
    at Object.realpathSync (node:fs:2791:29)
    at Yn.realpathSync (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:9:8625)
    at B$ (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:9:44774)
    at Yn.mktempPromise (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:9:45331)
    at Object.she (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:189:2341)
    at NC.execute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:524:1048)
    at async NC.validateAndExecute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:94:787)
    at async t.run (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:98:3263)
    at async gC.execute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:435:497)
    at async gC.validateAndExecute (/home/runner/work/_temp/pr-head/.yarn/releases/yarn-4.10.3.cjs:94:787)

How Playwright validated this
test('layout.showPanel option hides and restores the addon panel', async ({ page }, testInfo) => {
  const pageErrors: string[] = [];
  const consoleErrors: string[] = [];

  page.on('pageerror', (err) => {
    pageErrors.push(err.stack ?? err.message ?? String(err));
  });
  page.on('console', (msg) => {
    if (msg.type() === 'error') consoleErrors.push(msg.text());
  });

  const baseURL =
    process.env.STORYBOOK_URL ?? testInfo.project.use.baseURL ?? 'http://localhost:6006';

  try {
    await page.goto(`${baseURL}/?path=/story/example-button--primary`);

    const recipe = new RecipePage(page, expect);
    await recipe.waitUntilLoaded();

    const panelRoot = page.locator('#storybook-panel-root');
    await expect(panelRoot).toBeVisible();

    await page.locator('html').press('Alt+a');
    await expect(panelRoot).toBeHidden();

    await page.locator('html').press('Alt+a');
    await expect(panelRoot).toBeVisible();

    const restoredHeight = await panelRoot.evaluate((el) => el.getBoundingClientRect().height);
    expect(restoredHeight).toBeGreaterThan(0);

    await expect(page.locator('#sb-errordisplay')).toBeHidden();
  } finally {
    await testInfo.attach('pageErrors', {
      body: JSON.stringify(pageErrors),
      contentType: 'application/json',
    });
    await testInfo.attach('consoleErrors', {
      body: JSON.stringify(consoleErrors),
      contentType: 'application/json',
    });
  }

  expect(filterPageErrors(pageErrors)).toEqual([]);
});

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-18T06-32-00.561Z/pr-24-layout-showPanel-opt-56f7d-nd-restores-the-addon-panel-chromium/test-finished-1.png

2026-05-18T06-32-00.561Z/pr-24-layout-showPanel-opt-56f7d-nd-restores-the-addon-panel-chromium/test-finished-1.png

@valentinpalkovic valentinpalkovic added ci:verify Trigger PR Verification Harness and removed ci:verify Trigger PR Verification Harness labels May 18, 2026
github-actions Bot pushed a commit that referenced this pull request May 18, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: Playwright assertion failed in: ? — Error: expect(locator).toBeHidden() failed Locator: locator('#storybook-panel-root') Expected: hidden Received: visible Timeout: 10000ms Call log: - Expect "toBeHidden" with timeout 10000ms - waiting for locator('#storybook-panel-root') 14 × locator resolved to <div data-rac="" class="css-g8559h" id="storybook-panel-root" data-orientation="horizontal">…</div> - unexpected value

PR-added unit tests: ❌ failed — 6761 passed, 1 failed across 2129 suite(s)

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
t
�  Initializing Storybook
��  Package manager: npm
��  Adding Storybook version 8.0.0 to your project
�  Initializing Storybook
��  Package manager: npm
��  Adding Storybook version 8.0.0 to your project
�  Initializing Storybook
��  Package manager: npm
��  Adding Storybook version 8.0.0 to your project
�  Initializing Storybook
��  Package manager: npm
��  Adding Storybook version 8.0.0 to your project
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
To /tmp/claude/eval-sync-baselines-Is7oKD/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-Is7oKD/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-Is7oKD/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-efUZUa/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-efUZUa/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-MAGDbU/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-MAGDbU/remotes/excalidraw.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-3Gr61U'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-KjRGaF/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-QGLeqv'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-KjRGaF/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-CyxMmk/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-CyxMmk/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-gIdKTN/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-gIdKTN/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-gIdKTN/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-gIdKTN/remotes/edgy.git
   b744d22..13da22a  main -> main
To /tmp/claude/eval-sync-storybook-version-noop-PQcjIK/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /tmp/claude/eval-sync-storybook-version-dirty-Gld7Cx/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-u1rYa9'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-HetifV/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-iMby7H/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-resume-push-QUGOG8/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
JSON report written to /home/runner/work/_temp/pr-head/.verify-output/unit-tests-report.json

How Playwright validated this
type LayoutSnapshot = {
  bottomPanelHeight: number;
  rightPanelWidth: number;
  navSize: number;
  recentVisibleSizes: {
    bottomPanelHeight: number;
    rightPanelWidth: number;
    navSize: number;
  };
};

test('layout.showPanel option hides and restores panel sizes via setOptions', async ({
  page,
}, testInfo) => {
  const pageErrors: string[] = [];
  const consoleErrors: string[] = [];

  page.on('pageerror', (err) => {
    pageErrors.push(err.stack ?? err.message ?? String(err));
  });
  page.on('console', (msg) => {
    if (msg.type() === 'error') consoleErrors.push(msg.text());
  });

  const baseURL =
    process.env.STORYBOOK_URL ?? testInfo.project.use.baseURL ?? 'http://localhost:6006';

  try {
    await page.goto(`${baseURL}/?path=/story/example-button--primary`);

    const sb = new RecipePage(page, expect);
    await sb.waitUntilLoaded();

    await page.waitForFunction(() => {
      const w = window as unknown as { __STORYBOOK_ADDONS_MANAGER?: unknown };
      return Boolean(w.__STORYBOOK_ADDONS_MANAGER);
    });

    await page.evaluate(() => {
      const w = window as unknown as {
        __STORYBOOK_ADDONS_MANAGER: { getChannel: () => unknown };
      };
      const apiHolder = window as unknown as {
        __STORYBOOK_ADDONS_MANAGER: unknown;
      };
      void apiHolder;
      void w;
    });

    const readLayout = async (): Promise<LayoutSnapshot> => {
      return await page.evaluate(() => {
        const w = window as unknown as {
          __STORYBOOK_PREVIEW__?: unknown;
          __STORYBOOK_ADDONS_MANAGER?: {
            getChannel: () => { last?: unknown };
          };
        };
        const stateHook = (window as unknown as {
          __STORYBOOK_STATE__?: () => LayoutSnapshot;
        }).__STORYBOOK_STATE__;
        if (typeof stateHook === 'function') {
          return stateHook();
        }
        const panel = document.getElementById('storybook-panel-root');
        const sidebar = document.querySelector('.sidebar-co

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-18T06-41-04.150Z/pr-24-layout-showPanel-opt-56f7d-nd-restores-the-addon-panel-chromium/test-failed-1.png

2026-05-18T06-41-04.150Z/pr-24-layout-showPanel-opt-56f7d-nd-restores-the-addon-panel-chromium/test-failed-1.png

github-actions Bot pushed a commit that referenced this pull request May 19, 2026
@github-actions
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: Playwright assertion failed in: ? — Error: expect(locator).toBeHidden() failed Locator: locator('#storybook-panel-root') Expected: hidden Received: visible Timeout: 10000ms Call log: - Expect "toBeHidden" with timeout 10000ms - waiting for locator('#storybook-panel-root') 14 × locator resolved to <div data-rac="" class="css-g8559h" id="storybook-panel-root" data-orientation="horizontal">…</div> - unexpected value

PR-added unit tests: ❌ failed — 6941 passed, 2 failed across 2179 suite(s)

Files: code/core/src/manager-api/tests/layout.test.ts

vitest output (last 4KB)
      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-dirty-6NeBdO/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-dirty-6NeBdO/remotes/edgy.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-nested-no-legacy-1tNLLy/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-nested-no-legacy-1tNLLy/remotes/excalidraw.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-staging-RxYcT1'...
warning: You appear to have cloned an empty repository.
done.
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-auto-clone-oXoODh/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-staging-H3PyQb'...
warning: You appear to have cloned an empty repository.
done.
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-auto-clone-oXoODh/remotes/wikitok.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-j8EXIz/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-j8EXIz/remotes/wikitok.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-0dACFX/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-0dACFX/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-0dACFX/edgy-remote-worktree'...
done.
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-0dACFX/remotes/edgy.git
   b8cb227..8dc6b0b  main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-noop-CB41AZ/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-dirty-VI0Awl/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-staging-7qVUbl'...
warning: You appear to have cloned an empty repository.
done.
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-auto-clone-1tg7r3/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-skip-push-R7oQdQ/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-resume-push-8wVvi5/remotes/mealdrop.git
 * [new branch]      main -> main
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
(node:21) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
JSON report written to /home/runner/work/_temp/pr-head/.verify-output/unit-tests-report.json

How Playwright validated this
test('layout.showPanel:false via setOptions zeros panel sizes and preserves recent ones', async ({ page }, testInfo) => {
  const pageErrors: string[] = [];
  const consoleErrors: string[] = [];

  page.on('pageerror', (err) => {
    pageErrors.push(err.stack ?? err.message ?? String(err));
  });
  page.on('console', (msg) => {
    if (msg.type() === 'error') consoleErrors.push(msg.text());
  });

  const baseURL =
    process.env.STORYBOOK_URL ?? testInfo.project.use.baseURL ?? 'http://localhost:6006';

  try {
    await page.goto(`${baseURL}/?path=/story/example-button--primary`);
    const sb = new RecipePage(page, expect);
    await sb.waitUntilLoaded();

    await page.waitForFunction(() => {
      const w = window as any;
      return !!(w.__STORYBOOK_ADDONS_MANAGER && typeof w.__STORYBOOK_ADDONS_MANAGER.getChannel === 'function');
    }, { timeout: 15000 });

    const result = await page.evaluate(() => {
      const mgr: any = (window as any).__STORYBOOK_ADDONS_MANAGER;
      const api: any =
        (window as any).__STORYBOOK_API__ ??
        (window as any).api ??
        mgr?.api;
      if (!api || typeof api.setSizes !== 'function' || typeof api.setOptions !== 'function') {
        return { ok: false, reason: 'manager-api not exposed', [REDACTED]: Object.[REDACTED](window).filter((k) => k.includes('STORY') || k.includes('api')) };
      }

      api.setSizes({ bottomPanelHeight: 220, rightPanelWidth: 260 });
      const before = api.getState().layout;

      api.setOptions({ layout: { showPanel: false } });
      const afterHidden = api.getState().layout;

      api.setOptions({ layout: { showPanel: true } });
      const afterShown = api.getState().layout;

      return {
        ok: true,
        before: {
          bottomPanelHeight: before.bottomPanelHeight,
          rightPanelWidth: before.rightPanelWidth,
        },
        afterHidden: {
          bottomPanelHeight: afterHidden.bottomPanelHeight,
          rightPanelWidth: afterHidden.rightPanel

Replay: npx playwright show-trace on the trace.zip listed under "Artifacts" on the run summary page.

Screenshots

2026-05-19T13-51-27.353Z/pr-24-layout-showPanel-fal-f7198-tions-hides-the-addon-panel-chromium/test-failed-1.png

2026-05-19T13-51-27.353Z/pr-24-layout-showPanel-fal-f7198-tions-hides-the-addon-panel-chromium/test-failed-1.png

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:verify Trigger PR Verification Harness

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants