Repository navigation
feat(music-data): use native program caching and nominal expectations - #21
Merged
Merged
Conversation
This was referenced Oct 9, 2026
…kill probabilities Chart statistics follow the ournotes-deck chart-stats/3 document: Gekisou statistics use independent nominal lottery and skill probabilities, and charts with a luck range take a replay seed count. The music-data document, its schema, the command help and the replay data tests follow that format. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
# Conflicts: # .github/scripts/test_music_data.py
The chart data page that supports nominal chart-stats/3 is on the main branch of ournotes-player; the music data page smoke gate uses that commit by default. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Problem
The Python whole-chart cache invalidates unaffected work when a catalog or global dependency changes and loses completed subcomputations after a later failure. It also retains the sampled chart-stats/2 contract while the current native model computes nominal chart-stats/3 expectations.
Changes
67835811e06f3d528adb90ae64b012a0eb5f8966; the cache has separate expectation, deterministic-run and lottery-curve units.Validation
-D warnings, and git diff checks pass.Real PyO3 cache checks
The native PR additionally verifies an entire 348-to-352-chart update: 95,940 cache hits and 6,644 new computations; the next warm run has 100,676 hits and zero new computations. Both outputs match uncached full recomputation byte for byte.
Coordinated rollout
The page consumers are empty-sekai/ournotes-player#18 and StarMoe-org/moenotes#38; both read the new format and keep sampled files readable. The songs page files are published from the pinned player commit. The publisher selects engines by the package version in Cargo.lock and checks their actual commit, source and file identities against the v0.0.5 release.
This PR does not publish production data by itself; data is published by the music-data workflow.
🤖 Generated with Claude Code