- три плагина слились в один `av-dev`: служебные `docs/.docs.json` и
`tasks/.tasks.json` заменены на `.av-dev.toml` в корне, в гейте переехали пути
трёх скриптов, вызовы скиллов переименованы по всему репозиторию
- тип задачи `goal` и `ROADMAP.md` упразднены: семь целей закрыты с причинами,
теги сняты, объявлена стадия `support`
- метка `small`/`medium`/`large` снята из процесса — вместо «Триггеров метки» в
review.md подраздел «Когда звать глубокое ревью»; следом разобран урожай
doc-consistency: девять фактов сведены к одному дому
- модель адресует файл номером строки нашего списка вместо копии пути: ответ
на 180 файлов вместо ~15k токенов стоит ~2.5k, усечение сотней снято,
max_files и max_tokens ушли в [recognition], correction-ретрай больше не
переприсылает список
- негодный элемент ответа отбрасывается поимённой причиной, обрыв генерации и
отказ по размеру запроса названы своими причинами, покрытие плана блокирует
авто только при непокрытом видеофайле
- раскладка показывает все файлы раздачи со строками «не в плане» и полным
порядком сортировки; снимок списка файлов лёг рядом с планом (миграция 0012)
- Раскладка docs/ приведена к канону 2: заведены passport/architecture/
database/security/review и research; docs/specs, drafts, backlog, review/
и BRIEF.md разобраны и удалены, беклог переехал в docs/tasks (34 задачи,
6 целей, слаги на английский).
- Нарративы specs удалены как дубли openspec-спек после поимённой сверки;
остаток заведён задачами (редактор маппинга ревью, крайние случаи
именования), отказ от сущности title промоутнут в ADR.
- Проектные копии агентов и скиллов ревью/пайплайна удалены в пользу
плагинов av-dev-pm и av-dev-pipeline; в task gate добавлен шаг canon
вместо er-schema.
Правило, которое проверяет машина, не должно оставаться прозой: файл конвенций
на сотни строк размазывает внимание по тривиальному — модель добросовестно
проверит именование полей лога и не дойдёт до формы решения.
Включены sloglint (константный msg, стиль ключ-значение), forbidigo (fmt.Print*,
os.Getenv, time.Now мимо store.Now), errorlint (сравнение ошибок), depguard
(сторонние пакеты ошибок). internal/archrules — сканеры на то, что линтером не
выражается: направление зависимостей ядро↔транспорты, AUTOINCREMENT и серверное
время в новых миграциях, матчинг ошибки по тексту.
Код приведён к правилам: logging.StartCall как единая точка отсчёта длительности
внешних вызовов, store.Now вместо time.Now в httpapi и часах воркера,
slog.DiscardHandler в тестах.
Перенесённое вычеркнуто из docs/conventions/* и openspec/config.yaml — прозой
осталось только то, что правилом не выражается.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>