prove.log $ node scripts/prove-scenario.ts scripts/scenarios/device-stop-failure.e2e.ts --base b63d3c592318ce936f787c48023f0dba498056dd --head 0e1e6b63cd22e16b98480dbd4ce1b1201908b333 --upload-command 'ghdrop upload' ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 15m 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: [isolated-checkout] Virtual store is at: node_modules/.pnpm Progress: resolved 342, reused 342, downloaded 0, added 327 Progress: resolved 579, reused 579, downloaded 0, added 564 Progress: resolved 803, reused 803, downloaded 0, added 788 Progress: resolved 1014, reused 1014, downloaded 0, added 999 Progress: resolved 1141, reused 1141, downloaded 0, added 1126 Progress: resolved 1451, reused 1451, downloaded 0, added 1435 Progress: resolved 1666, reused 1666, downloaded 0, added 1650 Progress: resolved 1751, reused 1751, downloaded 0, added 1735 Progress: resolved 1775, reused 1775, downloaded 0, added 1774 Packages: +1779 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1779, reused 1775, downloaded 0, added 1779, done .../esbuild@0.28.2/node_modules/esbuild postinstall$ node install.js .../node_modules/node-pty install$ node scripts/prebuild.js || node-gyp rebuild .../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 .../esbuild@0.28.2/node_modules/esbuild postinstall: Done .../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 -> [isolated-checkout] .../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 20.5s using pnpm v12.14.0 RUN e2e v0.23.0 [isolated-checkout] run 01a1d1ef-f709-7a85-b532-5b0404116455 · targets: web, ios ✓ target "web" command at http://127.0.0.1:44903/.well-known/t3/environment ready 9.30s ✓ target "ios" command at http://127.0.0.1:8190/status ready 25.70s × |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure 38.26s → locator matched no nodes within getByRole("switch", name: "Agent device … ❯ |web| scenarios/device-stop-failure.e2e.ts (1 test | 1 failed) 38.26s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure LOCATOR_NOT_FOUND: locator matched no nodes within getByRole("switch", name: "Agent device access") ❯ scenarios/device-stop-failure.e2e.ts:27:5 25| await screen.getByText("Device shutdown proof", { exact: true }).… 26| await app.open("/settings/devices"); 27| const access = screen.getByRole("switch", "Agent device access"); | ^ 28| // Wait for the real configure request to finish before capturing… 29| await access.tap(); ❯ at http://127.0.0.1:44903/pair ❯ app 5 errors, 5 warnings logged × console error: WebSocket connection to 'ws://127.0.0.1:44903/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=8e8ba2038e3588df019348c8456b863b41a9f2fa618085b769eaec0afdd04d3d&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:44903/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=8e8ba2038e3588df019348c8456b863b41a9f2fa618085b769eaec0afdd04d3d&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:44903/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=8e8ba2038e3588df019348c8456b863b41a9f2fa618085b769eaec0afdd04d3d&orchestrationProtoc… 2 more app errors logged ❯ trace .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/trace.md ❯ video .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:45:28 Duration 75.70s (1m 16s, startup 35.01s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/device-stop-failure.e2e.ts:27 > Failed daemon shutdown keeps agent device access enabled and reports failure LOCATOR_NOT_FOUND: locator matched no nodes within getByRole("switch", name: "Agent device access") trace .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/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: [isolated-checkout] Virtual store is at: node_modules/.pnpm Progress: resolved 656, reused 656, downloaded 0, added 641 Progress: resolved 902, reused 902, downloaded 0, added 887 Progress: resolved 1139, reused 1139, downloaded 0, added 1124 Progress: resolved 1408, reused 1408, downloaded 0, added 1394 Progress: resolved 1561, reused 1561, downloaded 0, added 1548 Progress: resolved 1678, reused 1678, downloaded 0, added 1664 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 10.6s using pnpm v12.14.0 RUN e2e v0.23.0 [isolated-checkout] run 01a1d1f1-7550-7a5e-ae8f-84302f94917b · targets: web ✓ target "web" command at http://127.0.0.1:37741/.well-known/t3/environment ready 9.63s ✓ |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure 19.22s ✓ |web| scenarios/device-stop-failure.e2e.ts (1 test) 19.22s Test Files 1 passed (1) Tests 1 passed (1) Start at 22:47:05 Duration 30.11s (startup 9.63s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/screenshots/001-daemon-stop-failed.png Markdown .e2e/prove/head/summary.md { "scenario": "Failed daemon shutdown keeps agent device access enabled and reports failure", "failsOnBase": false, "passesOnHead": true, "baseSha": "b63d3c592318ce936f787c48023f0dba498056dd", "headSha": "0e1e6b63cd22e16b98480dbd4ce1b1201908b333", "verdict": "Not proven: the scenario could not run on base `b63d3c5923` (LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"switch\", name: \"Agent device access\")).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeVisible getByText(\"Device settings not saved on all environments\")", "status": "passed" } ] }, "captures": [ "[isolated-checkout]", "[isolated-checkout]" ], "videos": [ "[isolated-checkout]", "[isolated-checkout]" ], "markdown": "### Scenario: Failed daemon shutdown keeps agent device access enabled and reports failure\n\n**Not proven: the scenario could not run on base `b63d3c5923` (LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"switch\", name: \"Agent device access\")).**\n\n| | Base `b63d3c5923` | Head `0e1e6b63cd` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"switch\", name: \"Agent device access\") | ✅ passed |\n| failure | ![Base b63d3c5923: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/e5bbfbea7f438720/001-failure.png) | |\n| daemon stop failed | | ![Head 0e1e6b63cd: daemon stop failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/608af52a3ae383c0/001-daemon-stop-failed.png) |\n", "base": { "sha": "b63d3c592318ce936f787c48023f0dba498056dd", "status": "error", "title": "Failed daemon shutdown keeps agent device access enabled and reports failure", "message": "LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"switch\", name: \"Agent device access\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "failed" } ], "captures": [ "[isolated-checkout]" ], "videos": [ "[isolated-checkout]" ] }, "head": { "sha": "0e1e6b63cd22e16b98480dbd4ce1b1201908b333", "status": "passed", "title": "Failed daemon shutdown keeps agent device access enabled and reports failure", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeVisible getByText(\"Device settings not saved on all environments\")", "status": "passed" } ], "captures": [ "[isolated-checkout]" ], "videos": [ "[isolated-checkout]" ] } } prove-retry.log $ node scripts/prove-scenario.ts scripts/scenarios/device-stop-failure.e2e.ts --base b63d3c592318ce936f787c48023f0dba498056dd --head 0e1e6b63cd22e16b98480dbd4ce1b1201908b333 --upload-command 'ghdrop upload' ⊘ 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: [isolated-checkout] Virtual store is at: node_modules/.pnpm Progress: resolved 681, reused 681, downloaded 0, added 666 Progress: resolved 1046, reused 1046, downloaded 0, added 1032 Progress: resolved 1321, reused 1320, downloaded 0, added 1305 Progress: resolved 1604, reused 1604, downloaded 0, added 1589 Progress: resolved 1775, reused 1775, downloaded 0, added 1768 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 7.2s using pnpm v12.14.0 RUN e2e v0.23.0 [isolated-checkout] run 01a1d1f2-59c7-72d2-81f8-c07cfffe7033 · targets: web ✓ target "web" command at http://127.0.0.1:33893/.well-known/t3/environment ready 6.95s × |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure 32.05s → expect.toBeChecked failed ❯ |web| scenarios/device-stop-failure.e2e.ts (1 test | 1 failed) 32.05s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure ASSERTION_FAILED: expect.toBeChecked failed locator: getByRole("switch", name: "Agent device access") expected: checked observed: states: focused (match count 1) ❯ scenarios/device-stop-failure.e2e.ts:33:5 31| await browser.evaluate(() => new Promise((resolve) => setTi… 32| await app.screenshot("daemon-stop-failed"); 33| process.kill(daemon.pid!, 0); | ^ 34| const settings = JSON.parse(await readFile(join(T3_HOME, "userdat… 35| const calls = await readFile(join(state, "calls.jsonl"), "utf8"); ❯ at http://127.0.0.1:33893/settings/devices ❯ trace .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/trace.md ❯ video .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:48:03 Duration 40.09s (startup 6.95s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/screenshots/001-daemon-stop-failed.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/device-stop-failure.e2e.ts:33 > Failed daemon shutdown keeps agent device access enabled and reports failure ASSERTION_FAILED: expect.toBeChecked failed trace .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/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: [isolated-checkout] Virtual store is at: node_modules/.pnpm Progress: resolved 541, reused 541, downloaded 0, added 526 Progress: resolved 844, reused 844, downloaded 0, added 829 Progress: resolved 1096, reused 1096, downloaded 0, added 1081 Progress: resolved 1344, reused 1344, downloaded 0, added 1329 Progress: resolved 1693, reused 1693, downloaded 0, added 1680 Progress: resolved 1772, reused 1772, downloaded 0, added 1766 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 9s using pnpm v12.14.0 RUN e2e v0.23.0 [isolated-checkout] run 01a1d1f3-451c-7d5f-a9bb-4fd516f33d8a · targets: web ✓ target "web" command at http://127.0.0.1:35051/.well-known/t3/environment ready 8.91s ✓ |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure 14.90s ✓ |web| scenarios/device-stop-failure.e2e.ts (1 test) 14.90s Test Files 1 passed (1) Tests 1 passed (1) Start at 22:49:04 Duration 25.08s (startup 8.91s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/screenshots/001-daemon-stop-failed.png Markdown .e2e/prove/head/summary.md { "scenario": "Failed daemon shutdown keeps agent device access enabled and reports failure", "failsOnBase": true, "passesOnHead": true, "baseSha": "b63d3c592318ce936f787c48023f0dba498056dd", "headSha": "0e1e6b63cd22e16b98480dbd4ce1b1201908b333", "verdict": "Proven: the scenario fails on base `b63d3c5923` and passes on head `0e1e6b63cd`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeVisible getByText(\"Device settings not saved on all environments\")", "status": "passed" } ] }, "captures": [ "[isolated-checkout]", "[isolated-checkout]", "[isolated-checkout]" ], "videos": [ "[isolated-checkout]", "[isolated-checkout]" ], "markdown": "### Scenario: Failed daemon shutdown keeps agent device access enabled and reports failure\n\n**Proven: the scenario fails on base `b63d3c5923` and passes on head `0e1e6b63cd`.**\n\n| | Base `b63d3c5923` | Head `0e1e6b63cd` |\n| --- | --- | --- |\n| Result | ❌ failed
ASSERTION_FAILED: expect.toBeChecked failed
locator: getByRole(\"switch\", name: \"Agent device access\")
expected: checked
observed: states: focused (match count 1) | ✅ passed |\n| daemon stop failed | ![Base b63d3c5923: daemon stop failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/5741fe60254cbb5f/001-daemon-stop-failed.png) | ![Head 0e1e6b63cd: daemon stop failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/17e50e36595324b3/001-daemon-stop-failed.png) |\n| failure | ![Base b63d3c5923: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/3c2c926ce3536f66/002-failure.png) | |\n", "base": { "sha": "b63d3c592318ce936f787c48023f0dba498056dd", "status": "failed", "title": "Failed daemon shutdown keeps agent device access enabled and reports failure", "message": "ASSERTION_FAILED: expect.toBeChecked failed\nlocator: getByRole(\"switch\", name: \"Agent device access\")\nexpected: checked\nobserved: states: focused (match count 1)", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "failed" } ], "captures": [ "[isolated-checkout]", "[isolated-checkout]" ], "videos": [ "[isolated-checkout]" ] }, "head": { "sha": "0e1e6b63cd22e16b98480dbd4ce1b1201908b333", "status": "passed", "title": "Failed daemon shutdown keeps agent device access enabled and reports failure", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeVisible getByText(\"Device settings not saved on all environments\")", "status": "passed" } ], "captures": [ "[isolated-checkout]" ], "videos": [ "[isolated-checkout]" ] } } prove-final.log $ node scripts/prove-scenario.ts scripts/scenarios/device-stop-failure.e2e.ts --base b63d3c592318ce936f787c48023f0dba498056dd --head 0e1e6b63cd22e16b98480dbd4ce1b1201908b333 --upload-command 'ghdrop upload' ⊘ 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: [isolated-checkout] Virtual store is at: node_modules/.pnpm Progress: resolved 766, reused 766, downloaded 0, added 751 Progress: resolved 1270, reused 1270, downloaded 0, added 1255 Progress: resolved 1671, reused 1671, downloaded 0, added 1658 Progress: resolved 1774, reused 1774, downloaded 0, added 1768 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 5.5s using pnpm v12.14.0 RUN e2e v0.23.0 [isolated-checkout] run 01a1d1f4-0de6-76ba-b905-812c54744f1e · targets: web ✓ target "web" command at http://127.0.0.1:37587/.well-known/t3/environment ready 6.70s × |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure 28.64s → expect.toBeChecked failed ❯ |web| scenarios/device-stop-failure.e2e.ts (1 test | 1 failed) 28.64s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure ASSERTION_FAILED: expect.toBeChecked failed locator: getByRole("switch", name: "Agent device access") expected: checked observed: states: focused (match count 1) ❯ scenarios/device-stop-failure.e2e.ts:44:5 42| }; 43| await writeFile(join(process.env.PROOF_OUTPUT_DIR ?? T3_HOME, `ru… 44| await expect(access).toBeChecked(); | ^ 45| await expect(screen.getByText("Device settings not saved on all e… 46| } finally { ❯ at http://127.0.0.1:37587/settings/devices ❯ trace .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/trace.md ❯ video .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:49:55 Duration 36.38s (startup 6.70s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/screenshots/001-daemon-stop-failed.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/device-stop-failure.e2e.ts:44 > Failed daemon shutdown keeps agent device access enabled and reports failure ASSERTION_FAILED: expect.toBeChecked failed trace .e2e/prove/base/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/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: [isolated-checkout] Virtual store is at: node_modules/.pnpm Progress: resolved 717, reused 717, downloaded 0, added 702 Progress: resolved 1280, reused 1280, downloaded 0, added 1265 Progress: resolved 1772, reused 1772, downloaded 0, added 1761 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 5.1s using pnpm v12.14.0 RUN e2e v0.23.0 [isolated-checkout] run 01a1d1f4-d254-701d-a99a-9a2dbce3224a · targets: web ✓ target "web" command at http://127.0.0.1:45235/.well-known/t3/environment ready 5.54s ✓ |web| scenarios/device-stop-failure.e2e.ts > Failed daemon shutdown keeps agent device access enabled and reports failure 14.64s ✓ |web| scenarios/device-stop-failure.e2e.ts (1 test) 14.64s Test Files 1 passed (1) Tests 1 passed (1) Start at 22:50:45 Duration 20.99s (startup 5.54s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/device-stop-failure-failed-daemon-shutdown-keeps-9ca4cfea42300483/attempt-1/screenshots/001-daemon-stop-failed.png Markdown .e2e/prove/head/summary.md { "scenario": "Failed daemon shutdown keeps agent device access enabled and reports failure", "failsOnBase": true, "passesOnHead": true, "baseSha": "b63d3c592318ce936f787c48023f0dba498056dd", "headSha": "0e1e6b63cd22e16b98480dbd4ce1b1201908b333", "verdict": "Proven: the scenario fails on base `b63d3c5923` and passes on head `0e1e6b63cd`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeVisible getByText(\"Device settings not saved on all environments\")", "status": "passed" } ] }, "captures": [ "[isolated-checkout]", "[isolated-checkout]", "[isolated-checkout]" ], "videos": [ "[isolated-checkout]", "[isolated-checkout]" ], "markdown": "### Scenario: Failed daemon shutdown keeps agent device access enabled and reports failure\n\n**Proven: the scenario fails on base `b63d3c5923` and passes on head `0e1e6b63cd`.**\n\n| | Base `b63d3c5923` | Head `0e1e6b63cd` |\n| --- | --- | --- |\n| Result | ❌ failed
ASSERTION_FAILED: expect.toBeChecked failed
locator: getByRole(\"switch\", name: \"Agent device access\")
expected: checked
observed: states: focused (match count 1) | ✅ passed |\n| daemon stop failed | ![Base b63d3c5923: daemon stop failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/b160469d72637904/001-daemon-stop-failed.png) | ![Head 0e1e6b63cd: daemon stop failed](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ffebcfbc68b31302/001-daemon-stop-failed.png) |\n| failure | ![Base b63d3c5923: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/8bec8c3752479107/002-failure.png) | |\n", "base": { "sha": "b63d3c592318ce936f787c48023f0dba498056dd", "status": "failed", "title": "Failed daemon shutdown keeps agent device access enabled and reports failure", "message": "ASSERTION_FAILED: expect.toBeChecked failed\nlocator: getByRole(\"switch\", name: \"Agent device access\")\nexpected: checked\nobserved: states: focused (match count 1)", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "failed" } ], "captures": [ "[isolated-checkout]", "[isolated-checkout]" ], "videos": [ "[isolated-checkout]" ] }, "head": { "sha": "0e1e6b63cd22e16b98480dbd4ce1b1201908b333", "status": "passed", "title": "Failed daemon shutdown keeps agent device access enabled and reports failure", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Device shutdown proof\").first() → visible", "status": "passed" }, { "step": "app.open /settings/devices", "status": "passed" }, { "step": "locator.tap getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeEnabled getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot daemon-stop-failed", "status": "passed" }, { "step": "expect.toBeChecked getByRole(\"switch\", name: \"Agent device access\")", "status": "passed" }, { "step": "expect.toBeVisible getByText(\"Device settings not saved on all environments\")", "status": "passed" } ], "captures": [ "[isolated-checkout]" ], "videos": [ "[isolated-checkout]" ] } }