Skip to content

ci: validate music data Gekisou aptitude and gzip size - #4

Merged
Exmeaning merged 2 commits into
mainfrom
ci/music-data-gekisou
Sep 29, 2026
Merged

Exmeaning merged 2 commits into
mainfrom
ci/music-data-gekisou

Conversation

@nichinichisou0609

@nichinichisou0609 nichinichisou0609 commented Sep 29, 2026 •

Copy link
Copy Markdown

Summary

Adds the Gekisou aptitude gates to the general seed, rank-bonus and luckPoints checks. RECIPE is 2; format remains nnnotes.music-data/1.

  • Continuous shape ids, effect metadata, existing shape references and complete chart-mission coverage (mission 4 applies everywhere).
  • Both true/false variants for band-conditioned shapes, ordered by shape.
  • Finite [mean, standard error] pairs, nonnegative standard errors, zero errors and integer point deltas for deterministic variants.
  • Seed batches, cross-seed counts, factors and ranges, weight dimensions and null rules.
  • Tail identity with a rounding allowance of 0.0005 per serialized term plus 1e-6. Deterministic tailPerfect is checked using the baseline Perfect range bonuses; stochastic Perfect bonus deltas are not exported separately and cannot be reconstructed exactly from means.
  • Simulation check seed, ranks, plain-kind deck and error bound.
  • Chart aptitude null exactly when unplayable, without ranges, or without shapes.
  • Gzip caps: 2,000,000 bytes overall; 1,200,000 bytes for aptitude (a loose cap over the estimated 0.4 MB).

Validation

  • Synthetic self-test with the pinned page: 132 passed, 2 optional real-file tests skipped (4.4 s).
  • Ruff E/F/W/B and git diff --check pass.
  • Real deck chart-stats samples wrapped read-only as music-data: apt1.json (35 shapes, 20 deterministic variants) and apt-luck.json (35 shapes, 15 stochastic variants) pass deck, aptitude and gzip gates. A full nnnotes aptitude export remains to be checked when available.
  • Existing page smoke stays unchanged; aptitude UI smoke will follow the player implementation.

Rollout

Do not merge yet. Sync the upstream exporter/model first: older output lacks luckPoints and aptitude and is intentionally blocked. MUSIC_DATA_PUBLISH remains unset; no data uploads or workflow dispatches performed.

Generated with Claude Code

The deck gate checks the seeds (the one seed 0 on a chart without a luck
range, else two or more different seeds, the same on every luck chart:
their number is the file's, not fixed), every seed range's rank 1 bonus
(trunc(rangeScore * rankBonusPercent / 100)) and its luckPoints, which
nnnotes and ournotes-deck add with the Gekisou skills. RECIPE 2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nichinichisou0609 nichinichisou0609 changed the title ci: gate the Gekisou skill fields of the music data file ci: check the music data seeds, rank bonuses and luck points Sep 29, 2026
@nichinichisou0609 nichinichisou0609 changed the title ci: check the music data seeds, rank bonuses and luck points ci: validate music data Gekisou aptitude and gzip size Sep 29, 2026
@nichinichisou0609

Copy link
Copy Markdown
Author

Aptitude page smoke added in 445b963 (pure API from player 1522c24; production PLAYER_REF unchanged). Full existing deck output passes: 340 charts, 35 shapes, 8,476 variants (3,672 deterministic). 462 variants missed their SE target and are warnings only. Gzip level 6: wrapped file 1,370,474 bytes, aptitude 985,973 bytes, below the 2 MB / 1.2 MB caps. Joined read-only to existing song facts, the page smoke passes 2,380 baseline figures and 42,380 aptitude figures. Only deterministic check seeds are reconstructed; stochastic means are not used for individual checks. Full nnnotes export validation remains pending. Do not merge or publish.

Check shape references, mission coverage, band variants, mean/error pairs,
seed rules, dimensions, tail identities and simulation bounds. Cap gzip
size at 2 MB overall and 1.2 MB for aptitude.

Exercise page lookups, gains, uncertainty and missing cross terms. Default
figures must remain unchanged. Reconstruct only deterministic check seeds
with positional master skill factors, never stochastic means.

Add a real chart-stats sample test and a necessary rounding bound for
stochastic tailPerfect. Keep production PLAYER_REF and publishing unchanged.

Co-Authored-By: Claude Code <noreply@anthropic.com>
@Exmeaning
Exmeaning merged commit 15be4b6 into main Sep 29, 2026
6 checks passed
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.

2 participants