Repository navigation
Description
Is there an existing issue for this?
- I have searched the existing issues.
Searched open/closed issues for description Closes, description "issue link", closing rewrite, and Closes approval. #785 concerns interrupted temporary retargeting/recovery markers, #621 conventional-title rewriting, #723 unrelated contextual mentions, and #735 staged completion. This report concerns a completed ordinary PR-processing run leaving the native issue link and approval's textual issue-link test inconsistent.
Which actions are affected?
Pull Request
Which platforms are affected?
Linux (native Action); macOS (read-only evidence collection)
Description
PR processing replaces a body containing Closes #45 with a generated description that omits all closing-keyword text. The managed branch and Copilot configuration still identify issue 45, and GitHub GraphQL still returns issue45 in closingIssuesReferences. However the installed approval evidence adapter determines linkedIssue only from a closing-keyword regex against the current body. The supplemental assessment consequently reports reason: scope for this otherwise ordinary managed maintenance PR.
Observed consumer: vypdev/geckocv PR46, issue45, source cfebacec8cacd0342f4af39eda3ab806c8db2957, original base 5dde8907973d3e9718c9e5886daa8a6caf7ae078.
This is an integration inconsistency, not a request to bypass issue linkage, review, producer attestation or branch rules. The observed policy was recommendation-only and no native bot approval is claimed. The exact internal stage that removed the text has not been isolated: the user-content history proves the bot-generated replacements omit it, but this report does not assume whether AI generation or another linking/publication stage caused removal.
Reproducing the issue
- Open a human-authored PR from the Action-created
chore/45-align-trusted-ci-producers-and-coverage-evidence-for-pr-recommendationsbranch to develop. The submitted body includes a standaloneCloses #45.and valid schemaVersion3 configuration with branchType chore, exact workingBranch and parentBranch develop. - Run the normal replace-description pipeline. Copilot PR run41037291836, job124001163479, completes successfully with no findings. Commit and Branch Sync also succeed.
- Read PR46
userContentEditsthrough GraphQL. Replacements byvypbotat 2026-10-30 10:01:26 UTC and 10:02:07 UTC contain the new summary and preserved machine configuration but noCloses,FixesorResolvesreference to45. The originally submitted body containsCloses #45.. - At the same revision, GraphQL
closingIssuesReferencesstill returnsvypdev/geckocv#45. The ordinary branch name and configuration also remain linked to45. The PR base is develop; it is open/non-draft/same-repository. - Inspect supplemental Approval check124003101990: neutral, Human review needed, outside configured approval scope; technical reason
scope. It reports 2/2 observed checks succeeded and Bugbot complete. The configured target role includes development, branchKinds includes chore and requireLinkedIssue is true. - Inspect the executed evidence adapter: it parses the positive issue number from the managed branch prefix and requires a closing-keyword match in
pull.bodyto set linkedIssue. It does not consult the retained native closing relationship. Removing the text therefore makes that required fact false even though GitHub retained the link. - The maintainer restored
Closes #45.at 10:15:49 UTC, preserving the machine block and recording actual completed checks. All code/test checks and processed Codecov were successful. The independently authorized ordinary human merge completed at 10:15:54 UTC, mergea6c7175058bafcc0d73c10a90f54e1f41cc91b34. This was not an observer native approval or a demonstration that restoring text alone reran the assessment; no such unobserved success is claimed.
The now-merged URL can show later state. The described body/assessment interval remains independently visible in user-content edits, check output and original submission evidence. Do not open another managed branch, deploy or submit a native approval merely to reproduce it.
copilot Version
Official vypdev/copilot@v3, resolving to f5e5a4cf9a80248994469cd88ad55eecab5b95ca / release3.10.6. Fresh read at report preparation still showed that v3 ref and latest release. AI PR description mode replace; self-hosted Linux runner.
Relevant Log Output
Provider/state observations rather than fabricated failure logs:
PR46 head: cfebacec8cacd0342f4af39eda3ab806c8db2957
branch issue: 45
submitted body: Closes #45.
bot replacement body: no closing-keyword reference
GraphQL closingIssuesReferences: vypdev/geckocv#45
Copilot PR run41037291836: success / no findings
Copilot / Approval: neutral / scope / 2 of 2 checks succeeded
Additional context and comments
Please make description rewriting and issue-link evidence agree deterministically. Preserve verified original closing references across AI replacement/retries, or consume an authoritative native same-repository relationship with validated branch/issue identity. Preserve explicit Refs versus closing intent for staged work; do not convert arbitrary contextual mentions into closing links or authorize an unrelated issue (#723/#735).
Suggested regression: valid managed branch and submitted closing reference; generated replacement omits it; native relationship remains; repeated description publication and observer assessment; an intentionally nonclosing staged link; wrong-repository/wrong-number contextual references; missing relationship; and preserved configuration/protected-path review. Assert both the published body/native relation and computed approval evidence rather than a prompt-only preservation test.
The consumer owner explicitly requested upstream reports for genuine Copilot problems. We restored only the required link and verification prose, performed the separately authorized reviewed merge, and left the recommendation policy in its intended mode. No secret, dotenv content, token, real candidate document, native approval, deployment or fabricated check is included.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsDone
Activity
[-]PR description replacement drops closing reference while approval requires its text[/-][+]π - PR description replacement drops closing reference while approval requires its text[/+]vypbot commentedon Oct 30, 2026
Hi! Iβm @vypbot, the Copilot assistant for this repository.
I can answer questions, explain the codebase, propose implementation and test plans, review issues and pull requests for potential bugs or security problems, and help authorized maintainers apply changes.
Try
/copilot helpto see the available commands, or mention @vypbot with your question.[-]π - PR description replacement drops closing reference while approval requires its text[/-][+]ππ§βπ» - PR description replacement drops closing reference while approval requires its text[/+]vypbot commentedon Oct 30, 2026
Implementation plan
Acceptance: Regression coverage demonstrates that a valid managed PR retains or authoritatively resolves its verified closing issue after repeated description replacement, and that approval evidence recognizes it; staged Refs links and unrelated or invalid references do not become closing evidence.
Need something else? Mention the bot with a question or use
/copilot help.vypbot commentedon Oct 30, 2026
Issue closed β historical progress
Current status: closed as completed.
The last estimate is retained below as history. Closure does not certify a new percentage, tests, or branch alignment.
Action required: none for this closed issue. If work continues, reopen the issue; a fresh assessment can update this same card.
Last assessment before closure (historical)