Единый список задач вместо двух секций, порядок по выполнению

Секции «Ядро» и «Инфра» слиты в одну «Очередь»: полок домена у проекта
нет, а две секции держали два независимых порядка вместо одного.

Порядок: красный гейт, потом долги, задевающие интерфейсы, потом
хранилище, вход, разграничение, приложение. Разведка потолков SpeechKit
последней — она обслуживает направление, а не очередь.
This commit is contained in:
av
2026-08-10 21:39:55 +03:00
parent 115b3796e8
commit d21da8575c
16 changed files with 28 additions and 28 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
# 🧹 Сравнивать доменные ошибки через errors.As
- **Тип:** chore
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** NoopJobError и JobNotFoundError проверяются приведением типа: первая же обёртка %w между слоями сломает проверку молча.
Сегодня это работает только потому, что ошибку на этом пути никто не
+1 -1
View File
@@ -1,7 +1,7 @@
# 🧹 Задать таймауты обращениям к внешним сервисам
- **Тип:** chore
- **Категория:** Инфра
- **Категория:** Очередь
- **Зачем:** Ни у Telegram, ни у Object Storage, ни у SpeechKit нет таймаута: молчащий собеседник держит шаг конвейера до истечения часового захвата.
Все обращения наружу идут с `context.Background()` либо через `http.Get` без
@@ -1,7 +1,7 @@
# 🐞 Починить тесты http-обработчика, ни разу не бывшие зелёными
- **Тип:** fix
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** go test ./... падает на master: тесты требуют файла, которого нет в репозитории, и ждут 201 от ffprobe, которому скормили строку.
Тесты заведены коммитом `87d8b05` и с тех пор ни разу не проходили: файл
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Сделать приложение устанавливаемым на телефон
- **Тип:** feature
- **Категория:** Инфра
- **Категория:** Очередь
- **Зачем:** Приложение, живущее вкладкой браузера, теряется среди прочих: ярлыка на экране у него нет.
- **Теги:** goal:web-access
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Свести приём и чтение записей к одному контракту для приложения
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** Сегодняшний API отвечает 404 на любую ошибку чтения и 500 на любую ошибку приёма: строить на нём экраны нечем.
- **Теги:** goal:web-access
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Отправлять готовый текст через apprise и ntfy
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** Пользователь веба узнаёт о готовности только опросом с открытого экрана.
- **Теги:** goal:ready-notification
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Пускать в приложение только после входа через OIDC
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** HTTP API открыт наружу без аутентификации: любой из интернета заводит задачи за наши деньги и читает чужие расшифровки по идентификатору.
- **Теги:** goal:multi-user, question
+1 -1
View File
@@ -1,7 +1,7 @@
# 🧹 Перевести хранилище на встроенный PocketBase
- **Тип:** chore
- **Категория:** Инфра
- **Категория:** Очередь
- **Зачем:** Хранилище, учётные записи и веб-панель нужны все три, и SQLite с goqu не даёт ни второго, ни третьего.
PocketBase встраивается библиотекой в тот же бинарник и приносит хранилище,
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Привязать запись к владельцу и отдавать только свои
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** У задачи и файла нет владельца, поэтому знание UUID задачи и есть право её читать.
- **Теги:** goal:multi-user
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Сделать экран списка своих записей и чтения текста
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** Расшифровка сегодня доходит одним сообщением и теряется в переписке; вернуться к ней через неделю нечем.
- **Теги:** goal:web-access
+1 -1
View File
@@ -1,7 +1,7 @@
# 🔬 Выбор фреймворка для приложения
- **Тип:** research
- **Категория:** Инфра
- **Категория:** Очередь
- **Зачем:** Конвенция веб-UI написана под htmx, а решено делать SPA: до выбора фреймворка не заводится ни сборка, ни первый экран.
- **Теги:** goal:web-access
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Собрать каркас приложения и раздать его из бинарника
- **Тип:** feature
- **Категория:** Инфра
- **Категория:** Очередь
- **Зачем:** Экранов нет и собирать их нечем: ни сборки фронтенда, ни раздачи статики в проекте не существует.
- **Теги:** goal:web-access
+1 -1
View File
@@ -1,7 +1,7 @@
# 🔬 Потолки SpeechKit по длине записи и по формату
- **Тип:** research
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** Потолок длины записи и перечень принимаемых форматов неизвестны, а цель про долгие записи без них не начинается.
- **Теги:** goal:long-recordings
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Сопоставить пользователя Telegram с учётной записью
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** Белый список сверяется с именем пользователя Telegram, которое владелец меняет в любой момент, а записи из бота ни с кем не связаны.
- **Теги:** goal:multi-user
+1 -1
View File
@@ -1,7 +1,7 @@
# ✨ Сделать экран загрузки записи и её состояния
- **Тип:** feature
- **Категория:** Ядро
- **Категория:** Очередь
- **Зачем:** Первое, ради чего приложение открывают: отдать файл и увидеть, что с ним происходит.
- **Теги:** goal:web-access