sandbox-agent/research/specs/vcs-integration.md
2026-02-04 21:44:29 +00:00

1.1 KiB

Spec: VCS Integration

Proposed API Changes

  • Add a VCS service to the core session manager (Git-first) with status, diff, branch, and revert operations.
  • Expose APIs for session-level diff and revert/unrevert semantics.

Summary Enable OpenCode endpoints that depend on repository state, diffs, and revert flows.

OpenCode Endpoints (Reference)

  • GET /opencode/vcs
  • GET /opencode/session/{sessionID}/diff
  • POST /opencode/session/{sessionID}/revert
  • POST /opencode/session/{sessionID}/unrevert

Core Functionality Required

  • Repo discovery from session directory (with safe fallback).
  • Status summary (branch, dirty files, ahead/behind).
  • Diff generation (staged/unstaged, per file and full).
  • Revert/unrevert mechanics with temporary snapshots or stashes.
  • Integration with file status endpoint when available.

OpenCode Compat Wiring + Tests

  • Replace stubs for /vcs, /session/{sessionID}/diff, /session/{sessionID}/revert, /session/{sessionID}/unrevert.
  • Add E2E tests that modify a fixture repo and validate diff + revert flows.