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

   ## Summary
   
   Adds bulk-mode selectors to `security-issue-invalidate`:
   
   - `invalidate #N1, #N2, …` / `invalidate #N1-#N5` — explicit list, all 
closed in one run with one combined proposal.
   - `invalidate proposed` — every open tracker that has a posted 
NOT-CVE-WORTHY triage proposal **AND** team consensus marker (a thumbs-up 
reaction from a second roster member, or a follow-up reply with a 
positive-acknowledgement keyword).
   
   Updates Step 6 to make the sequential-across-trackers rule explicit and 
document the partial-failure-recovery contract.
   
   ## Motivation
   
   During the 2026-05-14 sweep, the user invoked the skill 7 times in sequence 
to invalidate the 7 NOT-CVE-WORTHY trackers from the just-completed triage 
pass. The skill's per-tracker single-issue contract worked but the operator 
quality-of-life is poor: each invocation is its own round-trip with the 
classifier, body preview, and confirmation gate, and the "please proceed all 
the invalid ones as if team agreed" intent is more naturally a batch operation.
   
   The bulk-mode selector mirrors the `security-issue-sync` bulk-mode pattern: 
aggregate the proposed actions across all N trackers, surface one combined 
proposal, accept one `all` confirmation, then apply sequentially per the 
existing Step 6 hard rule.
   
   ## Test plan
   
   - [ ] Run `/security-issue-invalidate #N1, #N2, #N3` on three open trackers 
with NOT-CVE-WORTHY triage proposals; confirm one combined proposal lists the 
close-comment / reporter-draft / label / close actions for each.
   - [ ] Confirm `all` confirmation applies sequentially, with one tracker 
fully closed (labels + close + draft + board archive) before the next starts.
   - [ ] Confirm partial-failure handling: if tracker 2 of 3 fails its `gh 
issue close`, tracker 1 stays closed, tracker 3 doesn't start, and the failure 
is surfaced so the user can retry.
   - [ ] Confirm `invalidate proposed` correctly identifies trackers with both 
a NOT-CVE-WORTHY triage proposal AND a team-consensus signal; **without** the 
consensus signal, proposed trackers are excluded with an explicit "awaiting 
consensus on #NNN — skipped" note.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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