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

SergeyMenshykh merged 4 commits into
microsoft:mainfrom
SergeyMenshykh:sergeymenshykh-rename-store-isolation-provider

Conversation

@SergeyMenshykh

@SergeyMenshykh SergeyMenshykh 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
Copilot AI balanced review requested due to automatic review settings August 7, 2026 11:55
@agent-framework-automation agent-framework-automation Bot 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
@SergeyMenshykh SergeyMenshykh self-assigned this Aug 7, 2026
@SergeyMenshykh SergeyMenshykh changed the title [BREAKING] .NET: Rename store isolation key provider .NET: [BREAKING] Rename store isolation key provider Aug 7, 2026

Copilot AI 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
File Description
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/StoreIsolationKeyProviderTests.cs Updates provider contract tests.
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/IsolationKeyScopedAgentSessionStoreTests.cs Updates session-store tests and messages.
dotnet/tests/Microsoft.Agents.AI.Hosting.UnitTests/ClaimsIdentityStoreIsolationKeyProviderTests.cs Updates claims-provider tests.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/IsolationKeyScopedTaskStoreTests.cs Updates task-store provider mocks.
dotnet/tests/Microsoft.Agents.AI.Hosting.A2A.UnitTests/A2AServerServiceCollectionExtensionsTests.cs Updates A2A DI tests.
dotnet/src/Microsoft.Agents.AI.Hosting/StoreIsolationKeyProvider.cs Renames the core provider API.
dotnet/src/Microsoft.Agents.AI.Hosting/Local/InMemoryAgentSessionStore.cs Updates isolation guidance.
dotnet/src/Microsoft.Agents.AI.Hosting/IsolationKeyScopedAgentSessionStoreOptions.cs Updates API references.
dotnet/src/Microsoft.Agents.AI.Hosting/IsolationKeyScopedAgentSessionStore.cs Consumes the renamed provider.
dotnet/src/Microsoft.Agents.AI.Hosting/HostedAgentBuilderExtensions.cs Resolves the renamed DI service.
dotnet/src/Microsoft.Agents.AI.Hosting/AgentSessionStore.cs Updates trust-model documentation.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ServiceCollectionExtensions.cs Renames claims-based registration API.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ClaimsIdentityStoreIsolationKeyProviderOptions.cs Renames claims-provider options.
dotnet/src/Microsoft.Agents.AI.Hosting.AspNetCore/ClaimsIdentityStoreIsolationKeyProvider.cs Renames the claims-based provider.
dotnet/src/Microsoft.Agents.AI.Hosting.AGUI.AspNetCore/AGUIEndpointRouteBuilderExtensions.cs Updates AG-UI integration.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/IsolationKeyScopedTaskStore.cs Updates A2A task isolation.
dotnet/src/Microsoft.Agents.AI.Hosting.A2A/A2AServerServiceCollectionExtensions.cs Updates A2A registration and guidance.
dotnet/samples/05-end-to-end/AGUIWebChat/Server/Program.cs Updates sample guidance.
dotnet/samples/05-end-to-end/AGUIClientServer/AGUIServer/Program.cs Updates sample guidance.
dotnet/samples/05-end-to-end/AGUIClientServer/AGUIDojoServer/Program.cs Updates sample guidance.
dotnet/samples/05-end-to-end/AgentWebChat/AgentWebChat.AgentHost/Program.cs Updates isolation examples.
dotnet/samples/05-end-to-end/A2AClientServer/A2AServer/Program.cs Updates isolation examples.
dotnet/samples/02-agents/AGUI/Step05_StateManagement/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step04_HumanInLoop/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step03_FrontendTools/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step02_BackendTools/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/Step01_GettingStarted/Server/Program.cs Updates sample guidance.
dotnet/samples/02-agents/AGUI/README.md Updates documented API name.
docs/specs/003-dotnet-hosting-protocol-helpers.md Updates specification guidance.

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

@github-actions github-actions Bot 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 thread docs/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
@SergeyMenshykh SergeyMenshykh changed the title .NET: [BREAKING] Rename store isolation key provider .NET: [BREAKING] Rename to AgentIsolationKeyProvider Aug 7, 2026
This was referenced Sep 13, 2026

This branch was previously deployed

2 inactive deployments
github-app-auth 55585ba2 Deployed Aug 7, 2026 by SergeyMenshykh via add_label #20369
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Usage: [PRs], Target: all PRs that introduce changes that are not backward compatible documentation Usage: [Issues, PRs], Target: documentation in the code base and learn docs .NET Usage: [Issues, PRs], Target: .Net

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants