Add OutboundChecker interface for on-demand URL testing#195
Merged
myleshorton merged 2 commits intomainfrom Mar 23, 2026
Merged
Add OutboundChecker interface for on-demand URL testing#195myleshorton merged 2 commits intomainfrom
myleshorton merged 2 commits intomainfrom
Conversation
Allows callers to trigger an immediate URL test cycle on a group, used by radiance to fire bandit callbacks as soon as a new config with URL overrides arrives rather than waiting for the next scheduled 3-minute interval. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a small adapter-level interface and a corresponding MutableGroupManager entry point so callers can trigger an immediate outbound URL-test cycle for groups that support it (intended to enable on-demand testing on fresh config receipt rather than waiting for the periodic scheduler).
Changes:
- Introduces
adapter.OutboundCheckerwithCheckOutbounds(). - Adds
MutableGroupManager.CheckOutbounds(group)that looks up a group and delegates toadapter.OutboundChecker.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| adapter/groups/manager.go | Adds MutableGroupManager.CheckOutbounds() delegating to a group interface. |
| adapter/group.go | Adds OutboundChecker interface to represent groups supporting on-demand outbound checks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Release mutex before calling checker.CheckOutbounds() to avoid holding the lock during potentially long network operations - Add unit tests for CheckOutbounds: delegates to OutboundChecker, errors on missing group, errors on non-checker group, errors when closed Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
YOLOing this one... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
OutboundCheckerinterface toadapter/group.gowith a singleCheckOutbounds()methodMutableGroupManager.CheckOutbounds(group)that delegates to the interfaceContext
The bandit proxy assignment system creates probes with a 20s expiry window. Without on-demand testing, the client's 3-minute URL test interval means every probe expires before being tested. This interface lets radiance fire the test immediately on fresh config receipt.
Test plan
go vet ./adapter/...passesMutableGroupManagertests still passMutableURLTestalready implementsCheckOutbounds()(line 144 of mutableurltest.go)🤖 Generated with Claude Code