Files
product-vamp/docs/composer/data_migration.md
T
khodowany ef62af892b Cleanup
2026-10-04 22:29:06 -05:00

3.1 KiB

Data and consumer migration

The latest approved scope permits target-guided diagnosis of general rules and fitting shared theory coefficients. Production target reads, copied tunes, per-song recipes and hidden phrase banks remain prohibited. Policy provenance records this development influence; these four targets are not an unseen evaluation set. A development weight artifact is not automatically a production resource.

Path Action Live consumer / reason
data/songs/ Keep untouched Authoritative source melody, harmony, meter and form
data/scales/ Keep 21 patterns Ordinary mapped movement; no added scale family
data/sequences/ Keep 2,954 paths Operators licenses exact repeated degree strides; other paths remain available but are not all active choices
data/rhythms/ Keep 3,538 snippets Whole coherent meter-specific representatives; file count does not determine frequency
composition/rhythms.json Keep Authored melodic cells and canonical sparse comping
composition/solo.json Migrate Keep cells/groups; remove hash-selection menus and dead scorer settings; add action durations and search budgets
composition/harmony.json Extend Stable/resolving colors; mapped half-diminished natural 13 only before a functional dominant
composition/lead_ins.json Extend Whole approaches, separated enclosures, complete subdivisions, delayed exact-target resolution
composition/roles.json Migrate solo fields Soft registers and shared action weights replace unused menus; comping fields retained
data/expected/ Keep validation-only Arrangement compatibility, never selection
Four XML files in build/ Keep untouched Explicit development derivation/fitting and downstream comparison
build/.../repair/fitting/ Development artifact Not loaded by production; failed fits are not promoted
<composition-cache>/_resources/ Add derivative Checksummed JSON production catalogs keyed by content and decoder code; no song/role/reference result

routes.py and Rhythms.realize are retired. scoring.py retains the evaluation record; selection.py is the sole scorer. operators.py owns enumerable actions. There is no legacy fallback. Deleted-API tests were replaced by active-constructor tests, not counted as passing removed tests.

The formulas are general relative intervals and durations, not extracted phrases. Supporting discussion: Berklee tension and resolution, available tensions, Locrian natural six. No example melody from these sources was imported. Numerical bounds are project choices, not universal jazz rules. Authored resources retain MIT licensing.

Cold-build independence cannot establish provenance alone; review policy/code diffs too. No source score, target score, tuning, fret limit, runtime score schema, velocity or playback feel was changed.