All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
scripts/package_refresh_bundle.pyto package a completed.ssc-inclusive refresh work directory into a cleaner deployment bundle layout. - Added
docs/REFRESH_DEPLOYMENT_AND_ARROWVORTEX_VERIFICATION_2026-04-04.mddocumenting runtime compatibility, bundle-export strategy, and ArrowVortex-oriented usage for the refreshed artifacts.
- Documented the next post-refresh milestone for the completed refresh: verified
AutoChartinitialization againstdata/ssc_refresh_work/models+data/ssc_refresh_work/ffr_models, validated bundle packaging in dry-run mode, and updated usage docs to reference the refreshed local artifact paths.
- Added
docs/TRAINING_REFRESH_COMPLETION_2026-04-04.mdcapturing the first full completion-state inventory for the.ssc-inclusive refresh run.
- Documented the key completion milestone for the active refresh: all practical single/double placement buckets now show complete checkpoint sets, and refreshed floating-point FFR artifacts were produced for both
dance-singleanddance-double.
- Added
docs/TRAINING_REFRESH_PROGRESS_15_2026-04-04.mdcapturing continued double-mode progress withdance-double_Easyreaching at least its ninth checkpoint.
- Documented the next monitoring milestone for the active refresh:
dance-double_Easyadvanced to at leastmodel_09.pth, the active log progressed intoEpoch 10/10for the active double-mode bucket, and the refresh remained busy with multiple Python processes visible.
- Added
docs/TRAINING_REFRESH_PROGRESS_14_2026-04-04.mdcapturing the refresh advancing beyond all practical single-mode buckets and into double-mode practical training.
- Documented the next major monitoring milestone for the active refresh: all practical single-mode buckets appear complete (
dance-single_Easy,Medium,Hard,Challengeat 10 checkpoints each) anddance-double_Easybecame the active frontier at at leastmodel_08.pth.
- Added
docs/TRAINING_REFRESH_PROGRESS_13_2026-04-04.mdcapturing the active refresh advancing intoEpoch 10/10during the second practical bucket.
- Documented the next monitoring milestone for the active refresh:
dance-single_Mediumadvanced to at leastmodel_09.pth, the active log progressed intoEpoch 10/10, and two active Python processes were visible while the run continued without interruption.
- Added
docs/TRAINING_REFRESH_PROGRESS_12_2026-04-04.mdcapturing the active refresh crossing fromEpoch 8/10intoEpoch 9/10during the second practical bucket.
- Documented the next monitoring milestone for the active refresh:
dance-single_Mediumadvanced to at leastmodel_08.pth,Epoch 8/10completed with validation output, and the active log progressed intoEpoch 9/10.
- Added
docs/TRAINING_REFRESH_PROGRESS_11_2026-04-04.mdcapturing continued in-flight progress deeper into the activeEpoch 8/10window of the second practical bucket.
- Documented the next monitoring milestone for the active refresh: the run remained alive,
dance-single_Mediumremained the active artifact frontier atmodel_07.pth, and the log progressed substantially deeper into the late portion ofEpoch 8/10.
- Added
docs/TRAINING_REFRESH_PROGRESS_10_2026-04-04.mdcapturing continued in-flight progress deeper into the second practical bucket of the.ssc-inclusive refresh run.
- Documented the next monitoring milestone for the active refresh:
dance-single_Mediumadvanced to at leastmodel_07.pthand the active log progressed intoEpoch 8/10.
- Added
docs/TRAINING_REFRESH_PROGRESS_9_2026-04-04.mdcapturing continued in-flight progress after the refresh moved into the second practical bucket.
- Documented the next monitoring milestone for the active refresh: the run remained alive, the active log progressed substantially deeper into
Epoch 7/10, and artifact recency still indicateddance-single_Mediumas the current active practical bucket frontier.
- Added
docs/TRAINING_REFRESH_PROGRESS_8_2026-04-04.mdcapturing the first practical bucket appearing complete and the second practical bucket becoming active during the.ssc-inclusive refresh run.
- Documented the next major in-flight milestone for the active refresh:
dance-single_Easyreached a full observed 10-checkpoint set,dance-single_Mediumappeared and advanced to at leastmodel_06.pth, and later-epoch (7/10) log output was observed for the active bucket.
- Added
docs/TRAINING_REFRESH_PROGRESS_7_2026-04-04.mdcapturing continued in-flight progression of the first practical placement bucket during the active.ssc-inclusive refresh run.
- Documented the next in-flight milestone for the active refresh:
dance-single_Easyadvanced to at leastmodel_05.pthand later-epoch (6/10) log output was observed.
- Added
docs/TRAINING_REFRESH_PROGRESS_6_2026-04-04.mdcapturing continued in-flight progression of the first practical placement bucket during the active.ssc-inclusive refresh run.
- Documented the next in-flight milestone for the active refresh:
dance-single_Easyadvanced to at leastmodel_04.pthand later-epoch (5/10) log output was observed.
- Added
docs/TRAINING_REFRESH_PROGRESS_5_2026-04-04.mdcapturing continued in-flight progression of the first practical placement bucket during the active.ssc-inclusive refresh run.
- Documented the next in-flight milestone for the active refresh:
dance-single_Easyadvanced to at leastmodel_03.pthand later-epoch (4/10) log output was observed.
- Added
docs/TRAINING_REFRESH_PROGRESS_4_2026-04-04.mdcapturing continued checkpoint accumulation inside the first practical SymNet bucket of the active.ssc-inclusive refresh run.
- Documented the next in-flight milestone for the active refresh:
dance-single_Easyadvanced from 1 to 2 observed checkpoints and later-epoch log output was observed for that bucket.
- Added
docs/TRAINING_REFRESH_PROGRESS_3_2026-04-04.mdcapturing the first observed practical SymNet bucket checkpoint during the active.ssc-inclusive refresh run.
- Documented the next in-flight milestone for the active refresh:
dance-single_Easy/model_01.pthwas observed, confirming that practical bucket-model regeneration is underway.
- Added
docs/TRAINING_REFRESH_PROGRESS_2_2026-04-04.mdcapturing a later in-flight progress snapshot for the active.ssc-inclusive refresh run.
- Documented that the active refresh progressed from onset training into the first practical SymNet bucket stage, with a full 5-checkpoint onset set observed and
dance-single_Easy/created for the next phase.
- Added
docs/TRAINING_REFRESH_PROGRESS_2026-04-04.mddocumenting an in-flight progress snapshot for the active.ssc-inclusive refresh run.
- Recorded the first observed runtime milestone for the active refresh: onset training had advanced into epoch 4/5 and produced initial checkpoints under
data/ssc_refresh_work/models/onset/.
- Added
docs/TRAINING_REFRESH_LAUNCH_2026-04-04.mddocumenting the actual launch of the.ssc-inclusive refresh training run.
- Kicked off the resume-friendly
.ssc-inclusive training refresh againstdata/ssc_refresh_workand documented its initial runtime state/log path.
- Added
scripts/audit_refresh_readiness.pyanddocs/SSC_REFRESH_READINESS_2026-04-04.mdto document the exact state of the.ssc-inclusive refresh work directory.
- Added resume-friendly skip flags to
scripts/train_all.pyso the.ssc-inclusive refresh can be resumed without redoing completed prep/feature steps or retraining buckets that already have artifacts.
- Added
docs/LEGACY_SUBTREE_QUARANTINE_2026-04-04.mddocumenting the decision to treat the remainingddc_stepmania/conflict-marker files as quarantined legacy-subtree content.
- Clarified that the remaining unresolved merge-conflict markers are now isolated to legacy subtree content rather than the active main-path modernization surface.
- Resolved merge-conflict markers in
autochart.py,learn/beatcalc.py,learn/data_gen.py,learn/models_v2.py,scripts/train_v2.py,scripts/smd_1_extract.sh, andscripts/smd_4_analyze.sh. - Refreshed the repository health audit and reduced unresolved merge-conflict-marker files from 9 to 2.
- Resolved top-level merge-conflict-marker files in
AGENTS.md,CLAUDE.md,GEMINI.md,GPT.md,LLM_INSTRUCTIONS.md, andsetup.py. - Refreshed the repository health audit and reduced unresolved merge-conflict-marker files from 15 to 9.
- Added
scripts/audit_repo_health.pyfor repeatable repository-health auditing. - Added
docs/REPO_HEALTH_AUDIT_2026-04-04.mddocumenting unresolved merge conflicts, TensorFlow hotspots, and legacy.h5/train_v2.py/models_v2references.
- Documented the remaining blocker surface that should be cleaned up before considering the repo fully normalized after the PyTorch-oriented training refresh work.
- Added
scripts/compare_bucket_counts.pyfor reproducible before/after split-count comparison between prepared work directories. - Added
docs/BUCKET_SPLIT_DELTA_2026-04-04.mddocumenting the exact train/valid/test deltas in every bucket after the.ssc-inclusive refresh.
- Documented the exact downstream DDC training-input expansion for the practical 8-bucket plan.
- Added
docs/RETRAINING_REFRESH_PLAN_2026-04-04.mdcapturing the exact next-phase.ssc-inclusive retraining workflow.
- Cleaned and replaced the conflicted root
README.mdwith a concise current-state project overview and documentation index.
- Added
scripts/audit_note_objects.pyfor repeatable note-object semantic audits against extracted JSON charts. - Added
docs/NOTE_OBJECT_SEMANTICS_2026-04-04.mddocumenting observed note-object semantics in the refreshed official DDR corpus.
- Documented that the refreshed corpus contains taps, hold-heads, tails, and mines, while no roll-head, attack, fake, keysound, or lift symbols were observed in the audited official-pack extraction.
- Documented per-bucket semantic coverage so future difficulty-model work can target hold/mine-aware features more precisely.
- Documented FFR
.ssc-inclusive loader expansion and validation counts indocs/SSC_EXPANSION_ANALYSIS_2026-04-04.md.
- Updated the FFR difficulty-data loader to prefer
.sscover.smwithin each song directory. - Cleaned
learn/extract_feats_v2.pyso the refreshed feature-extraction path is syntactically valid again after prior merge-conflict residue. - Validated the refreshed FFR preprocessing path at approximately 1255 simfiles and 9407 serialized charts.
- Added
docs/SSC_EXPANSION_ANALYSIS_2026-04-04.mddocumenting the measured corpus delta unlocked by.sscextraction support.
- Fixed
scripts/prepare_data.pyso the downstream data-prep path is syntactically valid again after prior merge-conflict residue. - Documented the precise
.ssc-driven corpus expansion:- songs: 1234 -> 1254
- charts: 9241 -> 9403
- major practical DDC buckets all increased
- Added
.sscextraction support todataset/extract_json.pyusingsimfilefor.ssc-only songs. - Added validation/audit updates confirming the refreshed extracted corpus grows from 1234 to 1254 songs and from 9241 to 9403 charts after including
.ssccontent.
- Updated corpus-audit reporting to reflect the new
.ssc-inclusive extraction state. - Updated training analysis to distinguish between extractor support being present and full retraining against the refreshed corpus still being pending.
- Added a reproducible corpus-audit script at
scripts/audit_corpus.py. - Added
docs/CORPUS_AUDIT_2026-04-04.mddocumenting raw.sm/.sscinventory, note-symbol distribution, and per-bucket special-symbol coverage.
- Documented that 20
.sscfiles exist in the official DDR corpus but are not yet ingested by the current extractor. - Documented that the extracted DDC symbolic corpus contains substantial non-binary note symbols (
2,3,M) and is therefore not tap-only.
- Added a comprehensive training/data-coverage report in
docs/TRAINING_ANALYSIS_2026-04-04.md. - Added local export/documentation flow for the newly trained DDC v2 model set.
- Switched the DDC training orchestrator to use the PyTorch trainer for onset and SymNet training.
- Trained the practical 8-bucket placement configuration for ArrowVortex-oriented DDR use:
- single Easy / Medium / Hard / Challenge
- double Easy / Medium / Hard / Challenge
- Updated inference scaffolding in
infer/autochart_lib.pytoward PyTorch checkpoint loading. - Corrected the FFR difficulty-model training path so
dance-singleanddance-doubleboth survive data cleaning and train successfully. - Preserved floating-point difficulty regression behavior for the difficulty evaluator.
- Added ignore rules for large local training artifacts and generated exports.
- Fixed target-shape/model-output issues in the PyTorch DDC training path.
- Fixed mode-specific NaN handling in
ffr-difficulty-model/scripts/train_model.py. - Resolved repository documentation inconsistency around current training status and artifact handling.
- Versioning: Centralized version number in
VERSIONfile. - Documentation: Added
DASHBOARD.md,HANDOFF.md, and LLM instruction files. - Submodule: Ensured
ffr-difficulty-modelis fully integrated.
- Modernization: Ported entire codebase from Python 2.7 / TensorFlow 0.12 to Python 3.8+ / TensorFlow 2.x.
- Git Submodules: Added
ddc_onsetfor beat detection andffr-difficulty-modelfor difficulty rating. - AutoChart CLI: New
autochart.pytool for end-to-end chart generation, difficulty rating, and metadata handling. - Training Pipeline:
scripts/train_all.pyallows full retraining of DDC models from raw audio and.smfiles. - Feature Extraction: Replaced
essentiadependency withlibrosa. - Packaging: Added
setup.pyfor standard pip installation.
- Server:
infer/ddc_server.pyupdated to use the newAutoChartlibrary logic. - Dependencies: Updated
requirements.txtto reflect modern ecosystem (TF 2.x, librosa, simfile). - Structure: Reorganized legacy scripts; removed obsolete bash scripts.
- Legacy Code: Removed
infer/onset_net.pyandinfer/sym_net.py(logic moved toddc_onsetsubmodule andlearn/models_v2.py).