open-dj conformance corpus¶
Seed corpus for the spec. Each version's corpus lives under corpus-<VERSION>/.
Layout¶
corpus-0.2/-- first seed corpus (Phase 15, this repo). Covers Appendix B cases 1, 2, 3, 4, 5, 8, 10, 11, 13 from the spec. 10 tracks drawn from the user's real library via the Phase 2 matched-tracks set. Phase 16 adds cases 6, 7, 9, 12, 14, 15 (needs Serato / Traktor / variable-tempo source data).
How to use¶
From the repo root:
python -m apps.open_dj.cli validate open-dj/conformance/corpus-0.2/case-01-classic-isrc.open-dj.json
python -m apps.open_dj.cli canon open-dj/conformance/corpus-0.2/case-01-classic-isrc.open-dj.json
The tests in tests/open_dj/test_corpus_roundtrip.py iterate the whole
directory and assert every file is canon-idempotent and schema-valid.
Adding a case¶
- Pick a qualifying track from the real library (see
data/sync/matches.csv). - Export it via an adapter (
cli export --adapter rekordbox --tracks <stable_id>). - Strip
file_pathto a relative path rooted at/music/. - Name the file
case-<NN>-<slug>.open-dj.json. - Update
corpus-0.2/README.mdwith the case number + sourcestable_id.