Files
healthlog/docs/backlog
av 5ae0c5ff81 reindex: пересборка витрины проигрыванием журнала
- `healthlog reindex` собирает витрину из журнала (тела архива + учёт
  доставок) в ОТДЕЛЬНЫЙ файл базы, строго по `(received_at, id)`; рабочую
  базу читает без наката миграций и не трогает вовсе. Подмену делает
  человек при остановленном сервисе: переименование поверх открытого
  дескриптора портит базу молча.
- Журналом считается архив, а не таблица доставок: тело без учётной записи
  заводится заново (метка из ULID, размер и хеш по распакованному телу),
  запись без тела переносится, но не сворачивается. Оракул сходимости
  встроен — два отпечатка и «объектов было/стало»; пустой журнал успехом не
  считается.
- Прогон живого архива переехал на новый пакет: второго проигрывателя
  журнала в проекте не осталось, а его утверждение о ключе сна перестало
  быть константой, протухающей с каждой доставкой.
2026-08-02 09:07:46 +03:00
..

Беклог

Одна задача = один файл <slug>.md + строка в этом индексе. Приоритет — грубая оценка «ценность / стоимость». Спекулятивные задачи помечены [idea] в заголовке. Ведётся скиллом backlog.

Блокеры — вопросы, вынутые из задач. Работа над задачей идёт автономно; если внутри обнаружился вопрос, который решать не мне, он вынимается отдельным пунктом сюда, а сама задача переформулируется на остаток и продолжается. Пункт блокера отвечает на четыре вопроса: что именно решить, какие есть варианты с ценой каждого, что заблокировано пока решения нет, и какая рекомендация — без неё вопрос перекладывается целиком, а решать его всё равно с тем же контекстом. Разбираются пачками, а не по одному: прерывать поток ради каждого дороже, чем накопить.

Варианты ищутся не с нуля: сперва prior art — как это решено в референсах паспорта и в интернете, — и только потом своё. Готовое решение либо берётся, либо отвергается с названной причиной.

блокеры

высокий

средний

низкий