Подготовка и пересоздание релиза SONARA
Для кого: Пользователи, активирующие текущий контракт SONARA в библиотеке схемы v7. Задача: Сохранить комплект, активировать один строгий релиз и пересоздать зависимые результаты. Тип: Сценарий
Этот сценарий начинается с нового комплекта схемы v7. Он не обновляет базу v6: среда отклоняет схемы не v7, а команд migrate-v7 и migrate-schema-v7 больше нет.
1. Проверьте комплект
Для нового пути Core создаются:
library.sqlite
library.artifacts.sqliteНеобязательный library.evaluation.sqlite появляется лишь тогда, когда он нужен сценарию оценки. Core и Artifacts обязательны и используют один catalog_uuid.
2. Сначала устраните ошибку среды
SONARA и адаптеры моделей блокируют работу, если загруженные версии отличаются от контракта. Набор ML закрепляет transformers==5.13.0 и huggingface-hub==1.22.0. Синхронизируйте среду до анализа ML. Не обходите предварительную проверку.
Отдельно проверьте SONARA:
python -c "import sonara; print(sonara.__version__)"Ожидается версия 0.2.9.
3. Подготовьте релиз
Создайте существующий доступный для записи каталог резервных копий, остановите конкурирующую работу с выбранной базой и выполните:
dj-sim prepare-sonara-release --db .\data\library.sqlite --backup-dir .\backup --confirm "PREPARE SONARA RELEASE"Команда сама определяет среду и четыре результата: core, timeline, embedding, fingerprint. Передать свой хеш релиза или подмножество результатов нельзя. Она проверяет пару резервных копий Core и Artifacts и выполняет упорядоченную активацию с квитанцией. Прерванную операцию можно продолжить, а несовпадение каталога, копий, квитанции или среды блокирует работу.
Подготовка удаляет прежние строки SONARA и зависимые оценки классификаторов до активации новых контрактов. Независимые эмбеддинги, метки, обратная связь, отметки и аудиофайлы сохраняются.
4. Выполните ограниченный пилот
Начните со знакомых файлов:
dj-sim analyze --models sonara --sonara-outputs core,timeline,embedding,fingerprint --limit 100 --db .\data\library.sqliteТекущий контракт: SONARA 0.2.9, схема результата 4, режим playlist, частота 22050, диапазон BPM 70..180, ревизия проекта 6. Нативная партия по умолчанию равна 8; --sonara-batch-size принимает 1..16.
Успешный пилот — точка остановки для проверки, а не разрешение на запуск всей фонотеки. Проверьте ошибки, характерные результаты поиска и целостность баз до решения о продолжении.
5. Завершите выбранные результаты
После явного разрешения на большой запуск уберите --limit:
dj-sim analyze --models sonara --sonara-outputs core,timeline,embedding,fingerprint --db .\data\library.sqlitecore включается всегда. Необязательные результаты можно запросить позднее; планировщик проверяет каждый контракт отдельно.
6. Переобучите и опубликуйте классификаторы
Среда принимает манифест версии 2. Текущие опубликованные артефакты в models/classifiers/ используют версию 1, поэтому расчёт заблокирован. После полного покрытия нужных входов переобучите и опубликуйте каждый затронутый профиль, затем выполните:
dj-sim analyze-classifiers --db .\data\library.sqliteЗадача читает только сохранённые входы и записывает совместимые пары классификатор–трек. Она не декодирует и не изменяет аудио.
7. Используйте актуальную поверхность
Бэкенд и CLI реализуют контракт v7. Перенос React отложен, поэтому поведение текущего интерфейса не доказывает готовность API v7. Проверяйте CLI, ответы API, целевые тесты и целостность SQLite.