Зачем:
- не допустить загрузку W0 и Sortformer без отдельного принятия трёх референсов владельцем
- связать manifest с точными байтами listening package и owner-authored record
Что:
- добавлены строгие схемы трёх reference rows и четырёх решений Step 3
- все внешние файлы проверяются через held fd без symlink и TOCTOU
- добавлены negative tests для подмен, неточных JSON-типов и небезопасных путей
Проверка:
- uv run pytest -q (532 passed, 2 skipped)
- uv run ruff check src/local_transcriber/streaming_sortformer_experiment.py tests/test_streaming_sortformer_experiment.py
- git diff --check
- Зачем:
- для эксперимента из задачи #46 нужен изолированный и воспроизводимый стенд.
- Что:
- добавлены строгая схема, предварительные проверки и конечный автомат;
- зафиксированы расписание A/B, пороги, измерения, C ABI и правила приватности;
- экспериментальный модуль исключён из production wheel.
- Проверка:
- целевые тесты: 105 passed;
- полный набор: 438 passed, 2 skipped;
- Ruff: All checks passed.
Refs: #46