diff --git a/.tasks/NEXT_SESSION.md b/.tasks/NEXT_SESSION.md index 573c0fb..ce13f17 100644 --- a/.tasks/NEXT_SESSION.md +++ b/.tasks/NEXT_SESSION.md @@ -1,46 +1,44 @@ --- -_last_updated_: 2026-08-03T10:05:00Z -session_id: 2026-08-03-labtools-cylindrical-rootcause-handoff -prev_session_id: 2026-08-02-kreknin-rescue-sdd-restore +_last_updated_: 2026-08-03T13:08:14Z +session_id: 2026-08-03-labtools-catalog-provider-live +prev_session_id: 2026-08-03-labtools-cylindrical-rootcause-handoff --- # Next session handoff -## Эта сессия — labtools.ru cylindrical: root-cause найден в коде snolla, таска поставлена. Крекнин-ремонт не тронут (ждёт координации). +## Эта сессия — labtools cylindrical ЗАКРЫТ (catalog provider core 0.26.6, LIVE GREEN). Крекнин — завтра (Алексей готов). MinIO split Track A — следующая сессия (директива user'а). -### 1. labtools.ru cylindrical — 🔵 → корень найден, отдано snolla. ✅ сделано -Симптом (live): `/products/press-forms/cylindrical` — 8 карточек `href=""`/`src=""`. `cylindrical.liquid:30-31` единственный из 9 читает Linked-item accessor `product_link.product.item` (остальные 8 — прямой `product`, работают). НЕ v3-регрессия (v2-образ 0.42.1 тоже пустой). +### 1. labtools.ru cylindrical — 🟢 CLOSED, LIVE GREEN +Отмашка snolla (core 0.26.5, store-only) НЕ чинила: labtools — **catalog-модуль**, store нет, provider = `LinkedCatalogProductsProvider`. Реализован полный диспетчер `packages/core/lib/viewModels/linkedItemResolver.js` (порт legacy `ILinkedEntitiesProvider`): dispatch по provider-строке → catalog (`CatalogsService.findProductById`) / blog (`findPostByGlobalId`) / page (`getPageById`) / store (fallback). **core 0.26.6** published (verdaccio), сьют **263/263**, commit `5f0f996`. labtools `yarn.lock` → 0.26.6 (`d263e1c`), стек 17 swap (env 8/8), **LIVE GREEN**: cylindrical 0 empty href/src, 8 карточек гидратированы (round-xrf/vacuum-ir/…). Таска `content-page-linked-products-hydration` закрыта; snolla подтвердил + вики-ингест (`related-products-linked-items.md`). **Rollback = `0dc0b4e`.** -**Корень в коде snolla:** `packages/core/lib/viewModels/contentPages.js` `getPageViewModel` зовёт `fillViewModel(...)` **БЕЗ `fillOpts`** → `viewModels/index.js:696` `resolveLinkedItem = async () => null` → у `linkedItemEditorTemplate`-полей `buildLinkedItemField` даёт `{id,title,link,item}` с `item:null` → `.product.item` пуст. Образец фикса: ecommerce.js:107-117 + blogs.js:142 (это фикс `blog-related-hydration` core 0.13.6). +### 2. Крекнин-ремонт — ЗАВТРА (координация с Алексеем) +План готов (`.tasks/kreknin-repair-md3-rebuild.md` + `.wiki/entities/kreknin-synology.md`): power-off → перетык SATA (sdb питание+data) → power-on → Repair md3 → btrfs scrub → VMM. **Бэкапы выключены с 31.07** (vds-backup 05:00 + books-vds-backup 06:00, cron закомментированы) — вернуть после ремонта, это критичный хвост. Rescue-диск `/mnt/rescue` (1.1TB) — НЕ отключать до конца ремонта. Решение: оставить как доп. копию или отключить — после ремонта. -**Сделано:** -- Таска `victor/snolla/content-page-linked-products-hydration` (ready, needs-claude) — закоммичена в snolla `.tasks/STATUS.md` -- Инбокс-письмо: `snolla/.claude-inbox/2026-08-03T09-53-51Z-admin.md` -- Локальная доска `.admin/.tasks/STATUS.md` — 🔵 запись связана с таской snolla +### 3. MinIO split Track A — СЛЕДУЮЩАЯ СЕССИЯ (user directive) +books-vds 2020 → vds 2025. Сделано: bucket `variant-cache` (2026-07-31). Остальное TODO. Runbook: `.wiki/concepts/minio-split-cutover-runbook.md`. -**Хвост:** ждать релиз core → передеплой стека 17 (labtools, Portainer) → смоук cylindrical (8 непустых href/src). Тему НЕ править (parity движка), прод-стек 17 healthy. - -### 2. Крекнин-ремонт — НЕ в этой сессии, открыто (⚪, из прошлого хэндоффа). Подробности: `.tasks/kreknin-repair-md3-rebuild.md` + `.wiki/entities/kreknin-synology.md` -- **Ремонт:** power-off (graceful) → перетык SATA (sda/sdc свежие кабели, sdb питание+data) → power-on → если sdb ожил → DSM Storage Manager Repair md3 → ребилд (мониторить `/proc/mdstat`, не трогать кабели) / sdb дохлый → 4TB замена → `btrfs scrub /volume1` → проверить VMM. -- **Вернуть бэкапы** (шаг 8): vds-kzntsv `/etc/cron.d/vds-backup` 05:00 + books-vds `/etc/cron.d/books-vds-backup` 06:00 — раскомментировать строки `#DISABLED-kreknin-sick`, снять `.bak.20260731`, прогнать ручной rsync green. **Бэкапы выключены с 31.07 — это критичный хвост.** -- Rescue-диск `/mnt/rescue` (1.1TB, полная копия) — НЕ отключать до конца ремонта. +### 4. Кэш тасков стейл — refresh ОТЛОЖЕН +projects-meta `tasks.json` synced 2026-07-22 (12 дней, `stale: true`). `meta_restart_poller force=false` отказал: 4 активных агента (victor/tandemmebel.ru, victor/O_C-Phazerville, victor/snolla, victor/pilorama98.ru). **force=true убьёт их работу — НЕ делать.** Когда агенты освободятся → graceful restart → кэш обновится. ### Спроси user'а -- **Когда power-off для перетыка кабелей kreknin?** (координация с Алексеем). План готов, данные спасены. -- Rescue-диск `/mnt/rescue` после ремонта — оставить как доп. копию / отключить? +- Крекнин: подтвердить время power-off с Алексеем (завтра). Rescue-диск после ремонта — оставить/отключить? ### Открытые треки -- `labtools.ru cylindrical` → таска `victor/snolla/content-page-linked-products-hydration` (ready). Ждём релиза core. -- `on-snolla-vds-migration` — помечен ⚪ ready на доске, но on.snolla LIVE с 07-20 → **обновить на closed** (не забыть). -- MinIO split Track A (books-vds 2020→2025) — variant-cache bucket создан, остальное TODO. -- Кросс-проектный кэш тасков стейл (последний sync 2026-07-22) — при обзоре «что ещё» освежить. +| Трек | Готовность | Entry-point | +|---|---|---| +| MinIO split Track A | открыт | `minio-split-cutover-runbook` | +| kreknin-repair-md3-rebuild | завтра | `.tasks/kreknin-repair-md3-rebuild.md` | +| Кэш тасков refresh | отложен | `meta_restart_poller` после освобождения агентов | ### Не делать (preemptive guards) -- **Ребутить kreknin пока sda-кабель не зафикшен** — cold-start риск, что md3 умрёт. Кабели зафиксировать ДО Repair md3. -- **НЕ трогать/отключать rescue-диск пока ремонт не закончен.** -- **НЕ забыть вернуть бэкапы** (vds-backup + books-vds-backup раскомментировать). -- **НЕ править тему labtools** для cylindrical — parity движка, фикс на стороне snolla. -- НЕ PS для Portainer (кириллица), креды → `pass`. kreknin: `pass kreknin/full-env`, ключ `id_ed25519_kreknin`. +- **НЕ force-restart поллера** пока активные агенты — убивает чужую работу. +- **НЕ лезть в snolla-код самому** — через snolla-сессию (таска/инбокс), .admin только деплоит (память admin-hands-snolla-repo-work-to-snolla-session). +- Ребутить kreknin пока sda-кабель не зафикшен; не трогать rescue-диск; не забыть вернуть бэкапы. +- НЕ PS для Portainer (кириллица); креды → `pass`. ### Коммиты сессии (.admin) -- (не коммичено: `.tasks/STATUS.md` изменён — связать 🔵 cylindrical с таской snolla. Закоммитить с хэндоффом.) +- `61f6afd2` compose → d263e1c; `c0a8d12b` cylindrical CLOSED; (с этим хэндоффом: on-snolla-vds-migration CLOSED + NEXT_SESSION). + +### Memory updates +- `snolla-two-product-modules-store-vs-catalog` — catalog-сайты без store; linked-item dispatch по provider-строке. +- `admin-hands-snolla-repo-work-to-snolla-session` — snolla-код не трогать, через snolla-сессию. diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index 1deaf0c..0f129a6 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -60,7 +60,7 @@ _Updated: 2026-05-25 (`iis-migration-to-ruvds` 🟢 closed Phase 1 per user deci ## 🟢 [snolla-local-admin-restore] — closed 2026-07-20 — локальный .NET-админ (catch-all IIS `snolla`) поднят с RUVDS, `/admin` для тиража+on.snolla.com. Per-task: `snolla-local-admin-restore.md`. Selective tar-copy ~100MB (НЕ 8.76GB, исключил stale App_Data assets/galleries/themes). Web.config уже на mssql.kzntsv.site+MinIO (repoint не нужен, ключи реальные). Elevated setup: `scripts/local-snolla-admin-restore/setup-local-snolla-admin.ps1`. Smoke GREEN: 6 адресов `/admin/account/login` → 200 (tandemmebel/labtools/labtoolspro/emspb/kupimknigi/on), реальная MoreThenCms-логинформа. unblocks `on-snolla-vds-migration`. -## 🟢 [on-snolla-vds-migration] — on.snolla.com (siteId B9ECDB50…) с RUVDS IIS → VDS Node snolla-app 0.42.1, реконструкция шаблонов из боевого+админки. Per-task: `on-snolla-vds-migration.md`. Design: `../.wiki/concepts/snolla-local-admin-and-on-snolla-migration-design.md` §Task B. ⚪ ready, blocked by `snolla-local-admin-restore`. +## 🟢 [on-snolla-vds-migration] — CLOSED 2026-08-03 — on.snolla.com (siteId B9ECDB50…) с RUVDS IIS → VDS Node snolla-app 0.42.1 (стек 22), **live с 2026-07-20**. Реконструкция шаблонов из боевого+админки. Per-task: `on-snolla-vds-migration.md` (§ As-built 2026-07-20). Design: `../.wiki/concepts/snolla-local-admin-and-on-snolla-migration-design.md` §Task B. Статус-маркер «⚪ ready» не был перевёрнут при live — исправлено 2026-08-03. ## As-built (2026-07-20) - Repo `victor/on.snolla.com` pushed (git.kzntsv.site). Structure-clone of tandemmebel.ru.