Files
healthlog/docs/tasks/items/swagger-ui.md
T
av 3d24248075 docs: документация приведена к канону av-dev-pm 4
- каждая запись каталога задач получила тип вместо тега kind: и префикса
  заголовка; секция роадмапа «Разработка» стала «Сопровождением», порядок
  секций канонический
- поправлены протухшие факты: нереализованные маршруты Read API, MCP и
  `healthlog import`, словарь слоёв в инварианте, семантика гейта по покрытию
  диффа, периметр перестал дублировать security.md
- замер слияния переведён с находки 49 на находку 54, заполнены Purpose спек
  storage и parsing
2026-08-05 19:09:35 +03:00

2.6 KiB

Поднять Swagger UI без внешней сети

  • Тип: feature
  • Категория: Ядро
  • Зачем: Контракт читается машиной, но человеку нечем выполнить запрос к живому сервису из браузера, а внешних CDN в локальной сети нет
  • Теги: goal:read-api, sprint:2026-08-04

Человек открывает UI на отдельном пути и выполняет запрос к живому сервису — не имея интернета.

Сервис живёт в локальной сети и на VPS без гарантии выхода наружу, поэтому статика отдаётся самим сервисом и лежит в бинаре: внешние CDN здесь означают «работает, пока работает чужой сайт».

UI — новый адресат недоверенного входа наизнанку: он даёт человеку одним нажатием выполнить запрос к любому описанному маршруту, включая приём. Права на запись из браузера не должны появляться сами собой — это ровно та граница, которую описывает docs/security.md.

Двигает строку «Завершения» цели: «Контракт чтения читается машиной».

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

  • UI открывается и выполняет запрос при отключённой внешней сети — оракул: запуск контейнера без доступа наружу
  • бинарь работает без каталога со статикой рядом — оракул: запуск одного файла из пустого каталога
  • запрос к маршруту приёма без заголовка с токеном приёма отклоняется, откуда бы он ни пришёл, а отдаваемая UI статика токена приёма в себе не держит — оракул: тест на обработчике приёма плюс поиск токена в отдаваемой статике

Рамки

Схема не трогается. Берётся после спеки. Наружу ничего не выкладывается — это решение человека и отдельная задача деплоя.