Problem
The public delivery schema does not expose a pull request's changed-file snapshot or the repository ownership facts needed to identify plausible reviewers. Repository rulesets do not provide the semantics of CODEOWNERS, and consumers currently need additional live GitHub requests to relate touched paths to owners or recent code authors.
This prevents offline consumers from building reviewer-selection workflows on top of the mirror and makes their result depend on a second, independently timed GitHub snapshot.
Proposed behavior
Expose bounded, source-derived ownership inputs without embedding a reviewer-ranking policy in the sync engine.
- Mirror the changed files for the current pull-request head, including path, previous path where applicable, status, and the base/head SHAs that define the snapshot.
- Mirror the effective
CODEOWNERS source with repository/ref/SHA provenance and expose the resolved user/team owners for touched paths.
- Provide a bounded representation of blame or recent-author overlap for the changed ranges, or document a lower-cost source-fact representation from which a consumer can compute that overlap.
- Preserve stable GitHub identities for users and teams and distinguish unresolved/deleted owners.
- Refresh ownership inputs after head/base changes, renames, force-pushes, default-branch ownership changes, and reconciliation.
- Publish reference events when changed-file or ownership facts change.
Review request load can be derived from the separate review-request mirror; this issue should remain focused on changed paths and repository ownership facts.
Acceptance criteria
- A consumer can relate the current pull-request diff to effective user/team owners without a live GitHub read.
- Every changed-file/ownership snapshot is fenced by explicit base and head SHAs.
- Renames, force-pushes, ownership-file changes, missing ownership files, and unresolved owners have documented behavior.
- The representation is bounded for large diffs and repositories, with explicit truncation or resync semantics rather than silent omission.
- Backfill and reconciliation converge to the same result as webhook-triggered refresh.
- Changes emit
entities reference events covered by the watermark/cursor contract.
- Public schema, event grammar, fake GitHub fixtures, backfill, reconciliation, and contract tests are updated.
Problem
The public delivery schema does not expose a pull request's changed-file snapshot or the repository ownership facts needed to identify plausible reviewers. Repository rulesets do not provide the semantics of
CODEOWNERS, and consumers currently need additional live GitHub requests to relate touched paths to owners or recent code authors.This prevents offline consumers from building reviewer-selection workflows on top of the mirror and makes their result depend on a second, independently timed GitHub snapshot.
Proposed behavior
Expose bounded, source-derived ownership inputs without embedding a reviewer-ranking policy in the sync engine.
CODEOWNERSsource with repository/ref/SHA provenance and expose the resolved user/team owners for touched paths.Review request load can be derived from the separate review-request mirror; this issue should remain focused on changed paths and repository ownership facts.
Acceptance criteria
entitiesreference events covered by the watermark/cursor contract.