The trust boundary

Copilot code review obtains repository instructions, agent instructions, and skills from the pull request’s source branch rather than its target branch. That makes those files useful review context, but it also means a change can alter the guidance presented with that same change.

A safer repository design is to treat pull-request-controlled guidance as untrusted input to review, while defining merge criteria, independent checks, and escalation ownership outside the pull request. This is a proposed repository policy, not a provider-prescribed implementation.

Copilot can also use relevant agent skills and configured MCP servers as context. Treat those contextual inputs under the same boundary when their configuration or instructions are changeable by the pull request.

Human validation remains necessary: GitHub warns that Copilot can miss issues or produce incorrect feedback. A clean Copilot review should therefore be evidence for triage, not the sole acceptance decision.

Four-case decision table

The following table is an illustrative acceptance policy. Its independent-check and merge decisions are application-owned choices proposed by this article, not statements of GitHub requirements.

Proposed handling for pull-request review inputs and changes
CaseChanged artifactsGuidance sourceTrust classificationIndependent checkRe-review decisionMerge conditionBounded application-owned action
Code-only change with unchanged instructionsImplementation or tests; no review-guidance file changesExisting source-branch guidanceContext onlyRun protected checks defined outside the pull request and obtain human acceptance.Request or retain Copilot feedback as supplementary input; request another review if local policy requires it.Protected checks and the repository’s human acceptance rule pass.Record the guidance revision considered and route failed independent checks to the code owner.
Instruction-only changeRepository instruction, agent-instruction, skill, or review-context configuration fileModified source-branch guidanceUntrusted for acceptanceReview the guidance diff against a separately maintained policy and require human review.Request a review when useful, but do not let its result validate the changed guidance.A designated human approves the guidance change and protected controls remain intact.Escalate the change to the policy owner and retain an audit record of the decision.
Code and instructions changed togetherImplementation or tests plus review guidanceModified source-branch guidanceUntrusted for acceptanceValidate code with protected checks; separately inspect the guidance diff and its effect on review scope.Request a fresh review after the combined diff is ready; treat comments as supplementary.Independent validation passes and a human accepts both the behavior change and guidance change.Assign the code and policy portions to appropriate reviewers; block merge on either unresolved track.
New push after an earlier Copilot reviewOne or more commits added after reviewCurrent source-branch guidanceContext onlyRe-run protected validation against the current commit and compare any guidance changes.A later push is not necessarily reviewed again automatically; manually request a new review unless repository automation covers new pushes.Acceptance applies to the current commit, with required human and independent checks complete.Invalidate prior local acceptance evidence when its covered commit or guidance revision has changed.

Why review output is not an acceptance oracle

On GitHub, Copilot reviews are ordinarily requested manually. Automatic review can be enabled, and whether later commits receive another automatic review depends on the repository’s configuration.

Its usual review form is a comment rather than an approval. GitHub also documents an optional configuration under which a Copilot approval can satisfy a required-approval rule; when a subsequent commit arrives, that approval is dismissed.

Those documented workflow variations are reasons to preserve a separate acceptance boundary. The table’s merge conditions are deliberately local policy: maintainers should choose an external enforcement mechanism that a pull request cannot weaken.

Hypothetical failure walkthrough

This is a hypothetical scenario, not an observed review outcome. A pull request edits its own review guidance to reduce scrutiny, then adds an attempted assignment to True. Assume Copilot leaves no comment. An independently maintained language check identifies the problem: Python 3.14.7 documents assignment to True as invalid syntax.

Under the proposed policy, no Copilot comment does not accept the change. The independent finding keeps the pull request unaccepted, and a human examines both the weakened guidance and the language defect before deciding the next step. This example does not claim that Copilot caused, detected, or will reliably detect such a defect.

Implementation choices and limitations

One alternative is to let source-branch guidance define both review scope and merge acceptance. That is simpler, but it permits a pull request to influence the rules used to accept itself. The recommended alternative separates contextual guidance from protected acceptance controls.

Choose a protected checker or CI control, decide whether every guidance-file modification requires human approval, and define how a later push invalidates prior acceptance evidence. Also decide who may change repository settings that affect review and approval behavior.

This article is limited to the supplied GitHub.com Copilot code-review excerpts and Python 3.14.7 built-in-constant material. Preview features and other review products are outside this article’s scope. Re-check the relevant documentation when a source changes, a version retires, or an incompatible release is adopted.