docs(plan): уточнён план по итогам ревью

- Зачем:
  - устранены пробелы в плане: недостающие тесты, неописанные параметры, архитектурные расхождения.
- Что:
  - detect_device() возвращает только str (device), compute-type независим от него.
  - добавлен get_gpu_name() для человекочитаемой строки устройства в шапке markdown.
  - добавлен on_segment callback в transcribe() для --verbose без переделки API.
  - добавлено поле device_used в TranscribeResult (фактическое устройство после fallback).
  - добавлены тесты: test_utils.py (9 тестов), test_transcriber.py (4 mock-теста).
  - выровнено поведение пустой речи: файл с шапкой + *Речь не обнаружена.* в теле (PRD и plan).
  - добавлены импорты Callable, datetime, Path в заглушки шага 1.
  - убраны строки с git add -A / git commit из всех шагов.
- Проверка:
  - открыть docs/plan.md и docs/PRD.md и убедиться в согласованности.
This commit is contained in:
2026-03-17 21:40:41 +03:00
parent 557190e8a9
commit e0fcf43533
2 changed files with 56 additions and 33 deletions
+2 -2
View File
@@ -33,7 +33,7 @@ transcribe meeting-2026-03-17.mp4
- Явный вызов по файлу → транскрипт перезаписывается, даже если уже существует
- Батч-режим (glob-маска, post-MVP) → пропускать файлы, для которых транскрипт уже существует; `--force` для принудительной перезаписи
**Пустая речь**: если модель не распознала ни одного сегмента — файл транскрипта всё равно создаётся (с метаданными в шапке), выводится предупреждение: `⚠ Речь не обнаружена в файле <имя>`
**Пустая речь**: если модель не распознала ни одного сегмента — файл транскрипта всё равно создаётся (шапка с метаданными + `*Речь не обнаружена.*` в теле), выводится предупреждение в stderr: `⚠ Речь не обнаружена в файле <имя>`
### 3.2. CLI-интерфейс
@@ -178,7 +178,7 @@ local-transcriber/
| CUDA несовместимость на Windows | Среднее | Автоматический fallback на CPU + предупреждение; в README — инструкция по CUDA |
| Большие файлы (>2 часов) | Низкое | faster-whisper работает потоково, не грузит всё в память |
| OOM на GPU с 4 GB VRAM | Среднее | Дефолт int8 (~2.5 GB); при OOM — fallback на CPU с предупреждением |
| Файл без речи (тишина, музыка, шум) | Низкое | Создаётся транскрипт с пустым телом + предупреждение в stderr |
| Файл без речи (тишина, музыка, шум) | Низкое | Создаётся транскрипт с шапкой метаданных и `*Речь не обнаружена.*` в теле + предупреждение в stderr |
## 7. Вне скоупа MVP