Skip to content

fix(web): keep daemon task status aligned with real completion #14572

fix(web): keep daemon task status aligned with real completion

fix(web): keep daemon task status aligned with real completion #14572

Triggered via pull request July 9, 2026 03:53
Status Failure
Total duration 5m 52s
Artifacts 8

ci.yml

on: pull_request
Resolve runner profiles
11s
Resolve runner profiles
Detect validation scopes
13s
Detect validation scopes
Static gate
10s
Static gate
Matrix: playwright_critical
Matrix: playwright_visual
Matrix: ui_p0
Validate Nix flake
Validate Nix flake
Preflight
3m 21s
Preflight
Workspace unit tests
1m 9s
Workspace unit tests
Windows tools-pack payload tests
Windows tools-pack payload tests
Web workspace tests
3m 9s
Web workspace tests
E2E Vitest
2m 44s
E2E Vitest
UI P0 smoke
1m 41s
UI P0 smoke
Docker image build
Docker image build
Validate workspace
6s
Validate workspace
Runtime summary
6s
Runtime summary
Fit to window
Zoom out
Zoom in

Annotations

8 errors, 1 warning, and 7 notices
Web workspace tests
Process completed with exit code 1.
tests/components/ProjectView.run-cleanup.test.tsx > ProjectView daemon cleanup > clears design-system auto-repair budget when the first audit passes: apps/web/tests/components/ProjectView.run-cleanup.test.tsx#L1519
AssertionError: expected "vi.fn()" to be called with arguments: [ 'project-ds-pass' ] Number of calls: 0 Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="app" > <div class="split" style="--project-chat-panel-width: 460px; --project-workspace-panel-track: minmax(400px, 1fr); grid-template-columns: 460px 8px minmax(400px, 1fr);" > <div class="split-chat-slot" /> <div aria-label="project.resizeChatPanel" aria-orientation="vertical" aria-valuemax="720" aria-valuemin="345" aria-valuenow="460" class="split-resize-handle" role="separator" tabindex="0" title="project.resizeChatPanel" /> </div> </div> </div> </body> </html> ❯ tests/components/ProjectView.run-cleanup.test.tsx:1519:70 ❯ runWithExpensiveErrorDiagnosticsDisabled ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/config.js:47:12 ❯ checkCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:124:77 ❯ Timeout.checkRealTimersCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:118:16
tests/components/ProjectView.run-cleanup.test.tsx > ProjectView daemon cleanup > does not seed audit repair prompt for manual design-system runs without auto-repair budget: apps/web/tests/components/ProjectView.run-cleanup.test.tsx#L1438
AssertionError: expected "vi.fn()" to be called with arguments: [ 'project-ds-manual' ] Number of calls: 0 Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="app" > <div class="split" style="--project-chat-panel-width: 460px; --project-workspace-panel-track: minmax(400px, 1fr); grid-template-columns: 460px 8px minmax(400px, 1fr);" > <div class="split-chat-slot" /> <div aria-label="project.resizeChatPanel" aria-orientation="vertical" aria-valuemax="720" aria-valuemin="345" aria-valuenow="460" class="split-resize-handle" role="separator" tabindex="0" title="project.resizeChatPanel" /> </div> </div> </div> </body> </html> ❯ tests/components/ProjectView.run-cleanup.test.tsx:1438:70 ❯ runWithExpensiveErrorDiagnosticsDisabled ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/config.js:47:12 ❯ checkCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:124:77 ❯ Timeout.checkRealTimersCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:118:16
tests/components/ProjectView.run-cleanup.test.tsx > ProjectView daemon cleanup > audits design-system workspace output after first auto-send and seeds a bounded repair prompt: apps/web/tests/components/ProjectView.run-cleanup.test.tsx#L1348
AssertionError: expected "vi.fn()" to be called with arguments: [ 'project-ds' ] Number of calls: 0 Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="app" > <div class="split" style="--project-chat-panel-width: 460px; --project-workspace-panel-track: minmax(400px, 1fr); grid-template-columns: 460px 8px minmax(400px, 1fr);" > <div class="split-chat-slot" /> <div aria-label="project.resizeChatPanel" aria-orientation="vertical" aria-valuemax="720" aria-valuemin="345" aria-valuenow="460" class="split-resize-handle" role="separator" tabindex="0" title="project.resizeChatPanel" /> </div> </div> </div> </body> </html> ❯ tests/components/ProjectView.run-cleanup.test.tsx:1348:70 ❯ runWithExpensiveErrorDiagnosticsDisabled ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/config.js:47:12 ❯ checkCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:124:77 ❯ Timeout.checkRealTimersCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:118:16
tests/components/ProjectView.reattach-restore.test.tsx > ProjectView daemon reattach restore > keeps replacement touched files when a superseded run emits a late colliding tool result: apps/web/tests/components/ProjectView.reattach-restore.test.tsx#L930
AssertionError: expected null to be truthy Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="app" > <div class="split" style="--project-chat-panel-width: 460px; --project-workspace-panel-track: minmax(400px, 1fr); grid-template-columns: 460px 8px minmax(400px, 1fr);" > <div class="split-chat-slot" /> <div aria-label="project.resizeChatPanel" aria-orientation="vertical" aria-valuemax="720" aria-valuemin="345" aria-valuenow="460" class="split-resize-handle" role="separator" tabindex="0" title="project.resizeChatPanel" /> </div> </div> </div> </body> </html> - Expected: true + Received: null ❯ tests/components/ProjectView.reattach-restore.test.tsx:930:47 ❯ runWithExpensiveErrorDiagnosticsDisabled ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/config.js:47:12 ❯ checkCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:124:77 ❯ Timeout.checkRealTimersCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:118:16
tests/components/ProjectView.reattach-restore.test.tsx > ProjectView daemon reattach restore > keeps touched-file paths isolated when a previous successful run finalizes late: apps/web/tests/components/ProjectView.reattach-restore.test.tsx#L853
AssertionError: expected null to be truthy Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="app" > <div class="split" style="--project-chat-panel-width: 460px; --project-workspace-panel-track: minmax(400px, 1fr); grid-template-columns: 460px 8px minmax(400px, 1fr);" > <div class="split-chat-slot" /> <div aria-label="project.resizeChatPanel" aria-orientation="vertical" aria-valuemax="720" aria-valuemin="345" aria-valuenow="460" class="split-resize-handle" role="separator" tabindex="0" title="project.resizeChatPanel" /> </div> </div> </div> </body> </html> - Expected: true + Received: null ❯ tests/components/ProjectView.reattach-restore.test.tsx:853:58 ❯ runWithExpensiveErrorDiagnosticsDisabled ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/config.js:47:12 ❯ checkCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:124:77 ❯ Timeout.checkRealTimersCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:118:16
tests/components/ProjectView.reattach-restore.test.tsx > ProjectView daemon reattach restore > clears touched-file paths after a failed run before the next successful run finalizes: apps/web/tests/components/ProjectView.reattach-restore.test.tsx#L772
AssertionError: expected undefined to deeply equal [] Ignored nodes: comments, script, style <html> <head /> <body> <div> <div class="app" > <div class="split" style="--project-chat-panel-width: 460px; --project-workspace-panel-track: minmax(400px, 1fr); grid-template-columns: 460px 8px minmax(400px, 1fr);" > <div class="split-chat-slot" /> <div aria-label="project.resizeChatPanel" aria-orientation="vertical" aria-valuemax="720" aria-valuemin="345" aria-valuenow="460" class="split-resize-handle" role="separator" tabindex="0" title="project.resizeChatPanel" /> </div> </div> </div> </body> </html> - Expected: [] + Received: undefined ❯ tests/components/ProjectView.reattach-restore.test.tsx:772:48 ❯ runWithExpensiveErrorDiagnosticsDisabled ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/config.js:47:12 ❯ checkCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:124:77 ❯ Timeout.checkRealTimersCallback ../../node_modules/.pnpm/@testing-library+dom@10.4.1/node_modules/@testing-library/dom/dist/wait-for.js:118:16
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/
🎭 Playwright Run Summary
3 passed (34.9s)
🎭 Playwright Run Summary
20 passed (1.2m)
🎭 Playwright Run Summary
19 passed (1.7m)
🎭 Playwright Run Summary
22 passed (2.8m)
🎭 Playwright Run Summary
37 passed (3.5m)
🎭 Playwright Run Summary
26 passed (3.3m)
🎭 Playwright Run Summary
61 passed (3.7m)

Artifacts

Produced during runtime
Name Size Digest
handoff-report-visual-pr Expired
438 Bytes
sha256:dbc1228ab6f8b6efa6fad4094b9257934e67672b1a82320a8e809a6ec31b8e7e
ui-p0-ci-28992798210-entry-settings Expired
303 KB
sha256:8dfe699dcceeb20d2a0bcf89b59ae8c21417944b0faf8071c8704dce43c4d113
ui-p0-ci-28992798210-project-runtime Expired
283 KB
sha256:9a160dad33f220f4e152b60abaeed13cc5d764e1df923d2f59897a486c81b79a
ui-p0-ci-28992798210-project-workspace Expired
303 KB
sha256:37c2f099ee47c88e7b29b10421211ad1021f39f8ae45095e85f9b82bad540434
ui-p0-ci-28992798210-smoke Expired
207 KB
sha256:eda53bf05354d2437c1669d37e7165065591d87ddd5b39f1a9234028900a1d75
ui-p0-ci-28992798210-workspace-restoration Expired
291 KB
sha256:e69f374723375a71ed4ea7f82baff5dc75e0604570df6c75fb6dca8979552f52
visual-pr-capture-5325-28992798210-entry-navigation Expired
1.9 MB
sha256:a0d059979f9d5c5dacd677dcd665a2e2a6274bacfad006ffac6584fff6cb54ca
visual-pr-capture-5325-28992798210-settings-workspace Expired
2.84 MB
sha256:0bb3448063432b12314ada17e914a245a064359b2d8d5a32a0e693dfead299f8