meta(handoff): session 2026-06-29 pilonuxt deploys (40bb383 + cf2bba2)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-29 23:08:17 +03:00
parent 685f273571
commit c0afaeca4e

View File

@@ -1,33 +1,37 @@
--- ---
_last_updated_: 2026-06-18T00:00:00Z _last_updated_: 2026-06-29T20:05:00Z
session_id: 2026-06-17-stostayer-web-complaint-form-deploy session_id: 2026-06-29-pilonuxt-deploys
--- ---
# Next session handoff # Next session handoff
## Recent commits ## Recent commits
- `5ffca969` docs(wiki): runbook stostayer-web deploy + park complaint-form task - `685f2735` deploy(pilonuxt): cf2bba2 LIVE — forms-api + full @snollajs/snolla drop (ADR-0010)
- `5be0855f` meta(tasks): create [stostayer-web-complaint-form-deploy] (от victor/stostayer.new) - `dca1bf77` deploy(pilonuxt): 40bb383 LIVE — staticPages + robots.txt from DB (ADR-0009)
- `c677b23f` docs(wiki): live-state stostayer IIS на windows-recovery-host - `c3e84583` wiki(books-vds): document public bookva-db endpoint :33306
## Что произошло (сжато)
Два последовательных деплоя pilonuxt на прод (Portainer стек 16, vds-kzntsv 89.253.255.94), оба по наряду от victor/pilorama98.ru через inbox:
1. **40bb383** — DB-backed staticPages + robots.txt (ADR-0009). Smoke 6/6.
2. **cf2bba2** — forms на `@snollajs/forms-api`, полный дроп `@snollajs/snolla`, core@0.1.1 (Buffer вместо btoa). Tree-check `.output` 4/4 (0× snolla, 0× btoa, 1× data@0.9.1) + smoke зелёный (SSR 200, robots/yandex из БД, форма 422/404).
Оба наряда 🟢 closed, notify отправлены. **Текущий прод pilonuxt = `cf2bba2`.** Откат: стек 16 → `40bb383` (образ на VDS цел).
## Open треки ## Open треки
| Трек | Готовность | Entry-point | | Трек | Готовность | Entry-point |
|---|---|---| |---|---|---|
| stostayer-web-complaint-form-deploy | 🔵 **parked на web4-cutover** — деплой легаси web НЕВОЗМОЖЕН (ESM-стена), фикс формы `120bc07` поедет только с переездом формы в web4 | `.tasks/STATUS.md` блок + `.wiki/concepts/stostayer-web-deploy-runbook.md` | | (нет активных 🔴) | — | борд чист по pilonuxt |
| (на стороне stostayer.new) web4-complaint-form-port | ⚪ ready у них — порт формы в web4 ($fetch/useToast). Свистнут когда дойдёт до деплоя | `victor/stostayer.new/.tasks/` | | backlog/blocked без изменений | ⚪/🔵/🟡 | STATUS.md: harden-books-vds-exposed-ports ⚪, kreknin-self-backup ⚪, books-* bootstrap/cutover 🔵, fix-nl-vds-reality 🟡 (ждёт client-side от vitya) |
## Что произошло (сжато)
Пытался выкатить фикс формы жалоб `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 handoff:** этот `NEXT_SESSION.md` закоммичен, но НЕ запушен (Rule 4 — нужна отмашка). Board синкается на другие машины через Gitea → стоит запушить. - (нет на этом раунде) — обе задачи закрыты, ничего mid-task не висит.
- web4-cutover — планирование на стороне vitya. Деплой формы разблокируется только после переезда формы в web4.
## Не делать (preemptive guards) ## Не делать (preemptive guards)
- **НЕ пытаться пересобрать легаси `packages/web` с master/любого свежего дерева** — ESM-стена, бесполезно (5 ESM-депов). Только web4-путь. - **Notify victor/pilorama98.ru → ТОЛЬКО `~/projects/pilorama98.ru/.claude-inbox/`** (монореп, живой, метётся в `.read/`). НЕ dotted `~/projects/.pilorama98.ru/` (мёртвый, сообщения копятся непрочитанными). Промахнулся раз на 40bb383-notify. См. memory `pilorama98-inbox-is-monorepo-not-dotted`.
- **На client-инфру `stostayer.ru`: один `docker push`, БЕЗ retry-циклов** — retry-шторм засветил egress VPN, хостер забанил наш VPN-IP (выглядело как «сайт лёг»). Сбой → стоп и к vitya. - **Автопуш был выдан на ЭТУ сессию** — на старте следующей сбросить в ask-mode (project-discipline Rule 4).
- **Дохлый `0.3.19` в `docker.stostayer.ru` НЕ удалять** — оставлен по решению vitya (под откат не нужен, есть 0.3.18). - **pilonuxt build-канал:** push с дома гарантированно 499 на `.output`-слое → сразу `docker save | ssh -i ~/.ssh/id_ed25519 vitya@89.253.255.94 'sudo docker load'` + push с VDS (registry локален). Не тратить время на home-push.
- **Код в `stostayer.new` сам не правлю** — ops-only, проблемы кода → inbox `victor/stostayer.new`. - **forms-api smoke:** 422 только с `Accept: application/json` (иначе `prefersJson` false → 404, не баг).
- **Деплой pilonuxt всегда требует ФОРС-регенерации клиента:** `rm -rf apps/web/src/generated` + `yarn workspace nuxt-app schema-gen` (egress в MSSQL) перед docker build — иначе ensure-schema skip соберёт stale-клиент.
## Memory updates за сессию ## Memory updates за сессию
- Стостайер-знание идёт **в вики (`.wiki/concepts/stostayer-web-deploy-runbook.md`), НЕ в агентскую память** — по явному указанию vitya. Память-файлы, что я было создал, снёс. - Создана `pilorama98-inbox-is-monorepo-not-dotted.md` (reference) + строка в MEMORY.md — куда слать notify pilorama98.