Files
transcriber/docs/adr
av 52fe31319a локальный вход задаётся конфигом: заголовки подставляет сам сервис
- в конфиг добавлены секция [auth.test_headers] и предохранитель [server] debug:
  заголовки входа подставляет слой транспорта, второго процесса локальный запуск
  больше не требует
- подкоманда devtools proxy удалена целиком: всё, ради чего её поднимали, делает
  сам сервис
- адресного предохранителя нет по решению владельца — цена названа в ADR и в
  модели угроз
2026-08-23 13:12:47 +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-23 Адресного предохранителя у отладочного входа нет: держит его умолчание, а не машина
2026-08-23 Заголовки входа отладочного запуска подставляет сам сервис, а не второй процесс
2026-08-22 Хранилищем становится SQLite с каталогом файлов, а PocketBase уходит целиком
2026-08-22 Пришедшего называет заголовок доверенного прокси, а не собственный вход OIDC
2026-08-15 Node зовётся контейнером, а не ставится на машину разработчика
2026-08-15 Приложение живёт своим пространством адресов, а не общим с хранилищем
2026-08-15 Страница архива задаётся ключом, а не номером
2026-08-15 Длительность и размер — снимок принятого колонками записи
2026-08-15 Вход Telegram убран целиком, а не выключен признаком
2026-08-15 Обязательность владельца держит схема, а не приём
2026-08-15 Метка убранного входа не выставляется вовсе, а не обнуляется
2026-08-14 Предел простоя остаётся часом, хотя он короче самой работы
2026-08-14 Ответ распознавателя хранится дословно, двоичной формой и вложением
2026-08-14 Остановка записи — признак, а не рубеж
2026-08-14 Учётная запись с записями не удаляется, и это осознанный тупик
2026-08-13 Намерение объявляется признаком, а не выводится из ключа доступа устарело: вход убран ADR-2026-08-15-telegram-intake-removed-temporarily
2026-08-13 Недоступность Telegram подъёму сервиса не мешает устарело: вход убран ADR-2026-08-15-telegram-intake-removed-temporarily
2026-08-12 Файл записи закрыт защищённым полем и отдаётся вошедшему по токену файла заменено на ADR-2026-08-22-storage-without-pocketbase
2026-08-12 Сессия живёт семь суток и не продлевает саму себя заменено на ADR-2026-08-22-login-by-trusted-header
2026-08-12 Кого пускать в сервис, решает правило провайдера, а не сервис
2026-08-12 Код провайдера меняется на сессию вызовом собственного адреса хранилища внутри процесса заменено на ADR-2026-08-22-login-by-trusted-header
2026-08-12 Спекой нормируется и инструмент сборки, а не только поведение сервиса устарело
2026-08-12 Объявленную версию Go шаг гейта читает из репозитория, а не спрашивает у инструмента
2026-08-12 Ссылка на файл открыта знанием записи, а защищает её отсутствие имени в журнале заменено на ADR-2026-08-12-protected-file-behind-session
2026-08-12 Каталог данных задаётся одним ключом [storage] data_dir
2026-08-11 Границу распознавания доменного признака держит норма, а не код
2026-08-11 Отказ, который решено не проверять, объявляется поимённо
2026-08-11 Наружу расширение выходит только приведённым к перечню
2026-08-11 Приложение пишем на Vue, а Node входит в гейт и в образ
2026-08-11 Очередь остаётся своей таблицей, но коллекцией PocketBase заменено на ADR-2026-08-22-storage-without-pocketbase
2026-08-11 Хранилище, файлы и вход переезжают в PocketBase заменено на ADR-2026-08-22-storage-without-pocketbase
2026-08-11 Проверки не зовут внешних программ

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