-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Badges & Attestations - clarification & directions
This issue captures a discussion about the role of badges in The Guild, how they relate to attestations, and possible evolutions. Updated after discussion with @joelamouche.
Current model
- Badge = a skill label (e.g. "Rust", "Solidity", "Code Review"). Stored in
TheGuildBadgeRegistry. - Attestation = the EAS on-chain act: "A attests that B has badge X, because Y". Schema:
bytes32 badgeName, bytes justification. - They are two facets of the same system, not separate layers.
Context
- Badges were initially envisioned as peer-to-peer recognition (people giving badges to others).
- Skill-related badges were also meant to act as a CV / skill discovery surface.
- In practice, engagement with pure P2P badges has been low.
- Most badges today are issued by The Guild and tied to contributions.
- The Guild already relies on EAS on-chain, but the product semantics are not fully clarified yet.
- There is interest in using badges for reputation, participation/gamification, and social sharing.
Badge taxonomy
"Badge" as the umbrella term, with qualifiers to distinguish types:
| Type | Description | Attested by |
|---|---|---|
| Skill badge | A competence label (Rust, Solidity, Code Review...) | A peer |
| Peer badge | Free-form recognition (trust, appreciation, judgment) | A peer |
| Guild badge | Aggregated or computed badge derived from multiple signals | The system / The Guild |
"Attestation" remains the underlying EAS act for all types.
Two complementary kinds of badges (current)
1. Skill badges (fact-based)
- Derived from verifiable signals (PRs, reviews, scopes, labels, activity over time).
- Grounded in real contributions and demonstrated skills.
- Can act as strong reputation signals.
2. Peer badges (social)
- Preserve the original peer-recognition vision.
- Voluntarily given based on trust, judgment, or appreciation.
- Support the social and cooptation aspect of The Guild.
A clear distinction between these two types (UX + semantics) seems important.
Possible evolutions (not implemented)
Badge hierarchy — knowledge graph (#118)
Badges could point to other badges, creating a knowledge tree/graph.
Example: rust-chapter1 → rustbook → rust
This structures the badge space itself. See #118.
Individual levels — attestation-count thresholds
A person's mastery on a given badge could be expressed as a level derived from how many peer attestations they've received for it (e.g. 3 = beginner, 10 = intermediate, 25 = expert).
This is complementary to badge hierarchy: one structures the badge space, the other measures individual progression within a badge.
Also complementary to the upvoting system (#122), which evaluates badge relevance (meta-level).
Guild badges — aggregated / system-attested
A badge derived from multiple peer attestations across different skills.
Examples:
- "Web3 Full-stack Developer": unlocked when a member has received N peer attestations on each of Rust, Solidity, and React.
- "Active Contributor": attested by the system after X attestations received across all skills over a given period.
These would be attested by the system (not a peer), introducing a new attestation source type.
External contributions
External contributions (PRs merged on external repos, published audits, conference talks, technical articles) could be imported as evidence, but would only become Guild signals once recognized and attested within the Guild framework — for instance by a maintainer, a vote mechanism, or a system validator.
Today the contracts don't enforce who can attest, so a trust layer would need to be built.
Open questions
- Badge hierarchy: Do we want a knowledge graph between badges? What governance for pointers? (see Badge enhancements #118)
- Individual levels: Do we want attestation-count thresholds? Off-chain (indexer) vs on-chain?
- Guild badges: Do we want system-attested badges derived from multiple peer attestations?
- External contributions: What trust layer for validating external evidence? Maintainer? Vote? System?
- TCR: Starting with upvotes (Badge TCR/Vote ranking: Smart Contract #122) and maintainer oversight — move to TCR only if volume/abuse justifies it?
- Sources of truth: GitHub signals as a pragmatic starting point.
- Product direction: How badges should support participation, learning, reputation, and sharing.
Related Issues (non-exhaustive)
Attestations: #48, #47, #130, #32
Badges: #69, #122, #58, #64
Architecture / tokens: #55, #72
Profiles & discovery: #49, #98
Analysis: #126