tasks: задачи спринта раздроблены до восьми гранулярных
- конверт и точки разложены на форму провода, точки за период и условный запрос; свёртка — на сетку, порог неполного ведра и предел размера ответа; тренировки и записи разъехались на два независимых маршрута - openapi-swagger разложена на спеку, гейт против расхождения и Swagger UI — все три вне набора, вместе с mcp-server - набор спринта 2026-08-04 — весь HTTP-слой чтения, восемь задач
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Swagger UI без внешней сети
|
||||
|
||||
- **Секция:** ядро
|
||||
- **Зачем:** Контракт читается машиной, но человеку нечем ткнуть в живой сервис, а внешних CDN в локальной сети нет
|
||||
- **Теги:** goal:read-api, sprint:2026-08-04
|
||||
|
||||
Человек открывает UI на отдельном пути и выполняет запрос к живому сервису — не
|
||||
имея интернета.
|
||||
|
||||
Сервис живёт в локальной сети и на VPS без гарантии выхода наружу, поэтому
|
||||
статика отдаётся самим сервисом и лежит в бинаре: внешние CDN здесь означают
|
||||
«работает, пока работает чужой сайт».
|
||||
|
||||
**UI — новый адресат недоверенного входа наизнанку:** он даёт человеку в один
|
||||
клик дёрнуть любой описанный маршрут, включая приём. Права на запись из
|
||||
браузера не должны появляться сами собой — это ровно та граница, которую
|
||||
описывает `docs/security.md`.
|
||||
|
||||
## Критерии приёмки
|
||||
|
||||
- UI открывается и выполняет запрос при отключённой внешней сети — оракул:
|
||||
запуск контейнера без доступа наружу
|
||||
- бинарь работает без каталога со статикой рядом — оракул: запуск одного файла
|
||||
из пустого каталога
|
||||
- маршрут приёма из UI не вызывается без явного токена приёма — оракул: тест
|
||||
|
||||
## Рамки
|
||||
|
||||
Схема не трогается. Берётся после спеки. Наружу ничего не выкладывается — это
|
||||
решение человека и отдельная задача деплоя.
|
||||
Reference in New Issue
Block a user