From a57504c4e5be106aaa0550b8421f4730a1015dc2 Mon Sep 17 00:00:00 2001 From: OpeItcLoc03 Date: Sun, 5 Jul 2026 08:31:44 +0000 Subject: [PATCH] meta(tasks): create [labtools-ru-deploy-snolla-0-42-1] in OpeItcLoc03/admin --- .tasks/STATUS.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index aaa6d45..0652b02 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1393,3 +1393,43 @@ tandemmebel-staging (стек 20) потеряет featured-вотермарк --- + +## ⚪ [labtools-ru-deploy-snolla-0-42-1] — Обновить ЖИВОЙ прод labtools.ru на VDS (Portainer стек 17) с `@snollajs/snolla@0.28.2` → **0.42.1** in-place. Резолвимый sha бампа: **`566d41c`** (origin/master victor/labtools.ru; пин 0.42.1 + yarn.lock → core 0.24.1 / data 0.14.1 / liquid 0.10.2). Суперсидит пин 0.28.2 из `[labtools-web-vds-deploy]`. + +⚠️ **labtools.ru УЖЕ cutover'нут на VDS** (2026-07-02, боевой `Host(labtools.ru)` на стеке 17). Это **обновление ЖИВОГО прода in-place** (pull новый тег → смена тега на живом стеке 17 → rollback = предыдущий тег), **НЕ staging-first, НЕ DNS-флип** (домен уже на VDS). + +Контекст: 0.42.x = перепил viewModel-ядра (ленивый cross-entity граф, includeX-запекание выпилено). Прямой bump на 0.42.0 вскрыл engine-регрессию порядка изделий (`{% order by list_priority %}` no-op на Drop-VM) — сноллой закрыто в **0.42.1** (liquid 0.10.2, orderBy резолвит field через Drop-акцессор). Поэтому цель = 0.42.1, НЕ 0.42.0. + +## Key files +- `~/projects/labtools.ru/apps/web/package.json:12` — пин `@snollajs/snolla` = `0.42.1` +- `~/projects/labtools.ru/deploy/Dockerfile` — multi-stage node:22-slim (без правок; пин течёт через yarn.lock, `yarn install --immutable`) +- Portainer **стек 17** labtools.ru — source-of-truth compose (боевой `Host(labtools.ru)`) + +## Acceptance (гейты на НОВОМ образе ДО подмены — не наследовать) +1. Build на VDS из sha `566d41c` → образ в `registry.kzntsv.site` (BUILD_EXIT=0). +2. **Completeness-gate** на новом образе: 38 боевых-200 роутов (DB source-of-truth MoreThenCms siteId D375C419: 7 content + 6 секций + 24 продукта + static-page + sitemap/robots) → **0 боевых-200 дают 404**. Прогонять С VDS (воркстейшн ловит LAN-DNS-перехват). +3. **Catalog-parity:** порядок изделий в листингах by list_priority (presses = plg-20, plg-12, plg-25, pgr-10 — ключевой чек фикса 0.42.1); непустые сетки всех 6 секций. +4. Подмена тега на живом стеке 17 → контейнер healthy → live-smoke `labtools.ru` == прод, rollback (предыдущий тег) наготове. +5. Секреты НЕ в образе (`config/default.json` .dockerignore'd; VERDACCIO_TOKEN build-only) — уже провалидировано dev'ом локально (docker build+run: image healthy, свип 0 gaps, order корректен в образе, config/default.json ABSENT, VERDACCIO_TOKEN UNSET). + +## Build-рецепт (как tandemmebel) +`git -C ~/projects/labtools.ru archive 566d41c | ssh vitya@ tar -x` → `docker build -f deploy/Dockerfile --build-arg VERDACCIO_TOKEN= -t registry.kzntsv.site/labtools:566d41c . && push`. Portainer PUT стека 17 через curl -X + node (НЕ PS Invoke-RestMethod), env сохранить. + +## Обязательные скилы — вызвать до начала +- invoke `using-tasks` — статус этой задачи +- invoke `project-discipline` — коммит/деплой-дисциплина +- invoke `using-vds-ops` — диагностика контейнеров VDS (стек 17, healthy) + +**TDD:** нет — ops/deploy, кода нет. +**Разрешения:** автопуш деплой-артефактов на VDS — да (боевой apply гейтит оператор). Секреты НЕ в git/образ. +**weight:** needs-human — live-prod in-place: админ подтверждает боевую подмену тега с оператором ДО apply, НЕ автономно. +**notify:** victor/labtools.ru (репорт мне; deploy-петля минует workshop). + +**Status:** ready +**Where I stopped:** (not started) +**Next action:** Собрать VDS-образ labtools.ru на sha `566d41c` (snolla 0.42.1) → registry.kzntsv.site. НЕ подменять живой стек 17 до re-прогона completeness+catalog-parity на НОВОМ образе и подтверждения оператором. +**Branch:** master +**Notify:** victor/labtools.ru + + +---