Refactor duplicate label-agent guard initialization into shared helper#7758
Merged
Merged
Conversation
Copilot
AI
changed the title
[WIP] Refactor duplicate guard policy initialization code
Refactor duplicate label-agent guard initialization into shared helper
Jun 19, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR centralizes the common “build label_agent payload + execute LabelAgent for an agent” initialization sequence into a shared helper in internal/guard, then updates both the unified server guard-init path and the proxy guard-init path to use it to keep behavior aligned and reduce drift risk.
Changes:
- Added
guard.RunLabelAgentInit(...)to encapsulateBuildLabelAgentPayload(...)+RunLabelAgentForAgent(...). - Updated server (
internal/server/guard_init.go) and proxy (internal/proxy/proxy.go) to call the shared helper instead of duplicating the sequence. - Added unit coverage to ensure the helper produces payloads that correctly inject
trusted-botsandtrusted-userswhile preserving existing policy fields.
Show a summary per file
| File | Description |
|---|---|
| internal/server/guard_init.go | Switches unified server guard initialization to call the shared label-agent init helper. |
| internal/proxy/proxy.go | Replaces inline payload-build + label-agent run with the shared helper, preserving proxy-specific inputs. |
| internal/guard/label_agent.go | Introduces RunLabelAgentInit helper that composes payload creation and agent label initialization. |
| internal/guard/init_test.go | Extends guard init tests to validate helper-driven payload construction and execution wiring. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 4/4 changed files
- Comments generated: 1
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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.
internal/server/guard_init.goandinternal/proxy/proxy.goboth implemented the same two-step label-agent init flow (BuildLabelAgentPayload+RunLabelAgentForAgent), with small argument drift over time. This PR centralizes that flow to reduce API-change risk and keep server/proxy behavior aligned.Shared guard init abstraction
guard.RunLabelAgentInit(...)ininternal/guard/label_agent.go.Server path now uses shared helper
RunLabelAgentForAgent(...)invocation ininternal/server/guard_init.go.trustedUsers=nil, and session policy-hash caching remains unchanged.Proxy path now uses shared helper
internal/proxy/proxy.go.trustedUsersinjection and mode override handling.Focused unit coverage
trusted-botsandtrusted-userscorrectly,allow-onlypolicy fields.