meta(admin): coordinator loader-admin-api-client — ApiKeys DDL на обоих SNOLLA, скоуп-решение

ApiKeys миграция прогнана (vds MoreThenCms + stostayer stostayer, RC=0).
Координатор миграции loader'а pilorama98 + ревьюер snolla (admin-typed-api).
Зазор variants/categories/tags снят: оператор решил расширять snolla.
Контракт клиента relay'нут pilorama98 (query/write/page.content byte-for-byte).
Coord-таска: .tasks/coord-loader-admin-api-client.md.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-04 17:30:08 +03:00
parent d1ad3ebe3a
commit 27de23ea25
2 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
# coord-loader-admin-api-client
## Goal
Я (admin-сессия) — **координатор** таски у pilorama98.ru
`loader-migrate-to-admin-api-client`: перевод `apps/loader` с прямого DB-доступа
(`@snollajs/data`, MSSQL MoreThenCms) на типизированный `@snolla/admin-api-client`
(разрабатывает snolla, таска `admin-typed-api`). Vitya назначил 2026-08-04.
## Роль
- **Координатор** миграции загрузчика (pilorama98): отслеживать готовность snolla
(клиент + API Key + ответы на open questions), маршрутизировать, разблокировать,
эскалировать застой.
- **Ревьюер snolla** (назначен vitya 2026-08-04): код `admin-typed-api` — S1 auth/keys,
S2 `@snolla/admin-api-client`, S3 `@snolla/admin-schema-gen`. Канал: snolla шлёт
ревью-запрос в мой inbox (commit/hash + что смотреть), я ревьюю и возвращаю финайдинги.
Ревью S2 — **до публикации в Verdaccio** (pilorama98 завязан на клиент).
## Ревью-чекпойнты (snolla)
- [ ] S1 auth-плагин (PAT+cookie-JWT) + keys-эндпоинты — после завершения
- [ ] S2 `@snolla/admin-api-client`**до publish**
- [ ] S3 `@snolla/admin-schema-gen` — после завершения
## Текущий статус
- 🔵 **2026-08-04T14:29Z — зазор СНЯТ, скоуп расширен, контракт зафиксирован.**
- **Решение vitya: расширять snolla** (AskUserQuestion). snolla подтвердила независимо —
variants/categories/tags + джанкции в текущем скоупе, реализует после ядра кодгена.
- **Контракт от snolla relay'нут pilorama98** (14-29-11Z): query (GET list?scope&skip&take /
POST list; `{success,data,total}`), write (save=upsert по entity-id, delete по id,
идемпотентно; 400/404/500), `page.content` byte-for-byte только при `Content` (не `Fields[]`),
auth Bearer `sk_…` + POST /api/keys, base URL per-env. Джанкции = reconciliation
`CategoryIds[]`/`TagIds[]` в products/save.
- pilorama98: prep разблокирован (seam-рефактор `DbCatalogStore` + contract-tests-каркас),
таска 🔵 до publish + ключ.
- snolla: ревьюер-роль подтверждена; S2 publish держится до моего ревью.
- **Жду:** publish S2 + API Key; пинги с commit'ами на ревью (S1 auth/keys, S2 клиент, джанкции).
## Открытый вопрос оператору (vitya) — РЕШЁН 2026-08-04
Расширять snolla на variants/categories/tags (+ джанкции). Выбрано vitya, подтверждено snolla.
Полный разблок миграции loader'а; acceptance №1 pilorama98 цел.
## Хронология
- 2026-08-04: **ApiKeys миграция прогнана на обоих боевых SNOLLA** (vds `MoreThenCms`
+ stostayer `stostayer`) — таблица `dbo.ApiKeys` + индексы + FK. Это предпосылка
S1 auth-плагина / keys-эндпоинтов snolla. Письмо snolla отправлено
(`snolla/.claude-inbox/2026-08-04T13-29-54Z-admin.md`).
- 2026-08-04: назначен координатором, письма-интро обоим проектам.
## Связанное
- Таска pilorama98: `~/projects/pilorama98.ru/.tasks/loader-migrate-to-admin-api-client.md`
(🔵 blocked на snolla; open questions там).
- Таска snolla: `~/projects/snolla/.tasks/admin-typed-api.md` (S1 auth — после DDL).