Skip to content

.NET: [BREAKING] Rename to AgentIsolationKeyProvider - #7567

Merged
SergeyMenshykh merged 4 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-rename-store-isolation-provider
Aug 7, 2026
Merged

.NET: [BREAKING] Rename to AgentIsolationKeyProvider#7567
SergeyMenshykh merged 4 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-rename-store-isolation-provider

Conversation

@SergeyMenshykh

@SergeyMenshykhSergeyMenshykh commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Motivation & Context

SessionIsolationKeyProvider is consumed by both IsolationKeyScopedAgentSessionStore and A2A's IsolationKeyScopedTaskStore, partitioning persisted sessions, tasks, and context IDs. The session-specific name is therefore misleading.

Description & Review Guide

  • What are the major changes? Rename the shared provider and related claims-based APIs to AgentIsolationKeyProvider / ClaimsIdentityAgentIsolationKeyProvider / UseClaimsBasedAgentIsolation, and shorten the abstract method to GetIsolationKeyAsync. Consumers, tests, samples, and docs are updated.
  • What is the impact of these changes? Source-breaking API rename with no behavioral change.
  • What do you want reviewers to focus on? Whether the Agent prefix reads correctly. It marks the hosting API domain and disambiguates from generic isolation-key abstractions in other libraries; it does not mean agent instances are isolated. Dropping Store leaves room for future non-store isolation such as memory or retrieval. The XML docs state this explicitly.

Related Issue

No related issue; no other open PR was found for this rename.

Contribution Checklist

  • The code builds clean without any errors or warnings
  • All unit tests pass, and I have added new tests where possible
  • The PR follows the Contribution Guidelines
  • This PR is linked to an issue and there is no other open PR for this issue (see Related Issue above).
  • This is not a breaking change. If it is a breaking change, add the breaking change label (or add "[BREAKING]" to the title prefix, before or after any language prefix) — a workflow keeps the label and title prefix in sync automatically.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
Rename the shared session isolation abstraction to reflect its use for both session and task stores.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
CopilotAI balanced review requested due to automatic review settings August 7, 2026 11:55
@agent-framework-automationagent-framework-automationBot added documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs .NET Usage: [Issues, PRs], Target: .Net breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible labels Aug 7, 2026
@SergeyMenshykhSergeyMenshykh self-assigned this Aug 7, 2026
@SergeyMenshykhSergeyMenshykh changed the title [BREAKING] .NET: Rename store isolation key provider.NET: [BREAKING] Rename store isolation key providerAug 7, 2026

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Renames the .NET isolation-key API from session-specific terminology to store-wide terminology, covering session and A2A task persistence without behavioral changes.

Changes:

  • Renames providers, options, methods, and DI extensions to StoreIsolation.
  • Updates hosting integrations and tests.
  • Updates samples and documentation.

Reviewed changes

Copilot reviewed 29 out of 29 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/StoreIsolationKeyProviderTests.csUpdates provider contract tests.
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/IsolationKeyScopedAgentSessionStoreTests.csUpdates session-store tests and messages.
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/ClaimsIdentityStoreIsolationKeyProviderTests.csUpdates claims-provider tests.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/IsolationKeyScopedTaskStoreTests.csUpdates task-store provider mocks.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/A2AServerServiceCollectionExtensionsTests.csUpdates A2A DI tests.
dotnet/src/Microsoft.Agents.AI.Hosting/StoreIsolationKeyProvider.csRenames the core provider API.
dotnet/src/Microsoft.Agents.AI.Hosting/Local/InMemoryAgentSessionStore.csUpdates isolation guidance.
dotnet/src/Microsoft.Agents.AI.Hosting/IsolationKeyScopedAgentSessionStoreOptions.csUpdates API references.
dotnet/src/Microsoft.Agents.AI.Hosting/IsolationKeyScopedAgentSessionStore.csConsumes the renamed provider.
dotnet/src/Microsoft.Agents.AI.Hosting/HostedAgentBuilderExtensions.csResolves the renamed DI service.
dotnet/src/Microsoft.Agents.AI.Hosting/AgentSessionStore.csUpdates trust-model documentation.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ServiceCollectionExtensions.csRenames claims-based registration API.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ClaimsIdentityStoreIsolationKeyProviderOptions.csRenames claims-provider options.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ClaimsIdentityStoreIsolationKeyProvider.csRenames the claims-based provider.
dotnet/src/Microsoft.Agents.AI.Hosting.AGUI.AspNetCore/AGUIEndpointRouteBuilderExtensions.csUpdates AG-UI integration.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/IsolationKeyScopedTaskStore.csUpdates A2A task isolation.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/A2AServerServiceCollectionExtensions.csUpdates A2A registration and guidance.
dotnet/samples/05-end-to-end/AGUIWebChat/Server/Program.csUpdates sample guidance.
dotnet/samples/05-end-to-end/AGUIClientServer/AGUIServer/Program.csUpdates sample guidance.
dotnet/samples/05-end-to-end/AGUIClientServer/AGUIDojoServer/Program.csUpdates sample guidance.
dotnet/samples/05-end-to-end/AgentWebChat/AgentWebChat.AgentHost/Program.csUpdates isolation examples.
dotnet/samples/05-end-to-end/A2AClientServer/A2AServer/Program.csUpdates isolation examples.
dotnet/samples/02-agents/AGUI/Step05_StateManagement/Server/Program.csUpdates sample guidance.
dotnet/samples/02-agents/AGUI/Step04_HumanInLoop/Server/Program.csUpdates sample guidance.
dotnet/samples/02-agents/AGUI/Step03_FrontendTools/Server/Program.csUpdates sample guidance.
dotnet/samples/02-agents/AGUI/Step02_BackendTools/Server/Program.csUpdates sample guidance.
dotnet/samples/02-agents/AGUI/Step01_GettingStarted/Server/Program.csUpdates sample guidance.
dotnet/samples/02-agents/AGUI/README.mdUpdates documented API name.
docs/specs/003-dotnet-hosting-protocol-helpers.mdUpdates specification guidance.

@SergeyMenshykh
SergeyMenshykh marked this pull request as ready for review August 7, 2026 11:59

@github-actionsgithub-actionsBot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent Framework Review — Iteration 1

Completed passes: 5 | Result: No high-severity findings

Scope: full PR (2 commit(s)): c0ff8a64ef65, 86f9f8d13279

Review passes

  • Correctness (gpt-5.6-sol) — No issues found in this pass.
  • Security Reliability (claude-opus-4.8) — No issues found in this pass.
  • Test Coverage (gpt-5.6-sol) — No issues found in this pass.
  • Failure Modes (claude-opus-4.8) — No issues found in this pass.
  • Design Approach (claude-opus-4.8) — No issues found in this pass.

Comment threaddocs/specs/003-dotnet-hosting-protocol-helpers.md Outdated
Drops the `Store` qualifier and keeps an `Agent` prefix so the type is not
confused with generic isolation-key abstractions from other libraries, while
leaving room for future non-store isolation (memory, retrieval).
- StoreIsolationKeyProvider -> AgentIsolationKeyProvider
- ClaimsIdentityStoreIsolationKeyProvider(+Options) -> ClaimsIdentityAgentIsolationKeyProvider(+Options)
- GetStoreIsolationKeyAsync -> GetIsolationKeyAsync
- UseClaimsBasedStoreIsolation -> UseClaimsBasedAgentIsolation
XML docs now state that the `Agent` prefix identifies the hosting API domain and
does not mean agent instances are isolated.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 824a2e29-e79c-42aa-b28e-aa6c12ec3292
@SergeyMenshykhSergeyMenshykh changed the title .NET: [BREAKING] Rename store isolation key provider.NET: [BREAKING] Rename to AgentIsolationKeyProviderAug 7, 2026
This was referenced Aug 24, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking changeUsage: [PRs], Target: all PRs that introduce changes that are not backward compatibledocumentationUsage: [Issues, PRs], Target: documentation in the code base and learn docs.NETUsage: [Issues, PRs], Target: .Net

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants

@SergeyMenshykh@rogerbarreto@peibekwe@westey-m