Files
jellybit/docs/adr
av 9aecf757e0 recognize: название из метабазы санитизируется перед попаданием в план
- чистка стоит на каждой точке входа значения метабазы в план — сборка матча,
  копия кандидата для ревью, набор закреплённых значений источника и его
  чтение: гарантия, поставленная только на запись, обходится данными,
  сохранёнными прежними версиями
- название, непригодное как имя каталога (пустое или без единой буквы и
  цифры), не подставляется — раздача уходит в review с названной причиной
- гейт подтверждения матча не сдвинут: сравнение с планом идёт по значениям
  провайдера, чистится только копия, уходящая дальше
2026-08-10 10:41:16 +03:00
..

Журнал решений

Одна запись — одно решение. ADR это промоут поверх архивного design.md, а не второе сочинение: запись цитирует решение и ссылается на openspec/changes/archive/<id>/design.md.

Главная ценность записи — сохранить почему: намерение и причинность. Это важнее аккуратности оформления и полноты остальных секций.

Когда заводить

Верно одно из трёх:

  • дорогой откат — переделка стоит дороже переписывания одного файла;
  • намеренный отказ от очевидного подхода;
  • пересмотр прежнего решения — тогда у старой записи обязателен статус «заменено на».

Не заводить для рутины и для того, что видно из кода и git log.

Соглашения

  • Имя файла — ADR-ГГГГ-ММ-ДД-slug.md, слаг английский, дата — когда решение реально принято. Идентификатор записи — имя файла без .md; несколько записей за один день различаются слагом.
  • Заголовок в файле# Человеческий заголовок, без даты и id: они в имени файла и в поле меты.
  • Секция «Рассмотренные варианты» опциональна: оставляй, только если альтернативы реально рассматривались.
  • Записи неизменяемы: передумали — новая запись, старой ставится статус.
  • Активная запись статуса не имеет. Значений два: заменено на ADR-… и устарело; ставятся полем меты записи — - **Статус:** … рядом с датой и источником, а не абзацем в теле.
  • Замена: в новой записи — строка «Заменяет ADR-…», в старой — поле статуса, тело не трогаем (это часть истории), в таблице ниже правится статус.

Записи

Новые сверху.

Дата Запись Статус
2026-08-10 Значение метабазы чистится на каждой точке входа в план, три санитайзера не сводятся в один
2026-08-07 Локаль TVDB читается из ответа поиска, а не передаётся в запрос
2026-08-06 Спека следует за кодом, когда гарантия недостижима, а окно узкое
2026-08-04 Конвейер ревью и пайплайн задачи переезжают в плагины
2026-07-24 Локальная сборка образа + доставка docker save/load
2026-07-23 Конвейер ревью: гейт, generative-проходы и триаж
2026-07-02 Отдельную сущность «тайтл» не вводим
2026-06-13 Авто-раскладка только при матче в метабазе
2026-06-13 Docker как единица деплоя заменено на ADR-2026-07-24-local-image-build
2026-06-13 Хардлинки вместо копирования и симлинков
2026-06-13 Go и доставка одним бинарём