sessions: support chat-scoped multi-repository workspaces - #336676
Draft
Sandeep Somavarapu (sandy081) wants to merge 4 commits into
Draft
Sandeep Somavarapu (sandy081) wants to merge 4 commits into
Sandeep Somavarapu (sandy081) wants to merge 4 commits into
Conversation
Copilot started reviewing on behalf of
Sandeep Somavarapu (sandy081)
September 18, 2026 02:34
View session
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Repository-specific PR discovery and artifact promotion remain incorrect, and the added protocol action contradicts the stated no-AHP-change constraint.
Get a fresh assessment by requesting another Copilot review.
Review effort: Balanced
Findings: 3
Open (4)
What changed in this PR
Adds chat-scoped repositories, worktrees, changesets, artifacts, pull requests, and Agent Merge targeting to multi-chat sessions.
Changes:
- Separates session-wide workspaces from chat-specific folder scopes.
- Routes Git and changeset operations through each chat’s repository.
- Adds aggregate pull-request presentation and persisted worktree ownership.
| File | Description |
|---|---|
src/vs/sessions/test/electron-browser/vscodeActions.test.ts |
Tests multi-folder editor opening. |
src/vs/sessions/SESSIONS.md |
Documents workspace and repository ownership. |
src/vs/sessions/services/sessions/test/common/sessionContextKeys.test.ts |
Updates chat fixture. |
src/vs/sessions/services/sessions/test/common/session.test.ts |
Tests aggregate pull requests. |
src/vs/sessions/services/sessions/test/browser/visibleSessions.test.ts |
Updates chat fixture. |
src/vs/sessions/services/sessions/test/browser/sessionsManagementService.test.ts |
Updates chat fixture. |
src/vs/sessions/services/sessions/test/browser/sessionNavigation.test.ts |
Updates chat fixtures. |
src/vs/sessions/services/sessions/common/sessionContextKeys.ts |
Aggregates pull-request context. |
src/vs/sessions/services/sessions/common/session.ts |
Adds chat workspaces and aggregate PRs. |
src/vs/sessions/services/sessions/browser/visibleSessions.ts |
Forwards pull-request state. |
src/vs/sessions/electron-browser/actions/vscodeActions.ts |
Opens complete session workspaces. |
src/vs/sessions/contrib/workspace/test/browser/workspaceFolderManagement.test.ts |
Tests chat-scoped folder mounting. |
src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.ts |
Mounts active-chat folder sets. |
src/vs/sessions/contrib/terminal/test/browser/sessionsTerminalContribution.test.ts |
Updates chat fixtures. |
src/vs/sessions/contrib/sessions/test/browser/sessionsTelemetry.contribution.test.ts |
Updates chat fixture. |
src/vs/sessions/contrib/sessions/test/browser/sessionsList.test.ts |
Tests compact folder badges. |
src/vs/sessions/contrib/sessions/browser/sessionsActions.ts |
Uses aggregate PR status. |
src/vs/sessions/contrib/sessions/browser/media/sessionsList.css |
Styles chat folder badges. |
src/vs/sessions/contrib/providers/copilotChatSessions/browser/copilotChatSessionsProvider.ts |
Projects chat workspaces. |
src/vs/sessions/contrib/providers/agentHost/test/browser/agentHostSkillButtons.test.ts |
Updates chat fixture. |
src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionChangesets.ts |
Scopes changesets by chat repository. |
src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionArtifacts.ts |
Maps artifact chat ownership. |
src/vs/sessions/contrib/providers/agentHost/AGENT_HOST_SESSIONS_PROVIDER.md |
Documents provider behavior. |
src/vs/sessions/contrib/layout/test/browser/layoutControllerTestUtils.ts |
Adds workspace to test chats. |
src/vs/sessions/contrib/github/test/browser/pullRequestActions.test.ts |
Tests multi-PR selection. |
src/vs/sessions/contrib/github/test/browser/githubContribution.test.ts |
Updates chat workspace fixture. |
src/vs/sessions/contrib/github/browser/pullRequestActions.ts |
Adds repository-aware PR picker. |
src/vs/sessions/contrib/chat/test/browser/sessionsTaskService.test.ts |
Updates workspace fixtures. |
src/vs/sessions/contrib/chat/test/browser/sessionChatInputToolbar.test.ts |
Tests chat-scoped changes. |
src/vs/sessions/contrib/chat/test/browser/sessionArtifacts.test.ts |
Tests ownership filtering. |
src/vs/sessions/contrib/chat/browser/sessionArtifacts.ts |
Filters artifacts by chat. |
src/vs/sessions/contrib/changes/test/browser/changesViewService.test.ts |
Tests chat changesets. |
src/vs/sessions/contrib/changes/browser/changesViewService.ts |
Selects active-chat changesets. |
src/vs/sessions/contrib/changes/browser/changesView.ts |
Resolves single chat folders. |
src/vs/sessions/common/agentHostSessionWorkspace.ts |
Builds chat workspace subsets. |
src/vs/platform/agentHost/test/node/shared/worktreeIsolation.test.ts |
Tests repository-root derivation. |
src/vs/platform/agentHost/test/node/reducers.test.ts |
Tests chat changeset state. |
src/vs/platform/agentHost/test/node/protocolServerHandler.test.ts |
Tests chat folder forwarding. |
src/vs/platform/agentHost/test/node/mockAgent.ts |
Records sent folder scopes. |
src/vs/platform/agentHost/test/node/copilotAgent.test.ts |
Tests scoped resume behavior. |
src/vs/platform/agentHost/test/node/chatContributions.test.ts |
Updates Git-state stub. |
src/vs/platform/agentHost/test/node/artifactServerTools.test.ts |
Tests chat-owned artifacts. |
src/vs/platform/agentHost/test/node/agentSideEffects.test.ts |
Updates Git-state stub. |
src/vs/platform/agentHost/test/node/agentMergeServerTools.test.ts |
Supplies Git dependency. |
src/vs/platform/agentHost/test/node/agentMergeRerun.test.ts |
Routes reruns to target chat. |
src/vs/platform/agentHost/test/node/agentMergeCITools.test.ts |
Supplies Git dependency. |
src/vs/platform/agentHost/test/node/agentHostStateManager.test.ts |
Tests per-chat changeset catalogs. |
src/vs/platform/agentHost/test/node/agentHostPeerChatStore.test.ts |
Tests persisted folder scopes. |
src/vs/platform/agentHost/test/node/agentHostMergeOperationProvider.test.ts |
Updates Git-state stub. |
src/vs/platform/agentHost/test/node/agentHostGitStateService.test.ts |
Tests worktree PR lookup. |
src/vs/platform/agentHost/test/node/agentHostDiscardChangesOperationHandler.test.ts |
Tests scoped discard. |
src/vs/platform/agentHost/test/node/agentHostContributions.test.ts |
Updates service stubs. |
src/vs/platform/agentHost/test/node/agentHostCatalogProjection.test.ts |
Tests artifact attribution. |
src/vs/platform/agentHost/test/node/agentConfigurationService.test.ts |
Tests session folder merging. |
src/vs/platform/agentHost/test/electron-browser/agentHostProtocolClient.test.ts |
Tests folder serialization. |
src/vs/platform/agentHost/test/common/sessionTestHelpers.ts |
Updates Git-state helper. |
src/vs/platform/agentHost/test/common/sessionArtifacts.test.ts |
Tests chat-aware deduplication. |
src/vs/platform/agentHost/node/shared/worktreeIsolation.ts |
Adds strict detached cleanup. |
src/vs/platform/agentHost/node/shared/sessionAdditionalWorktrees.ts |
Persists additional worktrees. |
src/vs/platform/agentHost/node/shared/serverToolGroups.ts |
Gates relationship choices. |
src/vs/platform/agentHost/node/shared/artifactServerTools.ts |
Scopes artifact tools by chat. |
src/vs/platform/agentHost/node/shared/agentMergeServerTools.ts |
Passes chat to Agent Merge. |
src/vs/platform/agentHost/node/protocolServerHandler.ts |
Accepts chat folder scopes. |
src/vs/platform/agentHost/node/copilot/copilotAgent.ts |
Refreshes changed working directories. |
src/vs/platform/agentHost/node/agentSideEffects.ts |
Applies additional-worktree lifecycle. |
src/vs/platform/agentHost/node/agentServiceFoundation.ts |
Forwards folder expansion. |
src/vs/platform/agentHost/node/agentServiceComposition.ts |
Wires settings and lifecycle. |
src/vs/platform/agentHost/node/agentMergeTools.ts |
Persists chat-specific targets. |
src/vs/platform/agentHost/node/agentHostSyncOperationHandler.ts |
Routes sync by parent session. |
src/vs/platform/agentHost/node/agentHostPullRequestOperationProvider.ts |
Scopes PR operations and artifacts. |
src/vs/platform/agentHost/node/agentHostPullRequestLifecycleOperationHandler.ts |
Resolves owning sessions. |
src/vs/platform/agentHost/node/agentHostMergeOperationHandler.ts |
Merges through target worktrees. |
src/vs/platform/agentHost/node/agentHostGitStateService.ts |
Finds PRs for specific worktrees. |
src/vs/platform/agentHost/node/agentHostDiscardChangesOperationHandler.ts |
Validates resource ownership. |
src/vs/platform/agentHost/node/agentHostCommitOperationHandler.ts |
Commits through chat worktrees. |
src/vs/platform/agentHost/node/agentHostCheckoutOperationHandler.ts |
Refreshes owning sessions. |
src/vs/platform/agentHost/node/agentHostChangesetCoordinator.ts |
Coordinates chat changesets. |
src/vs/platform/agentHost/node/agentHostCatalogSourceResolver.ts |
Restores chat folder scopes. |
src/vs/platform/agentHost/node/agentHostCatalogProjection.ts |
Validates persisted ownership. |
src/vs/platform/agentHost/node/agentConfigurationService.ts |
Preserves complete session roots. |
src/vs/platform/agentHost/common/worktreePaths.ts |
Derives source repositories. |
src/vs/platform/agentHost/common/state/protocol/version/registry.ts |
Versions the new action. |
src/vs/platform/agentHost/common/state/protocol/common/actions.ts |
Adds chat changeset action. |
src/vs/platform/agentHost/common/state/protocol/channels-chat/state.ts |
Adds chat changeset state. |
src/vs/platform/agentHost/common/state/protocol/channels-chat/reducer.ts |
Reduces chat changesets. |
src/vs/platform/agentHost/common/state/protocol/channels-chat/actions.ts |
Defines chat changeset action. |
src/vs/platform/agentHost/common/state/protocol/action-origin.generated.ts |
Updates generated action metadata. |
src/vs/platform/agentHost/common/sessionArtifacts.ts |
Adds artifact chat ownership. |
src/vs/platform/agentHost/common/sessionArtifactCollection.ts |
Deduplicates per chat. |
src/vs/platform/agentHost/common/changesetUri.ts |
Resolves changeset owners. |
src/vs/platform/agentHost/common/agentService.ts |
Defines relationship setting ID. |
src/vs/platform/agentHost/common/agentMerge.ts |
Extends persisted merge targets. |
src/vs/platform/agentHost/common/agentHostStarter.config.contribution.ts |
Registers relationship setting. |
src/vs/platform/agentHost/common/agentHostSchema.ts |
Adds host configuration schema. |
src/vs/platform/agentHost/common/agentHostGitStateService.ts |
Adds worktree PR lookup API. |
src/vs/platform/agentHost/common/agentHostChangesetOperationService.ts |
Defines trusted operation targets. |
src/vs/platform/agentHost/browser/agentHostProtocolClient.ts |
Serializes chat folder scopes. |
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
Screenshot ChangesBase: Changed (1)3 insignificant change(s) omitted (≤20 px, Δ≤2). See CI logs for details. blocks-ci screenshots changedReplace the contents of Updated blocks-ci-screenshots.md<!-- auto-generated by CI — do not edit manually -->
#### baseUI/KeyboardFocusedToggle/Dark

#### baseUI/KeyboardFocusedToggle/DarkHighContrast

#### baseUI/KeyboardFocusedToggle/Light

#### baseUI/KeyboardFocusedToggle/LightHighContrast

#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentHostPromptMigration/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentHostPromptMigration/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentsTab/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentsTab/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentsTabNarrow/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/AgentsTabNarrow/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/CodexSkillMissingDescriptionHover/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/CodexSkillMissingDescriptionHover/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/ConfiguredLocationsMigration/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/ConfiguredLocationsMigration/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/EmbeddedMcpDetailUninstalled/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/EmbeddedMcpDetailUninstalled/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/HooksEmptyWorkspace/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/HooksEmptyWorkspace/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/McpMigration/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/McpMigration/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/McpServerDetailNarrow/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/McpServerDetailNarrow/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/McpServersTab/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/McpServersTab/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/MigrationDashboard/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/MigrationDashboard/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginCatalogHome/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginCatalogHome/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginCatalogHomeNarrow/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginCatalogHomeNarrow/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginCatalogSearch/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginCatalogSearch/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginDetail/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginDetail/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginsTab/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginsTab/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginsTabNarrow/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PluginsTabNarrow/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/PromptMigration/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/PromptMigration/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/SessionsCodexSkillMissingDescriptionHover/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/SessionsCodexSkillMissingDescriptionHover/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/ToolsTab/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/ToolsTab/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/ToolsTabNarrow/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/ToolsTabNarrow/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/UserDataMigration/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/UserDataMigration/Light

#### chat/aiCustomizations/aiCustomizationManagementEditor/WelcomePage/Dark

#### chat/aiCustomizations/aiCustomizationManagementEditor/WelcomePage/Light

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/AllAccessoriesFacing/Dark

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/AllAccessoriesFacing/Light

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/AllRuntimeStates/Dark

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/AllRuntimeStates/Light

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/CoveredAntennaeComparison/Dark

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/CoveredAntennaeComparison/Light

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/CriticalPoses/Dark

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/CriticalPoses/Light

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/LiveEyeLayering/Dark

#### chat/chatPetAccessoryRig/chatPetAccessoryRig/LiveEyeLayering/Light

#### chat/chatQuestionCarousel/MarkdownLinks/Dark

#### chat/chatQuestionCarousel/MarkdownLinks/DarkHighContrast

#### chat/chatQuestionCarousel/MarkdownLinks/Light

#### chat/chatQuestionCarousel/MarkdownLinks/LightHighContrast

#### chat/input/chatInput/CompactWithProviderIcon/Dark

#### chat/input/chatInput/CompactWithProviderIcon/Light

#### chat/input/chatInput/CopilotHarnessCompactPickers/Dark

#### chat/input/chatInput/CopilotHarnessCompactPickers/Light

#### chat/petAchievements/standaloneModal/chatPetAchievementsEditor/MixedSelected/Dark

#### chat/petAchievements/standaloneModal/chatPetAchievementsEditor/MixedSelected/Light

#### comments/commentTree/CommentTreeMetadataZoomed/Dark

#### comments/commentTree/CommentTreeMetadataZoomed/DarkHighContrast

#### comments/commentTree/CommentTreeMetadataZoomed/Light

#### comments/commentTree/CommentTreeMetadataZoomed/LightHighContrast

#### editor/codeEditor/CodeEditor/Dark

#### editor/codeEditor/CodeEditor/Light

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthClassification/Dark

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthClassification/Light

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthCode/Dark

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthCode/Light

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthFont/Dark

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthFont/Light

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthProportionalFont/Dark

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthProportionalFont/Light

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthSelection/Dark

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthSelection/Light

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthTwoCells/Dark

#### editor/fullwidthCharacterWidth/FullwidthCharacterWidthTwoCells/Light

#### editor/injectedTextDecorations/ColorDecorators/Dark

#### editor/injectedTextDecorations/ColorDecorators/Light

#### editor/injectedTextDecorations/InlayHints/Dark

#### editor/injectedTextDecorations/InlayHints/Light

#### editor/injectedTextDecorations/InlineProgress/Dark

#### editor/injectedTextDecorations/InlineProgress/Light

#### editor/injectedTextDecorations/SelectedColorDecorator/Dark

#### editor/injectedTextDecorations/SelectedColorDecorator/Light

#### editor/inlineChatZoneWidget/InlineChatZoneWidget/Dark

#### editor/inlineChatZoneWidget/InlineChatZoneWidget/Light

#### editor/inlineChatZoneWidget/InlineChatZoneWidgetTerminated/Dark

#### editor/inlineChatZoneWidget/InlineChatZoneWidgetTerminated/Light

#### editor/wordWrapIndicator/WordWrapIndicator/Dark

#### editor/wordWrapIndicator/WordWrapIndicator/DarkHighContrast

#### editor/wordWrapIndicator/WordWrapIndicator/Light

#### editor/wordWrapIndicator/WordWrapIndicatorDisabled/Dark

#### editor/wordWrapIndicator/WordWrapIndicatorDisabled/Light

#### editor/wordWrapIndicator/WordWrapIndicatorFixedColumnBeyondViewport/Dark

#### editor/wordWrapIndicator/WordWrapIndicatorFixedColumnBeyondViewport/Light

#### editor/wordWrapIndicator/WordWrapIndicatorVariableLineHeight/Dark

#### editor/wordWrapIndicator/WordWrapIndicatorVariableLineHeight/Light

#### editor/wordWrapIndicator/WordWrapIndicatorViewportWrapping/Dark

#### editor/wordWrapIndicator/WordWrapIndicatorViewportWrapping/Light

#### sessions/accountMenu/petAchievementBadges/chatPetAchievementBadges/AllBadges/Dark

#### sessions/accountMenu/petAchievementBadges/chatPetAchievementBadges/AllBadges/Light

#### sessions/chat/input/chatInput/ResponsiveModelResizeCycleMinimal/Dark

#### sessions/chat/input/chatInput/ResponsiveModelResizeCycleMinimal/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionAttachedContext/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionAttachedContext/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionAutoModel/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionAutoModel/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionChatBackground/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionChatBackground/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionCompactAutoModel/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionCompactAutoModel/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionGitHubContextPicker/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionGitHubContextPicker/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionPhoneAttachedContext/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionPhoneAttachedContext/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionRemoteWorkspace/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionRemoteWorkspace/Light

#### sessions/chat/newWidget/newChatWidget/NewSessionWorkspacePicker/Dark

#### sessions/chat/newWidget/newChatWidget/NewSessionWorkspacePicker/Light

#### sessions/chat/view/chatView/AssistantResponseBackground/Dark

#### sessions/chat/view/chatView/AssistantResponseBackground/Light

#### sessions/chat/view/chatView/AssistantResponsePlain/Dark

#### sessions/chat/view/chatView/AssistantResponsePlain/Light

#### sessions/chat/view/chatView/CheckpointControlsBackground/Dark

#### sessions/chat/view/chatView/CheckpointControlsBackground/Light

#### sessions/chat/view/chatView/RequestAttachmentBackground/Dark

#### sessions/chat/view/chatView/RequestAttachmentBackground/Light

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Accent/Dark

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Accent/DarkHighContrast

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Accent/Light

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Narrow/Dark

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Narrow/DarkHighContrast

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Narrow/Light

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Running/Dark

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Running/DarkHighContrast

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Running/Light

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Soft/Dark

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Soft/DarkHighContrast

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Soft/Light

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Unread/Dark

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Unread/DarkHighContrast

#### sessions/sessionsList/SessionsList_AutomationsNewBadge_Unread/Light

#### sessions/sessionsList/SessionsList_AutomationsNewBadge/Dark

#### sessions/sessionsList/SessionsList_AutomationsNewBadge/DarkHighContrast

#### sessions/sessionsList/SessionsList_AutomationsNewBadge/Light

#### sessions/sessionsList/SessionsList_CompactChatRename/Dark

#### sessions/sessionsList/SessionsList_CompactChatRename/Light

#### sessions/sessionsList/SessionsList_CompactNeedsInput/Dark

#### sessions/sessionsList/SessionsList_CompactNeedsInput/Light

#### sessions/sessionsList/SessionsList_CompactSessionRename/Dark

#### sessions/sessionsList/SessionsList_CompactSessionRename/Light

#### sessions/sessionsList/SessionsList_LightweightNewButton/Dark

#### sessions/sessionsList/SessionsList_LightweightNewButton/DarkHighContrast

#### sessions/sessionsList/SessionsList_LightweightNewButton/Light

#### sessions/sessionsList/SessionsList_LightweightNewButtonWithKeybindingBackground/Dark

#### sessions/sessionsList/SessionsList_LightweightNewButtonWithKeybindingBackground/DarkHighContrast

#### sessions/sessionsList/SessionsList_LightweightNewButtonWithKeybindingBackground/Light

#### sessions/sessionsList/SessionsList_NarrowHoverToolbar/Dark

#### sessions/sessionsList/SessionsList_NarrowHoverToolbar/Light

#### sessions/sessionsList/SessionsList_NestedChatHierarchyGuides/Dark

#### sessions/sessionsList/SessionsList_NestedChatHierarchyGuides/Light

#### sessions/sessionsList/SessionsList_PeerChatInProgress/Dark

#### sessions/sessionsList/SessionsList_PeerChatInProgress/Light

#### sessions/sessionsList/SessionsList_SelectedKeyboardFocus/Dark

#### sessions/sessionsList/SessionsList_SelectedKeyboardFocus/DarkHighContrast

#### sessions/sessionsList/SessionsList_SelectedKeyboardFocus/Light

#### workbench/activityBarMenu/CompactActivityBarMenu_CompactDensity/Dark

#### workbench/activityBarMenu/CompactActivityBarMenu_CompactDensity/DarkHighContrast

#### workbench/activityBarMenu/CompactActivityBarMenu_CompactDensity/Light

#### workbench/activityBarMenu/CompactActivityBarMenu_DefaultDensity/Dark

#### workbench/activityBarMenu/CompactActivityBarMenu_DefaultDensity/DarkHighContrast

#### workbench/activityBarMenu/CompactActivityBarMenu_DefaultDensity/Light
Patch--- test/componentFixtures/blocks-ci-screenshots.md 2026-09-18 11:01:30.588649513 +0000
+++ /tmp/blocks-ci-updated.md 2026-09-18 11:20:44.483082926 +0000
@@ -478,13 +478,13 @@

#### sessions/sessionsList/SessionsList_CompactNeedsInput/Dark
-
+
#### sessions/sessionsList/SessionsList_CompactNeedsInput/Light

#### sessions/sessionsList/SessionsList_CompactSessionRename/Dark
-
+
#### sessions/sessionsList/SessionsList_CompactSessionRename/Light
 |
Track effective workspaces and changesets per chat, compute branch changes across repositories, and open complete session workspaces in the editor. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Keep chat workspaces, changesets, artifacts, pull requests, and Agent Merge operations scoped to their owning repository and worktree while preserving a session-wide aggregate view. Add explicit fresh-worktree creation, relationship experiment gating, multi-PR presentation, and compact multi-project folder labels. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore uncommitted pull request operations, canonicalize discard targets across filesystem aliases, and complete chat workspace test fixtures. Refresh the intentional Agent Host traffic and component screenshot baselines. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Derive chat changesets from the existing session catalog instead of extending AHP. Correct per-repository base branch resolution and session-wide pull request artifact deduplication. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sandeep Somavarapu (sandy081)
force-pushed
the
sandy081/agents/chat-folder-separation-feature
branch
from
September 18, 2026 11:01
b187900 to
6961335
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Enable one Agent Host session to own multiple chats with independent folders, repositories, models, and worktrees while retaining a coherent session-wide view.
create_session.relationshipexperiment-controlled, forcing peer-chat creation when model choice is disabledWhy
A session can now coordinate parallel implementations across repositories or worktrees without operations leaking into the primary checkout, while aggregate Files, Changes, artifacts, and pull request status remain available at the session level.
Reviewer notes
The implementation intentionally keeps AHP unchanged. Trusted host metadata carries chat and repository ownership, and legacy providers continue to fall back to folder-level pull request aggregation.
Validation
npm run compilenpm run hygienegit diff --check