Repository navigation
Conversation
manjari25
added this pull request to stack #883
October 16, 2026 20:34
manjari25
force-pushed
the
manjari/tango-analyzer-request
branch
from
October 16, 2026 22:07
aed8b60 to
0f34932
Compare
manjari25
marked this pull request as ready for review
October 16, 2026 22:36
manjari25
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 16, 2026 22:36
This branch has not been deployed
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.
Why?
The Tango-backed conflict analyzer needs three building blocks that don't depend on how it is wired: the interfaces for the two things a deployment supplies, the request it sends to Tango, and the check that decides whether two signatures conflict. This PR adds them separately so the interface shapes can be reviewed before the analyzer uses them.
What?
Everything is added under
submitqueue/extension/conflict/tango:ChangedTargetsRequest: the remote, the base revision, every change URI in batch order, and the merge strategy.ChangedTargetsClient, which returns the affected targets of a request as label and distance pairs. A deployment supplies an adapter that owns the Tango client and its stream, collects the response and resolves each target's label. Any failure to produce a complete answer is an error, and an empty result is valid.BaseandBaseResolver: how the analyzer learns the newest revision of a queue's target branch. A deployment supplies the implementation.changedTargetsRequestFor, which flattens the URIs of a batch's changes, in order, into a request.sharesTarget, which reports whether two signatures have a target ID in common. Both must be sorted by ID, so the check is one pass over each, and it stops at the first shared ID.Test Plan
./tool/bazel test //submitqueue/extension/conflict/tango/...go test -race ./submitqueue/extension/conflict/tango/make check-gazellemake check-mocksmake lintCI
Issue