-
Notifications
You must be signed in to change notification settings - Fork 0
Score Tiers
When a contributor claims tokens, the GASS smart contract queries the Forte Rules Engine, which reads the contributor's metrics from the O2 Oracle and assigns a distribution tier.
| Tier | Criteria | Token Allocation |
|---|---|---|
| Rejected | Quality score ≤ 50 | Transaction reverts — no tokens |
| Limited | Score > 50, last activity not recent | 50% of base amount |
| Standard | Score > 50, recent activity, normal volume | 100% of base amount |
| Bonus | Score > 50, recent activity, high review count | 200% of base amount |
The Rules Engine evaluates three on-chain metrics from the O2 Oracle:
Quality Score (quality_score)
A weighted average of all AI code review scores for the contributor, from 0–100. Scores are averaged over time so a single bad PR doesn't tank an otherwise strong contributor's history.
Last Updated (last_updated)
Unix timestamp of the most recent PR analyzed. Used to determine whether the contributor has been "recently active."
Review Count (review_count)
Total number of PRs analyzed for this contributor. Used to distinguish standard from bonus tier — contributors with high volume who are also high quality receive the bonus multiplier.
The action calculates each score by sending the PR diff to an LLM (claude-opus-4.5 by default) with a structured prompt covering:
- Code quality and readability
- Potential bugs and edge cases
- Documentation and comments
- Testability and maintainability
- Best practices and anti-patterns
The LLM returns a Score: N line which the action parses. The score is then blended into the contributor's running weighted average:
new_average = (current_score × review_count + new_score) / (review_count + 1)