The Ometeotl Activity Leaderboard distributes 1000 activity-shares among contributors based on their recent, weighted activity. It rewards sustained, high-quality contributions while ensuring every contributor โ even occasional ones โ receives recognition.
The founder is excluded from share allocation and displayed out-of-competition.
The leaderboard pipeline runs in four stages:
Raw Score โ z-score โ Adjusted Score โ Activity-Shares
Every contribution is weighted and decayed over time:
S(u) = ฮฃ weight(event) ร recency(age)
| Event | Weight | Rationale |
|---|---|---|
| Merged PR | 10 | Core contribution โ reviewed and integrated |
| Commit in merged PR | 3 | Rewards granular, iterative work |
| PR review | 4 | Code review is high-value mentorship |
| Issue opened | 2 | Surfaces bugs and proposes features |
| Comment (issue/PR) | 1 | Encourages community discussion |
| Lines changed | 0.01/line | Minor volume bonus (capped at 200 lines/PR) |
Recency decay uses an exponential half-life of 90 days:
r(t) = 2^(โt / 90)
A contribution keeps 50% of its value after 3 months, 25% after 6 months, and ~6% after a year. It never reaches zero.

Raw scores are standardized across all contributors (founder included):
z(u) = (S(u) โ mean) / std_dev
This removes scale dependence: z = 0 always means “average contributor.”
The standardized score is transformed through a non-linear function designed to:
f(0) = 1 always)f(z) = exp(sinh(z) / k)

The key mathematical properties of this function:
The smoothing factor k adapts to community size:
k = max(3, 12 โ n_active)
Where n_active = number of contributors with activity in the last 180 days.

| Phase | n_active | k range | Effect |
|---|---|---|---|
| Protective | 1โ8 | 11 โ 4 | Smooth distribution โ prevents one person from dominating a small pool |
| Mature | 9+ | 3 (floor) | Full differentiation โ exceptional contributors are generously rewarded |
This means the leaderboard automatically becomes more competitive as the community grows.
Activity-shares are proportional to adjusted scores (founder excluded), totaling 1000:
shares(u) = (f(z(u)) / ฮฃ f(z(uแตข))) ร 1000

With 9 active contributors and k = 3:
| Rank | z-score | Shares | Profile |
|---|---|---|---|
| 1 | +2.50 | 433 | Star contributor โ generously rewarded |
| 2 | +1.94 | 179 | Strong contributor |
| 3 | +1.38 | 107 | Above average |
| 5 | +0.25 | 63 | Average โ stable, predictable share |
| 7 | โ0.88 | 41 | Below average โ still meaningful |
| 9 | โ2.00 | 17 | Occasional โ symbolic but non-zero |
The leaderboard is complementary to the rank system (Path of the Serpent):
| Rank System | Activity Leaderboard | |
|---|---|---|
| Nature | Lifetime milestone | Dynamic snapshot |
| Based on | Total merged PRs | Weighted, recency-adjusted activity |
| Direction | Only goes up | Fluctuates with activity |
| Purpose | Status and identity | Incentive and recognition |
You can be a high-ranking Otomi with few current shares (if inactive recently), or a new Eagle Warrior with a strong share from a single impactful PR.
leaderboard/config.json โ version-controlled and auditableleaderboard/leaderboard-data.json after each computationLEADERBOARD_SPEC.md
A Python library to build complex multi-agent simulations, wargames, and AI-driven strategies