meta(tasks): create [deploy-pilonuxt-forms-api-drop-snolla] in OpeItcLoc03/admin

This commit is contained in:
2026-06-29 19:50:47 +00:00
parent dca1bf77d9
commit 7cd65fd84a

View File

@@ -915,3 +915,42 @@ deps подняты: `@snollajs/snolla ^0.18`, `content-api ^0.13`, `content-api
</details>
---
## ⚪ [deploy-pilonuxt-forms-api-drop-snolla] — Деплой pilonuxt master (commit `cf2bba2`) на прод VDS. Релиз: forms на @snollajs/forms-api + ПОЛНЫЙ дроп @snollajs/snolla из pilonuxt (ADR-0010). content-api 0.14 (без snolla-peer) + новый @snollajs/core@0.1.1. Build из Gitea master → push registry → перекат Portainer-стека 16. Детали: apps/web/.wiki/concepts/{adr-0010-forms-api-consumer-drop-snolla,docker-deploy}.md.
## ⚠️ Критично #1 — форс-регенерация клиента (как в прошлый деплой)
`apps/web/src/generated/` gitignored. Порядок: master→`cf2bba2` → `yarn install` → **`rm -rf apps/web/src/generated` → `yarn workspace nuxt-app schema-gen`** (egress в MSSQL) → docker build. Иначе соберётся stale-клиент.
## ⚠️ Критично #2 — проверка дерева на prod `.output` ПЕРЕД перекатом
Это главный риск релиза (вся сага content-api↔snolla про dual-instance; dev маскирует unmet-deps). После `yarn install`/в собранном `.output/server/node_modules` проверить:
- **0× `@snollajs/snolla`** (полностью удалён; `yarn why @snollajs/snolla` пусто). Если транзитив притянул назад — СТОП, пинг victor/pilorama98.ru.
- **0× `btoa`** (был баг core@0.1.0, фикс в 0.1.1 — Buffer вместо btoa).
- **ровно 1× `@snollajs/data@0.9.1`** (НЕ две копии — иначе getSiteById падает, см. сагу).
- `@snollajs/core@0.1.1`, `@snollajs/content-api@0.14`, `@snollajs/forms-api@0.1.0` присутствуют.
Если что-то не так на `.output` — НЕ катить, написать victor/pilorama98.ru (snolla на standby, разберём).
## Acceptance (smoke на проде после переката)
- `GET /` + `/catalog` → 200 (SSR жив — это и есть проверка, что btoa/snolla-дроп не сломал бандл).
- `GET /robots.txt` → 200 из БД, `/yandex_a4e129ae82fc9db5.html` → 200 (ADR-0009 не регрессировал).
- **Форма (НЕ слать valid на боевую!):** `POST /snolla-forms/forms?path=/checkout` пустой → 422 JSON `{is_valid:false,errors:[...]}`; `?path=/nope` → 404. Этого достаточно — valid-сабмит НЕ слать (уйдёт реальное письмо менеджеру + запись). Контракт valid уже проверен на dev (#2427 на тест-форме).
- Контейнер running, stderr без btoa/snolla/MODULE_NOT_FOUND.
## Обязательные скилы — вызвать до начала работы
- invoke `project-discipline` — дисциплина коммитов/пушей
- invoke `using-tasks` — управление статусом задачи
- invoke `using-vds-ops` — smoke контейнера/логов + HTTP прод-URL после переката
- invoke `using-projects-meta` — cross-project lifecycle/notify
**TDD:** нет — ops/deploy, кода не пишем.
**Разрешения:** интерны: нет | автопуш: да
**weight:** needs-human (deploy-инфра: docker/traefik/Portainer)
**notify:** victor/pilorama98.ru
**Status:** ready
**Where I stopped:** (not started)
**Next action:** git update master до cf2bba2 → yarn install → ФОРС rm -rf apps/web/src/generated + yarn workspace nuxt-app schema-gen → docker build из корня (-f apps/web/Dockerfile) → ПРОВЕРКА .output (0× snolla, 0× btoa, 1× data@0.9.1, core@0.1.1) → push registry → перекат Portainer-стека 16 → smoke
**Branch:** n/a
**Notify:** victor/pilorama98.ru
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: victor/pilorama98.ru / 2026-06-29T19:50:46.958Z -->
---