docs: добавлен ADR-001 (CUDA bootstrap), обновлены PRD и plan

- Зачем:
  - зафиксировать архитектурное решение по GPU runtime и rejected alternatives,
    чтобы не переизобретать отклонённые подходы в будущем.
- Что:
  - создан docs/adr/001-cuda-bootstrap.md (контекст, решение, tradeoffs, альтернативы).
  - PRD 4.2: исправлено описание CUDA-зависимостей (cuDNN не нужен, cuBLAS из pip).
  - plan.md: добавлен выполненный шаг 5.1 со ссылкой на ADR.
  - удалены docs/plan-gpu-runtime.md и отчёты ревью (review-stages-*).
- Проверка:
  - cat docs/adr/001-cuda-bootstrap.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-18 18:53:41 +03:00
co-authored by Claude Opus 4.6
parent bdb9b06855
commit 18115ec7fd
6 changed files with 93 additions and 323 deletions
+14
View File
@@ -241,6 +241,20 @@
**Критерий готовности**: `uv run transcribe test.mp3` — создаёт корректный .md файл (проверить на локальной машине с реальным файлом).
---
## Шаг 5.1: GPU runtime — прозрачная работа CUDA на Linux/WSL2
> Детали решения и обоснование: [ADR-001](adr/001-cuda-bootstrap.md)
- [x] `nvidia-cublas-cu12>=12.4` в dependencies (Linux x86_64)
- [x] `_cuda_bootstrap.py` — preload libcublas через `ctypes.CDLL(RTLD_GLOBAL)` до импорта ctranslate2
- [x] `strict_device` в transcriber — `--device cuda/cpu` без silent fallback
- [x] CLI: диагностика requested vs resolved device, Windows CUDA-подсказка
- [x] Тесты: bootstrap (unit + интеграционный), strict_device, Windows-диагностика
**Критерий готовности**: `uv run pytest -v` — 52 passed, 1 skipped. На GPU-машине без системного CUDA toolkit: `uv run transcribe test.mp3 --device cuda` работает.
---
## Шаг 6: Error handling и UX polish