andreahlert opened a new pull request, #90:
URL: https://github.com/apache/airflow-steward/pull/90

   ## Summary
   
   - Adds pre-filter **F6** to 
[`classify-and-act.md`](.claude/skills/pr-management-triage/classify-and-act.md):
 on a draft PR, if a maintainer other than the viewer has submitted a 
non-pending review or posted a substantive comment (≥ 80 chars) after the 
author's last commit, the triage classifier skips the PR silently. This closes 
the "duplicate proposal" gap from #79 — F5a only fires within 72 h and only on 
the most recent comment, F5b targets maintainer-to-maintainer pings, and 
neither covers the `<author>-drafted` shape where a maintainer has already 
converted the PR and laid out the critique.
   - Anchors F6 at `commits(last:1).committedDate` rather than a wall-clock 
TTL, so a new author push reopens the PR for re-evaluation while idle drafts 
stay suppressed without re-introducing the duplicate-proposal problem. 
Stale-sweeps still own eventual resurfacing via a different action 
(`stale_draft` → close).
   - Adds a [`rationale.md`](.claude/skills/pr-management-triage/rationale.md) 
section explaining the choice of anchor, the drafts-only scope, the 80-char 
comment threshold, and two follow-up signals (maintainer push, 
`convert_to_draft` timeline event) that would strengthen F6 but require new 
GraphQL fields.
   
   No new query fields are needed for the MVP: F6 reads `latestReviews` and 
`comments(last:10)` which the batch query already populates for F5a/F5b.
   
   ## Test plan
   
   - [x] `bash tools/dev/check-placeholders.sh` — no hardcoded `<upstream>` 
references
   - [x] `prek run --files 
.claude/skills/pr-management-triage/classify-and-act.md 
.claude/skills/pr-management-triage/rationale.md` — markdownlint, typos, 
anchors clean
   - [x] `uv run --directory tools/skill-validator skill-validate` — no 
violations
   - [ ] Live triage run on `<upstream>` against the three motivating PRs 
(`<upstream>#58149`, `<upstream>#63260`, `<upstream>#64906`) to confirm F6 
fires and suppresses the duplicate `draft` proposal — happy to do this in a 
follow-up once a maintainer is around to watch the run.
   
   Closes #79


-- 
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]

Reply via email to