Привести в порядок два места пользовательского вывода. Оба существовали и раньше, но после смены авто-профиля на ONNX их видит большинство пользователей, а не только те, кто задавал --device вручную.
warnings.warn выводит вместе с текстом путь к файлу, номер строки и саму строку кода. Для CLI это выглядит как обломок трейсбека:
C:\...\backends\onnx_asr.py:214: UserWarning: Язык 'en' не поддерживается моделью
'gigaam-v3-e2e-rnnt' (поддерживаются: ru). Результат может быть некорректным. ...
self._warn_if_language_unsupported(language)
Так выводятся все пять предупреждений проекта: несовместимый язык (backends/onnx_asr.py), неизвестное расширение файла (utils.py), неизвестные ключи конфига (config.py) и два предупреждения о переходе с GPU на CPU (transcriber.py).
Механизм менять не нужно: warnings.warn остаётся точкой вызова, потому что он же используется в тестах через pytest.warns. Достаточно, чтобы CLI устанавливал собственный warnings.showwarning и печатал предупреждения через rich-консоль одной строкой, без пути и исходного кода.
2. В шапке транскрипта ONNX-бэкенд подписан как CPU.
_format_device_info в cli.py знает про CUDA и OpenVINO, а всё остальное сводит к CPU. Транскрипт, сделанный через ONNX, и транскрипт, сделанный через faster-whisper на CPU, в шапке неразличимы, хотя это разные движки с разным качеством. Бэкенд косвенно опознаётся по имени модели, но это догадка, а не запись.
Критерии приёмки
[ ] Предупреждения CLI печатаются без пути к файлу, номера строки и строки исходного кода; текст самих сообщений не меняется.
[ ] Предупреждение видно и во время работы rich-спиннера, и в батч-режиме.
[ ] Поведение библиотечного кода не меняется: warnings.warn остаётся, существующие тесты с pytest.warns продолжают работать.
[ ] В шапке транскрипта ONNX отличается от faster-whisper CPU.
[ ] Автоматические проверки покрывают формат вывода предупреждения и обозначение устройства для всех бэкендов.
[ ] Затронутые примеры шапки в README и PRD обновлены.
Вне задачи
Переход на logging, изменение текстов самих предупреждений по существу, перестройка остальной шапки транскрипта.
Границы коммитов
Рендер предупреждений в CLI.
Обозначение бэкенда в шапке транскрипта и правка примеров в документации.
Заблокировано
Ничем. Источник: наблюдения при контрольном прогоне ветки feature/4-openvino-2026-3 (PR #6).
## Что сделать
Привести в порядок два места пользовательского вывода. Оба существовали и раньше, но после смены авто-профиля на ONNX их видит большинство пользователей, а не только те, кто задавал `--device` вручную.
**1. Предупреждения печатаются служебным форматом Python.**
`warnings.warn` выводит вместе с текстом путь к файлу, номер строки и саму строку кода. Для CLI это выглядит как обломок трейсбека:
```
C:\...\backends\onnx_asr.py:214: UserWarning: Язык 'en' не поддерживается моделью
'gigaam-v3-e2e-rnnt' (поддерживаются: ru). Результат может быть некорректным. ...
self._warn_if_language_unsupported(language)
```
Так выводятся все пять предупреждений проекта: несовместимый язык (`backends/onnx_asr.py`), неизвестное расширение файла (`utils.py`), неизвестные ключи конфига (`config.py`) и два предупреждения о переходе с GPU на CPU (`transcriber.py`).
Механизм менять не нужно: `warnings.warn` остаётся точкой вызова, потому что он же используется в тестах через `pytest.warns`. Достаточно, чтобы CLI устанавливал собственный `warnings.showwarning` и печатал предупреждения через `rich`-консоль одной строкой, без пути и исходного кода.
**2. В шапке транскрипта ONNX-бэкенд подписан как `CPU`.**
`_format_device_info` в `cli.py` знает про CUDA и OpenVINO, а всё остальное сводит к `CPU`. Транскрипт, сделанный через ONNX, и транскрипт, сделанный через faster-whisper на CPU, в шапке неразличимы, хотя это разные движки с разным качеством. Бэкенд косвенно опознаётся по имени модели, но это догадка, а не запись.
## Критерии приёмки
[ ] Предупреждения CLI печатаются без пути к файлу, номера строки и строки исходного кода; текст самих сообщений не меняется.
[ ] Предупреждение видно и во время работы rich-спиннера, и в батч-режиме.
[ ] Поведение библиотечного кода не меняется: `warnings.warn` остаётся, существующие тесты с `pytest.warns` продолжают работать.
[ ] В шапке транскрипта ONNX отличается от faster-whisper CPU.
[ ] Автоматические проверки покрывают формат вывода предупреждения и обозначение устройства для всех бэкендов.
[ ] Затронутые примеры шапки в README и PRD обновлены.
## Вне задачи
Переход на `logging`, изменение текстов самих предупреждений по существу, перестройка остальной шапки транскрипта.
## Границы коммитов
1. Рендер предупреждений в CLI.
2. Обозначение бэкенда в шапке транскрипта и правка примеров в документации.
## Заблокировано
Ничем. Источник: наблюдения при контрольном прогоне ветки `feature/4-openvino-2026-3` (PR #6).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Что сделать
Привести в порядок два места пользовательского вывода. Оба существовали и раньше, но после смены авто-профиля на ONNX их видит большинство пользователей, а не только те, кто задавал
--deviceвручную.1. Предупреждения печатаются служебным форматом Python.
warnings.warnвыводит вместе с текстом путь к файлу, номер строки и саму строку кода. Для CLI это выглядит как обломок трейсбека:Так выводятся все пять предупреждений проекта: несовместимый язык (
backends/onnx_asr.py), неизвестное расширение файла (utils.py), неизвестные ключи конфига (config.py) и два предупреждения о переходе с GPU на CPU (transcriber.py).Механизм менять не нужно:
warnings.warnостаётся точкой вызова, потому что он же используется в тестах черезpytest.warns. Достаточно, чтобы CLI устанавливал собственныйwarnings.showwarningи печатал предупреждения черезrich-консоль одной строкой, без пути и исходного кода.2. В шапке транскрипта ONNX-бэкенд подписан как
CPU._format_device_infoвcli.pyзнает про CUDA и OpenVINO, а всё остальное сводит кCPU. Транскрипт, сделанный через ONNX, и транскрипт, сделанный через faster-whisper на CPU, в шапке неразличимы, хотя это разные движки с разным качеством. Бэкенд косвенно опознаётся по имени модели, но это догадка, а не запись.Критерии приёмки
[ ] Предупреждения CLI печатаются без пути к файлу, номера строки и строки исходного кода; текст самих сообщений не меняется.
[ ] Предупреждение видно и во время работы rich-спиннера, и в батч-режиме.
[ ] Поведение библиотечного кода не меняется:
warnings.warnостаётся, существующие тесты сpytest.warnsпродолжают работать.[ ] В шапке транскрипта ONNX отличается от faster-whisper CPU.
[ ] Автоматические проверки покрывают формат вывода предупреждения и обозначение устройства для всех бэкендов.
[ ] Затронутые примеры шапки в README и PRD обновлены.
Вне задачи
Переход на
logging, изменение текстов самих предупреждений по существу, перестройка остальной шапки транскрипта.Границы коммитов
Заблокировано
Ничем. Источник: наблюдения при контрольном прогоне ветки
feature/4-openvino-2026-3(PR #6).