Merge master into fix/issue-714-session-context-immutability
Resolve gitea_mcp_server.py conflicts after master advanced with #724 (side-effect-free resolver), #725 (merger lease), #728 (PR-sync), and #702 stale-binding recovery: - Keep #714 fail-closed session immutability: no auto profile switch (_ensure_matching_profile / _try_auto_switch_for_operation). - Retain master #709 _authenticated_actor identity helper. - Preserve resolve-path auto_recover=False (#685) and report-only stale_binding_recovery coexistence with runtime_reconnect_required. - Cross-host / cross-repository substitution still fails closed without mutating the pinned session context. - Regression coverage for merge coexistence, dual-module identity-cache isolation in conftest, and structured unknown_task fail-closed. Closes #714 conflict remediation path for PR #715.
This commit is contained in:
@@ -99,6 +99,20 @@ def _reset_mutation_authority(monkeypatch):
|
||||
monkeypatch.setattr(gitea_config, "_active_profile_override", None)
|
||||
monkeypatch.setattr(mcp_server, "_MUTATION_AUTHORITY", None)
|
||||
monkeypatch.setattr(mcp_server, "_IDENTITY_CACHE", {})
|
||||
# #714: clear both module namespaces. mcp_server.py execs gitea_mcp_server.py
|
||||
# into its own globals, so `import gitea_mcp_server` is a separate module
|
||||
# object with its own identity caches; leaving it dirty leaks login across
|
||||
# tests that import the implementation module directly.
|
||||
try:
|
||||
import gitea_mcp_server as _gitea_impl
|
||||
|
||||
monkeypatch.setattr(_gitea_impl, "_IDENTITY_CACHE", {})
|
||||
if hasattr(_gitea_impl, "_ACTOR_IDENTITY_CACHE"):
|
||||
monkeypatch.setattr(_gitea_impl, "_ACTOR_IDENTITY_CACHE", {})
|
||||
except Exception:
|
||||
pass
|
||||
if hasattr(mcp_server, "_ACTOR_IDENTITY_CACHE"):
|
||||
monkeypatch.setattr(mcp_server, "_ACTOR_IDENTITY_CACHE", {})
|
||||
monkeypatch.setattr(mcp_server, "_REVIEW_DECISION_LOCK", None)
|
||||
monkeypatch.setattr(mcp_server, "_LIVE_NAMESPACE_HEALTH", {})
|
||||
monkeypatch.setattr(mcp_server, "_preflight_whoami_called", False)
|
||||
|
||||
Reference in New Issue
Block a user