- документ docs/autotests.md снят: перечень правил, подавлений и лестница
механизации — это конвенция о том, чем машина читает код, и место ей среди
прочих записей
- в шапке названо, чего в записи нет: как писать тесты. Свойства, которые обязан
проверять тест, остаются в review.md, «Типовые узлы»
- ссылки переставлены в памятке, индексе конвенций, четырёх записях, review.md,
.golangci.yml, lefthook.yml и пакете сканеров
- лестница механизации из пяти ступеней, два круга проверок, перечень правил
таблицами по родам, перечень подавлений с причинами, порядок заведения
правила; названы остатки правил и отклонённые подъёмы
- утверждения «Механизировано» в четырёх записях конвенций и единые точки в
architecture.md приведены к сегодняшнему состоянию; изъятие «транспорт знает
адаптер хранилища» названо строкой
- в журнал дефектов записаны две находки: узнавание конца потока по тексту и
правило гейта, обходимое одной лишней строкой
- перечень «Механизировано» и то, что осталось прозой, снято из конвенций: они
про то, как писать код, а не про инструменты, которые его читают
- новый документ — дом темы ревью autotests, с границами: семантика гейта
остаётся в CLAUDE.md, журнал дефектов и вопросы по темам — в review.md
- вопрос ревью о суждении по готовому ответу сужен до того, что машина не
проверяет: до ответа мимо recorder
- forbidigo с analyze-types запрещает в файлах проверок обращение к
httptest.ResponseRecorder.Header и .HeaderMap: правило судит по типу
приёмника, поэтому ловит и цепочку, и переменную, и индекс, и обход
- класс стоил трёх зелёных гейтов при неработающем коде; правило записано
строкой в перечне механизированного, прозой не дублируется
- поправлены два утверждения «механизировано: ничего», разошедшиеся с
включённым линтером и со сверкой шага схемы
- периметр: passport.md и security.md больше не утверждают, что HTTP API
открыт без аутентификации, а review.md не числит эту находку типовой
ложноположительной — приём, опрос и файл закрыты сессией с 2026-08-12;
- logging.md писал, что расширение попадает в журнал полем пути: описано
изъятие инварианта приватности — собственное поле, имени и пути нет;
- узел ревью переименован в repo/pocketbase, поведение конвейера из обзора
уехало ссылкой в спеку pipeline, Purpose спеки storage написан вместо
заглушки, в ADR о переезде дописано уточнение о действующей раскладке.
- записи, метаданные и файлы съехались под один каталог данных; появилась
панель владельца, а gin, goqu, goose и требование CGO ушли
- захват задачи стал одним запросом с RETURNING; заведены число попыток,
состояние dead и нарастающая пауза вместо признака is_error
- имя файла в хранилище задаёт сервис и в журнал не идёт: вместе с
идентификатором записи оно собирало бы ссылку на скачивание
- расширение приводится к перечню известных форматов прежде метки метрики:
страница метрик открыта, и хвост имени уезжал на неё дословно
- проверки приёма перехватывают все три потока журнала и читают реестр метрик,
каждая падает при снятии того, что сторожит
- README разгружен: контракт HTTP API, таблицы БД, состояния задач и белый
список отданы нормативным источникам ссылками
- в `architecture.md` и `review.md` числа и механика захвата задачи заменены
ссылками на `database.md`, а описание конвейера ревью — на прогон от 2026-08-11
- в `CLAUDE.md` и `security.md` поправлены границы домена, оценка объёма записи
и адрес очереди задач
docs/ по канону 12: паспорт с целью проекта, архитектура сегодняшнего
устройства, схема хранилища, модель угроз, конвенции кода, журнал ревью.
Конвенции перенесены из jellybit; места, где код им не следует, помечены
строкой «Расхождение» как объявленный долг.
tasks/ с роадмапом: две достигнутые цели, две запланированные (веб и
многопользовательский режим), два направления (все форматы, долгие
записи) и пять задач в беклоге.
openspec/config.yaml — маршрутизатор с адресами документов, спек пока нет.
CLAUDE.md переписан по форме канона: инварианты с severity, семантика
гейта, запреты с путями. Taskfile получил task gate.