Skip to content

ci(music-data): take the engines from the ournotes-deck release of the pinned model - #17

Merged
nichinichisou0609 merged 12 commits into
mainfrom
ci/deck-release-engines
Oct 6, 2026
Merged

nichinichisou0609 merged 12 commits into
mainfrom
ci/deck-release-engines

Conversation

@nichinichisou0609

Copy link
Copy Markdown

Builds the music data with ournotes-deck v0.0.2 and publishes that release's WASM packages as the replay and recommendation engines.

  • Merges MetaSekaiLab/nnnotes main: the deck model is pinned to ournotes-deck v0.0.2 (76e96b6), and nnnotes music-data --replay-engine PKG --recommend-engine PKG takes ournotes-deck WASM release packages, checking each package's build-info.json (module, model commit, SHA-256 of the web JS and WASM) against the deck model it is built with.
  • music_data.py build downloads ournotes-replay-wasm-v<version>.tar.gz and ournotes-recommend-wasm-v<version>.tar.gz of the release v<version> of the ournotes-sim package rust/Cargo.lock pins, checks both against the release's SHA256SUMS and passes them to nnnotes. The job no longer checks out the deck source or installs a WASM toolchain.
  • The replay gate and the UI publisher check every engine in the replay manifest against the build-info.json of its release package (check_engine_build).
  • RECIPE 7: the next run rebuilds.

Tests: the gate self-tests (test_music_data.py, test_music_data_compression.py, test_music_data_refresh.py, test_prebuilt_source_identity.py) pass, and so do nnnotes' test_replaydata.py, test_repo.py, test_musicdata.py and test_cli_assets.py. The packages of the v0.0.2 release download, match SHA256SUMS and are accepted by nnnotes.

🤖 Generated with Claude Code

nichinichisou0609 and others added 12 commits October 4, 2026 23:22
CHANGELOG.md lists every release from 0.1.0 and ships in the sdist. The commit that
bumps the version regenerates it, and the release workflow checks that it has a section
for the tagged version. Two-digit group sort keys keep the Security group after Reverts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Commit bodies and footers wrap freely; the header keeps the 100-character limit of the conventional config.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A replay or recommendation engine package whose build.json has another format now says so, with the format it has and the one expected, instead of reporting a commit difference. A commit difference names both commits. A missing deck model identity is reported before the package files are read.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`catalogs import` now records a resource version without `--resource-version`: a JP
catalog's source version, else the version in an international file name
`catalog_<version>_<language>.bin` (none for `main`), the name `fetch` and the cache use.
The version also becomes the default label. An invalid `--resource-version`, or one that
differs from a JP catalog's source version, is an error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…quest

A pull request opened with the workflow token starts no workflow by itself, so the required checks never ran on the pull request that moves the deck pin. The Deck model workflow now dispatches CI and the commit message check on its branch after creating or updating the pull request, and their checks land on it. Both workflows accept workflow_dispatch; a dispatched commit message check lints the branch's commits since main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e pinned model

The build downloads ournotes-replay-wasm-v<version>.tar.gz and
ournotes-recommend-wasm-v<version>.tar.gz of the ournotes-deck release of the
ournotes-sim version rust/Cargo.lock pins, checks both against the release's
SHA256SUMS and passes them to nnnotes as its replay and recommendation engines.
The replay gate and the UI publisher check every engine of the replay manifest
against the build-info.json of its release package: module, model commit and
the SHA-256 of the web JS and WASM files. The build needs neither the deck
source nor a WASM toolchain.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
--replay-engine and --recommend-engine now take the ournotes-deck WASM
release packages of the pinned model, as the downloaded
ournotes-<module>-wasm-vVERSION.tar.gz or its directory. The package's
build-info.json must describe that module's WASM package, name the
pinned commit and list the SHA-256 of the web binding's JS and WASM
files; the binding and build-info.json are copied byte for byte, so the
published engine is the released one.

The deck pin workflow follows ournotes-deck's releases: it moves the
pin to the latest release once its replay and recommendation WASM
packages are published.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Moves the deck model to ournotes-deck v0.0.2 (76e96b617842bdcc031cce98e3dfeead27ddbb85),
https://github.com/empty-sekai/ournotes-deck/releases/tag/v0.0.2

Music data files made after this change name the new commit in `provenance.deck.commit`; their deck
statistics may differ.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nichinichisou0609
nichinichisou0609 merged commit 7d658aa into main Oct 6, 2026
7 checks passed
@nichinichisou0609
nichinichisou0609 deleted the ci/deck-release-engines branch October 6, 2026 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant