Skip to content

refactor(changeprovider): accept entity.Request, resolve change internally#218

Draft
behinddwalls wants to merge 1 commit into
preetam/ext/mergecheckerfrom
preetam/ext/changeprovider
Draft

refactor(changeprovider): accept entity.Request, resolve change internally#218
behinddwalls wants to merge 1 commit into
preetam/ext/mergecheckerfrom
preetam/ext/changeprovider

Conversation

@behinddwalls

@behinddwalls behinddwalls commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Change ChangeProvider.Get to take the orchestrator's request identity (entity.Request) instead of a controller-pre-resolved entity.Change, per the extension contract. The GitHub implementation and the fake read request.Change themselves; the validate controller hands over the request it already loaded.

Output is unchanged: one entity.ChangeInfo per URI, each self-identifying by URI. The provider is the external resolver, so it needs no injected dependency — the factory and Config are unchanged.

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

…nally

Change ChangeProvider.Get to take the orchestrator's request identity (entity.Request) instead of a controller-pre-resolved entity.Change, per the extension contract. The GitHub implementation and the fake read request.Change themselves; the validate controller hands over the request it already loaded.

Output is unchanged: one entity.ChangeInfo per URI, each self-identifying by URI. The provider is the external resolver, so it needs no injected dependency — the factory and Config are unchanged.
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.

2 participants