Parent phase: #237
Parent roadmap: #127
Problem
Operators need to know whether miners, maintainers, repo owners, and contributors are actually activating and returning across the product surfaces.
Acceptance criteria
- Rollups compute activation and retention by role, surface, and coarse time window.
- Metrics separate CI/check state, reviewer/mergeability state, and adoption/usage state where relevant.
- Rollups do not expose individual private activity where aggregate reporting is enough.
Validation expected
- Rollup tests cover empty, single-role, multi-role, and stale-data cases.
- API tests verify aggregate shape and privacy boundaries.
Public-output safety criteria
- Public text is sanitized before reaching GitHub comments, issue bodies, PR bodies, extension-visible public panels, or copied public snippets.
- Tests cover forbidden wallet/hotkey, reward-estimate, trust-score, public-score-prediction, private-reviewability, private-scoreability, and farming-language leakage.
Cross-cutting acceptance criteria
- Preserve the repo quality gate:
npm run test:ci, 97%+ global coverage, and the local branch coverage target for touched code.
- Keep public/private boundaries explicit. Public GitHub output must not expose wallets, hotkeys, reward estimates, raw trust scores, public score predictions, private reviewability, private scoreability context, or farming language.
- Add/update focused tests for the changed behavior instead of relying on green checks alone.
Parent phase: #237
Parent roadmap: #127
Problem
Operators need to know whether miners, maintainers, repo owners, and contributors are actually activating and returning across the product surfaces.
Acceptance criteria
Validation expected
Public-output safety criteria
Cross-cutting acceptance criteria
npm run test:ci, 97%+ global coverage, and the local branch coverage target for touched code.