Skip to content

feat(conflict): Init Tango-backed target-overlap conflict analyzer - #589

Open
manjari25 wants to merge 2 commits into
mainfrom
manjari/tango-analyzer
Open

feat(conflict): Init Tango-backed target-overlap conflict analyzer#589
manjari25 wants to merge 2 commits into
mainfrom
manjari/tango-analyzer

Conversation

@manjari25

Copy link
Copy Markdown
Contributor

Summary

  • Adds a conflict.Analyzer implementation that detects conflicts between
    batches based on build-target overlap, resolved through a TargetResolver
    interface whose production implementation will call Tango's
    GetChangedTargets in a follow-up PR.
  • The analyzer is the same shape as pathoverlap — takes identity-level
    batches, resolves targets internally, compares sets locally — but operates
    at build-target granularity instead of file paths.
  • YARPC adapter and profile wiring follow in subsequent PRs.

Test plan

  • Table-driven tests covering overlap, no overlap, ordering, empty candidate targets
  • Empty in-flight short-circuits with no conflicts
  • Resolver error propagation
  • make test, make lint, make fmt, make check-gazelle pass

@manjari25
manjari25 requested review from a team, behinddwalls and sbalabanov as code owners August 14, 2026 16:48
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

// TargetResolver resolves the set of build targets a batch affects. The
// production implementation translates the batch's changes into a Tango
// GetChangedTargets call; tests supply a fake.
type TargetResolver interface {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this be an internal interface?

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.

3 participants