Skip to content

feat(conflict): target-overlap analyzer using changeset resolver#223

Draft
behinddwalls wants to merge 1 commit into
preetam/ext/pusherfrom
preetam/ext/conflict-target-overlap
Draft

feat(conflict): target-overlap analyzer using changeset resolver#223
behinddwalls wants to merge 1 commit into
preetam/ext/pusherfrom
preetam/ext/conflict-target-overlap

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add submitqueue/extension/conflict/targetoverlap, a conflict.Analyzer that flags two batches as conflicting when they change a common file. It is the first analyzer to use the capability the extension contract unblocks: it takes only batch identity and resolves each batch's changed files itself through an injected changeset.Resolver, derived from each change's provider details.

ConflictTypeTargetOverlap was already named in the contract but had no implementation that could be written against an identity-only batch — this is that implementation. No change to the conflict.Analyzer interface. The example wires a target-overlap-queue to it.

Test Plan

Issues

Stack

  1. docs(rfc): extension contract — identity in, resolve internally #214
  2. feat(changeset): shared batch→changes resolver in core #216
  3. refactor(mergechecker): accept entity.Request, resolve change internally #217
  4. refactor(changeprovider): accept entity.Request, resolve change internally #218
  5. refactor(scorer): score entity.Batch, resolve changes internally #219
  6. refactor(buildrunner): trigger on batches, resolve changes internally #221
  7. refactor(pusher): push ordered batches, return per-batch outcomes #222
  8. @ feat(conflict): target-overlap analyzer using changeset resolver #223

@albertywu albertywu Jun 8, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Should this implementation be called fileoverlap? Since it seems to be detecting overlapping files, not targets. And targetoverlap a separate implementation that uses tango?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

seems like calude generated and published PR without me getting a change to review..but yes, it should be fileoverlap

Add submitqueue/extension/conflict/fileoverlap, a conflict.Analyzer that flags two batches as conflicting when they change a common file. It is the first analyzer to use the capability the extension contract unblocks: it takes only batch identity and resolves each batch's changed files itself through an injected changeset.Resolver, derived from each change's provider details.

A shared file is the concrete notion of target overlap, so it reports the existing conflict.ConflictTypeTargetOverlap — the type the contract named but for which no implementation could be written against an identity-only batch. No change to the conflict.Analyzer interface. The example wires a file-overlap-queue to it.
@behinddwalls behinddwalls force-pushed the preetam/ext/conflict-target-overlap branch from f468e2c to 78c9f9e Compare June 9, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants