Skip to content

docs: plan for #306 — cover Git operations from Workbench sessions#309

Merged
ian-flores merged 3 commits into
mainfrom
botplan-issue-306-9e039562b0fa1a2c
Jun 9, 2026
Merged

docs: plan for #306 — cover Git operations from Workbench sessions#309
ian-flores merged 3 commits into
mainfrom
botplan-issue-306-9e039562b0fa1a2c

Conversation

@posit-vip-triage

@posit-vip-triage posit-vip-triage Bot commented May 29, 2026

Copy link
Copy Markdown
Contributor

This plan addresses issue #306.

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

Summary

VIP currently doesn't validate Git operations from Workbench sessions. This plan adds BDD tests for terminal-based Git operations (across RStudio, VS Code, Positron) and RStudio's Git pane GUI, with terminal implementation explicitly blocked on session command-execution support tracked in #301. Configuration extends vip.toml with a new [workbench.git_test] block for clone URL and auth method, and uses a fixed VIP_GIT_TOKEN env var for token lookup. Feature guidance requires both @workbench and @if_applicable for clean skipping when Git test config is absent. The plan also standardizes vip<timestamp> branch naming and two-layer cleanup (explicit scenario cleanup plus session-scoped safety-net finalizer), and updates verification to selftests/test_config.py with added GitTestConfig selftest coverage expectations.

> Generated by Triage open issues on posit-dev/vip for issue #306 · ● 5M ·

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

Copy link
Copy Markdown
Collaborator

@copilot please update this plan document to address the following review feedback before it triggers the implementation agent:

  1. Escalate the session-execution dependency. WorkbenchClient has no primitive to run shell commands inside a live Workbench session, which the terminal git scenario (clone/branch/commit/push via terminal across IDEs) depends on. Either (a) promote this from an UNCONFIRMED side-note to a first-class prerequisite that links to feat(workbench): add an in-session execution primitive #301, or (b) scope the terminal scenario out of this plan and keep only the RStudio Git pane GUI path (Playwright), filing the terminal scenario as a follow-up.

  2. Fix the selftest path. The Verification section references selftests/config/ -k git_test, but there is no selftests/config/ subdirectory — config tests live directly in selftests/test_config.py. Update the command to point there, and add GitTestConfig selftests (TOML round-trip, VIP_GIT_TOKEN env fallback, is_configured property, from_dict defaults).

  3. Add @if_applicable tag guidance. State explicitly that the feature file must carry both @workbench and @if_applicable so tests skip cleanly when git test config is absent (mirroring test_data_sources.feature, not test_sessions.feature).

  4. Resolve branch naming and cleanup. Recommend vip-<timestamp> branch names consistent with the existing unique_session_name pattern, and a two-layer cleanup (explicit "then" cleanup step + session-scoped autouse finalizer safety net, mirroring _cleanup_sessions / _wb_cleanup_state).

  5. Simplify token config. Hardcode VIP_GIT_TOKEN in __post_init__ rather than exposing a configurable token_env_var field — this matches VIP_CONNECT_API_KEY / VIP_WORKBENCH_API_KEY / VIP_PM_TOKEN.

Also use separate named Scenarios rather than a Scenario Outline for the per-IDE cases, matching test_ide_launch.feature.

Co-authored-by: ian-flores <18703558+ian-flores@users.noreply.github.com>

Copilot AI commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

@copilot please update this plan document to address the following review feedback before it triggers the implementation agent:

  1. Escalate the session-execution dependency. WorkbenchClient has...

Addressed in fdb909a.

I updated the plan to:

  • elevate session command execution as a prerequisite tied to feat(workbench): add an in-session execution primitive #301,
  • fix Verification to selftests/test_config.py and call out GitTestConfig selftest coverage,
  • require @workbench @if_applicable tagging guidance,
  • standardize vip<timestamp> naming with explicit step cleanup + session-scoped autouse finalizer safety net,
  • simplify token config to fixed VIP_GIT_TOKEN, and
  • use separate named per-IDE scenarios instead of a Scenario Outline.

@ian-flores ian-flores merged commit 77922c3 into main Jun 9, 2026
27 checks passed
@ian-flores ian-flores deleted the botplan-issue-306-9e039562b0fa1a2c branch June 9, 2026 14:07
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-06-09 14:08 UTC

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants