mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
* feat: enable Vaunt contributor recognition with 5-tier system Adds .vaunt/config.yaml that maps the Open Design contributor scoring rules (spec §2.6) to Vaunt's achievement and point-action model. Once merged, the already-installed Vaunt GitHub App will: - Backfill historical PR / review / issue / comment / discussion data for the existing ~3.77k contributors silently (no comments are posted to old threads — only achievements granted on Vaunt's own platform) - Calculate cumulative points per the rules in open-design-bot/src/scoring.ts - Auto-grant the matching tier achievement (Spark / Signal / Node / Beacon / Nova) once thresholds 0 / 30 / 150 / 700 / 2,500 are crossed Tier icons (500x500 PNG, Twemoji on dark-space gradient) are checked in under .vaunt/icons/ and referenced via raw.githubusercontent URLs. Once Vaunt has scanned the repo we will use its API to populate data/contributors.json + generate a CONTRIBUTORS.md leaderboard. No public visibility for contributors until that step lands in a follow-up PR. * fix(vaunt): correct actor for review triggers + drop mis-mapped issue_resolved Addresses @mrcfps's review on #908 (two scoring/trigger mismatches that would have produced incorrect backfill numbers). 1. **Review actor mismatch.** Vaunt's documented actor matrix only allows `actor: author` with `action: review`; `reviewers` is reserved for `pull_request` triggers. With the previous config, no review event would match, so reviewers earned 0 of the intended 3 review points, and the Spark achievement's review entry-path was equally broken. Both review triggers (point action `pr_review` + Spark achievement) now use `actor: author`. 2. **`issue_resolved` was wrong rule.** scoring.ts awards 6 points for `discussion_answered_accepted`, not for closing an issue. The previous `issue_resolved` action awarded 6 points to anyone who closed any issue, which would have skewed both the historical backfill and future totals. Removed `issue_resolved` entirely + removed it from every tier's sum(). Added an inline note explaining that `discussion_answered_accepted` is not currently expressible in Vaunt (its discussion action exposes only `closed`, no "answered" signal) and that the rule is moot today since the repo has Discussions disabled — when both conditions change, we re-add it. Also added a header comment with Vaunt's actor/action matrix so future edits don't re-introduce the same kind of mismatch. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: ashleyashli <ashleyashli@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
180 KiB
500x500px
180 KiB
500x500px