Parent: #525 (Wave 1) · relates pillar #529 (foundations) and #544 (miner intelligence).
Why this matters
gittensory's scoring/outcomes/planning are only as accurate as its sync with upstream entrius/gittensor. The 2026-06-17 audit found the live saturation-model constants do refresh hourly and win over local defaults — but there are 2 real correctness bugs, an entire unmodeled dimension (issue-discovery/issue-spam), missing constants, and drift that's reported but never acted on. This underpins everything downstream — especially the PMF conversion hook (#800) that shows a contributor 'you'd score ~X'.
Correctness (→ M0, fix now)
Parity + hardening (→ M1)
Upstream watch
How sync works today (for context)
Two pipelines: A src/scoring/model.ts (refreshScoringModelSnapshot → constants.py + language weights, hourly, feeds the live preview) and B src/upstream/ruleset.ts (semantic-hash drift diff that auto-files GitHub issues, gated by GITTENSORY_AUTO_FILE_DRIFT_ISSUES). Pipeline A reports drift but doesn't act; Pipeline B acts but on a different signal — #811 bridges them.
Outcome
gittensory's scoring is provably in parity with upstream, drift is auto-surfaced, and a deliberate build-vs-consume decision is made on gitt-native planning (#1460).
Parent: #525 (Wave 1) · relates pillar #529 (foundations) and #544 (miner intelligence).
Why this matters
gittensory's scoring/outcomes/planning are only as accurate as its sync with upstream entrius/gittensor. The 2026-06-17 audit found the live saturation-model constants do refresh hourly and win over local defaults — but there are 2 real correctness bugs, an entire unmodeled dimension (issue-discovery/issue-spam), missing constants, and drift that's reported but never acted on. This underpins everything downstream — especially the PMF conversion hook (#800) that shows a contributor 'you'd score ~X'.
Correctness (→ M0, fix now)
Parity + hardening (→ M1)
Upstream watch
How sync works today (for context)
Two pipelines: A src/scoring/model.ts (refreshScoringModelSnapshot → constants.py + language weights, hourly, feeds the live preview) and B src/upstream/ruleset.ts (semantic-hash drift diff that auto-files GitHub issues, gated by GITTENSORY_AUTO_FILE_DRIFT_ISSUES). Pipeline A reports drift but doesn't act; Pipeline B acts but on a different signal — #811 bridges them.
Outcome
gittensory's scoring is provably in parity with upstream, drift is auto-surfaced, and a deliberate build-vs-consume decision is made on gitt-native planning (#1460).