--- _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 --- # Next session handoff ## Эта сессия — labtools.ru cylindrical: root-cause найден в коде snolla, таска поставлена. Крекнин-ремонт не тронут (ждёт координации). ### 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 тоже пустой). **Корень в коде 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). **Сделано:** - Таска `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 **Хвост:** ждать релиз 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, полная копия) — НЕ отключать до конца ремонта. ### Спроси user'а - **Когда power-off для перетыка кабелей kreknin?** (координация с Алексеем). План готов, данные спасены. - Rescue-диск `/mnt/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) — при обзоре «что ещё» освежить. ### Не делать (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`. ### Коммиты сессии (.admin) - (не коммичено: `.tasks/STATUS.md` изменён — связать 🔵 cylindrical с таской snolla. Закоммитить с хэндоффом.)