- Перевод на канон 1 доделан: адреса служебного файла и имена скиллов переставлены в девяти местах прозы и кода, гейт зовёт три скрипта по новым путям, прежние docs/.docs.json и tasks/.tasks.json удалены. - Сверка двумя агентами нашла четырнадцать расхождений, тринадцать сведены строками: число прогонов ревью и преамбула журнала дефектов, счёт capability, маршруты README, дубли инварианта захвата и кодов прогона, протухшие указатели записок разведки, маркер долга на переехавшем абзаце. Срок жизни сессии нормирует спека access, database.md на неё ссылается. - Purpose спеки pipeline объявляет неописанным то, что в ней же и стоит; правка идёт изменением openspec, поэтому заведена задача pipeline-spec-purpose-drift.
5.1 KiB
5.1 KiB
🧹 Свести шесть расхождений между документами канона
- Тип: chore
- Категория: Очередь — Находки одной сверки: чинится одним заходом, пока помнится, чем каждое место было найдено.
- Зачем: Сверка 2026-08-13 нашла шесть мест, где два документа отвечают на один вопрос по-разному; четыре из них в architecture.md, и по ним читатель строит решения о выкладке и о периметре.
Находки сверки документов агентами doc-consistency и doc-code-drift,
прогнанной 2026-08-13 вместе с работой о контексте и токене. К той работе
расхождения отношения не имеют — они старше, и потому не чинились тем же
коммитом.
Каждое место названо с домом факта, то есть с тем документом, который прав:
- Панель администратора против Authelia.
architecture.md, «Открытые вопросы»: «Панель администратора Authelia не закрывает».security.md, «Периметр»: адрес/_/закрывает Authelia на обратном прокси решением от 2026-08-11. Дом —security.md. - Провайдер OIDC не назван внешней зависимостью. Работает с 2026-08-12, у
него два таймаута в
database.mdи нормативная спекаaccess, но в таблице зависимостейarchitecture.mdего нет, а языковая модель числится там «пятой зависимостью». Дом —architecture.md, править его. - «Таймаута нет ни у одного обращения наружу» (
architecture.md, «Эксплуатация») против таймаутов обмена кода у провайдера вdatabase.mdи требования спекиaccess. Верно узкое утверждение: таймаутов нет у Telegram, Object Storage и SpeechKit. Дом —database.md. - gin в
README.md. Веб-фреймворка нет: HTTP-поверхность — роутер встроенной PocketBase, иlogging.mdпрямо говорит, что вместе с gin ушёл иsloggin. Дом стека —CLAUDE.md. - Вид временной метки.
conventions/database.md: RFC 3339 сT, секундная точность.docs/database.md:2006-01-02 15:04:05.000Z, и вид обязателен побайтово — сравнение в SQLite строковое. Дом —docs/database.md; конвенции нужна строка «Расхождение:». - Дубли текста в
CLAUDE.md— подавленияhadolintи настройкаerrcheckпересказаны там дословно, хотя обе преамбулы договорились, что дом перечня подавлений —go-linters.md.
Затрагивает
docs/architecture.md— «Открытые вопросы», таблица внешних зависимостей, раздел «Эксплуатация»;docs/conventions/database.md— вид временной метки;docs/security.mdиdocs/database.md— как дома фактов, если правка потребует уточнить формулировку;README.md— перечень технологий;CLAUDE.md— раздел «Гейт», два места с пересказом.
Критерии приёмки
- Ни одно из шести мест не отвечает на свой вопрос двумя способами. Оракул —
повторный прогон
av-dev:doc-healthcheck: перечисленные шесть находок не возвращаются. - Провайдер OIDC стоит в таблице внешних зависимостей со своими четырьмя столбцами отказа, и счёт зависимостей в «Открытых вопросах» сходится с таблицей. Оракул — чтение таблицы: число строк против числа в тексте.
- Дрейф раскладки и битые ссылки не заведены. Оракул —
task gateзелёный (шагdocs).
Рамки
Правится текст документов, а не поведение сервиса: если расхождение окажется
дефектом кода, оно уезжает своей задачей, а не чинится здесь. Спеки
openspec/specs/ не трогаем — у них свой порядок изменения.