# 🧹 Свести пять расхождений между документами канона

- **Тип:** chore
- **Категория:** Очередь — Документы правятся до того, как на них обопрутся экраны и контракт: расхождение в таблице зависимостей и в периметре читают, принимая решения ниже по списку.
- **Зачем:** Сверка 2026-08-13 нашла шесть мест, где два документа отвечают на один вопрос по-разному; одно сведено при повышении раскладки, а три из пяти оставшихся стоят в architecture.md, и по ним читатель строит решения о выкладке и о периметре.

Находки сверки документов агентами `doc-consistency` и `doc-code-drift`,
прогнанной 2026-08-13 вместе с работой о контексте и токене. К той работе
расхождения отношения не имеют — они старше, и потому не чинились тем же
коммитом.

Мест было шесть. Шестое — вид временной метки, где `conventions/database.md`
требовал RFC 3339 с `T`, а хранилище пишет `2006-01-02 15:04:05.000Z`, — сведено
2026-08-13 строкой «*Расхождение:*» в конвенции при повышении раскладки до
версии 3. Остальные пять живы.

Каждое место названо с домом факта, то есть с тем документом, который прав:

1. **Панель администратора против Authelia.** `architecture.md`, «Открытые
   вопросы»: «Панель администратора Authelia не закрывает». `security.md`,
   «Периметр»: адрес `/_/` закрывает Authelia на обратном прокси решением от
   2026-08-11. Дом — `security.md`.
2. **Провайдер OIDC не назван внешней зависимостью.** Работает с 2026-08-12, у
   него два таймаута в `database.md` и нормативная спека `access`, но в таблице
   зависимостей `architecture.md` его нет, а языковая модель числится там
   «пятой зависимостью». Дом — `architecture.md`, править его.
3. **«Таймаута нет ни у одного обращения наружу»** (`architecture.md`,
   «Эксплуатация») против таймаутов обмена кода у провайдера в `database.md` и
   требования спеки `access`. Верно узкое утверждение: таймаутов нет у Telegram,
   Object Storage и SpeechKit. Дом — `database.md`.
4. **gin в `README.md`.** Веб-фреймворка нет: HTTP-поверхность — роутер
   встроенной PocketBase, и `logging.md` прямо говорит, что вместе с gin ушёл и
   `sloggin`. Дом стека — `CLAUDE.md`.
5. **Дубли текста в `CLAUDE.md`** — подавления `hadolint` и настройка
   `errcheck` пересказаны там дословно, хотя обе преамбулы договорились, что
   дом перечня подавлений — `go-linters.md`.

## Затрагивает

- `docs/architecture.md` — «Открытые вопросы», таблица внешних зависимостей,
  раздел «Эксплуатация»;
- `docs/security.md` и `docs/database.md` — как дома фактов, если правка
  потребует уточнить формулировку;
- `README.md` — перечень технологий;
- `CLAUDE.md` — раздел «Гейт», два места с пересказом.

## Критерии приёмки

- Ни одно из пяти мест не отвечает на свой вопрос двумя способами. Оракул —
  повторный прогон `av-dev:doc-healthcheck`: перечисленные пять находок не
  возвращаются.
- Провайдер OIDC стоит в таблице внешних зависимостей со своими четырьмя
  столбцами отказа, и счёт зависимостей в «Открытых вопросах» сходится с
  таблицей. Оракул — чтение таблицы: число строк против числа в тексте.
- Дрейф раскладки и битые ссылки не заведены. Оракул — `task gate` зелёный
  (шаг `docs`).

## Рамки

Правится текст документов, а не поведение сервиса: если расхождение окажется
дефектом кода, оно уезжает своей задачей, а не чинится здесь. Спеки
`openspec/specs/` не трогаем — у них свой порядок изменения.
