andreahlert commented on issue #71:
URL: https://github.com/apache/airflow-steward/issues/71#issuecomment-4549385147

   Did a full sweep of approval gates and author-association checks across the 
skills + tools. Findings: every place that gates on reviewer association 
already accepts `MEMBER` alongside `OWNER`/`COLLABORATOR`. Inventory:
   
   **Triage filters / decision table** 
([.claude/skills/pr-management-triage/classify-and-act.md](https://github.com/apache/airflow-steward/blob/main/.claude/skills/pr-management-triage/classify-and-act.md))
   - F1 (line 44): `authorAssociation in {OWNER, MEMBER, COLLABORATOR}`
   - F5a (line 48): `COLLABORATOR`/`MEMBER`/`OWNER`
   - F6 (line 50): same union, with `state in {COMMENTED, CHANGES_REQUESTED, 
APPROVED}`
   - `merit_discussion_thread_present` (line 285): same union
   - No-collaborator-engagement clock (line 518): same union
   
   **Stats classify** 
([.claude/skills/pr-management-stats/classify.md](https://github.com/apache/airflow-steward/blob/main/.claude/skills/pr-management-stats/classify.md))
   - `is_triaged`, `is_engaged`, `is_ai_triaged`, `is_untriaged` all use `IN 
(OWNER, MEMBER, COLLABORATOR)` (lines 25, 52, 77, 112, 330)
   
   **Code review selectors** 
([.claude/skills/pr-management-code-review/selectors.md](https://github.com/apache/airflow-steward/blob/main/.claude/skills/pr-management-code-review/selectors.md))
   - `collab:true/false` table line 437: `MEMBER` matches `collab:true`
   
   **Stale sweeps** 
([.claude/skills/pr-management-triage/stale-sweeps.md](https://github.com/apache/airflow-steward/blob/main/.claude/skills/pr-management-triage/stale-sweeps.md))
   - `last_maintainer_comment_at` line 61: `COLLABORATOR`/`MEMBER`/`OWNER`
   
   **Tooling** 
([tools/pr-management-stats/reference.py](https://github.com/apache/airflow-steward/blob/main/tools/pr-management-stats/reference.py))
   - `COLLAB_ASSOCIATIONS = {\"OWNER\", \"MEMBER\", \"COLLABORATOR\"}` (line 71)
   
   References to *maintainer-team* that remain are not approval gates:
   - `pr-management-mentor` uses `maintainer_team_handle` (`@<org>/<team>`) for 
hand-off **mentions**, not gating.
   - `pr-management-code-review/SKILL.md` golden rule 7 talks about not 
approving while another maintainer's `REQUEST_CHANGES` review is pending, but 
the underlying selector resolves through `unresolved_threads_only`, which is 
`MEMBER`-inclusive.
   - `pr-management-code-review/selectors.md:213` mentions \"maintainer (or 
maintainer-team)\" in the CODEOWNERS context, not as an approval check.
   
   So acceptance criterion #1 is satisfied as a no-op. Question: is there a 
specific gate you had in mind that I missed (e.g., the `is_bot:false` AND 
CODEOWNERS path, or a future Mode D auto-merge rule not yet in tree), or can 
this be closed as already-implemented?
   
   If you want, I can still land a small docs commit explicitly stating 
\"`MEMBER` association counts as an approver\" in the code-review skill's 
preamble so the policy is discoverable without grepping enum unions, just say 
the word.


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