Files
jellybit/docs/adr
av fdbc781197 metadata: TVDB отдаёт локализованное название и оригинал
- локаль из [general].language применяется при разборе ответа /search, а в
  запрос не уходит: параметр language у TVDB — фильтр выдачи, а не селектор
  перевода (ADR-2026-08-07)
- Title берётся из блока translations с тотальным фолбэком на primary name,
  OriginalTitle — из primary name; форма ответа сверена по документации и
  живым прогоном не подтверждена (docs/research)
- неожиданная форма ответа даёт WARN: признак — отсутствие во всей выдаче
  ключей языка ожидаемого вида, а не неудача разбора блока
2026-08-07 15:17:05 +03:00
..

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

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

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

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

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

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

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

Соглашения

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

Записи

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

Дата Запись Статус
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 и доставка одним бинарём