.plans/19-version-control-phase-1-vcs-driver-foundation.md | 216 +++ .plans/20-version-control-phase-2-source-control-provider-foundation.md | 268 +++ .plans/README.md | 2 + apps/server/integration/OrchestrationEngineHarness.integration.ts | 31 +- apps/server/src/checkpointing/Errors.ts | 7 +- apps/server/src/checkpointing/Layers/CheckpointStore.test.ts | 37 +- apps/server/src/checkpointing/Layers/CheckpointStore.ts | 78 +- apps/server/src/git/GitManager.test.ts | 3179 ++++++++++++++++++++++++++++++++ apps/server/src/git/GitManager.ts | 1769 ++++++++++++++++++ apps/server/src/git/GitWorkflowService.test.ts | 132 ++ apps/server/src/git/GitWorkflowService.ts | 313 ++++ apps/server/src/git/Layers/ClaudeTextGeneration.test.ts | 339 ---- apps/server/src/git/Layers/ClaudeTextGeneration.ts | 324 ---- apps/server/src/git/Layers/CodexTextGeneration.test.ts | 592 ------ apps/server/src/git/Layers/CodexTextGeneration.ts | 392 ---- apps/server/src/git/Layers/CursorTextGeneration.test.ts | 264 --- apps/server/src/git/Layers/CursorTextGeneration.ts | 283 --- apps/server/src/git/Layers/GitCore.test.ts | 2333 ----------------------- apps/server/src/git/Layers/GitCore.ts | 2206 ---------------------- apps/server/src/git/Layers/GitHubCli.test.ts | 227 --- apps/server/src/git/Layers/GitHubCli.ts | 240 --- apps/server/src/git/Layers/GitManager.test.ts | 3127 ------------------------------- apps/server/src/git/Layers/GitManager.ts | 1740 ----------------- apps/server/src/git/Layers/GitStatusBroadcaster.test.ts | 312 ---- apps/server/src/git/Layers/GitStatusBroadcaster.ts | 311 ---- apps/server/src/git/Layers/OpenCodeTextGeneration.test.ts | 346 ---- apps/server/src/git/Layers/OpenCodeTextGeneration.ts | 464 ----- apps/server/src/git/Layers/TextGenerationLive.test.ts | 117 -- apps/server/src/git/Layers/TextGenerationLive.ts | 101 - apps/server/src/git/Prompts.test.ts | 193 -- apps/server/src/git/Prompts.ts | 202 -- apps/server/src/git/Services/GitCore.ts | 313 ---- apps/server/src/git/Services/GitHubCli.ts | 103 -- apps/server/src/git/Services/GitManager.ts | 104 -- apps/server/src/git/Services/GitStatusBroadcaster.ts | 27 - apps/server/src/git/Services/TextGeneration.ts | 123 -- apps/server/src/git/Utils.ts | 165 -- apps/server/src/git/githubPullRequests.ts | 9 +- apps/server/src/orchestration/Layers/CheckpointReactor.test.ts | 26 +- apps/server/src/orchestration/Layers/CheckpointReactor.ts | 6 +- apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts | 25 +- apps/server/src/orchestration/Layers/ProviderCommandReactor.ts | 14 +- apps/server/src/project/Layers/RepositoryIdentityResolver.ts | 9 +- apps/server/src/provider/Drivers/ClaudeDriver.ts | 2 +- apps/server/src/provider/Drivers/CodexDriver.ts | 2 +- apps/server/src/provider/Drivers/CursorDriver.ts | 2 +- apps/server/src/provider/Drivers/OpenCodeDriver.ts | 2 +- apps/server/src/provider/Layers/ProviderAdapterRegistry.test.ts | 2 +- apps/server/src/provider/ProviderDriver.ts | 2 +- apps/server/src/server.test.ts | 367 ++-- apps/server/src/server.ts | 67 +- apps/server/src/sourceControl/GitHubCli.test.ts | 240 +++ apps/server/src/sourceControl/GitHubCli.ts | 308 ++++ apps/server/src/sourceControl/GitHubSourceControlProvider.test.ts | 154 ++ apps/server/src/sourceControl/GitHubSourceControlProvider.ts | 145 ++ apps/server/src/sourceControl/SourceControlDiscovery.test.ts | 214 +++ apps/server/src/sourceControl/SourceControlDiscovery.ts | 412 +++++ apps/server/src/sourceControl/SourceControlProvider.ts | 68 + apps/server/src/sourceControl/SourceControlProviderRegistry.test.ts | 114 ++ apps/server/src/sourceControl/SourceControlProviderRegistry.ts | 162 ++ apps/server/src/textGeneration/ClaudeTextGeneration.test.ts | 339 ++++ apps/server/src/textGeneration/ClaudeTextGeneration.ts | 324 ++++ apps/server/src/textGeneration/CodexTextGeneration.test.ts | 592 ++++++ apps/server/src/textGeneration/CodexTextGeneration.ts | 388 ++++ apps/server/src/textGeneration/CursorTextGeneration.test.ts | 264 +++ apps/server/src/textGeneration/CursorTextGeneration.ts | 276 +++ apps/server/src/textGeneration/OpenCodeTextGeneration.test.ts | 346 ++++ apps/server/src/textGeneration/OpenCodeTextGeneration.ts | 464 +++++ apps/server/src/textGeneration/TextGeneration.test.ts | 117 ++ apps/server/src/textGeneration/TextGeneration.ts | 171 ++ apps/server/src/textGeneration/TextGenerationPolicy.ts | 19 + apps/server/src/textGeneration/TextGenerationPresets.ts | 41 + apps/server/src/textGeneration/TextGenerationPrompts.test.ts | 193 ++ apps/server/src/textGeneration/TextGenerationPrompts.ts | 218 +++ apps/server/src/textGeneration/TextGenerationUtils.ts | 159 ++ apps/server/src/vcs/GitVcsDriver.test.ts | 99 + apps/server/src/vcs/GitVcsDriver.ts | 543 ++++++ apps/server/src/vcs/GitVcsDriverCore.test.ts | 246 +++ apps/server/src/vcs/GitVcsDriverCore.ts | 2087 +++++++++++++++++++++ apps/server/src/vcs/VcsDriver.ts | 31 + apps/server/src/vcs/VcsDriverRegistry.test.ts | 87 + apps/server/src/vcs/VcsDriverRegistry.ts | 155 ++ apps/server/src/vcs/VcsProcess.ts | 259 +++ apps/server/src/vcs/VcsProjectConfig.test.ts | 67 + apps/server/src/vcs/VcsProjectConfig.ts | 117 ++ apps/server/src/vcs/VcsProvisioningService.test.ts | 94 + apps/server/src/vcs/VcsProvisioningService.ts | 54 + apps/server/src/vcs/VcsStatusBroadcaster.test.ts | 364 ++++ apps/server/src/vcs/VcsStatusBroadcaster.ts | 344 ++++ apps/server/src/vcs/testing/VcsDriverContractHarness.ts | 152 ++ apps/server/src/workspace/Layers/WorkspaceEntries.test.ts | 15 +- apps/server/src/workspace/Layers/WorkspaceEntries.ts | 70 +- apps/server/src/workspace/Layers/WorkspaceFileSystem.test.ts | 5 +- apps/server/src/ws.ts | 128 +- apps/web/src/components/BranchToolbar.logic.test.ts | 52 +- apps/web/src/components/BranchToolbar.logic.ts | 14 +- apps/web/src/components/BranchToolbarBranchSelector.tsx | 111 +- apps/web/src/components/ChatView.browser.tsx | 51 +- apps/web/src/components/GitActionsControl.browser.tsx | 10 +- apps/web/src/components/GitActionsControl.logic.test.ts | 176 +- apps/web/src/components/GitActionsControl.logic.ts | 115 +- apps/web/src/components/GitActionsControl.tsx | 128 +- apps/web/src/components/Icons.tsx | 25 + apps/web/src/components/KeybindingsToast.browser.tsx | 6 +- apps/web/src/components/PullRequestThreadDialog.tsx | 34 +- apps/web/src/components/Sidebar.tsx | 8 +- apps/web/src/components/ThreadStatusIndicators.tsx | 39 +- apps/web/src/components/settings/ProviderInstanceCard.tsx | 52 +- apps/web/src/components/settings/RedactedSensitiveText.tsx | 61 + apps/web/src/components/settings/SettingsPanels.browser.tsx | 151 +- apps/web/src/components/settings/SettingsSidebarNav.tsx | 4 +- apps/web/src/components/settings/SourceControlSettings.tsx | 471 +++++ apps/web/src/components/settings/settingsLayout.tsx | 4 +- apps/web/src/environmentApi.ts | 20 +- apps/web/src/environments/runtime/connection.test.ts | 9 - apps/web/src/hooks/useThreadActions.ts | 2 +- apps/web/src/lib/gitReactQuery.test.ts | 10 +- apps/web/src/lib/gitReactQuery.ts | 58 +- apps/web/src/lib/gitStatusState.test.ts | 60 +- apps/web/src/lib/gitStatusState.ts | 14 +- apps/web/src/lib/sourceControlDiscoveryState.ts | 56 + apps/web/src/localApi.test.ts | 36 +- apps/web/src/localApi.ts | 3 + apps/web/src/pullRequestReference.test.ts | 32 + apps/web/src/pullRequestReference.ts | 30 +- apps/web/src/routeTree.gen.ts | 21 + apps/web/src/routes/settings.source-control.tsx | 7 + apps/web/src/rpc/wsRpcClient.test.ts | 22 +- apps/web/src/rpc/wsRpcClient.ts | 68 +- apps/web/src/sourceControlPresentation.ts | 62 + apps/web/test/wsRpcHarness.ts | 2 +- bun.lock | 1 + packages/client-runtime/package.json | 3 +- packages/client-runtime/src/index.ts | 1 + packages/client-runtime/src/sourceControlDiscoveryState.test.ts | 107 ++ packages/client-runtime/src/sourceControlDiscoveryState.ts | 206 +++ packages/contracts/src/git.test.ts | 14 +- packages/contracts/src/git.ts | 148 +- packages/contracts/src/index.ts | 2 + packages/contracts/src/ipc.ts | 64 +- packages/contracts/src/rpc.ts | 131 +- packages/contracts/src/sourceControl.ts | 111 ++ packages/contracts/src/vcs.ts | 154 ++ packages/shared/package.json | 4 + packages/shared/src/git.test.ts | 28 +- packages/shared/src/git.ts | 144 +- packages/shared/src/sourceControl.test.ts | 59 + packages/shared/src/sourceControl.ts | 225 +++ 148 files changed, 19497 insertions(+), 16089 deletions(-)