docs: контракт review vote + OTP 28.2/rebar пути в WORKFLOW. Refs EventHub/EventHubBack#47

This commit is contained in:
2026-07-19 21:31:55 +03:00
parent d7271f836d
commit f1ede63deb
2 changed files with 33 additions and 9 deletions
+18 -7
View File
@@ -60,16 +60,27 @@ IFT smoke Admin UI (живой API после деплоя): `npm run test:e2e:i
## 2.1. Локальная разработка (WSL)
Окружение: **WSL + asdf** (Erlang/OTP 28, rebar3). PowerShell/Windows — только IDE; сборка и тесты — в WSL.
Окружение: **WSL + asdf**. PowerShell/Windows — только IDE; сборка и тесты — в WSL.
| Tool | Version | Path (WSL) |
|------|---------|------------|
| Erlang/OTP | **28.2** | `/home/alexc/.asdf/installs/erlang/28.2/bin` |
| rebar3 | **3.27.0** | `/home/alexc/.asdf/installs/rebar/3.27.0/bin` |
Закреплено: `EventHubBack/.tool-versions`, `EventHubBack/scripts/wsl-dev-env.sh`.
Не использовать системный OTP 25 (`/usr/lib/erlang`) и Windows-установки Erlang/rebar3.
```bash
cd /mnt/c/Users/alexc/IdeaProjects/eventHub/EventHubBack
source scripts/wsl-dev-env.sh # PATH → OTP 28.2 + rebar 3.27.0
bash scripts/wsl-ext4-dirs.sh # один раз: logs/data на ext4
bash scripts/fix-rebar-unit-symlink.sh # перед CT, если rebar сломал unit/api
rebar3 as test eunit
rebar3 ct --suite=api_admins_SUITE
```
Agent: `~/.cursor/eventhub/compile-back.sh`, `run-api-tests.sh`; см. `~/.cursor/eventhub/OTP-REBAR.md`.
### Git-коммиты из WSL (Agent и разработчик)
Коммиты из **Agent Shell / PowerShell** ломаются: Cursor подставляет `--trailer "Co-authored-by: Cursor <cursoragent@cursor.com>"`, а PowerShell падает на `<`.
@@ -166,7 +177,7 @@ Attribution в Cursor (Settings → Agent → Attribution) можно выклю
Gitea: https://git.sabilin.com/EventHub
Следуй WORKFLOW.md и skills eventhub-gitea / eventhub-workflow.
Окружение: WSL + asdf (OTP 28). Git: ~/.cursor/eventhub/git-commit.sh, push — только после «пуш».
Окружение: WSL + asdf **OTP 28.2** (`~/.asdf/installs/erlang/28.2`), **rebar 3.27.0** (`~/.asdf/installs/rebar/3.27.0`); перед сборкой `source EventHubBack/scripts/wsl-dev-env.sh`. Git: ~/.cursor/eventhub/git-commit.sh, push — только после «пуш».
Перед CT: scripts/fix-rebar-unit-symlink.sh; logs/data: scripts/wsl-ext4-dirs.sh
Задача: EventHubBack#24 — <краткая цель>
@@ -196,7 +207,7 @@ Issue: https://git.sabilin.com/EventHub/EventHubBack/issues/24
Единый источник правды: **`EventHubSpec/VERSION`** — формат **`MAJOR.MINOR`** (сейчас `0.1`).
- Бампается **вручную и редко** (смена продуктовой линейки).
- В `EventHubBack` / `EventHubFrontAdmin` (и будущем client UI) файл `VERSION` — только **fallback** для локальных сборок без доступа к Spec.
- В `EventHubBack` / `EventHubFrontAdmin` / `EventHubFront` файл `VERSION` — только **fallback** для локальных сборок без доступа к Spec.
- CI на push/PR **читает Spec** (`scripts/resolve-product-version.sh`), не локальный файл (если Spec доступен).
### Build number
@@ -225,12 +236,12 @@ Issue: https://git.sabilin.com/EventHub/EventHubBack/issues/24
- **Back:** bake `EVENTHUB_VERSION`, `EVENTHUB_BUILD`, `EVENTHUB_GIT_SHA`, `EVENTHUB_BUILT_AT`.
- **Admin UI:** bake `VITE_APP_VERSION`, `VITE_APP_BUILD`, `VITE_GIT_SHA`, `VITE_BUILT_AT`.
- **Client UI (будущее):** те же `VITE_APP_*`, лейбл компонента — `UI`.
- **Client UI:** те же `VITE_APP_*`; лейбл компонента — `UI` (экран «Ещё» + `GET /health` для API).
Отображение в Admin UI (меню профиля):
Отображение:
- `Admin UI 0.1.341 (eb37476)`
- `API 0.1.338 (2b65a804d354)`
- Admin: `Admin UI 0.1.341 (eb37476)` / `API 0.1.338 (2b65a804d354)`
- Client: `UI 0.1.{build} (sha)` / `API 0.1.{build} (sha)`
Третье число в лейбле — **build**, не semver-patch релиза.