Files
jellybit/docs/adr/README.md
T
av 30ee598547 download-tracking: требование о re-read source_type приведено к коду
- re-read `source_type` перечитывается под блокировкой после тик-снимка, а
  остаточное окно вывода имени названо известным ограничением с ценой и
  достоверным маршрутом восстановления (ручной шаг + `Retry`, не самоисцеление)
- в `ingest` снята парная ложная гарантия «воркер добавит раздачу файлом»,
  добавлены сценарии на оба окна апгрейда и на недоступные байты `.torrent`
- заведён ADR о том, что при разрыве спека↔код двигается тот, чья формулировка
  сильнее рационали
2026-08-06 14:44:21 +03:00

4.1 KiB

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

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

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

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

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

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

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

Соглашения

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

Записи

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

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