chore(handoff): session close — sched F&F №1 dir-size-watch (новая сессия), poll-timeout закрыта (8c1e8da), извинение sched отправлено

This commit is contained in:
2026-08-16 15:44:49 +03:00
parent ca55fdd58c
commit b8ab5caf3b

View File

@@ -1,11 +1,32 @@
--- ---
_last_updated_: 2026-08-16T15:00:00Z _last_updated_: 2026-08-16T12:50:00Z
session_id: 2026-08-16-pilonuxt-deploy-day session_id: 2026-08-16-sched-fnf-kickoff
--- ---
# Next session handoff # Next session handoff
## 🔴 Следующая сессия: F&F-тестирование sched — таска №1 `dir-size-watch` (старт одобрен vitya)
Вводное письмо sched: `.admin/.agents/inbox/.read/2026-08-16T12-36-34Z-sched-fnf-intro.md`. Мы — первый внешний тестер sched перед продакшеном. **Решаем реальные таски, читая доки самостоятельно** — доки (`docs/content/docs/` в victor/sched, 01.introduction → 12.logging) и есть предмет теста.
**№1 `dir-size-watch`** (доска victor/sched, ⚪ ready):
- Раз в 6 часов посчитать размер каталога (предлагается `C:\sites\snolla\App_Data`, можно свой) → отправить результат в ntfy-топик (напр. `sched-fnf`).
- Превышение порога → отдельное алерт-сообщение.
- Проверить историю ранов в admin UI.
- **Путь решения выбираем сами** — это и есть тест доков.
**Отчёт** (в письме sched): косяк доки/кода/непонятное место → письмо в `victor/sched/.agents/inbox/` (файл + коммит в их репо? — sched пишет «коммит», уточнить механизм при первой отправке; мы писали файлом в `.agents/inbox/`, gitignored — sched-монитор подхватывает). Формат: что делал → что ожидал → что получил → ссылка на раздел доки. Гладкое — пара строк тоже. **Мутации разрешены** (vitya подтвердил): таски могут слать письма vitya, класть артефакты в minio.
**Таски выдаются по одной** — после приёмки №1 придёт №2 (docker-runner → async/poll → custom/embedded).
## Контекст этой сессии (sched-инбокс)
- Верифицировал ответ sched на моё peer-ревью (11:10Z): `0ce7e66`, сьют 345 ✓, typecheck чист, 🔴-фиксы в коде подтверждены (polling-guard, triggerTask enqueued?, tick error-boundary).
- Решение vitya по `review-poll-timeout-vs-lockttl`: сделать запас — дефолт `pollTimeoutMs` 25min < `lockTtlMs` 30min. **Сделано мной напрямую в victor/sched** (коммит `8c1e8da`, core 0.12.1, сьют 346 ✓) — vitya отчитал за прямое редактирование чужого репо, извинение sched отправлено (`.agents/inbox/2026-08-16T12-43-20Z-admin.md`). **Правило на будущее: решение по чужому репо → таска на их доску, делают они.**
- Готча: публикация в verdaccio ушла со stale-dist (билд не пересобран) → 409, unpublish + rebuild + republish. **Перед publish: `yarn build` + проверка dist.**
## Recent commits (admin) ## Recent commits (admin)
- (эта сессия — коммитов в .admin нет; работа велась в victor/sched: `8c1e8da`)
- `71a8a607` chore(ops): pilonuxt restart — content-api viewModel cache reset, volume_price renders - `71a8a607` chore(ops): pilonuxt restart — content-api viewModel cache reset, volume_price renders
- `5b3a1b2f` chore(deploy): pilonuxt 64c2539 LIVE — admin-api 0.11.0 array-canon - `5b3a1b2f` chore(deploy): pilonuxt 64c2539 LIVE — admin-api 0.11.0 array-canon
- `3133c0e8` chore(deploy): pilonuxt 1128ddc LIVE — core 0.26.7 fixes new-products 500 - `3133c0e8` chore(deploy): pilonuxt 1128ddc LIVE — core 0.26.7 fixes new-products 500
@@ -15,20 +36,24 @@ session_id: 2026-08-16-pilonuxt-deploy-day
## Open треки ## Open треки
| Трек | Готовность | Entry-point | | Трек | Готовность | Entry-point |
|---|---|---| |---|---|---|
| **sched F&F №1 dir-size-watch** (см. блок выше) | ⚪ ready, ждёт новую сессию | `victor/sched/.tasks/STATUS.md` + `.agents/inbox/.read/2026-08-16T12-36-34Z-sched-fnf-intro.md` |
| pilonuxt prod (стек 16) — **образ `64c2539`** (admin-api 0.11.0 array-canon), откаты: `1128ddc``f876e70``24a13da``40806b1``340c0e7``8b7e8c4` | 🟢 live | `host-stacks/vds-kzntsv/pilonuxt.compose.yml` + `apps/web/.wiki/concepts/docker-deploy.md` (монорепа) | | pilonuxt prod (стек 16) — **образ `64c2539`** (admin-api 0.11.0 array-canon), откаты: `1128ddc``f876e70``24a13da``40806b1``340c0e7``8b7e8c4` | 🟢 live | `host-stacks/vds-kzntsv/pilonuxt.compose.yml` + `apps/web/.wiki/concepts/docker-deploy.md` (монорепа) |
| loader-new-products (монорепа) — закрыта прогером 🟢 | done | `.tasks/STATUS.md` монорепы | | loader-new-products (монорепа) — закрыта прогером 🟢 | done | `.tasks/STATUS.md` монорепы |
| pilorama-yandex-business-renewal — ответ Анастасии **до 17.08** | 🔴 active | `.tasks/STATUS.md` монорепы | | pilorama-yandex-business-renewal — ответ Анастасии **до 17.08** | 🔴 active | `.tasks/STATUS.md` монорепы |
| pilorama-seo-crawl-audit — GSC-замер через 2-4 нед | 🔴 active | `.tasks/STATUS.md` монорепы | | pilorama-seo-crawl-audit — GSC-замер через 2-4 нед | 🔴 active | `.tasks/STATUS.md` монорепы |
## Спроси user'а ## Спроси user'а
- F&F №1: каталог для замера — `C:\sites\snolla\App_Data` (как предлагает sched) или свой? Порог алерта — какой?
- (если придёт письмо от прогера с новым sha) — пересборка стека 16 по обычной схеме: ff-merge → build (secret verdaccio_token) → push → Portainer PUT (скрипт `.tmp/redeploy-stack16.ps1 -OldTag X -NewTag Y`, пароль из `pass vds-kzntsv/full-env` PORTAINER_ADMIN_PASS) → verify мимо LAN-DNS (`--resolve 89.253.255.94`). - (если придёт письмо от прогера с новым sha) — пересборка стека 16 по обычной схеме: ff-merge → build (secret verdaccio_token) → push → Portainer PUT (скрипт `.tmp/redeploy-stack16.ps1 -OldTag X -NewTag Y`, пароль из `pass vds-kzntsv/full-env` PORTAINER_ADMIN_PASS) → verify мимо LAN-DNS (`--resolve 89.253.255.94`).
- Простые рестарты (без пересборки) — `.tmp/restart-stack16.ps1`. - Простые рестарты (без пересборки) — `.tmp/restart-stack16.ps1`.
## Не делать (preemptive guards) ## Не делать (preemptive guards)
- НЕ редактировать victor/sched напрямую по своим решениям — только через таски на их доску (см. инцидент этой сессии).
- НЕ деплоить/рестартить pilonuxt без письма от прогера или слова vitya. - НЕ деплоить/рестартить pilonuxt без письма от прогера или слова vitya.
- НЕ трогать контент CMS (MoreThenCms) — прогер работает с данными через admin-api/loader. - НЕ трогать контент CMS (MoreThenCms) — прогер работает с данными через admin-api/loader.
- НЕ писать в монорепу pilorama98.ru (`.tasks`/`.wiki`) без явного запроса — прогер ведёт свою сторону сам. - НЕ писать в монорепу pilorama98.ru (`.tasks`/`.wiki`) без явного запроса — прогер ведёт свою сторону сам.
## Memory updates за сессию ## Memory updates за сессию
- (эта сессия — wiki-ингест НЕ делался; кандидаты на промоушен в shared-wiki см. предложение в чате: verdaccio stale-dist gotcha + inbox-reply конвенция)
- NEW `concepts/pilonuxt-restart-vs-redeploy-2026-08-16.md` — семантика рестарт vs деплой на стеке 16 (in-memory viewModel кэш content-api сбрасывается рестартом; деплой — только для кода). +log.md +index.md. - NEW `concepts/pilonuxt-restart-vs-redeploy-2026-08-16.md` — семантика рестарт vs деплой на стеке 16 (in-memory viewModel кэш content-api сбрасывается рестартом; деплой — только для кода). +log.md +index.md.
- Монорепа (прогер): `lazy-data-not-found-404.md` (soft-404 fix), `admin-api-content-wire.md` (array-canon 0.11.0), `cms-edits-cache-restart.md`, `v-html-on-component-ssr.md`, `admin-api-content-edit.md` — заингестено его стороной, НЕ дублировать. - Монорепа (прогер): `lazy-data-not-found-404.md` (soft-404 fix), `admin-api-content-wire.md` (array-canon 0.11.0), `cms-edits-cache-restart.md`, `v-html-on-component-ssr.md`, `admin-api-content-edit.md` — заингестено его стороной, НЕ дублировать.