Skip to content

Update .NET extension reload E2E contract - #2176

Closed
dmytrostruk wants to merge 1 commit into
mainfrom
dmytrostruk-validate-extension-schema
Closed

Update .NET extension reload E2E contract#2176
dmytrostruk wants to merge 1 commit into
mainfrom
dmytrostruk-validate-extension-schema

Conversation

@dmytrostruk

@dmytrostruk dmytrostruk commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • update the loaded-extension E2E contract for session.extensions.reload
  • verify reload re-reads persisted global settings and clears a session-local disable when the global default remains enabled
  • assert the relaunched extension is running with a PID

Depends on github/copilot-agent-runtime#13831. The current SDK CI runtime still implements the previous session-local reload behavior, so this contract test becomes green when that runtime change is available.

Validation

  • git diff --check
  • .NET test execution unavailable locally because this environment has no dotnet toolchain

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: d7f9a806-ac6c-4db3-9a56-4df4b9d73f76
@dmytrostruk
dmytrostruk requested a review from a team as a code owner July 30, 2026 23:25
Copilot AI review requested due to automatic review settings July 30, 2026 23:25

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

Updates the .NET E2E reload contract to verify that global enablement overrides session-local disablement.

Changes:

  • Expects reload to restart a disabled extension.
  • Verifies the restarted process has a positive PID.
Show a summary per file
File Description
dotnet/test/E2E/RpcExtensionsLoadedE2ETests.cs Updates extension reload expectations and PID assertions.

Review details

  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Balanced

@github-actions

Copy link
Copy Markdown
Contributor

Cross-SDK Consistency Review ✅

This PR modifies only one .NET E2E test file (dotnet/test/E2E/RpcExtensionsLoadedE2ETests.cs), updating Reload_Preserves_Disabled_State_Across_CallsReload_Restores_Globally_Enabled_State to reflect the correct contract for Extensions.ReloadAsync().

No cross-SDK consistency issues found. Specifically:

  • No public SDK API surface was changed — this is a test-only fix
  • The corrected behavior (reload re-reads global settings and clears session-local disabled state) is an internal server contract, not a cross-language API shape
  • No equivalent "reload preserves disabled state" E2E test exists in other SDKs (Node.js, Python, Go, Java, Rust) that would need updating

The changes maintain cross-SDK consistency.

Generated by SDK Consistency Review Agent for #2176 · sonnet46 24.7 AIC · ⌖ 5.37 AIC · ⊞ 6.6K ·

@dmytrostruk

Copy link
Copy Markdown
Contributor Author

Closing for sequencing: this contract-test update should be generated and applied with the SDK release after github/copilot-agent-runtime#13831 is finalized, rather than landing as a standalone SDK PR now.

@stephentoub
stephentoub deleted the dmytrostruk-validate-extension-schema branch August 7, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants