Repository navigation
Regenerate era twins on the served v5 (64-d) MTNN embedding - #90
Merged
Merged
Conversation
eratwins.json + twin-explainer assets were computed with the retired 48-d model and never regenerated after the 2026-07-25 v5 promotion; their stated similarities did not reproduce in the served 64-d space (embedding-truth ledger #22). Regenerated with the existing builders, which read the served bundle (mtnn_meta.json dim/rows -> mtnn_embeddings.f32); pairing rules unchanged (signature season = max |v| stat norm, careers >=4 seasons, twin = nearest other-decade career by cosine, top-5 shipped for warmth feedback). Result: 1,313 players (was 1,308 — identity-fixed vectors.json split merged Jr/Sr careers), 1,034 of 1,306 common players got a new twin. Independently reverified exhaustively: every twin is the true argmax in the 64-d space, max |claimed - recomputed| sim error 0.000000; all 1,175 explainer pairs + 1,136 pool vectors recompute clean. Builder fixes (minimal): - eratwin_game.py: method string/docstring said 48-d; dimension is now interpolated from the loaded embedding so it cannot go stale. - build_twin_explainer.py: hard-coded 1,308 pair count replaced with a sanity floor; hand-verified QA pairs updated to the v5 pairings (Houston<->Reggie Miller, Stockton<->Rondo; AC Green<->Horace Grant unchanged); pool-vector join falls back to person_id when display names drift (lite's unhyphenated GilgeousAlexander), the same identity principle as the 2026-10-01 fix.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The site CI job runs ruff format --isolated --check over a named file list that includes this builder; the sharpshooter QA print line added with the v5 pairings exceeded the line length. Whitespace-only reflow — builder output is byte-identical after the change.
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


What
assets/eratwins.json+ the twin-explainer assets were computed with the retired 48-d model and never regenerated after the 2026-07-25 v5 promotion. Their stated similarities did not reproduce in the served 64-d space (spot check from the embedding-truth pass: 0.646 claimed vs 0.348 actual cosine; ledger item #22). Cameron approved the regeneration 2026-10-12 — it changes live Daily Court pairings.Regenerated with the existing builders, which read the served bundle (
mtnn_meta.jsondim/rows →mtnn_embeddings.f32, v5, 12,966 × 64, unit-norm). Pairing rules unchanged: signature season = max |v| stat norm, quiz pool = careers with ≥4 charted seasons, twin = nearest other-decade career by cosine, top-5 shipped for warmth feedback.Result
Verification (independent recomputation, exhaustive — not sampled)
sync_public --checkclean, root/public byte-identical,stamp_assets --checkOK (JSON assets are fetched unversioned),check_site_factsOK,check_contrastOK (AA),check_a11yOK.Builder fixes (minimal, in this PR)
eratwin_game.py: method string/docstring claimed 48-d; the dimension is now interpolated from the loaded embedding so it cannot go stale again.build_twin_explainer.py: hard-coded 1,308 pair-count assert → sanity floor (count is a function of vectors.json careers); hand-verified QA pairs updated to the v5 pairings (Houston↔Reggie Miller, Stockton↔Rondo; AC Green↔Horace Grant unchanged and still passing); pool-vector join falls back to person_id when display names drift (lite still carries the unhyphenated "GilgeousAlexander") — the same identity principle as the 2026-10-01 fix.No changes to promote.py / export_mtnn_embeddings.py; embeddings untouched.