$ node scripts/prove-scenario.ts scripts/scenarios/branch-label-space.e2e.ts --base 4f555c746ce3e762deb4a145bb87d8c7f8634aab --head 572777385297c331d8ba76ab7d07bba476982364 --upload-command 'ghdrop upload' ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 39m ago) Lockfile is up to date, resolution step is skipped Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: Virtual store is at: node_modules/.pnpm Progress: resolved 665, reused 665, downloaded 0, added 650 Progress: resolved 990, reused 990, downloaded 0, added 975 Progress: resolved 1243, reused 1243, downloaded 0, added 1228 Progress: resolved 1584, reused 1584, downloaded 0, added 1572 Progress: resolved 1721, reused 1721, downloaded 0, added 1712 Progress: resolved 1770, reused 1770, downloaded 0, added 1763 Packages: +1779 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1779, reused 1775, downloaded 0, added 1779, done Agent skills awaiting approval: e2e. Run "pnpm approve" to review them. . prepare$ vp config --no-agent . prepare: Done devDependencies: + @coderabbitai/config 1.2.0 + @effect/tsgo 0.67.1 + @shadcn/lint 0.1.5 + @types/node 24.12.4 + knip 6.34.0 + vite-plus 1.4.0 Done in 9.8s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1e3-ba86-77dc-a663-b7530c21ec2c · targets: web, ios ✓ target "web" command at http://127.0.0.1:46095/.well-known/t3/environment ready 13.40s ✓ target "ios" command at http://127.0.0.1:8190/status ready 13.37s × |web| scenarios/branch-label-space.e2e.ts > New-worktree branch labels preserve the space after From 27.32s → expected 0 to be greater than 2 ❯ |web| scenarios/branch-label-space.e2e.ts (1 test | 1 failed) 27.32s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/branch-label-space.e2e.ts > New-worktree branch labels preserve the space after From ASSERTION_FAILED: expected 0 to be greater than 2 ❯ scenarios/branch-label-space.e2e.ts:35:39 33| }); 34| expect(gaps.length).toBe(2); 35| for (const gap of gaps) expect(gap).toBeGreaterThan(2); | ^ 36| }); 37| ❯ at http://127.0.0.1:46095/draft/77d453f4-a83c-45e2-b1bc-892d83a2b3e7 ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/trace.md ❯ video .e2e/prove/base/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:32:06 Duration 55.79s (startup 26.77s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/attempt-1/screenshots/001-composer-branch.png .e2e/prove/base/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/attempt-1/screenshots/002-thread-details-branch.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/branch-label-space.e2e.ts:35 > New-worktree branch labels preserve the space after From ASSERTION_FAILED: expected 0 to be greater than 2 trace .e2e/prove/base/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 40m ago) Lockfile is up to date, resolution step is skipped Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: Virtual store is at: node_modules/.pnpm Progress: resolved 783, reused 783, downloaded 0, added 768 Progress: resolved 1453, reused 1453, downloaded 0, added 1438 Progress: resolved 1772, reused 1772, downloaded 0, added 1769 Packages: +1779 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1779, reused 1775, downloaded 0, added 1779, done Agent skills awaiting approval: e2e. Run "pnpm approve" to review them. . prepare$ vp config --no-agent . prepare: Done devDependencies: + @coderabbitai/config 1.2.0 + @effect/tsgo 0.67.1 + @shadcn/lint 0.1.5 + @types/node 24.12.4 + knip 6.34.0 + vite-plus 1.4.0 Done in 4.8s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1e4-d5cc-77d0-8ed9-f348b687c515 · targets: web, ios ✓ target "web" command at http://127.0.0.1:35447/.well-known/t3/environment ready 6.46s ✓ target "ios" command at http://127.0.0.1:8190/status ready 7.91s ✓ |web| scenarios/branch-label-space.e2e.ts > New-worktree branch labels preserve the space after From 22.27s ✓ |web| scenarios/branch-label-space.e2e.ts (1 test) 22.27s Test Files 1 passed (1) Tests 1 passed (1) Start at 22:33:18 Duration 37.75s (startup 14.37s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/attempt-1/screenshots/001-composer-branch.png .e2e/prove/head/results/branch-label-space-new-worktree-branch-labels-6fda486827a53361/attempt-1/screenshots/002-thread-details-branch.png Markdown .e2e/prove/head/summary.md { "scenario": "New-worktree branch labels preserve the space after From", "failsOnBase": true, "passesOnHead": true, "baseSha": "4f555c746ce3e762deb4a145bb87d8c7f8634aab", "headSha": "572777385297c331d8ba76ab7d07bba476982364", "verdict": "Proven: the scenario fails on base `4f555c746c` and passes on head `5727773852`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "locator.tap getByRole(\"combobox\", name: \"Workspace\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"New worktree\")", "status": "passed" }, { "step": "locator.tap getByRole(\"region\", name: \"Message input\") >> getByRole(\"combobox\").last()", "status": "passed" }, { "step": "locator.uncheck getByRole(\"switch\", name: \"Start worktree from remote\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"abcdefghij\")", "status": "passed" }, { "step": "app.screenshot composer-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot thread-details-branch", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "locator.tap getByRole(\"combobox\", name: \"Workspace\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"New worktree\")", "status": "passed" }, { "step": "locator.tap getByRole(\"region\", name: \"Message input\") >> getByRole(\"combobox\").last()", "status": "passed" }, { "step": "locator.uncheck getByRole(\"switch\", name: \"Start worktree from remote\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"abcdefghij\")", "status": "passed" }, { "step": "app.screenshot composer-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot thread-details-branch", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" } ] }, "captures": [ "", "", "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: New-worktree branch labels preserve the space after From\n\n**Proven: the scenario fails on base `4f555c746c` and passes on head `5727773852`.**\n\n| | Base `4f555c746c` | Head `5727773852` |\n| --- | --- | --- |\n| Result | ❌ failed
ASSERTION_FAILED: expected 0 to be greater than 2 | ✅ passed |\n| composer branch | ![Base 4f555c746c: composer branch](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1b9b82dd8cbe25a6/001-composer-branch.png) | ![Head 5727773852: composer branch](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3cc9b6a5305b0c12/001-composer-branch.png) |\n| thread details branch | ![Base 4f555c746c: thread details branch](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/452172ce6f708e59/002-thread-details-branch.png) | ![Head 5727773852: thread details branch](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9048f173ecef7f54/002-thread-details-branch.png) |\n| failure | ![Base 4f555c746c: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/61bb63cb4532be9b/003-failure.png) | |\n", "base": { "sha": "4f555c746ce3e762deb4a145bb87d8c7f8634aab", "status": "failed", "title": "New-worktree branch labels preserve the space after From", "message": "ASSERTION_FAILED: expected 0 to be greater than 2", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "locator.tap getByRole(\"combobox\", name: \"Workspace\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"New worktree\")", "status": "passed" }, { "step": "locator.tap getByRole(\"region\", name: \"Message input\") >> getByRole(\"combobox\").last()", "status": "passed" }, { "step": "locator.uncheck getByRole(\"switch\", name: \"Start worktree from remote\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"abcdefghij\")", "status": "passed" }, { "step": "app.screenshot composer-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot thread-details-branch", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" } ], "captures": [ "", "", "" ], "videos": [ "" ] }, "head": { "sha": "572777385297c331d8ba76ab7d07bba476982364", "status": "passed", "title": "New-worktree branch labels preserve the space after From", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "locator.tap getByRole(\"combobox\", name: \"Workspace\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"New worktree\")", "status": "passed" }, { "step": "locator.tap getByRole(\"region\", name: \"Message input\") >> getByRole(\"combobox\").last()", "status": "passed" }, { "step": "locator.uncheck getByRole(\"switch\", name: \"Start worktree from remote\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\", name: \"abcdefghij\")", "status": "passed" }, { "step": "app.screenshot composer-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot thread-details-branch", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" } ], "captures": [ "", "" ], "videos": [ "" ] } }