fix(cli): приведён в порядок вывод предупреждений и ONNX #29

Merged
ddmitry merged 3 commits from feature/7-cli-output into master 2026-08-29 08:51:21 +03:00
Owner

Зависимость

Это stacked PR поверх #28. Ветка содержит commit f966d45 из #28, поэтому до
слияния #28 в diff виден также dependency-fix для sherpa-onnx.

Что изменено

  • CLI печатает warnings.warn через Rich одной логической строкой, без пути,
    номера строки, категории и исходного кода.
  • Hook действует только во время запуска CLI и восстанавливается после выхода.
  • ONNX подписан в шапке транскрипта как ONNX (CPU) и отличается от
    faster-whisper на CPU.
  • Примеры шапки в README и PRD обновлены под текущий ONNX-профиль.

Проверка

  • Полный набор тестов: 285 passed, 2 skipped.
  • tests/test_cli.py: 73 passed.
  • Ruff check, Ruff format, compileall и проверки diff прошли.

Ревью

Две независимые линии Standards и Spec не нашли дефектов. Саморевью обнаружило
перенос длинного Rich-предупреждения и добавило soft_wrap=True. В Claude review
принята одна форматирующая правка Ruff; остальные три NIT отклонены после
проверок, подтвердивших соответствие контракту issue.

Closes #7

## Зависимость Это stacked PR поверх #28. Ветка содержит commit `f966d45` из #28, поэтому до слияния #28 в diff виден также dependency-fix для `sherpa-onnx`. ## Что изменено - CLI печатает `warnings.warn` через Rich одной логической строкой, без пути, номера строки, категории и исходного кода. - Hook действует только во время запуска CLI и восстанавливается после выхода. - ONNX подписан в шапке транскрипта как `ONNX (CPU)` и отличается от faster-whisper на CPU. - Примеры шапки в README и PRD обновлены под текущий ONNX-профиль. ## Проверка - Полный набор тестов: 285 passed, 2 skipped. - `tests/test_cli.py`: 73 passed. - Ruff check, Ruff format, compileall и проверки diff прошли. ## Ревью Две независимые линии Standards и Spec не нашли дефектов. Саморевью обнаружило перенос длинного Rich-предупреждения и добавило `soft_wrap=True`. В Claude review принята одна форматирующая правка Ruff; остальные три NIT отклонены после проверок, подтвердивших соответствие контракту issue. Closes #7
ddmitry added 3 commits 2026-08-29 01:22:41 +03:00
- Зачем:
  - в #27 чистая установка Linux не включала sherpa-onnx-core, поэтому import sherpa_onnx падал при загрузке libonnxruntime.so.
  - uv при универсальном резолвинге использовал метаданные armv7 wheel без Requires-Dist и терял обязательную платформенную зависимость.
- Что:
  - версия sherpa-onnx зафиксирована на 1.13.5 вместе с явным metadata override для sherpa-onnx-core==1.13.5.
  - рядом с pin и override записано правило их совместного обновления.
  - uv.lock обновлен с зависимостью на core и wheel-файлами поддерживаемых платформ.
- Проверка:
  - uv lock --check и uv tree --locked --package sherpa-onnx подтвердили зависимость от core 1.13.5.
  - чистые uv sync --frozen, uv pip check и import sherpa_onnx завершились успешно в Linux.
  - uv run pytest -q: 282 passed, 2 skipped.
  - uvx ruff check src/local_transcriber/speaker_diarizer.py tests/test_speaker_diarizer.py завершился успешно.
- Зачем:
  - предупреждения из задачи #7 выглядели как фрагменты Python traceback.
- Что:
  - на время запуска CLI установлен однострочный Rich-рендер предупреждений.
  - сохранены буквальный текст сообщений и восстановление глобального hook.
  - single- и batch-сценарии покрыты автоматическим тестом.
- Проверка:
  - uv run pytest tests/test_cli.py -q.
- Зачем:
  - транскрипты ONNX и faster-whisper на CPU имели одинаковую подпись.
- Что:
  - для ONNX добавлено обозначение ONNX (CPU) в метаданных транскрипта.
  - различие движков и пользовательская шапка покрыты тестами.
  - примеры шапки в README и PRD приведены к текущему ONNX-профилю.
- Проверка:
  - env -u FORCE_COLOR -u COLUMNS -u LINES uv run pytest.
ddmitry merged commit 95f295c37c into master 2026-08-29 08:51:21 +03:00
ddmitry deleted branch feature/7-cli-output 2026-08-29 08:51:22 +03:00
Sign in to join this conversation.