Files
transcriber/docs/adr
av 2559d09fc8 доменные ошибки сравниваются через errors.As, отказ Close не теряется
- признаки «работы нет» и «задача не найдена» узнаются по смыслу, а не
  приведением типа: обёртка `%w` на пути больше не превращает пустой прогон
  воркера в отказ раз в секунду
- отказ закрытия соединения с распознавателем доходит до вызывающего
  (`errors.Join`) либо до журнала; у `errcheck` включён `check-blank`, иначе
  критерий принимал реализацию, выбрасывающую отказ в пустоту
- заведены первые тесты пакета worker и capability `pipeline`; долг из четырёх
  замечаний линтера закрыт, гейт зелёный целиком
2026-08-11 18:04:25 +03:00
..

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

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

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

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

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

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

Соглашения

  • Имя файла — ADR-ГГГГ-ММ-ДД-slug.md, дата — когда решение реально принято. Слаг английский по сути, а не транслитом: queue-as-table, не ochered-tablicej. Форму имени и слаг проверяет docs.py check.
  • Записи неизменяемы: передумали — новая запись, старой ставится статус.
  • Активная запись статуса не имеет. Значений два: заменено на ADR-… и устарело; ставятся полем меты записи — - **Статус:** … рядом с датой и источником, а не абзацем в теле.

Записи

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

Дата Запись Статус
2026-08-11 Границу распознавания доменного признака держит норма, а не код
2026-08-11 Отказ, который решено не проверять, объявляется поимённо
2026-08-11 Наружу расширение выходит только приведённым к перечню
2026-08-11 Приложение пишем на Vue, а Node входит в гейт и в образ
2026-08-11 Очередь остаётся своей таблицей, но коллекцией PocketBase
2026-08-11 Хранилище, файлы и вход переезжают в PocketBase
2026-08-11 Проверки не зовут внешних программ

Решения, принятые до заведения канона 2026-08-10, источника в архиве изменений не имеют — сочинять их задним числом правило запрещает.