Skip to content

[ENHANCEMENT] Show the Zoo Code panel in the Solheim smoke video and bound the apt step #2158

Closed

Description

@edelauna

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

  1. Add a small CommonJS module, scripts/solheim-smoke/sidebar-runner.cjs. It runs inside the extension host. It focuses zoo-code.SidebarProvider.focus, waits for isReady(), and keeps run() pending.
  2. Add an optional testsPath to createHostRuntime and buildLaunchArgs. It adds --extensionTestsPath. It is off by default. Only the smoke driver sets it.
  3. Hold teardown for 3 seconds after the completion message, so the video ends on the finished chat.
  4. Add timeout-minutes: 5 to 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 --extensionTestsPath module settles. A stub with a 3-second run() exited with code 0 after 6 seconds. The module must never settle.
  • The module needs no build step. A plain .cjs file worked.
  • The repo already uses the same pattern. apps/vscode-e2e/src/visual/sceneController.ts focuses the sidebar and polls isReady() before it starts a task.
  • A local run under xvfb-run with record.sh and the real provider gave verdict OK with 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions