The check-attribution CI gate kept bouncing salvage PRs because mapping contributor emails was a manual, easy-to-forget step (bare <login>@users.noreply.github.com emails don't auto-resolve like the <id>+<login> form). - scripts/audit_pr_attribution.py: mirrors the CI gate's logic exactly (merge-base scan, same skip rules). Report mode for pre-push checks; --fix auto-resolves via the bare-noreply local part (verified against the GitHub users API) or GitHub email search, then writes contributors/emails/<email> files via add_contributor.py. Prints a confirm-the-human warning on bare-noreply resolution since the local part is user-controlled (the bryan->hydraxman case). - contributor-check.yml: failure output + review_status how_to_fix now lead with the one-command fix instead of hand-editing instructions (also drops the stale 'edit AUTHOR_MAP' guidance — AUTHOR_MAP is frozen). |
||
|---|---|---|
| .. | ||
| ISSUE_TEMPLATE | ||
| actions | ||
| pr-screenshots | ||
| workflows | ||
| PULL_REQUEST_TEMPLATE.md | ||
| dependabot.yml | ||