Skip to content

[harness eval #34686] Addon-Vitest: Support non-ASCII project paths#34

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

[harness eval #34686] Addon-Vitest: Support non-ASCII project paths#34
valentinpalkovic wants to merge 1 commit into
nextfrom
try-pr-34686

Conversation

@valentinpalkovic
Copy link
Copy Markdown
Owner

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

@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 7230baf

@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/addons/vitest/src/vitest-plugin/index.test.ts

vitest output (last 4KB)
 /tmp/claude/eval-sync-baselines-nested-no-legacy-U5boIa/remotes/excalidraw.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-BRyp2l'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-RXS3qA/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-DIveOq'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-RXS3qA/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-k1PB90/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-k1PB90/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-yGR6zi/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-Cd2cGT/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-Cd2cGT/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-Cd2cGT/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-Cd2cGT/remotes/edgy.git
   10be998..2d92a27  main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-cJMbry/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-2Yunxs'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-iA8Bm1/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-bC9NAI/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-b0mR3K/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-55-43.004Z/pr-34-internal-ui-boots-cl-efec6-t-plugin-path-decode-change-chromium/preview.png

2026-05-14T13-55-43.004Z/pr-34-internal-ui-boots-cl-efec6-t-plugin-path-decode-change-chromium/preview.png

2026-05-14T13-55-43.004Z/pr-34-internal-ui-boots-cl-efec6-t-plugin-path-decode-change-chromium/test-finished-1.png

2026-05-14T13-55-43.004Z/pr-34-internal-ui-boots-cl-efec6-t-plugin-path-decode-change-chromium/test-finished-1.png

@valentinpalkovic valentinpalkovic force-pushed the next branch 2 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): undetermined

Vision reasoning

The diff's primary user-visible change is in addon-vitest's path decoding logic for non-ASCII project paths, which is a build-time Vite plugin behavior exercised by unit tests rather than runtime UI. The Playwright recipe is a smoke test that verifies internal-ui boots and preview renders cleanly, not a test designed to observe the path-decoding change itself. The screenshots show a Button story rendering correctly, but this does not directly demonstrate the decodeURI() path-matching fix since that code path is not exercised during normal story interaction.

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

Files: code/addons/vitest/src/vitest-plugin/index.test.ts

vitest output (last 4KB)
 /tmp/claude/eval-sync-baselines-nested-no-legacy-Hu8uT9/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-Yi1O2c/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-Yi1O2c/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-fbTh9P'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-UR1Pgk/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-j6EZKc'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-UR1Pgk/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-PT7xIo/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-rvqWJV/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-RNwE39/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-RNwE39/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-RNwE39/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-RNwE39/remotes/edgy.git
   619cc61..e61eb10  main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-DlFmkx'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-tIO0cY/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-T11gy2/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-Xzy7PV/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-14T14-25-12.664Z/pr-34-internal-ui-smoke-fo-78647-itest-non-ASCII-path-change-chromium/preview.png

2026-05-14T14-25-12.664Z/pr-34-internal-ui-smoke-fo-78647-itest-non-ASCII-path-change-chromium/preview.png

2026-05-14T14-25-12.664Z/pr-34-internal-ui-smoke-fo-78647-itest-non-ASCII-path-change-chromium/test-finished-1.png

2026-05-14T14-25-12.664Z/pr-34-internal-ui-smoke-fo-78647-itest-non-ASCII-path-change-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: ? — TimeoutError: locator.waitFor: Timeout 10000ms exceeded. Call log: - waiting for locator('#storybook-preview-iframe').contentFrame().locator('#storybook-root:visible, #storybook-docs:visible').locator(':scope > *').first() at _util.ts:31 29 | await this.page.waitForURL((url) => url.search.includes('path')); 30 | const root = this.previewRoot(); > 31 | await root.locator(':s

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

Files: code/addons/vitest/src/vitest-plugin/index.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-SV9OZo/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-SV9OZo/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-SV9OZo/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-gL9SrM/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-gL9SrM/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-Lw1a5W/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-Lw1a5W/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-Fq5GhD/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-Fq5GhD/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-59a8OE'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-QGffYU/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-l0fqQG'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-QGffYU/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-2qaZvb/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-Vqb3y8/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-thrVSu/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-thrVSu/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-thrVSu/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-thrVSu/remotes/edgy.git
   d46b555..6032886  main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-Gr2r6U'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-thBUKy/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-0ueDGe/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-5a9R0v/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-49.631Z/pr-34-manager-example-stor-9aed0-anly-with-no-runtime-errors-chromium/test-failed-1.png

2026-05-14T14-39-49.631Z/pr-34-manager-example-stor-9aed0-anly-with-no-runtime-errors-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: PR-added unit tests failed (see unitTests.details)

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

Vision reasoning

The diff is primarily a Node-side change to the vitest-plugin's URL decoding logic and GitHub Actions workflow/script simplifications. The Playwright recipe confirms internal-ui boots cleanly and renders a button story, but the specific behavioral change (handling URL-encoded paths in vitest-plugin transforms) has no observable in-browser effect. The screenshots show a properly rendered button component, which is consistent with the change not breaking anything, but cannot directly validate the URL-decoding logic itself (which is tested via unit tests instead).

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

Files: code/addons/vitest/src/vitest-plugin/index.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-ZkqvEO/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-ZkqvEO/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-ZkqvEO/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-McozZi/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-McozZi/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-bHO6OK/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-bHO6OK/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-IkXksF/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-IkXksF/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-Sk0vAX'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-apRVZw/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-6brPl7'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-apRVZw/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-DTv8qh/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-1SRob0/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-UAhfCh'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-H2wPND/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-tACKVh/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-tACKVh/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-tACKVh/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-tACKVh/remotes/edgy.git
   98b9f7f..b2f321b  main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-9t8lx6/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-TvWP8M/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-55-51.616Z/pr-34-internal-ui-boots-cl-63f1e-addon-vitest-plugin-changes-chromium/preview.png

2026-05-15T16-55-51.616Z/pr-34-internal-ui-boots-cl-63f1e-addon-vitest-plugin-changes-chromium/preview.png

2026-05-15T16-55-51.616Z/pr-34-internal-ui-boots-cl-63f1e-addon-vitest-plugin-changes-chromium/test-finished-1.png

2026-05-15T16-55-51.616Z/pr-34-internal-ui-boots-cl-63f1e-addon-vitest-plugin-changes-chromium/test-finished-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 nextjs-vite/default-ts)

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 workflows, version bumps, package.json updates, test file deletions/modifications) with minimal user-visible UI changes. The Playwright recipe comment mentions a SweepIcon swap in ReviewChangesButton, but the provided screenshots show only the Storybook manager sidebar and a test completion notification—neither clearly displays the specific icon change or the clear button with the new icon. The screenshots are insufficient to confirm the UI diff is present.

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

Files: code/addons/vitest/src/vitest-plugin/agent-telemetry-reporter.test.ts, code/addons/vitest/src/vitest-plugin/index.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/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-8M5pCv/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-8M5pCv/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-8M5pCv/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-P26Pps/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-P26Pps/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-SEQRzn/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-SEQRzn/remotes/excalidraw.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-PXrTrX'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-qKfCCn/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-OXEb3g'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-qKfCCn/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-iyzSjZ/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-iyzSjZ/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-TJLriQ/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-IFALWg/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-IFALWg/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-IFALWg/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-IFALWg/remotes/edgy.git
   e106928..11843f9  main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-bplYk0/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-RRiN61'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-tZ1YFj/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-5X3zAR/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-BcDrp2/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('ReviewChangesButton clear button renders SweepIcon after change-detection trigger', 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();

    await expect(page.locator('#sb-errordisplay')).toBeHidden();

    await page.locator('.sidebar-container').screenshot({
      path: testInfo.outputPath('sidebar-baseline.png'),
    });

    const controlsTab = page.getByRole('tab', { name: /controls/i });
    await controlsTab.click();
    const labelInput = page.locator('input[name="label"], textarea[name="label"]').first();
    await expect(labelInput).toBeVisible({ timeout: 10000 });
    await labelInput.fill('Verify harness saved this');

    const saveButton = page.getByRole('button', {
      name: /save changes to story|update story/i,
    });
    await expect(saveButton).toBeVisible({ timeout: 10000 });
    await saveButton.click();

    const reviewToggle = page.getByRole('switch', { name: /review.+stories/i });
    await expect(reviewToggle).toBeVisible({ timeout: 20000 });
    await reviewToggle.click();

    const clearButton = page.getByRole('button', { name: /^clear$/i });
    await expect(clearButton).toBeVisible({ timeout: 10000 });

    const clearIcon = clearButton.locator('svg');
    await expect(clearIcon).toBeVisible();

    await page.locator('.sidebar-container').screenshot({
      path: testInfo.outputPath('sidebar-with-clear-button.png'),
    });

    await clearButton.screenshot({
      path: testInfo.outputPath('clear-bu

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

Screenshots

2026-05-15T18-48-03.911Z/pr-34-ReviewChangesButton--35cec-ntrols-flips-a-story-to-MOD-chromium/sidebar.png

2026-05-15T18-48-03.911Z/pr-34-ReviewChangesButton--35cec-ntrols-flips-a-story-to-MOD-chromium/sidebar.png

2026-05-15T18-48-03.911Z/pr-34-ReviewChangesButton--35cec-ntrols-flips-a-story-to-MOD-chromium/test-finished-1.png

2026-05-15T18-48-03.911Z/pr-34-ReviewChangesButton--35cec-ntrols-flips-a-story-to-MOD-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
Copy link
Copy Markdown

Verify Harness

Verdict: regression (target internal-ui)

Reason: Playwright assertion failed in: ? — TimeoutError: locator.waitFor: Timeout 10000ms exceeded. Call log: - waiting for locator('#storybook-preview-iframe').contentFrame().locator('#storybook-root:visible, #storybook-docs:visible').locator(':scope > *').first() at _util.ts:31 29 | await this.page.waitForURL((url) => url.search.includes('path')); 30 | const root = this.previewRoot(); > 31 | await root.locator(':s

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

Files: code/addons/vitest/src/vitest-plugin/agent-telemetry-reporter.test.ts, code/addons/vitest/src/vitest-plugin/index.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/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-2TOUJy/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-2TOUJy/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-2TOUJy/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-f7BUoG/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-f7BUoG/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-AUHQAT/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-AUHQAT/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-RmLb4J/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-RmLb4J/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-kZnrBG'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-i2lPO6/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-W2Sghu'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-i2lPO6/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-cFYhjM/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-wGscUw/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-qq9E6H/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-qq9E6H/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-qq9E6H/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-qq9E6H/remotes/edgy.git
   e238784..cc3f72f  main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-yTTjUi'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-bUqn0L/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-XO33o4/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-resume-push-VrjoGd/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('sidebar Tree status icon and ReviewChangesButton render without runtime errors', 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/sidebar-tree--with-new`,
    );

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

    await expect(page.locator('#sb-errordisplay')).toBeHidden();

    const previewIframe = recipe.previewIframe();
    const previewRoot = recipe.previewRoot();
    await expect(previewRoot).toBeVisible();

    const changeStatusButton = previewIframe
      .locator('[data-testid="tree-change-status-button"]')
      .first();
    await expect(changeStatusButton).toBeVisible({ timeout: 15000 });

    await previewRoot.screenshot({
      path: testInfo.outputPath('tree-with-new.png'),
    });

    await page.goto(
      `${baseURL}/?path=/story/sidebar-tree--with-modified`,
    );
    await recipe.waitUntilLoaded();

    await expect(page.locator('#sb-errordisplay')).toBeHidden();
    await expect(previewRoot).toBeVisible();

    const modifiedStatusButton = previewIframe
      .locator('[data-testid="tree-change-status-button"]')
      .first();
    await expect(modifiedStatusButton).toBeVisible({ timeout: 15000 });

    await previewRoot.screenshot({
      path: testInfo.outputPath('tree-with-modified.png'),
    });
  } finally {
    await testInfo.attach('pageErrors', {
      body: JSON.stringify(pageErrors),
      contentType: 'application/json',
    });
    await testInfo.attach('consoleErrors', {
      body: JSON.stringify(consoleErrors),
      contentType: 'application/json',
    });

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

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/addons/vitest/src/vitest-plugin/index.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('addon-vitest plugin change does not break internal-ui boot', 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 errorDisplay = page.locator('#sb-errordisplay');
    await expect(errorDisplay).toBeHidden();

    const previewIframe = page.frameLocator('#storybook-preview-iframe');
    const previewRoot = previewIframe.locator('#storybook-root, #root');
    await expect(previewRoot).toBeVisible();

    const button = previewIframe.getByRole('button', { name: /button/i }).first();
    await expect(button).toBeVisible();
  } 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-23-20.850Z/pr-34-addon-vitest-plugin--e60a6--not-break-internal-ui-boot-chromium/test-finished-1.png

2026-05-18T06-23-20.850Z/pr-34-addon-vitest-plugin--e60a6--not-break-internal-ui-boot-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(received).toEqual(expected) // deep equality - Expected - 1 + Received + 6 - Array [] + Array [ + "Failed to load resource: net::ERR_INTERNET_DISCONNECTED", + "Failed to load resource: net::ERR_INTERNET_DISCONNECTED", + "Failed to load resource: net::ERR_INTERNET_DISCONNECTED", + "Failed to load resource: net::ERR_INTERNET_DISCONNECTED", + ] 79 | 80 | expect(filter

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

Files: code/addons/vitest/src/vitest-plugin/index.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-o9fzFu/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-o9fzFu/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-o9fzFu/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-jxVzMe/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-dirty-jxVzMe/remotes/edgy.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-RnSwJl/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-nested-no-legacy-RnSwJl/remotes/excalidraw.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-W7WgzH/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-W7WgzH/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-ahui6g'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-UNMqQv/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-staging-xzhwjo'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-baselines-auto-clone-UNMqQv/remotes/wikitok.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-noop-cwVqwB/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-dirty-3MGlDY/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-storybook-version-staging-Ucos0j'...
warning: You appear to have cloned an empty repository.
done.
To /tmp/claude/eval-sync-storybook-version-auto-clone-ovsOyh/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-baselines-target-behind-0xC3rz/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-baselines-target-behind-0xC3rz/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/tmp/claude/eval-sync-baselines-target-behind-0xC3rz/edgy-remote-worktree'...
done.
To /tmp/claude/eval-sync-baselines-target-behind-0xC3rz/remotes/edgy.git
   f0baaf6..b210684  main -> main
To /tmp/claude/eval-sync-storybook-version-skip-push-g8U9oc/remotes/mealdrop.git
 * [new branch]      main -> main
To /tmp/claude/eval-sync-storybook-version-resume-push-oVkCVu/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('addon-vitest plugin diff: internal-ui boots cleanly', 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 errorDisplay = page.locator('#sb-errordisplay');
    await expect(errorDisplay).toBeHidden();

    const previewIframe = page.frameLocator('#storybook-preview-iframe');
    const previewRoot = previewIframe.locator('#storybook-root, #root');
    await expect(previewRoot).toBeVisible();
    const childCount = await previewRoot.evaluate((el) => el.childElementCount);
    expect(childCount).toBeGreaterThan(0);

    await previewIframe.locator('body').screenshot({
      path: testInfo.outputPath('preview.png'),
    });
  } 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-41-58.085Z/pr-34-addon-vitest-plugin--fd37c-l-boots-internal-ui-cleanly-chromium/test-failed-1.png

2026-05-18T06-41-58.085Z/pr-34-addon-vitest-plugin--fd37c-l-boots-internal-ui-cleanly-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: PR-added unit tests failed (see unitTests.details)

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

Files: code/addons/vitest/src/vitest-plugin/index.test.ts

vitest output (last 4KB)
      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-dirty-5ROCQ1/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-dirty-5ROCQ1/remotes/edgy.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-nested-no-legacy-8i6WMH/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-nested-no-legacy-8i6WMH/remotes/excalidraw.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-AGWKPm/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-AGWKPm/remotes/wikitok.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-staging-2QAwHk'...
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-eJCnS2/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-staging-yoTJMd'...
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-eJCnS2/remotes/wikitok.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-noop-DXlAVN/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-dirty-A1pUS5/remotes/mealdrop.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-staging-G8oQCN'...
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-2JybvE/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-05hKvn/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-05hKvn/remotes/edgy.git
 * [new branch]      main -> main
Cloning into '/home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-05hKvn/edgy-remote-worktree'...
done.
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-baselines-target-behind-05hKvn/remotes/edgy.git
   78b6ee0..6a52ced  main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-skip-push-05BbdK/remotes/mealdrop.git
 * [new branch]      main -> main
To /home/runner/work/_temp/pr-head/.verify-output/vitest-tmp/eval-sync-storybook-version-resume-push-sNi5Qe/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)
(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('addon-vitest plugin path-decoding change does not regress storybook boot', 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 errorDisplay = page.locator('#sb-errordisplay');
    await expect(errorDisplay).toBeHidden();

    const previewIframe = sb.previewIframe();
    const previewRoot = previewIframe.locator('#storybook-root, #root');
    await expect(previewRoot).toBeVisible();
    const childCount = await previewRoot.evaluate((el) => el.childElementCount);
    expect(childCount).toBeGreaterThan(0);

    const primaryButton = previewIframe.getByRole('button', { name: /button/i }).first();
    await expect(primaryButton).toBeVisible();
  } 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([]);
  expect(filterConsoleErrors(consoleErrors)).toEqual([]);
});

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

Screenshots

2026-05-19T13-32-32.306Z/pr-34-addon-vitest-plugin--ffdd3--not-regress-storybook-boot-chromium/test-finished-1.png

2026-05-19T13-32-32.306Z/pr-34-addon-vitest-plugin--ffdd3--not-regress-storybook-boot-chromium/test-finished-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