- audiorecords вместо transcribe_jobs: приложения (texts, structures,
recognitions, record_events, topics) живут своими коллекциями, ссылки на
исходник и на приведённую копию перестали переставляться
- рубеж называет достигнутое, отказ стал признаком остановки с причиной, а
сторожей стало двое: число отказов и время в рубеже
- воркеры потеряли специализацию, их число задаётся [pipeline] workers, шаг
выбирается по рубежу, а захват отдаёт идентификатор и признак захвата
- колонка `owner` связью с `users` в обеих коллекциях новым шагом схемы
`202608140001`; чтение задачи сужено владельцем, и чужая, ничья и
несуществующая дают один ответ; правило просмотра файлов сужено им же
- приём по HTTP берёт владельца из сессии, а предъявителя без учётной записи
пользователя отвергает до чтения тела: позже пришлось бы убирать уложенный
файл, а уборки файлов сервис не умеет. Выборка воркера владельцем не сужается
- удаление учётной записи с записями отвергается стражем, и вешает его сама
сборка хранилища: сборка, забывшая его позвать, теряла защиту молча
- периметр: passport.md и security.md больше не утверждают, что HTTP API
открыт без аутентификации, а review.md не числит эту находку типовой
ложноположительной — приём, опрос и файл закрыты сессией с 2026-08-12;
- logging.md писал, что расширение попадает в журнал полем пути: описано
изъятие инварианта приватности — собственное поле, имени и пути нет;
- узел ревью переименован в repo/pocketbase, поведение конвейера из обзора
уехало ссылкой в спеку pipeline, Purpose спеки storage написан вместо
заглушки, в ADR о переезде дописано уточнение о действующей раскладке.
- шаг схемы закрывает поверхность, которую хранилище приносит открытой:
собственную регистрацию, вход по паролю и одноразовый код — без этого
закрытие приёма обходилось двумя запросами
- продление сессии выключено, срок семь суток: иначе отзыв доступа у
провайдера до сервиса не доходит никогда
- файл записи отдаётся вошедшему по токену файла — пересмотр
ADR-2026-08-12-file-link-open-but-not-logged
- записи, метаданные и файлы съехались под один каталог данных; появилась
панель владельца, а gin, goqu, goose и требование CGO ушли
- захват задачи стал одним запросом с RETURNING; заведены число попыток,
состояние dead и нарастающая пауза вместо признака is_error
- имя файла в хранилище задаёт сервис и в журнал не идёт: вместе с
идентификатором записи оно собирало бы ссылку на скачивание