debug-2.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/non-default-base-pr.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 run 01a1c933-f37c-74b5-affb-4b7cb514affd · targets: web, ios ✓ target "web" command at http://127.0.0.1:45117/.well-known/t3/environment ready 6.51s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 35.71s → tap did not become actionable in time: locator.click: Timeout 21214ms ex… ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 35.71s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 21214ms exceeded.
  • …
  • intercepts pointer events: getByText("Unpublished feature from dev").first() ❯ at http://127.0.0.1:45117/draft/a950aba0-12f2-43ea-991f-590eabe7c082 ❯ trace .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:03:07 Duration 42.84s (startup 6.51s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Markdown .e2e/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:9 > An unpublished worktree based on dev has no release PR badge ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 21214ms exceeded.
  • …
  • intercepts pointer events: getByText("Unpublished feature from dev").first() trace .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md debug-3.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/non-default-base-pr.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 run 01a1c935-2c2d-7e21-a602-0d50c6262a64 · targets: web, ios ✓ target "web" command at http://127.0.0.1:38355/.well-known/t3/environment ready 2.99s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 35.04s → expect.toHaveCount failed ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 35.04s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed locator: getByRole("link", name: /PR #15/) expected: count 0 observed: count 1 (match count 1) ❯ scenarios/non-default-base-pr.e2e.ts:41:3 39| 40| await app.screenshot("unpublished-feature"); 41| await expect(screen.getByRole("link", /PR #15/)).toHaveCount(0); | ^ 42| }); 43| ❯ at http://127.0.0.1:38355/fe28ee9a-6118-4ecc-ab5d-fe9cfdfd3119/mcp%3A5d51071b-56ed-4afd-a5e5-df2e1cddafab ❯ app 1 warning logged ❯ trace .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:04:28 Duration 38.68s (startup 2.99s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-unpublished-feature.png Markdown .e2e/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:41 > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed trace .e2e/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md debug.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scripts/scenarios/non-default-base-pr.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 run 01a1c933-c482-7c65-885c-d94e3a353cd3 · targets: web, ios ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Run Errors 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ERROR configuration error NO_TESTS (collection) no test file matched scripts/scenarios/non-default-base-pr.e2e.ts (did you mean scenarios/non-default-base-pr.e2e.ts?); the config globs discovered scenarios/add-project-tab-reaches-submit.e2e.ts, scenarios/mobile-opens-a-seeded-thread.e2e.ts, scenarios/non-default-base-pr.e2e.ts and 1 more; pass --pass-with-no-tests to allow this Test Files no test files Tests no tests executed Errors 1 error Start at 06:02:55 Duration 42ms Report (not written) prove-1.log $ node scripts/prove-scenario.ts scripts/scenarios/non-default-base-pr.e2e.ts --base a0efdaeb89a75050612a82436432de4ebf526206 --head 8d6a704c1bcb3318dad07679ee1ec7fb432370a4 ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 12m 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 703, reused 703, downloaded 0, added 688 Progress: resolved 1011, reused 1011, downloaded 0, added 996 Progress: resolved 1231, reused 1231, downloaded 0, added 1216 Progress: resolved 1668, reused 1668, downloaded 0, added 1655 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, done .../esbuild@0.28.2/node_modules/esbuild postinstall$ node install.js .../node_modules/node-pty install$ node scripts/prebuild.js || node-gyp rebuild .../esbuild@0.28.2/node_modules/esbuild postinstall: Done .../react-native-enriched-markdown postinstall$ node postinstall.mjs .../node_modules/node-pty install: > Checking prebuilds... .../node_modules/node-pty install: Done .../node_modules/node-pty postinstall$ node scripts/post-install.js .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] restoring vendored native assets ... .../node_modules/node-pty postinstall: > Cleaning release folder... .../node_modules/node-pty postinstall: > Moving conpty.dll... .../node_modules/node-pty postinstall: SKIPPED (not Windows) .../node_modules/node-pty postinstall: Done .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching runtime v0.26.3 from https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.26.3.tar.gz .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] runtime -> react-native-enriched-markdown/cpp/highlight/vendor/tree-sitter/src .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-json@0.24.8 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-html@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-css@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading @tree-sitter-grammars/tree-sitter-markdown@0.3.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading @tree-sitter-grammars/tree-sitter-yaml@0.7.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-go@0.23.4 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-java@0.23.5 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-javascript@0.23.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-python@0.23.6 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-c@0.23.5 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-rust@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-bash@0.23.3 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-typescript@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-cpp@0.23.4 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-swift@0.7.0 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-php@0.24.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-ruby@0.23.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-c-sharp@0.23.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] json -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/json .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] html -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/html .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] css -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/css .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] markdown -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/markdown .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] yaml -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/yaml .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] go -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/go .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] java -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/java .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] javascript -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/javascript .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] python -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/python .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] c -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/c .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] rust -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/rust .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] bash -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/bash .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] typescript -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/typescript .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] tsx -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/tsx .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] cpp -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/cpp .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] swift -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/swift .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] php -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/php .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] ruby -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/ruby .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] c-sharp -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/c-sharp .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] grammar sources ready. .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] done. .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching xcframework from https://github.com/erweixin/RaTeX/releases/download/v0.1.15/RaTeX.xcframework.zip .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching source from https://github.com/erweixin/RaTeX/archive/refs/tags/v0.1.15.tar.gz .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] RaTeX v0.1.15 -> .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] done. .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] postinstall complete. .../react-native-enriched-markdown postinstall: 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 17.4s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c932-a9a8-701c-a564-d65eb686d5a9 · targets: web, ios ✓ target "web" command at http://127.0.0.1:40565/.well-known/t3/environment ready 5.34s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.69s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 6.20s → Unexpected branch setup: , dev ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 6.20s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ERROR: Unexpected branch setup: , dev ❯ scenarios/non-default-base-pr.e2e.ts:31:58 29| const upstream = git("for-each-ref", "--format=%(upstream:short)", … 30| const base = git("config", "--get", `branch.${branch}.t3-merge-base… 31| if (upstream !== "origin/dev" || base !== "dev") throw new Error(`U… | ^ 32| // Also exercise the compatibility key from the report, without rep… 33| git("config", `branch.${branch}.gh-merge-base`, "dev"); ❯ at about:blank ❯ trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:01:43 Duration 18.15s (startup 11.03s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:31 > An unpublished worktree based on dev has no release PR badge ERROR: Unexpected branch setup: , dev trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 13m 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 990, reused 990, downloaded 0, added 975 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 3.2s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c933-2023-7de8-b9a8-5cc74639861a · targets: web, ios ✓ target "web" command at http://127.0.0.1:40227/.well-known/t3/environment ready 5.23s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.43s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 5.78s → Unexpected branch setup: , dev ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 5.78s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ERROR: Unexpected branch setup: , dev ❯ scenarios/non-default-base-pr.e2e.ts:31:58 29| const upstream = git("for-each-ref", "--format=%(upstream:short)", … 30| const base = git("config", "--get", `branch.${branch}.t3-merge-base… 31| if (upstream !== "origin/dev" || base !== "dev") throw new Error(`U… | ^ 32| // Also exercise the compatibility key from the report, without rep… 33| git("config", `branch.${branch}.gh-merge-base`, "dev"); ❯ at about:blank ❯ trace .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:02:13 Duration 17.10s (startup 10.66s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:31 > An unpublished worktree based on dev has no release PR badge ERROR: Unexpected branch setup: , dev trace .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md { "scenario": "An unpublished worktree based on dev has no release PR badge", "failsOnBase": false, "passesOnHead": false, "baseSha": "a0efdaeb89a75050612a82436432de4ebf526206", "headSha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "verdict": "Not proven: the scenario could not run on base `a0efdaeb89` (ERROR: Unexpected branch setup: , dev).", "steps": { "base": [], "head": [] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: An unpublished worktree based on dev has no release PR badge\n\n**Not proven: the scenario could not run on base `a0efdaeb89` (ERROR: Unexpected branch setup: , dev).**\n\n| | Base `a0efdaeb89` | Head `8d6a704c1b` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
    ERROR: Unexpected branch setup: , dev | ⚠️ could not run
    ERROR: Unexpected branch setup: , dev |\n| failure | ![Base a0efdaeb89: failure](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-failure.png) | ![Head 8d6a704c1b: failure](head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-failure.png) |\n", "base": { "sha": "a0efdaeb89a75050612a82436432de4ebf526206", "status": "error", "title": "An unpublished worktree based on dev has no release PR badge", "message": "ERROR: Unexpected branch setup: , dev", "steps": [], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "status": "error", "title": "An unpublished worktree based on dev has no release PR badge", "message": "ERROR: Unexpected branch setup: , dev", "steps": [], "captures": [ "" ], "videos": [ "" ] } } prove-2.log $ node scripts/prove-scenario.ts scripts/scenarios/non-default-base-pr.e2e.ts --base a0efdaeb89a75050612a82436432de4ebf526206 --head 8d6a704c1bcb3318dad07679ee1ec7fb432370a4 ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 16m 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 751, reused 751, downloaded 0, added 736 Progress: resolved 1223, reused 1223, downloaded 0, added 1208 Progress: resolved 1671, reused 1671, downloaded 0, added 1663 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 5.8s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c936-2ff2-7d52-a7da-897f7d11b334 · targets: web, ios ✓ target "web" command at http://127.0.0.1:40075/.well-known/t3/environment ready 7.29s ✓ target "ios" command at http://127.0.0.1:8190/status ready 10.12s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 31.75s → expect.toHaveCount failed ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 31.75s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed locator: getByRole("link", name: /PR #15/) expected: count 0 observed: count 1 (match count 1) ❯ scenarios/non-default-base-pr.e2e.ts:42:3 40| await screen.getByRole("button", "Toggle thread details panel").tap… 41| await app.screenshot("unpublished-feature"); 42| await expect(screen.getByRole("link", /PR #15/)).toHaveCount(0); | ^ 43| }); 44| ❯ at http://127.0.0.1:40075/a3c33fbb-111c-4159-8472-9dd14bfa63b9/mcp%3Abe7c46a1-4e89-4e66-bb77-87ae860ca914 ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:05:34 Duration 50.04s (startup 17.40s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-unpublished-feature.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:42 > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 17m 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 995, reused 995, downloaded 0, added 981 Progress: resolved 1672, reused 1672, downloaded 0, added 1668 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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.6s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c937-2785-77aa-aaa1-367d0c8dffcf · targets: web, ios ✓ target "web" command at http://127.0.0.1:37235/.well-known/t3/environment ready 4.16s ✓ target "ios" command at http://127.0.0.1:8190/status ready 4.70s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 ✓ |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 11.99s ✓ |web| scenarios/non-default-base-pr.e2e.ts (1 test) 11.99s Test Files 1 passed (1) Tests 1 passed (1) Start at 06:06:37 Duration 21.51s (startup 8.86s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-unpublished-feature.png Markdown .e2e/prove/head/summary.md { "scenario": "An unpublished worktree based on dev has no release PR badge", "failsOnBase": true, "passesOnHead": true, "baseSha": "a0efdaeb89a75050612a82436432de4ebf526206", "headSha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "verdict": "Proven: the scenario fails on base `a0efdaeb89` and passes on head `8d6a704c1b`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "passed" } ] }, "captures": [ "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: An unpublished worktree based on dev has no release PR badge\n\n**Proven: the scenario fails on base `a0efdaeb89` and passes on head `8d6a704c1b`.**\n\n| | Base `a0efdaeb89` | Head `8d6a704c1b` |\n| --- | --- | --- |\n| Result | ❌ failed
    ASSERTION_FAILED: expect.toHaveCount failed
    locator: getByRole(\"link\", name: /PR #15/)
    expected: count 0
    observed: count 1 (match count 1) | ✅ passed |\n| unpublished feature | ![Base a0efdaeb89: unpublished feature](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-unpublished-feature.png) | ![Head 8d6a704c1b: unpublished feature](head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-unpublished-feature.png) |\n| failure | ![Base a0efdaeb89: failure](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-failure.png) | |\n", "base": { "sha": "a0efdaeb89a75050612a82436432de4ebf526206", "status": "failed", "title": "An unpublished worktree based on dev has no release PR badge", "message": "ASSERTION_FAILED: expect.toHaveCount failed\nlocator: getByRole(\"link\", name: /PR #15/)\nexpected: count 0\nobserved: count 1 (match count 1)", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "failed" } ], "captures": [ "", "" ], "videos": [ "" ] }, "head": { "sha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "status": "passed", "title": "An unpublished worktree based on dev has no release PR badge", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "passed" } ], "captures": [ "" ], "videos": [ "" ] } } prove-clean.log $ node scripts/prove-scenario.ts scripts/scenarios/non-default-base-pr.e2e.ts --base a0efdaeb89a75050612a82436432de4ebf526206 --head 8d6a704c1bcb3318dad07679ee1ec7fb432370a4 ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 20m 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 664, reused 664, downloaded 0, added 648 Progress: resolved 1455, reused 1455, downloaded 0, added 1438 Progress: resolved 1671, reused 1671, downloaded 0, added 1669 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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.2s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c93a-4b0f-7bb8-8fbc-a2a1626cb3fa · targets: web, ios ✓ target "web" command at http://127.0.0.1:41797/.well-known/t3/environment ready 5.67s ✓ target "ios" command at http://127.0.0.1:8190/status ready 7.20s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 32.94s → expect.toHaveCount failed ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 32.94s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed locator: getByRole("link", name: /PR #15/) expected: count 0 observed: count 1 (match count 1) ❯ scenarios/non-default-base-pr.e2e.ts:55:3 53| await screen.getByRole("button", "Toggle thread details panel").tap… 54| await app.screenshot("unpublished-feature"); 55| await expect(screen.getByRole("link", /PR #15/)).toHaveCount(0); | ^ 56| }); 57| ❯ at http://127.0.0.1:41797/f904a247-bd4a-415b-842d-d84eef79a5b1/mcp%3A0e49176e-291b-4c97-8ea5-3ff5a7d96fc5 ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:10:03 Duration 46.64s (startup 12.87s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:55 > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 21m 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 759, reused 759, downloaded 0, added 744 Progress: resolved 1414, reused 1414, downloaded 0, added 1401 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 01a1c93b-34a7-7587-b53c-b4624d55ed01 · targets: web, ios ✓ target "web" command at http://127.0.0.1:36041/.well-known/t3/environment ready 7.45s ✓ target "ios" command at http://127.0.0.1:8190/status ready 7.22s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 ✓ |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 16.05s ✓ |web| scenarios/non-default-base-pr.e2e.ts (1 test) 16.05s Test Files 1 passed (1) Tests 1 passed (1) Start at 06:11:03 Duration 31.73s (startup 14.67s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png Markdown .e2e/prove/head/summary.md { "scenario": "An unpublished worktree based on dev has no release PR badge", "failsOnBase": true, "passesOnHead": true, "baseSha": "a0efdaeb89a75050612a82436432de4ebf526206", "headSha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "verdict": "Proven: the scenario fails on base `a0efdaeb89` and passes on head `8d6a704c1b`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "passed" } ] }, "captures": [ "", "", "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: An unpublished worktree based on dev has no release PR badge\n\n**Proven: the scenario fails on base `a0efdaeb89` and passes on head `8d6a704c1b`.**\n\n| | Base `a0efdaeb89` | Head `8d6a704c1b` |\n| --- | --- | --- |\n| Result | ❌ failed
    ASSERTION_FAILED: expect.toHaveCount failed
    locator: getByRole(\"link\", name: /PR #15/)
    expected: count 0
    observed: count 1 (match count 1) | ✅ passed |\n| thread details | ![Base a0efdaeb89: thread details](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png) | ![Head 8d6a704c1b: thread details](head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png) |\n| unpublished feature | ![Base a0efdaeb89: unpublished feature](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png) | ![Head 8d6a704c1b: unpublished feature](head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png) |\n| failure | ![Base a0efdaeb89: failure](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/003-failure.png) | |\n", "base": { "sha": "a0efdaeb89a75050612a82436432de4ebf526206", "status": "failed", "title": "An unpublished worktree based on dev has no release PR badge", "message": "ASSERTION_FAILED: expect.toHaveCount failed\nlocator: getByRole(\"link\", name: /PR #15/)\nexpected: count 0\nobserved: count 1 (match count 1)", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "failed" } ], "captures": [ "", "", "" ], "videos": [ "" ] }, "head": { "sha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "status": "passed", "title": "An unpublished worktree based on dev has no release PR badge", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "passed" } ], "captures": [ "", "" ], "videos": [ "" ] } } prove-final.log $ node scripts/prove-scenario.ts scripts/scenarios/non-default-base-pr.e2e.ts --base a0efdaeb89a75050612a82436432de4ebf526206 --head 8d6a704c1bcb3318dad07679ee1ec7fb432370a4 ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 18m 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 1080, reused 1080, downloaded 0, added 1065 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 2.7s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c938-23c1-739b-95f6-63e5cab9311f · targets: web, ios ✓ target "web" command at http://127.0.0.1:34023/.well-known/t3/environment ready 3.96s ✓ target "ios" command at http://127.0.0.1:8190/status ready 4.29s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 × |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 27.70s → expect.toHaveCount failed ❯ |web| scenarios/non-default-base-pr.e2e.ts (1 test | 1 failed) 27.70s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed locator: getByRole("link", name: /PR #15/) expected: count 0 observed: count 1 (match count 1) ❯ scenarios/non-default-base-pr.e2e.ts:43:3 41| await screen.getByRole("button", "Toggle thread details panel").tap… 42| await app.screenshot("unpublished-feature"); 43| await expect(screen.getByRole("link", /PR #15/)).toHaveCount(0); | ^ 44| }); 45| ❯ at http://127.0.0.1:34023/3fe6432e-ad7c-4c44-945f-24a5efb07a79/mcp%3Afbd4e68a-f4f3-4c48-b860-087c327fce5d ❯ app 1 error, 1 warning logged × console error: WebSocket connection to 'ws://127.0.0.1:34023/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=41fbba940a0b66f84b08aaa2a3ddc35a8b64fd04776669a443e89054afae2425&orchestrationProtoc… ❯ trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md ❯ video .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 06:07:42 Duration 36.55s (startup 8.26s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/non-default-base-pr.e2e.ts:43 > An unpublished worktree based on dev has no release PR badge ASSERTION_FAILED: expect.toHaveCount failed trace .e2e/prove/base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 19m 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 949, reused 949, downloaded 0, added 935 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 2.8s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1c938-d9fa-7bc2-af74-ce7bafd9eca5 · targets: web, ios ✓ target "web" command at http://127.0.0.1:32793/.well-known/t3/environment ready 3.71s ✓ target "ios" command at http://127.0.0.1:8190/status ready 4.94s stderr | |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge From https://github.com/Jamie-Fairweather/t3code * [new branch] main -> origin/main * [new branch] dev -> origin/dev * [new tag] v0.1.8-jamie.9 -> v0.1.8-jamie.9 ✓ |web| scenarios/non-default-base-pr.e2e.ts > An unpublished worktree based on dev has no release PR badge 20.46s ✓ |web| scenarios/non-default-base-pr.e2e.ts (1 test) 20.46s Test Files 1 passed (1) Tests 1 passed (1) Start at 06:08:29 Duration 29.89s (startup 8.65s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png .e2e/prove/head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png Markdown .e2e/prove/head/summary.md { "scenario": "An unpublished worktree based on dev has no release PR badge", "failsOnBase": true, "passesOnHead": true, "baseSha": "a0efdaeb89a75050612a82436432de4ebf526206", "headSha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "verdict": "Proven: the scenario fails on base `a0efdaeb89` and passes on head `8d6a704c1b`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "passed" } ] }, "captures": [ "", "", "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: An unpublished worktree based on dev has no release PR badge\n\n**Proven: the scenario fails on base `a0efdaeb89` and passes on head `8d6a704c1b`.**\n\n| | Base `a0efdaeb89` | Head `8d6a704c1b` |\n| --- | --- | --- |\n| Result | ❌ failed
    ASSERTION_FAILED: expect.toHaveCount failed
    locator: getByRole(\"link\", name: /PR #15/)
    expected: count 0
    observed: count 1 (match count 1) | ✅ passed |\n| thread details | ![Base a0efdaeb89: thread details](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png) | ![Head 8d6a704c1b: thread details](head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/001-thread-details.png) |\n| unpublished feature | ![Base a0efdaeb89: unpublished feature](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png) | ![Head 8d6a704c1b: unpublished feature](head/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/002-unpublished-feature.png) |\n| failure | ![Base a0efdaeb89: failure](base/results/non-default-base-pr-an-unpublished-worktree-based-on-ce3a2ed2be1cef9c/attempt-1/screenshots/003-failure.png) | |\n", "base": { "sha": "a0efdaeb89a75050612a82436432de4ebf526206", "status": "failed", "title": "An unpublished worktree based on dev has no release PR badge", "message": "ASSERTION_FAILED: expect.toHaveCount failed\nlocator: getByRole(\"link\", name: /PR #15/)\nexpected: count 0\nobserved: count 1 (match count 1)", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "failed" } ], "captures": [ "", "", "" ], "videos": [ "" ] }, "head": { "sha": "8d6a704c1bcb3318dad07679ee1ec7fb432370a4", "status": "passed", "title": "An unpublished worktree based on dev has no release PR badge", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByTestId(\"sidebar-row-card\")", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Git action options\")", "status": "passed" }, { "step": "browser.keyboard.press Escape", "status": "passed" }, { "step": "app.screenshot thread-details", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Toggle thread details panel\")", "status": "passed" }, { "step": "app.screenshot unpublished-feature", "status": "passed" }, { "step": "expect.toHaveCount getByRole(\"link\", name: /PR #15/)", "status": "passed" } ], "captures": [ "", "" ], "videos": [ "" ] } }