Skip to content

GH-5334 Lifting a pause on a URI that is not an agent no longer waits out the confirmation timeout - #5337

Merged
jeremydmiller merged 1 commit into
mainfrom
gh-5334-lift-pause-non-agent-uri
Nov 2, 2026
Merged

jeremydmiller merged 1 commit into
mainfrom
gh-5334-lift-pause-non-agent-uri

Conversation

@jeremydmiller

Copy link
Copy Markdown
Member

Closes #5334

Problem

In Balanced mode, the GH-4871 confirmation in ApplyRestrictionsAsync waited for an assignment row for every released URI. You can pause a receiving endpoint by its own URI (local://, rabbitmq://, tcp://, or an exclusive listener addressed by its endpoint URI), but no agent family owns that URI, so a row never appears. The lift ran the full AgentRestrictionConfirmationTimeout and then threw AgentRestrictionsNotConfirmedException, after the restriction row had already been deleted. A caller that restarts the listener only after the call returns never restarted it.

Fix

assertReleasedAgentsAreRunningAsync now waits only for released URIs that the evaluation's assignment grid (NodeController.LastAssignments) holds as agents. That is the same test AssignmentGrid.ApplyRestrictions already uses to skip paused URIs that aren't agents. Agent URIs, including wolverine-listener:// exclusive listeners, are still confirmed as before. The fix adds a small internal AssignmentGrid.HasAgent(Uri).

Tests

🤖 Generated with Claude Code

https://claude.ai/code/session_01DCggXgxnG3EBXoR9rrq37U

… out the confirmation timeout

ApplyRestrictionsAsync's GH-4871 confirmation waited for an assignment row for every released
URI. A receiving endpoint paused by its own URI is a supported restriction that no agent family
owns, so no row ever appears: the lift ran the full AgentRestrictionConfirmationTimeout and then
threw AgentRestrictionsNotConfirmedException, after the restriction had already been removed.

The confirmation now only waits for URIs the evaluation's assignment grid holds as agents, the
same test AssignmentGrid.ApplyRestrictions uses to skip them. Agent URIs, including
wolverine-listener:// exclusive listeners, are still confirmed as before.

Closes #5334

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DCggXgxnG3EBXoR9rrq37U
@jeremydmiller
jeremydmiller merged commit 5e5627d into main Nov 2, 2026
48 of 49 checks passed
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.

ApplyRestrictionsAsync always throws AgentRestrictionsNotConfirmedException when lifting a pause on a URI that is not an agent

1 participant