meta(handoff): labtools cylindrical CLOSED (catalog provider core 0.26.6 live GREEN); kreknin tomorrow; MinIO split next session

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-08-03 16:08:31 +03:00
parent c0a8d12b67
commit a37c3ba98b
2 changed files with 28 additions and 30 deletions

View File

@@ -1,46 +1,44 @@
--- ---
_last_updated_: 2026-08-03T10:05:00Z _last_updated_: 2026-08-03T13:08:14Z
session_id: 2026-08-03-labtools-cylindrical-rootcause-handoff session_id: 2026-08-03-labtools-catalog-provider-live
prev_session_id: 2026-08-02-kreknin-rescue-sdd-restore prev_session_id: 2026-08-03-labtools-cylindrical-rootcause-handoff
--- ---
# Next session 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. ✅ сделано ### 1. labtools.ru cylindrical — 🟢 CLOSED, LIVE GREEN
Симптом (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 (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) — НЕ отключать до конца ремонта. Решение: оставить как доп. копию или отключить — после ремонта.
**Сделано:** ### 3. MinIO split Track A — СЛЕДУЮЩАЯ СЕССИЯ (user directive)
- Таска `victor/snolla/content-page-linked-products-hydration` (ready, needs-claude) — закоммичена в snolla `.tasks/STATUS.md` books-vds 2020 → vds 2025. Сделано: bucket `variant-cache` (2026-07-31). Остальное TODO. Runbook: `.wiki/concepts/minio-split-cutover-runbook.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. ### 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 → кэш обновится.
### 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'а ### Спроси user'а
- **Когда power-off для перетыка кабелей kreknin?** (координация с Алексеем). План готов, данные спасены. - Крекнин: подтвердить время power-off с Алексеем (завтра). Rescue-диск после ремонта — оставить/отключить?
- Rescue-диск `/mnt/rescue` после ремонта — оставить как доп. копию / отключить?
### Открытые треки ### Открытые треки
- `labtools.ru cylindrical` → таска `victor/snolla/content-page-linked-products-hydration` (ready). Ждём релиза core. | Трек | Готовность | Entry-point |
- `on-snolla-vds-migration` — помечен ⚪ ready на доске, но on.snolla LIVE с 07-20 → **обновить на closed** (не забыть). |---|---|---|
- MinIO split Track A (books-vds 2020→2025) — variant-cache bucket создан, остальное TODO. | MinIO split Track A | открыт | `minio-split-cutover-runbook` |
- Кросс-проектный кэш тасков стейл (последний sync 2026-07-22) — при обзоре «что ещё» освежить. | kreknin-repair-md3-rebuild | завтра | `.tasks/kreknin-repair-md3-rebuild.md` |
| Кэш тасков refresh | отложен | `meta_restart_poller` после освобождения агентов |
### Не делать (preemptive guards) ### Не делать (preemptive guards)
- **Ребутить kreknin пока sda-кабель не зафикшен** — cold-start риск, что md3 умрёт. Кабели зафиксировать ДО Repair md3. - **НЕ force-restart поллера** пока активные агенты — убивает чужую работу.
- **НЕ трогать/отключать rescue-диск пока ремонт не закончен.** - **НЕ лезть в snolla-код самому** — через snolla-сессию (таска/инбокс), .admin только деплоит (память admin-hands-snolla-repo-work-to-snolla-session).
- **НЕ забыть вернуть бэкапы** (vds-backup + books-vds-backup раскомментировать). - Ребутить kreknin пока sda-кабель не зафикшен; не трогать rescue-диск; не забыть вернуть бэкапы.
- **НЕ править тему labtools** для cylindrical — parity движка, фикс на стороне snolla. - НЕ PS для Portainer (кириллица); креды → `pass`.
- НЕ PS для Portainer (кириллица), креды → `pass`. kreknin: `pass kreknin/full-env`, ключ `id_ed25519_kreknin`.
### Коммиты сессии (.admin) ### Коммиты сессии (.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-сессию.

View File

@@ -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`. ## 🟢 [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) ## As-built (2026-07-20)
- Repo `victor/on.snolla.com` pushed (git.kzntsv.site). Structure-clone of tandemmebel.ru. - Repo `victor/on.snolla.com` pushed (git.kzntsv.site). Structure-clone of tandemmebel.ru.