Parent roadmap: #82
Background
Official Gittensor stats and raw GitHub history can disagree. Gittensory must explain discrepancies without inflating contributor evidence.
Goal
Add reconciliation reports comparing official Gittensor API totals with cached GitHub context.
Current Behavior
Gittensory prefers official stats when available, but discrepancy explanations are not surfaced as a first-class report.
Desired Behavior
Private profile/decision outputs show official totals, cached context, discrepancy reasons, and maintainer-lane separation.
Implementation Requirements
- Compare official totals with GitHub cached PR/issue counts.
- Identify maintainer-owned repo history.
- Explain lookback, closed/open, stale, and source-unavailable cases.
- Keep official source authoritative for miner-recognized totals.
- Add freshness metadata.
Public/Private Output Boundaries
Signal data can inform private API/MCP outputs. Public GitHub output must use only sanitized, maintainer-friendly summaries and must not expose private scoreability or contributor scoring internals.
Acceptance Criteria
- Official totals win when present.
- GitHub history is labeled context.
- Maintainer-owned repos do not inflate miner totals.
- Discrepancies are explained privately.
Testing Requirements
npm run test:ci must pass.
- Global coverage must remain at or above 97% for lines, statements, functions, and branches.
- Aim for 98%+ branch coverage locally to avoid CI variance.
- Add tests for every new branch, fallback path, sanitizer rule, and regression.
- Add invariant/property-style tests when behavior depends on sorting, gating, scoring, queue pressure, source-upload safety, public/private boundaries, or upstream drift.
- Public GitHub output must be tested against forbidden language: wallet, hotkey, raw trust score, payout, reward estimate, farming, private reviewability, and public score estimate.
- MCP/local tooling must prove source contents are not uploaded.
Additional Test Scenarios
- Official-vs-cache mismatch fixture.
- Maintainer repo fixture.
- API unavailable fallback.
- Deterministic explanation ordering.
Parent roadmap: #82
Background
Official Gittensor stats and raw GitHub history can disagree. Gittensory must explain discrepancies without inflating contributor evidence.
Goal
Add reconciliation reports comparing official Gittensor API totals with cached GitHub context.
Current Behavior
Gittensory prefers official stats when available, but discrepancy explanations are not surfaced as a first-class report.
Desired Behavior
Private profile/decision outputs show official totals, cached context, discrepancy reasons, and maintainer-lane separation.
Implementation Requirements
Public/Private Output Boundaries
Signal data can inform private API/MCP outputs. Public GitHub output must use only sanitized, maintainer-friendly summaries and must not expose private scoreability or contributor scoring internals.
Acceptance Criteria
Testing Requirements
npm run test:cimust pass.Additional Test Scenarios