Table of Contents generated with DocToc
<Project Name>: PMC rosterThis file is a placeholder ahead of the release-management skill family landing. None of the release-* skills exist yet, see docs/release-management/README.md. The roster below is what release-vote-tally will read to classify each [VOTE] reply as binding (PMC member) or non-binding (committer / community).
PMC membership for <Project Name>. Update every time a new PMC member is added per a [VOTE] thread on the project‘s private list or per a Board resolution removing a member. Authoritative source is the project’s record under <projects.apache.org>; this file mirrors it so the tally skill can resolve a From: address without hitting the public LDAP every run.
| Apache ID | Name | Primary email | Binding since |
|---|---|---|---|
<TODO> | <TODO Member Name> | <TODO>@apache.org | <TODO YYYY-MM-DD> |
<TODO> | <TODO Member Name> | <TODO>@apache.org | <TODO YYYY-MM-DD> |
<TODO> | <TODO Member Name> | <TODO>@apache.org | <TODO YYYY-MM-DD> |
A [VOTE] reply counts as binding when:
From: address matches a row's Primary email exactly, orFrom: address contains @apache.org and the local part matches a row's Apache ID exactly.Rule (2) is the fallback because PMC members occasionally vote from <id>@apache.org rather than the Primary email recorded here. Personal Gmail / corporate addresses MUST appear in Primary email to count.
release-vote-tally's resolution algorithm:
From: header to local@domain form.Primary email (case-insensitive).domain == apache.org, try the local-part against the Apache ID column.If a binding voter casts a vote from an address not on this roster, the skill flags BINDING-CANDIDATE-UNRESOLVED and refuses to count the vote until the RM either (a) updates this roster to include the address, or (b) confirms the vote is non-binding.
The roster is the source of truth for the tally skill. The skill never infers binding status from message content (e.g. a sign-off that says “PMC member” does not promote a non-roster voter to binding).