This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git
The following commit(s) were added to refs/heads/main by this push:
new 66d88e2 feat(pr-management-triage): maintainer-sweep handback variant
(#286)
66d88e2 is described below
commit 66d88e25090f7a44377f2c72beffb72882a9599c
Author: Jarek Potiuk <[email protected]>
AuthorDate: Mon May 25 19:39:51 2026 +0200
feat(pr-management-triage): maintainer-sweep handback variant (#286)
Adds an optional variant of the `request-author-confirmation`
template body for projects that prefer a maintainer-sweep
handback over the default reviewer-ping handback. Selected via
a new `confirmation_handback_mode` key in
`<project-config>/pr-management-config.md`.
- Default (`reviewer-ping`): unchanged — author marks threads
resolved + pings the reviewer for a final look and label.
- New (`maintainer-sweep`): author replies `yes / ready` and
the next triage sweep promotes the PR via the existing
`author_confirmation_received` → `mark-ready` flow. No
reviewer ping; the contributor's confirmation cost is one
short reply.
The variant body uses the `<PROJECT>` placeholder so the
rendered text reads "a Foo Project maintainer" rather than a
hardcoded project name. Both variants share the canonical
`ready for maintainer review confirmation` marker string so
`viewer_confirmation_request_present` detection works for
either.
Skill code unchanged — the agent reads comment-templates.md
and picks the body matching `confirmation_handback_mode`.
classify-and-act.md and actions.md still reference the same
template name; the variant lives in the body section.
Motivated by apache/airflow's existing override, which has
been using the maintainer-sweep flavour as a project-local
hack. Once this lands the override can drop its custom body
and just set `confirmation_handback_mode: maintainer-sweep`.
Generated-by: Claude (Opus 4.7)
---
.../pr-management-triage/comment-templates.md | 52 ++++++++++++++++++++++
projects/_template/pr-management-config.md | 12 +++++
2 files changed, 64 insertions(+)
diff --git a/.claude/skills/pr-management-triage/comment-templates.md
b/.claude/skills/pr-management-triage/comment-templates.md
index a6955e9..2d4895c 100644
--- a/.claude/skills/pr-management-triage/comment-templates.md
+++ b/.claude/skills/pr-management-triage/comment-templates.md
@@ -420,6 +420,58 @@ If the author is silent past the cooldown, the
[stale author-confirm-request
sweep](stale-sweeps.md#sweep-5--stale-author-confirm-request)
takes over.
+### Variant: maintainer-sweep handback
+
+Use when
+[`<project-config>/pr-management-config.md`](../../../projects/_template/pr-management-config.md)
+sets `confirmation_handback_mode: maintainer-sweep` (see the
+"Workflow choices" section of that file).
+
+In this variant the "If yes" branch directs the author to
+reply with a short `yes / ready` rather than to ping the
+reviewer. The next triage sweep then classifies the PR via
+[`author_confirmation_received`](classify-and-act.md#author_confirmation_received)
+and offers the triaging maintainer the
+[`mark-ready`](actions.md#mark-ready--add-ready-for-maintainer-review-label)
+action — same downstream flow as the default mode, just
+initiated by a short author confirmation instead of an
+author-led reviewer ping.
+
+```markdown
+@<author> — There are <N> unresolved review thread(s) on this PR, and you have
engaged with each one (post-review commits and/or in-thread replies). Could you
confirm whether you believe the feedback is fully addressed and the PR is ready
for maintainer review confirmation?
+
+If yes, reply here (a short `yes / ready` is fine) and a <PROJECT> maintainer
will pick the PR up from the review queue on the next sweep.
+
+If you are still working on a thread, please reply with what is outstanding so
the threads stay unresolved on purpose.
+
+<ai_attribution_footer>
+```
+
+Notes on the variant:
+
+- **No `<reviewer_logins>` in the first paragraph.** In this
+ variant the reviewers are not part of the next-action loop —
+ the maintainer sweep is — so mentioning them by name adds
+ noise without changing what the author needs to do.
+- **The marker string `ready for maintainer review
+ confirmation`** still appears verbatim. Both variants rely
+ on the same
+
[`viewer_confirmation_request_present`](classify-and-act.md#viewer_confirmation_request_present)
+ detector on subsequent sweeps.
+- **`<PROJECT>` placeholder** in the "If yes" sentence — read
+ from
+
[`<project-config>/pr-management-triage-comment-templates.md`](../../../projects/_template/pr-management-triage-comment-templates.md)
+ (same source as the AI-attribution footer's `<PROJECT>`).
+
+When to pick this variant: your project runs a regular
+maintainer triage cadence that scans for `yes / ready`
+replies, and you prefer the contributor's confirmation cost
+to be a short reply rather than thread bookkeeping plus a
+reviewer ping. The default `reviewer-ping` variant is the
+right choice when reviewers themselves apply the
+ready-for-maintainer-review label or no maintainer-sweep
+cadence exists.
+
---
## Stale draft close
diff --git a/projects/_template/pr-management-config.md
b/projects/_template/pr-management-config.md
index d317be9..b77354c 100644
--- a/projects/_template/pr-management-config.md
+++ b/projects/_template/pr-management-config.md
@@ -6,6 +6,7 @@
- [Identifiers](#identifiers)
- [Project-specific labels](#project-specific-labels)
- [Grace windows](#grace-windows)
+ - [Workflow choices](#workflow-choices)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
@@ -67,3 +68,14 @@ chance to look at yet.
| Stale-review-ping cooldown | 7 days | 7 days |
| Stale-workflow-approval threshold | 28 days | 28 days |
| Stale-Copilot-review threshold | 7 days | 7 days |
+
+## Workflow choices
+
+Some triage actions branch on a project-specific workflow
+preference rather than a quantitative threshold. Each key
+below picks one of the documented variants; leave at the
+default to use the standard variant.
+
+| Key | Default | Notes |
+|---|---|---|
+| `confirmation_handback_mode` | `reviewer-ping` |
`request-author-confirmation` action's "If yes" branch. `reviewer-ping`: the
author marks threads resolved and `@`-pings the reviewer for a final look +
label. `maintainer-sweep`: the author replies with a short `yes / ready` and
the next triage sweep promotes the PR to the maintainer review queue. Pick
`maintainer-sweep` if your project runs a regular maintainer triage cadence and
prefers a lightweight contributor confirmation over a re [...]