tasks: упразднены цели и роадмап, объявлена стадия build

- 11 записей типа goal закрыты с причиной, называющей задачи-наследники;
  ROADMAP.md удалён, индекс остался один — BACKLOG.md;
- 33 записи переписаны: ссылка «Двигает пункты N «Завершения» цели» уступила
  место прямому утверждению — без целей номера пунктов вели в никуда;
- шапка BACKLOG.md размечена парой <!-- стадия -->, порядок строк теперь
  объявлен зависимостью, а не важностью.
This commit is contained in:
av
2026-08-13 16:00:14 +03:00
parent 00148bcfb5
commit 5501384cdc
50 changed files with 118 additions and 485 deletions
+20 -16
View File
@@ -1,23 +1,27 @@
# Беклог
Что **можно взять**. Одна задача = один файл `items/<slug>.md`
+ строка здесь. Целей тут нет — они в [ROADMAP.md](ROADMAP.md): беклог — то, что берут,
роадмап — то, подо что берут. **Порядок строк значим:**
это очередь, и первая строка — то, что делают следующим. Порядок
назначает человек на груминге, машина его не выводит. Одно исключение
производно от типа — сырьё (`research` без раздела «Вопрос»)
стоит в конце: его не берут. Ведётся скиллом `av-dev:task-track`.
+ строка здесь. Ведётся скиллом `av-dev:task-track`.
Секция одна — полок домена у проекта нет, и делить очередь на две
значило бы держать два порядка вместо одного.
<!-- стадия -->
Стадия проекта — **стройка** (`[tasks] stage = "build"`).
**Порядок строк — зависимость:** это план стройки от базы к деталям,
и строка выше сделана раньше не потому, что важнее, а потому, что
иначе нельзя. Секция здесь **одна**: разложенный по полкам план
перестаёт быть планом. Список пишется вперёд целиком — это не
гниение беклога, а замысел. Пустой беклог значит, что стройка
окончена: дальше `tasks.py stage support`.
<!-- /стадия -->
**Чем очередь упорядочена на этом этапе — от базы к деталям.**
Сначала то, на чём стоит остальное: проверки, которым можно верить,
владелец записи, единый контракт API, покрытый тестами конвейер, — и
только потом экраны и возможности поверх них. Порядок расставлен на
груминге 2026-08-12 и держится, пока сервис не собран целиком:
задача, взятая раньше своего основания, стоит дважды — сперва её
пишут, потом переписывают под появившееся основание.
**Чем основание отличается от детали в этом проекте.** Сначала идёт то,
на чём стоит остальное: проверки, которым можно верить, владелец записи,
единый контракт API, покрытый тестами конвейер, — и только потом экраны
и возможности поверх них. Этот порядок расставили 2026-08-12.
Задача, взятая раньше своего основания, стоит дважды: сперва её пишут,
потом переписывают под появившееся основание.
Одно место в очереди назначено не человеком, а типом: сырьё
(`research` без раздела «Вопрос») стоит в конце секции — его не берут.
Отсюда правило для **новых** записей. Заведённая по ходу работы —
интейком, урожаем ревью, разбором находок — задача встаёт в конец
@@ -76,7 +80,7 @@
- [✨ Считать только те уровни текста, что включены у владельца записи](items/settings-applied-in-pipeline.md) — Дом настроек есть, а конвейер их не читает: выключенный уровень всё равно уходит платной модели, и настройка ничего не экономит.
- [✨ Отправлять готовый текст через apprise и ntfy](items/ntfy-delivery.md) — Пользователь веба узнаёт о готовности только опросом с открытого экрана.
- [✨ Слать готовый текст на почту из учётной записи](items/email-notification.md) — Адрес почты приходит вместе с входом через OIDC, но почтового отправителя в сервисе нет.
- [🔬 Потолки SpeechKit по длине записи и по формату](items/speechkit-limits.md) — Потолок длины записи и перечень принимаемых форматов неизвестны, а цель про долгие записи без них не начинается.
- [🔬 Потолки SpeechKit по длине записи и по формату](items/speechkit-limits.md) — Потолок длины записи и перечень принимаемых форматов неизвестны, а работа над долгими записями без них не начинается.
- [🔬 Потолки приёма, конвертации и заливки по длине записи](items/intake-limits-measure.md) — Из пяти звеньев задача speechkit-limits замерила только модель распознавания: где отваливается шестичасовая запись до неё, неизвестно.
- [✨ Отклонять на приёме запись сверх потолка](items/reject-oversized-recording.md) — Запись сверх потолка принимается молча и висит в конвейере до истечения часового захвата, а человек всё это время ждёт текста.
- [✨ Резать длинную запись на фрагменты и продолжать с места остановки](items/long-audio-chunking.md) — Шаг конвейера повторяется целиком: перезапуск на пятом часу шестичасовой записи начинает распознавание заново и оплачивает его второй раз.