S1 (camel-нормализация admin-api) — ревью APPROVE, финайдинги закрыты (F1 page-part-templates
переведён). Деплой ОТЛОЖЕН по решению snolla+оператор: S1 без camel-клиента не выкатываем,
деплой одним срезом после S2. Образ 2ffd66a собран на VDS, не запушен, live = ca0dfa3.
pilorama98 auto-numbering прогнан (таска 🟢). Память: optional-other-project-task-not-a-deploy-gate.
6.0 KiB
6.0 KiB
_last_updated_, session_id, prev_session_id
| _last_updated_ | session_id | prev_session_id |
|---|---|---|
| 2026-08-04T18:05:00Z | 2026-08-04-admin-api-s1-coord | 2026-08-04-loader-admin-api-coord |
Next session handoff
2026-08-04 — S1 ревью APPOVE'd, деплой ОТЛОЖЕН до конца эпика (S2). Координация активна.
Что было в этой сессии
- Ревью S1 (admin-api camel-нормализация) — APPROVE с финайдингами. Проверено сам:
mapper (case-map.ts, unit 12/12), delete-нормализация (9 ресурсов
DELETE /:id), envelope{success,data,total}, error-shape, тесты delete-релевантные 58/58 против staging. Полный 422/422 гонял snolla. F1 (page-part-templates) — snolla перевёл, F2/F3 приняты. - Деплой S1 — ОТМЕНЁН/отложен по решению snolla+оператор (21:00Z): S1 = camel-wire без
camel-клиента — не выкатываем. Деплой = один чистый срез всего эпика после S2 (клиент 0.3.x camel
- loader-миграция). Live admin-api остаётся на
ca0dfa3(Pascal), здоров.
- loader-миграция). Live admin-api остаётся на
- Образ
admin-api:2ffd66aСОБРАН на VDS (~/build/admin-api-2ffd66a, контекст завезён tar'ом, docker build ✅), НЕ запушен в registry. Держим готовым; если к S2 будут доп-коммиты — собирать свежий тег. - pilorama98: auto-numbering живой прогон выполнен (224 update/0 create, exit 0, таска 🟢). Гейт деплоя был снят, но стал неактуален (деплой отложен).
Косяки сессии (признать, не повторять)
- Возвёл 🔴 loader-auto-numbering pilorama98 в блокер деплоя S1 — хотя на проводе не было активного
потребителя (loader — разовый CLI, прод-импорт уже выполнен). 3.5ч простоя. Память:
optional-other-project-task-not-a-deploy-gate. Правило: гейт деплоя оправдан ТОЛЬКО при реальном in-flight потребителе на проводе. - Дёрганье по деплою (собрал → остановили). Финальное решение: деплой одним срезом после S2.
Следующая сессия (S2)
- Ждём пинг от snolla: «S2 готов» (клиент 0.3.x camel + loader-миграция pilorama98). Тогда:
- Если были доп-коммиты в admin-api — собрать свежий тег на VDS (контекст
~/build/admin-api-*, Dockerfilepackages/admin-api/Dockerfile, build на VDS — registry large-push 499 gotcha). - Обновить
admin/host-stacks/vds-kzntsv/admin-api.compose.yml(ca0dfa3 → новый тег). - Применить через Portainer PUT (стек 25, pullImage:true, env сохранить, PS 5.1 round-trip кириллица gotcha — качать байтами/UTF-8).
- Smoke: curl --resolve admin-api.vds.kzntsv.site:443:89.253.255.94 (мимо LAN-DNS), health + list-эндпоинты с camel-ключами.
- Если были доп-коммиты в admin-api — собрать свежий тег на VDS (контекст
- Координатор-loader таска — закрыта (миграция done). Роль: ревьюер admin-typed-api для S2.
- API-ключ pilorama98
sk_6a83…— НЕ ротировать (решение vitya).
Open треки (параллельно, из прошлых handoff)
| Трек | Готовность | Entry-point |
|---|---|---|
minio-retire старых данных (12G, rm -rf /usr/docker/minio/data + volume rm bookva-minio-data) |
окно ≈ до 05.08 — подтвердить у vitya; rollback = PUT стек 30/49 | из handoff 2026-08-04 |
| kreknin-repair-md3-rebuild | ⚪ ждёт координации с Алексеем (power-off → перетык SATA → Repair md3 → scrub); бэкапы ВЫКЛЮЧЕНЫ до ремонта | .tasks/kreknin-repair-md3-rebuild.md + .wiki/entities/kreknin-synology.md |
| P3 imgproxy stack 29 retire / A3 bookva-дубли | опционально | из handoff 2026-08-04 |
Спроси user'а
- Подтвердить minio-retire (окно закрывается ~05.08).
- Стартовать kreknin-ремонт (координация с Алексеем).
- (если S2 готов) команда на деплой полного среза.
Не делать (preemptive guards)
- НЕ деплоить S1 в одиночку (только полный срез после S2).
- НЕ ротировать API-ключ pilorama98
sk_6a83…. - НЕ трогать live admin-api (стек 25, ca0dfa3) без сигнала.
- НЕ удалять старые minio-данные до окна и без подтверждения; НЕ возвращать бэкапы до kreknin-ремонта.
- НЕ лезть в snolla-код самому — через snolla-сессию (.admin деплоит).
- НЕ PS для Portainer (кириллица); креды →
pass(vds-kzntsv/full-env); стеки через Portainer, не ssh compose. - НЕ возводить опциональные таски других проектов в деплой-гейты без активного потребителя на проводе.
Коммиты сессии
- Нет новых коммитов в .admin за сессию (деплой не выполнялся; ревью — координация, не код). Следующий commit = обновление compose под S2-деплой.
Memory updates за сессию
optional-other-project-task-not-a-deploy-gate— новый (урок про деплой-гейты).admin-api-vds-deploy— актуален; добавить: образ 2ffd66a собран но не запушен, деплой S1 отложен до S2.