Skip to content

docs: plan for #308 — Workbench sign-out, AI defaults, runtime extension install#310

Open
posit-vip-triage[bot] wants to merge 2 commits into
mainfrom
botplan-issue-308-1a87032476738162
Open

docs: plan for #308 — Workbench sign-out, AI defaults, runtime extension install#310
posit-vip-triage[bot] wants to merge 2 commits into
mainfrom
botplan-issue-308-1a87032476738162

Conversation

@posit-vip-triage

Copy link
Copy Markdown
Contributor

Closes #308

This plan breaks down the three Workbench test coverage gaps from the customer UAT:

  1. Sign-out flow — can land immediately (uses Playwright UI automation)
  2. AI defaults — blocked on session-exec primitive (needs terminal access)
  3. Runtime extension install — blocked on session-exec primitive

Merging this PR will trigger an implementation PR — comment to iterate on the plan first.

Generated by Triage open issues on posit-dev/vip for issue #308 · ● 4.1M ·

…ion install

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

@ian-flores

Copy link
Copy Markdown
Collaborator

@copilot please resolve the three UNCONFIRMED items in this plan with the following decisions. These are grounded in the actual codebase and the session-exec plan (#317 / issue #301), which delivers a Playwright-based src/vip_tests/workbench/exec.py (ide_terminal_run, vscode_eval, …) — terminal/console automation inside a session, not a new API. That distinction matters below.

1. Defer Gaps 2 & 3, do not add placeholder steps — but the dependency is per-gap, not all-or-nothing.

Placeholder scenarios committed to the suite either fail or skip misleadingly, violating VIP's "tests are real or absent" convention. Split the plan as:

Update the Architecture/Components sections so the "blocked" framing is per-gap rather than lumping Gaps 2 and 3 together.

2. AI-default-off source of truth = server-level config via the API, not user/workspace settings.

The requirement is a deployment default set by an admin, not a user preference — checking user/workspace settings gives false readings. WorkbenchClient.server_settings() already hits /api/server/settings. Make "check whether AI/Copilot flags surface in the server settings API" an explicit first step. If they do, Gap 2 becomes a pure API check (like other server_settings() tests) with no session-exec and no Playwright — unblocked independent of #301. Only fall back to in-session server-config inspection (which needs #301) if the flag is absent from the API.

3. Runtime-extension test subject = config-driven, and explicitly NOT ms-python.python.

Gap 3 validates OpenVSX-backed deployments, and ms-python.python is license-restricted to Microsoft's marketplace — it is not redistributable on OpenVSX, so it would fail on exactly the deployments this test targets. Instead, add a test_extension (or test_extensions: list[str]) field to WorkbenchConfig, mirroring the test_packages: list[str] field the #301 plan already introduces, so the deployment owner names an extension known to be in their OpenVSX mirror. Default to a small, verified-on-open-vsx.org extension (e.g. redhat.vscode-yaml or vscodevim.vim), never an MS-marketplace-only one.

Also add just check to the Verification section as an explicit numbered step (per CLAUDE.md), and add a selftests/test_config.py case for the new [workbench.ai_features] config block.

Copilot AI commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

@ian-flores I've opened a new pull request, #346, to work on those changes. Once the pull request is ready, I'll request review from you.

…ion install (#346)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ian-flores <18703558+ian-flores@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(workbench): small gaps — sign-out, AI defaults, runtime extension install

2 participants