Канон документов, каталог задач и OpenSpec

docs/ по канону 12: паспорт с целью проекта, архитектура сегодняшнего
устройства, схема хранилища, модель угроз, конвенции кода, журнал ревью.
Конвенции перенесены из jellybit; места, где код им не следует, помечены
строкой «Расхождение» как объявленный долг.

tasks/ с роадмапом: две достигнутые цели, две запланированные (веб и
многопользовательский режим), два направления (все форматы, долгие
записи) и пять задач в беклоге.

openspec/config.yaml — маршрутизатор с адресами документов, спек пока нет.

CLAUDE.md переписан по форме канона: инварианты с severity, семантика
гейта, запреты с путями. Taskfile получил task gate.
This commit is contained in:
av
2026-08-10 21:19:07 +03:00
parent a4646c0930
commit 4d1c2bf44c
40 changed files with 3656 additions and 71 deletions
+32
View File
@@ -0,0 +1,32 @@
# 🔬 Потолки SpeechKit по длине записи и по формату
- **Тип:** research
- **Категория:** Ядро
- **Зачем:** Потолок длины записи и перечень принимаемых форматов неизвестны, а цель про долгие записи без них не начинается.
- **Теги:** goal:long-recordings
Цель «запись длиной в несколько часов доходит до текста» упирается в то, что
неизвестно, на каком звене такая запись отваливается. Начинать с переделки
приёма или с деления записи на куски — разные работы, и выбор между ними
определяет замер, а не рассуждение.
Отдельно висит расхождение: конвертер отдаёт ogg/vorbis (`libvorbis`), а
SpeechKit получает заявку `ContainerAudio_OGG_OPUS`. Работает ли это и что
происходит с записью — не разбиралось.
## Вопрос
Какую самую длинную запись модель `deferred-general` доводит до текста, что
происходит при превышении и какие контейнеры она принимает на самом деле.
## Куда ляжет ответ
`docs/research/speechkit.md` — числами и с командой замера. Ответ на вопрос про
`OGG_OPUS` уходит туда же и снимает открытый вопрос из
[architecture.md](../../docs/architecture.md).
## Рамки
Замер идёт за деньги: распознавание и хранение в Object Storage оплачиваются по
факту. Число прогонов и длину пробных записей назначает человек. Боевые записи
пользователей для замера не берём.