potiuk opened a new pull request, #547:
URL: https://github.com/apache/airflow-steward/pull/547
## Summary
- `pr-management-triage` Sweep 4 (stale `ready for maintainer review`) is now
**court-based**: it strips the label only when the next move to make the PR
mergeable is the **author's**, and keeps it when the next move is a
maintainer's (review, merge, workflow approval, CI rerun, branch update).
- "Maintainer", for the author-silence / active-conversation signals, now
means
**committer-team membership or `write`+ permission** — not
`authorAssociation ∈ {COLLABORATOR, MEMBER, OWNER}` alone.
- Strips are no longer **silent**: each posts a `stale-ready-label-strip`
audit
marker (with the author-facing action folded in), and rotted branches are
**handed back** to the author rather than auto-closed.
## Motivation
The old Sweep 4 was inverted from what `ready for maintainer review` means:
it
stripped *healthy* stale PRs (4a) and closed *rotted* ones (4b). But a
healthy,
author-silent ready PR — especially an approved, mergeable one — is waiting
on a
**maintainer**, not the author; de-queuing it is wrong. A rotted branch is
the
author's to rebase; jumping to `close` throws away recoverable work.
This surfaced from a real misfire in an adopter (apache/airflow): an
**approved,
mergeable** PR had its label silently stripped because the only post-label
"maintainer" comment was from a **read-only** `COLLABORATOR` (a routing
`@`-mention) that the old "author silent after a maintainer comment" trigger
counted as maintainer activity. The silent strip read as a human mistake and
drew a public "why was this removed?" from the contributor.
Originating adopter override:
`.apache-magpie-overrides/pr-management-triage.md`
in apache/airflow.
## What changed
- **stale-sweeps.md** — Sweep 4 rewritten: entry = stale + quiet; Step A
re-classifies live; Step B reads the court off the decision-table action;
strip + author action in one pass + audit marker; rotted → hand back
(Sweep 2
retires the truly abandoned).
- **classify-and-act.md** — new `Maintainer activity` definition;
`strip-ready-on-downgrade` cross-references the court test.
- **actions.md** — `strip-ready-label` no longer silent (audit marker +
coupled
author action).
- **comment-templates.md** — new `stale-ready-label-strip` template;
`stale-ready-label-close` reframed as manual-only.
- **SKILL.md / rationale.md / session-history.md** — summary, rationale, and
action-log rows updated.
## Migration path for existing adopters
No config change and no new knob — the behaviour is universal and better by
default; the existing `committers_team` config is reused for maintainer
detection. Adopters pick it up on their next `/magpie-setup upgrade`.
## Test plan
- `prek run --files <changed>` — all hooks green (markdownlint, lychee,
skill-and-tool-validate, placeholders).
- Verified the originating misfire (approved + mergeable +
read-only-collaborator
comment) now classifies as maintainer-court → keep label.
Generated-by: Claude Code (Claude Opus 4.8)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]