Repository navigation
Description
Background
The Solheim provider smoke (.github/workflows/solheim-provider-smoke.yml, PR #1909) records a video of the run. In run 39892513094 the video shows only an empty VS Code window with the welcome page. It never shows the Zoo Code panel or the model answer.
The IPC start path skips SidebarProvider.focus on purpose (src/extension/api.ts, focusSidebar: false). The comment there says executeCommand cannot be cancelled and a stalled webview launch would block the start. The webview never opens, so the recording has no evidence of the extension.
The same run also showed that the apt step has no time limit. In the first attempt the Ubuntu mirror gave less than 100 KB/s. The step downloaded 90 of 99 packages in 23 minutes. The 25-minute job limit then cancelled the run. A retry downloaded the same 95 MB in 3 seconds.
Goal
The smoke video shows the Zoo Code chat panel with the finished task. A slow apt mirror fails the job in 5 minutes.
Proposed change
- Add a small CommonJS module,
scripts/solheim-smoke/sidebar-runner.cjs. It runs inside the extension host. It focuseszoo-code.SidebarProvider.focus, waits forisReady(), and keepsrun()pending. - Add an optional
testsPathtocreateHostRuntimeandbuildLaunchArgs. It adds--extensionTestsPath. It is off by default. Only the smoke driver sets it. - Hold teardown for 3 seconds after the completion message, so the video ends on the finished chat.
- Add
timeout-minutes: 5to the "Install display dependencies" step.
No production extension code changes. The focusSidebar: false guard stays.
Evidence
- VS Code 1.100.0 exits when the
run()of an--extensionTestsPathmodule settles. A stub with a 3-secondrun()exited with code 0 after 6 seconds. The module must never settle. - The module needs no build step. A plain
.cjsfile worked. - The repo already uses the same pattern.
apps/vscode-e2e/src/visual/sceneController.tsfocuses the sidebar and pollsisReady()before it starts a task. - A local run under
xvfb-runwithrecord.shand the real provider gave verdictOKwith all six gates true. The video is 9.2 seconds long. It shows the Zoo Code panel, the prompt, and "Task Completed: Provider smoke completed."
Not tested
- The GitHub Actions job. It runs only from
main, so it cannot be tested before merge. - The video at CI speed. The local run is faster than the CI run.
Acceptance
- The smoke video shows the chat panel and the model answer.
- The verdict gates and the trace shape stay the same.
- The agent-evals and solheim-smoke unit tests and type checks pass.
- The apt step has a 5-minute limit.
Activity