- docs/decisions/004-no-per-repo-tier-weighting.md — records why all GitHub repos are weighted equally; prevents the question from being re-litigated from scratch - docs/sites/CHANGE_TEMPLATE.md (renamed from RETIREMENT_TEMPLATE.md) — covers weight adjustments, scope changes, and full retirement in one template - config.yaml — added github.repos list to define collection scope explicitly - docs/sites/active/github.md — reverted to simple repo table; links to ADR 004 - docs/sites/active/README.md — GitHub section notes equal weighting with ADR 004 link - docs/ARCHITECTURE.md — CHANGE_TEMPLATE linked from site governance section - README.md — Contributing section links to both PROPOSAL_TEMPLATE and CHANGE_TEMPLATE Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
74 lines
2.6 KiB
Markdown
74 lines
2.6 KiB
Markdown
# ADR 004 — No per-repo tier weighting for GitHub
|
||
|
||
**Date:** 2026-05-11
|
||
**Status:** Accepted
|
||
|
||
---
|
||
|
||
## Context
|
||
|
||
As we began defining which GitHub repositories to collect from, a question arose:
|
||
should contributions to different repos be weighted differently? A commit to
|
||
`IfcOpenShell/IfcOpenShell` — the core of the OSArch technical ecosystem — feels
|
||
more significant than a commit to a smaller peripheral project.
|
||
|
||
A tier system was prototyped: repos assigned to `core` (×1.0), `community` (×0.5),
|
||
or `peripheral` (×0.25) tiers, with the tier multiplying the base GitHub weight.
|
||
|
||
---
|
||
|
||
## Decision
|
||
|
||
**All GitHub repos are weighted equally. No tier system.**
|
||
|
||
---
|
||
|
||
## Why the tier system was rejected
|
||
|
||
**Smaller repos self-regulate by activity volume.**
|
||
A repo with 50 total commits will naturally produce lower scores than one with 5,000.
|
||
A contributor making 10 commits to a small repo is still making 10 commits — the number
|
||
is honest. Applying a multiplier that says those commits are worth less encodes a judgment
|
||
that the system probably shouldn't be making.
|
||
|
||
**Tiers introduce implicit hierarchy between projects.**
|
||
Assigning a repo to `peripheral` is a statement about its value to the community. That
|
||
is a politically loaded decision, especially for individual contributors whose primary
|
||
work lives in smaller repos. It risks creating a two-class system of contributions.
|
||
|
||
**The system should describe participation, not rank it.**
|
||
The agency signal is about visibility, not evaluation. The moment we start weighting some
|
||
contributions as structurally more valuable than others, we are making governance decisions
|
||
that belong to the community — not to the scoring algorithm.
|
||
|
||
**Simplicity is a feature.**
|
||
The flat model is easier to explain, easier to trust, and harder to argue with.
|
||
"A commit is a commit" is a defensible position. "A commit to this repo is worth twice
|
||
as much as a commit to that repo" requires justification every time.
|
||
|
||
---
|
||
|
||
## What was kept
|
||
|
||
The repo list in `config.yaml` remains. This defines the scope of collection — which
|
||
repos are watched — without encoding any judgment about their relative importance.
|
||
|
||
```yaml
|
||
github:
|
||
repos:
|
||
- IfcOpenShell/IfcOpenShell
|
||
- brunopostle/ifcurl
|
||
- brunopostle/ifcmerge
|
||
- brunopostle/homemaker-addon
|
||
- falken10vdl/bonsaiPR
|
||
```
|
||
|
||
---
|
||
|
||
## Consequences
|
||
|
||
- Scores are not artificially inflated or deflated based on which repo work happens in
|
||
- Contributors to smaller or newer projects are not penalized
|
||
- The community may revisit this if gaming is observed (e.g. trivial commits to
|
||
in-scope repos to inflate scores) — that would be the legitimate trigger for
|
||
reconsidering differential weighting
|