--- prove-first.log --- $ node scripts/prove-scenario.ts scripts/scenarios/composer-descriptions.e2e.ts --base ee9e36c8b20e739f107bdbacea82d12f912d97b1 --head fad973034c5e011a1d1ec1af1c205184b2a6f419 ⊘ 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 1344, reused 1344, downloaded 0, added 1329 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 3.1s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1ca-d0b9-79d7-ba76-d00a8e71b6a1 · targets: web, ios ✓ target "web" command at http://127.0.0.1:44605/.well-known/t3/environment ready 5.17s ✓ target "ios" command at http://127.0.0.1:8190/status ready 6.46s × |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus 34.31s → tap did not become actionable in time: locator.click: Timeout 23142ms ex… ❯ |web| scenarios/composer-descriptions.e2e.ts (1 test | 1 failed) 34.31s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23142ms exceeded.
  • …
  • intercepts pointer events: getByText("Description demo").first() ❯ at http://127.0.0.1:44605/draft/3722fbc5-073d-4773-9742-1dc0bf1134b8 ❯ trace .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/trace.md ❯ video .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:04:52 Duration 46.75s (startup 11.63s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/composer-descriptions.e2e.ts:15 > Composer descriptions follow pointer and keyboard selection in multi-row menus ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23142ms exceeded.
  • …
  • intercepts pointer events: getByText("Description demo").first() trace .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/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 1335, reused 1335, downloaded 0, added 1320 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 3.1s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1cb-b6fb-7746-b72e-3dd91a04f856 · targets: web, ios ✓ target "web" command at http://127.0.0.1:41325/.well-known/t3/environment ready 5.10s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.31s × |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus 33.36s → tap did not become actionable in time: locator.click: Timeout 23968ms ex… ❯ |web| scenarios/composer-descriptions.e2e.ts (1 test | 1 failed) 33.36s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23968ms exceeded.
  • …
  • intercepts pointer events: getByText("Description demo").first() ❯ at http://127.0.0.1:41325/draft/ab78611a-ddd8-4e82-bb3d-c271e9e34a9a ❯ trace .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/trace.md ❯ video .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:05:51 Duration 44.52s (startup 10.41s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/composer-descriptions.e2e.ts:15 > Composer descriptions follow pointer and keyboard selection in multi-row menus ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23968ms exceeded.
  • …
  • intercepts pointer events: getByText("Description demo").first() trace .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/trace.md { "scenario": "Composer descriptions follow pointer and keyboard selection in multi-row menus", "failsOnBase": false, "passesOnHead": false, "baseSha": "ee9e36c8b20e739f107bdbacea82d12f912d97b1", "headSha": "fad973034c5e011a1d1ec1af1c205184b2a6f419", "verdict": "Not proven: the scenario could not run on base `ee9e36c8b2` (ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23142ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Description demo\").first()).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Description demo\").first()", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Description demo\").first()", "status": "failed" } ] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Composer descriptions follow pointer and keyboard selection in multi-row menus\n\n**Not proven: the scenario could not run on base `ee9e36c8b2` (ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23142ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Description demo\").first()).**\n\n| | Base `ee9e36c8b2` | Head `fad973034c` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
    ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23142ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Description demo\").first() | ⚠️ could not run
    ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23968ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Description demo\").first() |\n| failure | ![Base ee9e36c8b2: failure](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-failure.png) | ![Head fad973034c: failure](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-failure.png) |\n", "base": { "sha": "ee9e36c8b20e739f107bdbacea82d12f912d97b1", "status": "error", "title": "Composer descriptions follow pointer and keyboard selection in multi-row menus", "message": "ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23142ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Description demo\").first()", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Description demo\").first()", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "fad973034c5e011a1d1ec1af1c205184b2a6f419", "status": "error", "title": "Composer descriptions follow pointer and keyboard selection in multi-row menus", "message": "ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 23968ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Description demo\").first()", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Description demo\").first()", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] } } --- prove-second.log --- $ node scripts/prove-scenario.ts scripts/scenarios/composer-descriptions.e2e.ts --base ee9e36c8b20e739f107bdbacea82d12f912d97b1 --head fad973034c5e011a1d1ec1af1c205184b2a6f419 ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 14m 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 1473, reused 1473, downloaded 0, added 1461 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 2.8s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1cc-cc25-7d5e-85c1-417cd6ebbda8 · targets: web, ios ✓ target "web" command at http://127.0.0.1:44255/.well-known/t3/environment ready 4.39s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.22s × |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus 29.48s → 6 soft assertions failed ❯ |web| scenarios/composer-descriptions.e2e.ts (1 test | 1 failed) 29.48s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus ASSERTION_FAILED: 6 soft assertions failed 1. expect.toHaveText failed locator: getByRole("tooltip") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) 2. expect.toHaveText failed locator: getByRole("tooltip") expected: text "Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps." observed: no node (match count 0) 3. expect.toHaveText failed locator: getByRole("tooltip") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) 4. expect.toHaveText failed locator: getByRole("tooltip") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) 5. expect.toHaveText failed locator: getByRole("tooltip") expected: text "Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps." observed: no node (match count 0) 6. expect.toHaveText failed locator: getByRole("tooltip") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) ❯ scenarios/composer-descriptions.e2e.ts:42:9 40| await new Promise((resolve) => setTimeout(resolve, 700)); 41| await app.screenshot(`${kind}-hover-middle`); 42| await expect.soft(screen.getByRole("tooltip")).toHaveText(det… | ^ 43| await expect.soft(composer).toBeFocused(); 44| await browser.mouse.move(20, 20); ❯ at http://127.0.0.1:44255/5b5e9c30-82b4-4da5-bf25-50afae8c2033/mcp%3Aa6e731c2-b340-48b6-9198-03a2177ae554 ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/trace.md ❯ video .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:07:02 Duration 39.86s (startup 9.62s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-command-hover-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/002-command-keyboard-down-bottom.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/003-command-keyboard-up-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/004-command-keyboard-short-no-tooltip.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/005-command-hover-short-no-tooltip.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/006-skill-hover-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/007-skill-keyboard-down-bottom.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/008-skill-keyboard-up-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/009-skill-keyboard-short-no-tooltip.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/010-skill-hover-short-no-tooltip.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/composer-descriptions.e2e.ts:42 > Composer descriptions follow pointer and keyboard selection in multi-row menus ASSERTION_FAILED: 6 soft assertions failed trace .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/trace.md 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: Virtual store is at: node_modules/.pnpm Progress: resolved 1149, reused 1149, downloaded 0, added 1135 Progress: resolved 1775, reused 1775, downloaded 0, added 1774 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 3.4s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1cd-983d-7fdb-ad8c-435326d883e0 · targets: web, ios ✓ target "web" command at http://127.0.0.1:37479/.well-known/t3/environment ready 5.06s ✓ target "ios" command at http://127.0.0.1:8190/status ready 6.16s --- prove-final.log --- $ node scripts/prove-scenario.ts scripts/scenarios/composer-descriptions.e2e.ts --base ee9e36c8b20e739f107bdbacea82d12f912d97b1 --head fad973034c5e011a1d1ec1af1c205184b2a6f419 ⊘ 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 1287, reused 1287, downloaded 0, added 1271 Progress: resolved 1775, reused 1775, downloaded 0, added 1775 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 3.1s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1cf-1b9c-719f-91dd-575ff4d01b68 · targets: web, ios ✓ target "web" command at http://127.0.0.1:44207/.well-known/t3/environment ready 4.56s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.48s × |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus 27.66s → 6 soft assertions failed ❯ |web| scenarios/composer-descriptions.e2e.ts (1 test | 1 failed) 27.66s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus ASSERTION_FAILED: 6 soft assertions failed 1. expect.toHaveText failed locator: locator("[data-slot=\"tooltip-popup\"]") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) 2. expect.toHaveText failed locator: locator("[data-slot=\"tooltip-popup\"]") expected: text "Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps." observed: no node (match count 0) 3. expect.toHaveText failed locator: locator("[data-slot=\"tooltip-popup\"]") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) 4. expect.toHaveText failed locator: locator("[data-slot=\"tooltip-popup\"]") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) 5. expect.toHaveText failed locator: locator("[data-slot=\"tooltip-popup\"]") expected: text "Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps." observed: no node (match count 0) 6. expect.toHaveText failed locator: locator("[data-slot=\"tooltip-popup\"]") expected: text "Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer." observed: no node (match count 0) ❯ scenarios/composer-descriptions.e2e.ts:42:9 40| await new Promise((resolve) => setTimeout(resolve, 700)); 41| await app.screenshot(`${kind}-hover-middle`); 42| await expect.soft(browser.locator('[data-slot="tooltip-popup"… | ^ 43| await expect.soft(composer).toBeFocused(); 44| await browser.mouse.move(650, 400); ❯ at http://127.0.0.1:44207/30f50523-4cf1-4d33-82ac-42ca2bc9e5e1/mcp%3A618fda76-1ae4-4a79-b081-aabef117e2fb ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/trace.md ❯ video .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 22:09:34 Duration 38.48s (startup 10.04s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-command-hover-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/002-command-keyboard-down-bottom.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/003-command-keyboard-up-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/004-command-keyboard-short-no-tooltip.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/005-command-hover-short-no-tooltip.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/006-skill-hover-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/007-skill-keyboard-down-bottom.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/008-skill-keyboard-up-middle.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/009-skill-keyboard-short-no-tooltip.png .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/010-skill-hover-short-no-tooltip.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/composer-descriptions.e2e.ts:42 > Composer descriptions follow pointer and keyboard selection in multi-row menus ASSERTION_FAILED: 6 soft assertions failed trace .e2e/prove/base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/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 1294, reused 1294, downloaded 0, added 1279 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 3s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1d1cf-dbc2-71df-a5ef-26466c9e9f51 · targets: web, ios ✓ target "web" command at http://127.0.0.1:44635/.well-known/t3/environment ready 4.19s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.19s ✓ |web| scenarios/composer-descriptions.e2e.ts > Composer descriptions follow pointer and keyboard selection in multi-row menus 21.09s ✓ |web| scenarios/composer-descriptions.e2e.ts (1 test) 21.09s Test Files 1 passed (1) Tests 1 passed (1) Start at 22:10:23 Duration 31.32s (startup 9.38s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-command-hover-middle.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/002-command-keyboard-down-bottom.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/003-command-keyboard-up-middle.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/004-command-keyboard-short-no-tooltip.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/005-command-hover-short-no-tooltip.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/006-skill-hover-middle.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/007-skill-keyboard-down-bottom.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/008-skill-keyboard-up-middle.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/009-skill-keyboard-short-no-tooltip.png .e2e/prove/head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/010-skill-hover-short-no-tooltip.png Markdown .e2e/prove/head/summary.md { "scenario": "Composer descriptions follow pointer and keyboard selection in multi-row menus", "failsOnBase": true, "passesOnHead": true, "baseSha": "ee9e36c8b20e739f107bdbacea82d12f912d97b1", "headSha": "fad973034c5e011a1d1ec1af1c205184b2a6f419", "verdict": "Proven: the scenario fails on base `ee9e36c8b2` and passes on head `fad973034c`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Description demo, Done, Composer demo\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "app.screenshot command-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot command-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-aaa/)", "status": "passed" }, { "step": "app.screenshot command-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-bbb/)", "status": "passed" }, { "step": "app.screenshot skill-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot skill-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-aaa/)", "status": "passed" }, { "step": "app.screenshot skill-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Description demo, Done, Composer demo\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "app.screenshot command-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot command-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-aaa/)", "status": "passed" }, { "step": "app.screenshot command-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-bbb/)", "status": "passed" }, { "step": "app.screenshot skill-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot skill-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-aaa/)", "status": "passed" }, { "step": "app.screenshot skill-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" } ] }, "captures": [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Composer descriptions follow pointer and keyboard selection in multi-row menus\n\n**Proven: the scenario fails on base `ee9e36c8b2` and passes on head `fad973034c`.**\n\n| | Base `ee9e36c8b2` | Head `fad973034c` |\n| --- | --- | --- |\n| Result | ❌ failed
    ASSERTION_FAILED: 6 soft assertions failed
    1. expect.toHaveText failed
    locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")
    expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"
    observed: no node (match count 0)
    2. expect.toHaveText failed
    locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")
    expected: text \"Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps.\"
    observed: no node (match count 0)
    3. expect.toHaveText failed
    locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")
    expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"
    observed: no node (match count 0)
    4. expect.toHaveText failed
    locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")
    expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"
    observed: no node (match count 0)
    5. expect.toHaveText failed
    locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")
    expected: text \"Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps.\"
    observed: no node (match count 0)
    6. expect.toHaveText failed
    locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")
    expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"
    observed: no node (match count 0) | ✅ passed |\n| command hover middle | ![Base ee9e36c8b2: command hover middle](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-command-hover-middle.png) | ![Head fad973034c: command hover middle](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/001-command-hover-middle.png) |\n| command keyboard down bottom | ![Base ee9e36c8b2: command keyboard down bottom](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/002-command-keyboard-down-bottom.png) | ![Head fad973034c: command keyboard down bottom](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/002-command-keyboard-down-bottom.png) |\n| command keyboard up middle | ![Base ee9e36c8b2: command keyboard up middle](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/003-command-keyboard-up-middle.png) | ![Head fad973034c: command keyboard up middle](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/003-command-keyboard-up-middle.png) |\n| command keyboard short no tooltip | ![Base ee9e36c8b2: command keyboard short no tooltip](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/004-command-keyboard-short-no-tooltip.png) | ![Head fad973034c: command keyboard short no tooltip](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/004-command-keyboard-short-no-tooltip.png) |\n| command hover short no tooltip | ![Base ee9e36c8b2: command hover short no tooltip](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/005-command-hover-short-no-tooltip.png) | ![Head fad973034c: command hover short no tooltip](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/005-command-hover-short-no-tooltip.png) |\n| skill hover middle | ![Base ee9e36c8b2: skill hover middle](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/006-skill-hover-middle.png) | ![Head fad973034c: skill hover middle](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/006-skill-hover-middle.png) |\n| skill keyboard down bottom | ![Base ee9e36c8b2: skill keyboard down bottom](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/007-skill-keyboard-down-bottom.png) | ![Head fad973034c: skill keyboard down bottom](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/007-skill-keyboard-down-bottom.png) |\n| skill keyboard up middle | ![Base ee9e36c8b2: skill keyboard up middle](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/008-skill-keyboard-up-middle.png) | ![Head fad973034c: skill keyboard up middle](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/008-skill-keyboard-up-middle.png) |\n| skill keyboard short no tooltip | ![Base ee9e36c8b2: skill keyboard short no tooltip](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/009-skill-keyboard-short-no-tooltip.png) | ![Head fad973034c: skill keyboard short no tooltip](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/009-skill-keyboard-short-no-tooltip.png) |\n| skill hover short no tooltip | ![Base ee9e36c8b2: skill hover short no tooltip](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/010-skill-hover-short-no-tooltip.png) | ![Head fad973034c: skill hover short no tooltip](head/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/010-skill-hover-short-no-tooltip.png) |\n| failure | ![Base ee9e36c8b2: failure](base/results/composer-descriptions-composer-descriptions-follow-6b1ff11c7189b855/attempt-1/screenshots/011-failure.png) | |\n", "base": { "sha": "ee9e36c8b20e739f107bdbacea82d12f912d97b1", "status": "failed", "title": "Composer descriptions follow pointer and keyboard selection in multi-row menus", "message": "ASSERTION_FAILED: 6 soft assertions failed\n1. expect.toHaveText failed\n locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")\n expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"\n observed: no node (match count 0)\n2. expect.toHaveText failed\n locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")\n expected: text \"Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps.\"\n observed: no node (match count 0)\n3. expect.toHaveText failed\n locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")\n expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"\n observed: no node (match count 0)\n4. expect.toHaveText failed\n locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")\n expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"\n observed: no node (match count 0)\n5. expect.toHaveText failed\n locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")\n expected: text \"Inspect the project configuration, compare the available options, and explain the tradeoffs for each supported workflow. Finish with a concrete recommendation and the full set of follow-up steps.\"\n observed: no node (match count 0)\n6. expect.toHaveText failed\n locator: locator(\"[data-slot=\\\"tooltip-popup\\\"]\")\n expected: text \"Review the current changes, explain every important finding, and include the complete verification checklist before suggesting the next action. Finish by listing any remaining questions for the maintainer.\"\n observed: no node (match count 0)", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Description demo, Done, Composer demo\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "app.screenshot command-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot command-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-aaa/)", "status": "passed" }, { "step": "app.screenshot command-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-bbb/)", "status": "passed" }, { "step": "app.screenshot skill-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot skill-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "failed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-aaa/)", "status": "passed" }, { "step": "app.screenshot skill-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" } ], "captures": [ "", "", "", "", "", "", "", "", "", "", "" ], "videos": [ "" ] }, "head": { "sha": "fad973034c5e011a1d1ec1af1c205184b2a6f419", "status": "passed", "title": "Composer descriptions follow pointer and keyboard selection in multi-row menus", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Description demo, Done, Composer demo\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-bbb/)", "status": "passed" }, { "step": "app.screenshot command-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot command-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot command-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofcmd-aaa/)", "status": "passed" }, { "step": "app.screenshot command-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "locator.fill getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-bbb/)", "status": "passed" }, { "step": "app.screenshot skill-hover-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.mouse.move ", "status": "passed" }, { "step": "browser.keyboard.press ArrowDown", "status": "passed" }, { "step": "app.screenshot skill-keyboard-down-bottom", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-up-middle", "status": "passed" }, { "step": "expect.toHaveText locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "browser.keyboard.press ArrowUp", "status": "passed" }, { "step": "app.screenshot skill-keyboard-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" }, { "step": "expect.toBeFocused getByRole(\"textbox\")", "status": "passed" }, { "step": "locator.hover getByRole(\"option\", name: /proofskill-aaa/)", "status": "passed" }, { "step": "app.screenshot skill-hover-short-no-tooltip", "status": "passed" }, { "step": "expect.toBeHidden locator(\"[data-slot=\\\"tooltip-popup\\\"]\")", "status": "passed" } ], "captures": [ "", "", "", "", "", "", "", "", "", "" ], "videos": [ "" ] } }