meta(handoff): session end — stostayer-web deploy parked on web4-cutover (ESM wall, prod на 0.3.18)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-18 09:35:19 +03:00
parent 5ffca96934
commit 97fce8be92

View File

@@ -1,29 +1,33 @@
---
_last_updated_: 2026-06-16T14:05:00Z
session_id: 2026-06-16-pilonuxt-gsc-offers
_last_updated_: 2026-06-18T00:00:00Z
session_id: 2026-06-17-stostayer-web-complaint-form-deploy
---
# Next session handoff
## Recent commits
- `67abd6fa` feat(deploy): pilonuxt 37412d0 — offers в микроразметку Product, GSC-фикс live
- `e66a8b8d` meta(tasks): create [redeploy-pilonuxt-gsc-offers]
- `b4cbb6dc` meta(tasks): решение — старый IIS 80.64.31.36 держим для отката
- `9add1ac1` feat(deploy): pilonuxt CUTOVER LIVE на www.pilorama98.ru
- `5ffca969` docs(wiki): runbook stostayer-web deploy + park complaint-form task
- `5be0855f` meta(tasks): create [stostayer-web-complaint-form-deploy] (от victor/stostayer.new)
- `c677b23f` docs(wiki): live-state stostayer IIS на windows-recovery-host
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| redeploy-pilonuxt-gsc-offers | 🟢 closed 2026-06-16 — `37412d0` в проде, offers-микроразметка live, smoke green | `.tasks/STATUS.md` блок + Closure note |
| (ждёт pilonuxt) GSC «Проверить устранение» на отчёте «Описания товара» | на стороне victor/pilonuxt | inbox `pilonuxt/.claude-inbox/...-admin.md` |
| (потенциальный follow-up) снять pilorama98-биндинг со старого IIS 80.64.31.36 после soak | not started, ждёт отмашку vitya | NEXT_SESSION 2026-06-15 guards |
| stostayer-web-complaint-form-deploy | 🔵 **parked на web4-cutover** — деплой легаси web НЕВОЗМОЖЕН (ESM-стена), фикс формы `120bc07` поедет только с переездом формы в web4 | `.tasks/STATUS.md` блок + `.wiki/concepts/stostayer-web-deploy-runbook.md` |
| (на стороне stostayer.new) web4-complaint-form-port | ⚪ ready у них — порт формы в web4 ($fetch/useToast). Свистнут когда дойдёт до деплоя | `victor/stostayer.new/.tasks/` |
## Что произошло (сжато)
Пытался выкатить фикс формы жалоб `120bc07` на прод `www.stostayer.ru` (легаси `packages/web`, Nuxt2). Образ собрался (cherry-pick на pre-ESM `d02f740`), запушился, передеплоил Portainer-стек 16 → **краш-луп `ERR_REQUIRE_ESM`**. Откатил на `0.3.18`, сайт восстановлен. Вердикт (подтверждён stostayer.new): легаси web require-ит 5 ESM-ставших депов → не пересобрать ни с какого свежего дерева, `0.3.18` заморожен. Канал деплоя + ESM-стена задокументированы в вики-ранбуке.
## Спроси / подтверди
- **Push:** коммит `67abd6fa` НЕ запушен (per-session автопуш не выдан в эту сессию). Board синкается на другие машины через Gitea → стоит запушить, чтобы делегирующая сессия victor/pilonuxt увидела closure. Ждёт «разреши автопуш» / явного go.
- НЕ выводить старый IIS 80.64.31.36 (snolla catch-all на 25 хостнеймов) — решение vitya, держим для отката pilorama98.
- **Push handoff:** этот `NEXT_SESSION.md` закоммичен, но НЕ запушен (Rule 4 — нужна отмашка). Board синкается на другие машины через Gitea → стоит запушить.
- web4-cutover — планирование на стороне vitya. Деплой формы разблокируется только после переезда формы в web4.
## Что усвоено за сессию (gotchas)
- **Portainer pull приватного образа:** в Portainer на vds-kzntsv не был зарегистрирован НИ ОДИН registry → перекат стека с `PullImage` падал `no basic auth credentials`. Прошлые каты держались на host `docker login`, который слетел. Фикс: зарегистрирован `registry.kzntsv.site` (Custom, Id 1, креды из `pass vds-kzntsv/full-env` REGISTRY_*) → Portainer инжектит auth при pull. Теперь перекаты приватных образов на vds-kzntsv работают без host-login.
- Сохранённый `PORTAINER_API_KEY` протух (401) → auth через `POST /api/auth` admin-кредами (`PORTAINER_ADMIN_USER/PASS`).
- pilonuxt build = на workstation (не VDS): `docker build --secret id=verdaccio_token,env=VERDACCIO_TOKEN -t registry.kzntsv.site/pilonuxt:<sha> .` из чекаута нужного sha; `src/generated/` gitignored но populated в working dir → ensure-schema пропускает schema-gen, build в mssql не лезет.
- Smoke pilorama98 ТОЛЬКО через `curl --resolve www.pilorama98.ru:443:89.253.255.94` (дома DPI/DNS отдают старый IIS). Меню линкует /catalog,/services,/contacts,/payment; /delivery — НЕ пункт меню (404 ожидаем).
## Не делать (preemptive guards)
- **НЕ пытаться пересобрать легаси `packages/web` с master/любого свежего дерева** — ESM-стена, бесполезно (5 ESM-депов). Только web4-путь.
- **На client-инфру `stostayer.ru`: один `docker push`, БЕЗ retry-циклов** — retry-шторм засветил egress VPN, хостер забанил наш VPN-IP (выглядело как «сайт лёг»). Сбой → стоп и к vitya.
- **Дохлый `0.3.19` в `docker.stostayer.ru` НЕ удалять** — оставлен по решению vitya (под откат не нужен, есть 0.3.18).
- **Код в `stostayer.new` сам не правлю** — ops-only, проблемы кода → inbox `victor/stostayer.new`.
## Memory updates за сессию
- Стостайер-знание идёт **в вики (`.wiki/concepts/stostayer-web-deploy-runbook.md`), НЕ в агентскую память** — по явному указанию vitya. Память-файлы, что я было создал, снёс.