docs: update project context and introduce VERSION semver
This commit is contained in:
@@ -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`.
|
||||||
|
|||||||
Reference in New Issue
Block a user