doc-healer: stop retrying rejected docs-only fix direction from closed unmerged [docs] PRs#33900
Conversation
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
|
Hey
Per the CONTRIBUTING.md guidelines, non-core contributors should create an issue with a detailed agentic plan first. A core team member can then pick it up and implement it. If you're part of the core team, this PR may be fine — just ensure it aligns with internal workflow expectations. If you'd like to convert this into the proper contribution format, here's a prompt for your coding agent: Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "patchdiff.githubusercontent.com"See Network Configuration for more information.
|
There was a problem hiding this comment.
Pull request overview
Updates the Daily Documentation Healer workflow instructions so that previously closed-but-unmerged [docs] PRs are treated as an explicit “rejection” signal, preventing repeated re-attempts of the same docs-only fix direction and instead escalating via a [doc-healer] improvement issue.
Changes:
- Add Step 1 logic to search for recently closed (last 30 days) unmerged DDUw
[docs]PRs matching the same drift/issue keywords and treat confirmed cases as rejection. - Define verification steps for “rejection” (unmerged validation + closure-context inspection) and specify the resulting escalation behavior (create
[doc-healer]improvement issue, tagclosed_by). - Minor guideline formatting fix (“Exit cleanly” bullet alignment).
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/daily-doc-healer.md | Adds closed-unmerged PR rejection detection + escalation instructions to avoid churn PR retries. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 1
| - Before treating it as rejection, inspect closure context with `issue_read` (`method: get` and `method: get_comments`): treat as rejected only when `closed_by` appears in GitHub MCP `list_repository_collaborators` results and comments/reviews indicate intentional direction (or explicit lack of acceptance), not an obvious transient/accidental closure. | ||
|
|
||
| - A closed-unmerged DDUw `[docs]` PR is a strong rejection signal for that fix direction. Do **not** re-attempt the same docs fix. | ||
| - Instead, create a `[doc-healer]` improvement issue that: | ||
| 1. Names the rejected PR and the unresolved drift. | ||
| 2. Proposes the inverse fix direction (for example, code change instead of docs-only change). | ||
| 3. Tags `@<closed_by.login>` (login extracted from the `closed_by` user object in rejected PR issue data) for an explicit next-step decision. If `closed_by` is unavailable, do not suppress retries automatically; escalate uncertainty in the improvement issue body. |
Daily Documentation Healer Step 1 only treated merged
[docs]PRs as “addressed,” so it could repeatedly re-attempt the same docs-only change after maintainers had already closed that direction unmerged. This update adds an explicit rejection-signal path so the workflow escalates strategy instead of re-filing churn PRs.Step 1: Add closed-unmerged rejection detection
[docs]PR candidates fromgithub-actions[bot]withdocumentation+automationlabels for the same drift.Verification rules for candidate PRs
pull_request_readwithmerged == false).Behavior change on confirmed rejection
[doc-healer]improvement issue that names the rejected PR, states unresolved drift, proposes the inverse fix direction, and tags the closure actor (closed_by.login) for a deliberate next-step decision.Prompt clarity hardening
<OWNER/REPO>,<DRIFT_KEYWORD>), including concrete drift-key examples.