Skip to content

feat(workspace-team): team workspaces, shared resources, workspace-scoped billing, and the #5517 redesign #17216

feat(workspace-team): team workspaces, shared resources, workspace-scoped billing, and the #5517 redesign

feat(workspace-team): team workspaces, shared resources, workspace-scoped billing, and the #5517 redesign #17216

Triggered via pull request August 3, 2026 17:27
Status Failure
Total duration 22m 10s
Artifacts 8

ci.yml

on: pull_request
Resolve runner profiles
13s
Resolve runner profiles
Detect validation scopes
21s
Detect validation scopes
Static gate
25s
Static gate
Matrix: playwright_critical
Matrix: playwright_visual
Matrix: ui_p0
Preflight
3m 18s
Preflight
Workspace unit tests
2m 0s
Workspace unit tests
Windows tools-pack payload tests
2m 42s
Windows tools-pack payload tests
Web workspace tests
6m 7s
Web workspace tests
E2E Vitest
4m 13s
E2E Vitest
Validate workspace
6s
Validate workspace
Runtime summary
4s
Runtime summary
Fit to window
Zoom out
Zoom in

Annotations

23 errors, 3 warnings, and 7 notices
E2E Vitest
Process completed with exit code 1.
tests/collab/workspace-switch-and-billing.test.ts > workspace switching and scoped billing > switches the local workspace and never authorizes personal or foreign billing scopes: e2e/tests/collab/workspace-switch-and-billing.test.ts#L125
AssertionError: expected 200 to be 403 // Object.is equality - Expected + Received - 403 + 200 ❯ expectStatus tests/collab/workspace-switch-and-billing.test.ts:125:27 ❯ tests/collab/workspace-switch-and-billing.test.ts:212:11 ❯ runToolsDevSuite lib/vitest/suite.ts:276:5 ❯ tests/collab/workspace-switch-and-billing.test.ts:139:7
tests/collab/workspace-skill-resource-isolation.test.ts > workspace-scoped skill resources > [P0] import, mutation, team share, and unshare stay inside the owning workspace: e2e/tests/collab/workspace-skill-resource-isolation.test.ts#L250
AssertionError: expected 404 to be 403 // Object.is equality - Expected + Received - 403 + 404 ❯ tests/collab/workspace-skill-resource-isolation.test.ts:250:13 ❯ runToolsDevSuite lib/vitest/suite.ts:276:5 ❯ tests/collab/workspace-skill-resource-isolation.test.ts:193:7
[chromium] › ui/amr-run-failure-recovery.test.ts:699:1 › [P0] after an AMR failure the user can switch to Codex and complete a fresh run: e2e/lib/playwright/amr.ts#L390
2) [chromium] › ui/amr-run-failure-recovery.test.ts:699:1 › [P0] after an AMR failure the user can switch to Codex and complete a fresh run Error: locator.click: Test timeout of 120000ms exceeded. Call log: - waiting for getByTestId('chat-composer-input') - locator resolved to <div role="combobox" spellcheck="true" aria-readonly="true" aria-expanded="false" contenteditable="false" aria-autocomplete="none" data-lexical-editor="true" aria-controls="mention-listbox" data-testid="chat-composer-input" class="ph-no-capture composer-editable" title="This is a shared project — you can view and comment, but not change artifacts through Chat or the editing tools." aria-placeholder="This is a shared project — you can view and comment, but not change artifacts through Chat or the ed…>…</div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is not enabled - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is not enabled - retrying click action - waiting 100ms 223 × waiting for element to be visible, enabled and stable - element is not enabled - retrying click action - waiting 500ms at ../lib/playwright/amr.ts:390 388 | const input = page.getByTestId('chat-composer-input'); 389 | await expect(input).toBeVisible({ timeout: 10_000 }); > 390 | await input.click(); | ^ 391 | await input.fill(prompt); 392 | await expect(page.getByTestId('chat-send')).toBeEnabled(); 393 | await input.press('Enter'); at sendPrompt (/home/runner/_work/open-design/open-design/e2e/lib/playwright/amr.ts:390:15) at /home/runner/_work/open-design/open-design/e2e/ui/amr-run-failure-recovery.test.ts:720:3
[chromium] › ui/amr-run-failure-recovery.test.ts:699:1 › [P0] after an AMR failure the user can switch to Codex and complete a fresh run: e2e/ui/amr-run-failure-recovery.test.ts#L0
2) [chromium] › ui/amr-run-failure-recovery.test.ts:699:1 › [P0] after an AMR failure the user can switch to Codex and complete a fresh run Test timeout of 120000ms exceeded.
[chromium] › ui/amr-run-failure-recovery.test.ts:118:1 › [P0] @critical AMR insufficient-balance failures surface Top up AMR and recover after manual Retry: e2e/lib/playwright/amr.ts#L390
1) [chromium] › ui/amr-run-failure-recovery.test.ts:118:1 › [P0] @critical AMR insufficient-balance failures surface Top up AMR and recover after manual Retry Error: locator.click: Test timeout of 120000ms exceeded. Call log: - waiting for getByTestId('chat-composer-input') - locator resolved to <div role="combobox" spellcheck="true" aria-readonly="true" aria-expanded="false" contenteditable="false" aria-autocomplete="none" data-lexical-editor="true" aria-controls="mention-listbox" data-testid="chat-composer-input" class="ph-no-capture composer-editable" title="This is a shared project — you can view and comment, but not change artifacts through Chat or the editing tools." aria-placeholder="This is a shared project — you can view and comment, but not change artifacts through Chat or the ed…>…</div> - attempting click action 2 × waiting for element to be visible, enabled and stable - element is not enabled - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is not enabled - retrying click action - waiting 100ms 224 × waiting for element to be visible, enabled and stable - element is not enabled - retrying click action - waiting 500ms at ../lib/playwright/amr.ts:390 388 | const input = page.getByTestId('chat-composer-input'); 389 | await expect(input).toBeVisible({ timeout: 10_000 }); > 390 | await input.click(); | ^ 391 | await input.fill(prompt); 392 | await expect(page.getByTestId('chat-send')).toBeEnabled(); 393 | await input.press('Enter'); at sendPrompt (/home/runner/_work/open-design/open-design/e2e/lib/playwright/amr.ts:390:15) at /home/runner/_work/open-design/open-design/e2e/ui/amr-run-failure-recovery.test.ts:154:3
[chromium] › ui/amr-run-failure-recovery.test.ts:118:1 › [P0] @critical AMR insufficient-balance failures surface Top up AMR and recover after manual Retry: e2e/ui/amr-run-failure-recovery.test.ts#L0
1) [chromium] › ui/amr-run-failure-recovery.test.ts:118:1 › [P0] @critical AMR insufficient-balance failures surface Top up AMR and recover after manual Retry Test timeout of 120000ms exceeded.
UI P0 (entry-settings)
Process completed with exit code 1.
[chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates: e2e/ui/workspace-team-interactions.test.ts#L872
1) [chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 120000ms exceeded. Call log: - waiting for getByRole('menuitem', { name: 'Move out of team space' }) 870 | 871 | await openProjectMenu(sharedCard); > 872 | await page.getByRole('menuitem', { name: 'Move out of team space' }).click(); | ^ 873 | const moveOutDialog = page.getByRole('alertdialog', { name: 'Move out of team space' }); 874 | await expect(moveOutDialog).toContainText('only you can view and edit it'); 875 | await moveOutDialog.getByRole('button', { name: 'Confirm move' }).click(); at /home/runner/_work/open-design/open-design/e2e/ui/workspace-team-interactions.test.ts:872:72
[chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates: e2e/ui/workspace-team-interactions.test.ts#L0
1) [chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 120000ms exceeded.
[chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates: e2e/ui/workspace-team-interactions.test.ts#L872
1) [chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates Error: locator.click: Test timeout of 120000ms exceeded. Call log: - waiting for getByRole('menuitem', { name: 'Move out of team space' }) 870 | 871 | await openProjectMenu(sharedCard); > 872 | await page.getByRole('menuitem', { name: 'Move out of team space' }).click(); | ^ 873 | const moveOutDialog = page.getByRole('alertdialog', { name: 'Move out of team space' }); 874 | await expect(moveOutDialog).toContainText('only you can view and edit it'); 875 | await moveOutDialog.getByRole('button', { name: 'Confirm move' }).click(); at /home/runner/_work/open-design/open-design/e2e/ui/workspace-team-interactions.test.ts:872:72
[chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates: e2e/ui/workspace-team-interactions.test.ts#L0
1) [chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates Test timeout of 120000ms exceeded.
[chromium] › ui/project-management-flows.test.ts:1820:1 › [P0] @critical project detail composer BYOK model switch persists from the agent menu: e2e/ui/project-management-flows.test.ts#L0
6) [chromium] › ui/project-management-flows.test.ts:1820:1 › [P0] @critical project detail composer BYOK model switch persists from the agent menu Test timeout of 60000ms exceeded.
[chromium] › ui/project-management-flows.test.ts:1693:1 › [P0] project detail composer model and Plan mode switches carry into the next daemon run request: e2e/ui/project-management-flows.test.ts#L1707
5) [chromium] › ui/project-management-flows.test.ts:1693:1 › [P0] project detail composer model and Plan mode switches carry into the next daemon run request Error: locator.fill: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('chat-composer-input') - locator resolved to <div role="combobox" spellcheck="true" aria-readonly="true" aria-expanded="false" contenteditable="false" aria-autocomplete="none" data-lexical-editor="true" aria-controls="mention-listbox" data-testid="chat-composer-input" class="ph-no-capture composer-editable" title="This is a shared project — you can view and comment, but not change artifacts through Chat or the editing tools." aria-placeholder="This is a shared project — you can view and comment, but not change artifacts through Chat or the ed…>…</div> - fill("Plan the selected local agent run.") - attempting fill action 2 × waiting for element to be visible, enabled and editable - element is not enabled - retrying fill action - waiting 20ms 2 × waiting for element to be visible, enabled and editable - element is not enabled - retrying fill action - waiting 100ms 105 × waiting for element to be visible, enabled and editable - element is not enabled - retrying fill action - waiting 500ms 1705 | 1706 | const input = page.getByTestId('chat-composer-input'); > 1707 | await input.fill('Plan the selected local agent run.'); | ^ 1708 | await Promise.all([ 1709 | page.waitForRequest((request) => request.url().includes('/api/runs') && request.method() === 'POST'), 1710 | page.getByTestId('chat-send').click(), at /home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:1707:15
[chromium] › ui/project-management-flows.test.ts:1693:1 › [P0] project detail composer model and Plan mode switches carry into the next daemon run request: e2e/ui/project-management-flows.test.ts#L0
5) [chromium] › ui/project-management-flows.test.ts:1693:1 › [P0] project detail composer model and Plan mode switches carry into the next daemon run request Test timeout of 60000ms exceeded.
[chromium] › ui/project-management-flows.test.ts:1597:1 › [P0] Team project balance gate ignores funded Personal wallet and blocks on empty Team wallet: e2e/ui/project-management-flows.test.ts#L3946
4) [chromium] › ui/project-management-flows.test.ts:1597:1 › [P0] Team project balance gate ignores funded Personal wallet and blocks on empty Team wallet Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByTestId('project-title') Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByTestId('project-title') 3944 | await page.getByText('Loading Open Design…').waitFor({ state: 'hidden', timeout: T.long }).catch(() => {}); 3945 | await dismissPrivacyDialog(page); > 3946 | await expect(page.getByTestId('project-title')).toBeVisible(); | ^ 3947 | await expect(page.getByTestId('chat-composer')).toBeVisible(); 3948 | await expect(page.getByTestId('chat-composer-input')).toBeVisible(); 3949 | await expect(page.locator('.chat-loading-state')).toHaveCount(0, { timeout: T.medium }); at expectWorkspaceReady (/home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:3946:51) at /home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:1638:5
[chromium] › ui/project-management-flows.test.ts:1597:1 › [P0] Team project balance gate ignores funded Personal wallet and blocks on empty Team wallet: e2e/ui/project-management-flows.test.ts#L3946
4) [chromium] › ui/project-management-flows.test.ts:1597:1 › [P0] Team project balance gate ignores funded Personal wallet and blocks on empty Team wallet Error: expect(locator).toBeVisible() failed Locator: getByTestId('project-title') Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByTestId('project-title') 3944 | await page.getByText('Loading Open Design…').waitFor({ state: 'hidden', timeout: T.long }).catch(() => {}); 3945 | await dismissPrivacyDialog(page); > 3946 | await expect(page.getByTestId('project-title')).toBeVisible(); | ^ 3947 | await expect(page.getByTestId('chat-composer')).toBeVisible(); 3948 | await expect(page.getByTestId('chat-composer-input')).toBeVisible(); 3949 | await expect(page.locator('.chat-loading-state')).toHaveCount(0, { timeout: T.medium }); at expectWorkspaceReady (/home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:3946:51) at /home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:1638:5
[chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending: e2e/ui/project-management-flows.test.ts#L3946
3) [chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByTestId('project-title') Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByTestId('project-title') 3944 | await page.getByText('Loading Open Design…').waitFor({ state: 'hidden', timeout: T.long }).catch(() => {}); 3945 | await dismissPrivacyDialog(page); > 3946 | await expect(page.getByTestId('project-title')).toBeVisible(); | ^ 3947 | await expect(page.getByTestId('chat-composer')).toBeVisible(); 3948 | await expect(page.getByTestId('chat-composer-input')).toBeVisible(); 3949 | await expect(page.locator('.chat-loading-state')).toHaveCount(0, { timeout: T.medium }); at expectWorkspaceReady (/home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:3946:51) at /home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:1558:5
[chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending: e2e/ui/project-management-flows.test.ts#L1472
3) [chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending Error: "route.fetch: Target page, context or browser has been closed Call log: - → GET http://127.0.0.1:45937/api/projects/project-1785778621314-fltbcb - user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36 - accept: */* - accept-encoding: gzip,deflate,br - accept-language: en-US - referer: http://127.0.0.1:45937/projects/project-1785778621314-fltbcb/conversations/e3da83e5-6cbb-4584-9d1b-87ec0505a6b4 - sec-ch-ua: "Chromium";v="148", "HeadlessChrome";v="148", "Not/A)Brand";v="99" - sec-ch-ua-mobile: ?0 - sec-ch-ua-platform: "Windows" - x-od-workspace-id: e2e-team-run-workspace - x-od-workspace-member-id: e2e-team-run-member " while running route callback. Consider awaiting `await page.unrouteAll({ behavior: 'ignoreErrors' })` before the end of the test to ignore remaining routes in flight. 1470 | return; 1471 | } > 1472 | const responseFromDaemon = await route.fetch(); | ^ 1473 | const body = (await responseFromDaemon.json()) as { 1474 | project?: Record<string, unknown>; 1475 | }; at /home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:1472:44
[chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending: e2e/ui/project-management-flows.test.ts#L3946
3) [chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending Error: expect(locator).toBeVisible() failed Locator: getByTestId('project-title') Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByTestId('project-title') 3944 | await page.getByText('Loading Open Design…').waitFor({ state: 'hidden', timeout: T.long }).catch(() => {}); 3945 | await dismissPrivacyDialog(page); > 3946 | await expect(page.getByTestId('project-title')).toBeVisible(); | ^ 3947 | await expect(page.getByTestId('chat-composer')).toBeVisible(); 3948 | await expect(page.getByTestId('chat-composer-input')).toBeVisible(); 3949 | await expect(page.locator('.chat-loading-state')).toHaveCount(0, { timeout: T.medium }); at expectWorkspaceReady (/home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:3946:51) at /home/runner/_work/open-design/open-design/e2e/ui/project-management-flows.test.ts:1558:5
[chromium] › ui/app.test.ts:103:3 › [P0] @critical file-upload-send: Composer file picker uploads a file and sends it with the prompt: e2e/ui/app.test.ts#L1535
2) [chromium] › ui/app.test.ts:103:3 › [P0] @critical file-upload-send: Composer file picker uploads a file and sends it with the prompt Error: expect(locator).toBeVisible() failed Locator: getByText('reference.txt', { exact: true }) Expected: visible Error: strict mode violation: getByText('reference.txt', { exact: true }) resolved to 2 elements: 1) <span class="df-row-name" title="reference.txt">reference.txt</span> aka getByRole('button', { name: 'reference.txt Text' }) 2) <span class="staged-name" title="reference.txt">reference.txt</span> aka getByTestId('staged-contexts').getByText('reference.txt') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('reference.txt', { exact: true }) 1533 | 1534 | await expect(stagedAttachmentName(page, 'reference.txt')).toBeVisible(); > 1535 | await expect(page.getByText('reference.txt', { exact: true })).toBeVisible(); | ^ 1536 | 1537 | await sendPrompt(page, entry.prompt); 1538 | await expect(page.locator('.msg.user').getByText(entry.prompt, { exact: true })).toBeVisible(); at runFileUploadSendFlow (/home/runner/_work/open-design/open-design/e2e/ui/app.test.ts:1535:66) at /home/runner/_work/open-design/open-design/e2e/ui/app.test.ts:319:7
[chromium] › ui/app-manual-edit.test.ts:145:1 › [P0] manual edit mode preserves the current page in a multi-page mobile app: e2e/ui/app-manual-edit.test.ts#L164
1) [chromium] › ui/app-manual-edit.test.ts:145:1 › [P0] manual edit mode preserves the current page in a multi-page mobile app Error: expect(locator).toBeHidden() failed Locator: locator('[data-testid="artifact-preview-frame"]:visible, [data-testid="artifact-preview-frame-url-load"]:visible, [data-testid="artifact-preview-frame-srcdoc"]:visible, [data-testid="live-artifact-preview-frame"]:visible').contentFrame().getByTestId('mobile-page-home') Expected: hidden Received: visible Timeout: 10000ms Call log: - Expect "toBeHidden" with timeout 10000ms - waiting for locator('[data-testid="artifact-preview-frame"]:visible, [data-testid="artifact-preview-frame-url-load"]:visible, [data-testid="artifact-preview-frame-srcdoc"]:visible, [data-testid="live-artifact-preview-frame"]:visible').contentFrame().getByTestId('mobile-page-home') 23 × locator resolved to <main data-page="home" data-od-id="mobile-page-home" data-testid="mobile-page-home">…</main> - unexpected value "visible" 162 | await preview.getByRole('button', { name: 'Profile' }).click(); 163 | await expect(preview.getByTestId('mobile-page-profile')).toBeVisible(); > 164 | await expect(preview.getByTestId('mobile-page-home')).toBeHidden(); | ^ 165 | 166 | await page.getByTestId('manual-edit-mode-toggle').click(); 167 | at /home/runner/_work/open-design/open-design/e2e/ui/app-manual-edit.test.ts:164:57
Validate workspace
Process completed with exit code 1.
Detect validation scopes
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
E2E Vitest
merge_group changed-file resolution failed; falling back to the full plan: Error: merge_group compare result reached GitHub's 300-file ceiling
E2E Vitest
merge_group changed-file resolution failed; falling back to the full plan: Error: Command failed: /opt/hostedtoolcache/node/24.13.0/x64/bin/node /tmp/scopes-test-VqyAtq/gh-stub.mjs api repos/nexu-io/open-design/compare/1111111111111111111111111111111111111111...2222222222222222222222222222222222222222
🎭 Playwright Run Summary
3 skipped 17 passed (2.2m)
🎭 Playwright Run Summary
18 passed (3.4m)
🎭 Playwright Run Summary
29 passed (4.6m)
🎭 Playwright Run Summary
4 passed (1.4m)
🎭 Playwright Run Summary
2 flaky [chromium] › ui/amr-run-failure-recovery.test.ts:118:1 › [P0] @critical AMR insufficient-balance failures surface Top up AMR and recover after manual Retry [chromium] › ui/amr-run-failure-recovery.test.ts:699:1 › [P0] after an AMR failure the user can switch to Codex and complete a fresh run 20 passed (9.5m)
🎭 Playwright Run Summary
1 failed [chromium] › ui/workspace-team-interactions.test.ts:837:1 › [P0] project card moves into team space and back with scoped requests and immediate list updates 1 skipped 69 passed (13.9m)
🎭 Playwright Run Summary
3 failed [chromium] › ui/project-management-flows.test.ts:1503:1 › [P0] Team project send keeps exact Team run scope while its first scope read is pending [chromium] › ui/project-management-flows.test.ts:1597:1 › [P0] Team project balance gate ignores funded Personal wallet and blocks on empty Team wallet [chromium] › ui/project-management-flows.test.ts:1820:1 › [P0] @critical project detail composer BYOK model switch persists from the agent menu 3 flaky [chromium] › ui/app-manual-edit.test.ts:145:1 › [P0] manual edit mode preserves the current page in a multi-page mobile app [chromium] › ui/app.test.ts:103:3 › [P0] @critical file-upload-send: Composer file picker uploads a file and sends it with the prompt [chromium] › ui/project-management-flows.test.ts:1693:1 › [P0] project detail composer model and Plan mode switches carry into the next daemon run request 31 passed (19.5m)

Artifacts

Produced during runtime
Name Size Digest
handoff-report-visual-pr Expired
438 Bytes
sha256:1ff124af9c175b59ec9466d60fabee767b1e8a9b6efe669d67323d4584098d06
ui-p0-ci-30836850745-entry-settings Expired
14.4 MB
sha256:6ffed2b6c3f8ec5d0ec703db8abc3a4ddf41a1603823cc599aba0f870718bdd7
ui-p0-ci-30836850745-project-runtime Expired
286 KB
sha256:434ea68ec57ee2995bb88e686207650a668f07161cc90e2c7fd3e63db024e2b6
ui-p0-ci-30836850745-project-runtime-domain Expired
18.5 MB
sha256:c1f34df4db81fa0b3c91369ae820271f125381f99f297dac4a71baaf41518d84
ui-p0-ci-30836850745-project-workspace Expired
46.4 MB
sha256:3cf3afcebb0ceb7f3847bcf3e7731a6e57269e4b51d5b679cf4da4702ea72fed
ui-p0-ci-30836850745-workspace-restoration Expired
380 KB
sha256:c8153433b9316a62f152f17cae62ec97bf35c778156d9b1c0ee281f9c89c1fca
visual-pr-capture-6142-30836850745-entry-navigation Expired
5.51 MB
sha256:a3f07185f8249eaf9f166829bafc63f026f9ba54878e5a76239cfcbeb4aae107
visual-pr-capture-6142-30836850745-settings-workspace Expired
3.13 MB
sha256:e49fe47f6289b7d4084193663f0fa00a6cd8eba5fb319535df2ae102fa85eba7