docs: update project context and introduce VERSION semver

This commit is contained in:
2026-04-22 09:17:30 +00:00
parent 6f9bc32440
commit 47f46d5c5b
2 changed files with 46 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
0.6.0
+45
View File
@@ -310,3 +310,48 @@ git push https://ruslan%40ipcom.su:utOgbZ09ruslan@git.ruslan.xyz/ruslan/Stend_mo
6. Важный операционный урок: 6. Важный операционный урок:
- При работе с `docker compose` обязательно сохранять `.env` заполненным; пустой `.env` приводит к запуску со значениями по умолчанию (пустые креды/хост), что ломает подключение API к БД. - При работе с `docker compose` обязательно сохранять `.env` заполненным; пустой `.env` приводит к запуску со значениями по умолчанию (пустые креды/хост), что ломает подключение API к БД.
## 17) Версионность (введено 2026-04-22)
Принята базовая схема SemVer:
- `MAJOR` — несовместимые изменения API/поведения;
- `MINOR` — новая функциональность без поломки совместимости;
- `PATCH` — исправления багов и операционные правки.
Текущая версия проекта:
- `0.6.0` (см. файл `VERSION` в корне репозитория).
Правило релиза:
- при любом релизном изменении обновлять `VERSION` и добавлять краткую запись в `PROJECT_CONTEXT.md`.
## 18) Обновления (2026-04-22)
1. Причина закрытия сессии (`idle` vs `limit`):
- Добавлен статус сессии `ROTATED` в API;
- Для `POST /api/sessions/{id}/touch` при закрытой сессии возвращается `410` с JSON:
- `ok: false`
- `reason: idle|limit`
- `status: <SessionStatus>`
- В рантаймах (`kiosk`, `universal-runtime`) редирект на главную теперь учитывает причину:
- `/?session_closed=idle`
- `/?session_closed=limit`
- На главной странице добавлено отдельное сообщение о закрытии из-за лимита активных сервисов.
2. API воркеры:
- Значение в `docker-compose.yml` увеличено до `uvicorn --workers 18`.
3. Логирование API усилено (structured logging):
- Добавлены структурированные JSON-события с `event` и `req_id`;
- Расширен middleware логирования запросов: метод, путь, query, статус, длительность, client_ip, user_agent;
- Добавлен порог медленных запросов через `LOG_SLOW_REQUEST_MS` (по умолчанию `2000` мс);
- Добавлены ключевые события жизненного цикла сессий:
- `session_open_requested`
- `session_created`
- `session_rotated`
- `session_closed`
- `session_touch_rejected`
- `session_closed_by_user`
4. Операционная польза:
- Быстрее диагностируются причины `504`/обрывов/закрытий;
- Проще фильтровать инциденты по `req_id` и `session_id` в `docker compose logs api`.