meta(handoff): #1020 закрыта (деплой v0.5.1 + токен), прод-импорт, books yarn.lock — ложная тревога

This commit is contained in:
2026-08-23 23:01:31 +03:00
parent 66b7ba10b2
commit a7d87faf01
6 changed files with 105 additions and 26 deletions

View File

@@ -1,32 +1,32 @@
---
_last_updated_: 2026-08-23T19:40:00Z
session_id: mappa-ntfy-monitor-2026-08-23
---
_Updated: 2026-08-23 — сессия деплоя books agenda-remove (#1007#1010)._
# Next session handoff
# NEXT_SESSION
## Recent commits
- mappa-ntfy-monitor: монитор health mappa → ntfy задеплоен, #1013 закрыта (2026-08-23)
- server close 56c1cb5: #1013 mappa-ntfy-monitor → 🟢 (note с отчётом в блоке)
## Последняя сессия (2026-08-23, .admin)
## Открытые треки
| Трек | Статус | Entry-point |
|---|---|---|
| #803 llm-web-proxy | 🔴 active | next action в STATUS.md (executors/translators из omniroute) |
| MCP-кэш (meta_status) | 🟡 | synced 2026-08-22 22:19 |
| legacy agendaJobs (60 «posting»-сирот) | 🟡 | чистка отдельно |
| meeting-room merge-conflict (UU) | 🟡 | разрешить → миграция 2 тасок |
| fbsPostings.js:73 TypeError | 🟡 | флагнул books |
**Деплой books agenda-remove ЗАВЕРШЁН**: 6 контейнеров (slovo+bookva api/web/task-runner) на `master-7ffb560`. Образы собраны ЛОКАЛЬНО (docker build + curl-upload блобов), деплой — прямыми Portainer PUT. Отчёт books: mappa inbox id 6185 (19:12Z).
## Спроси user'а
- (нет на этом раунде — #1013 закрыта по канону, письмо mappa отправлено)
**Директивы юзера (vitya) — навсегда:**
1. **Gitea Actions — НЕ ИСПОЛЬЗОВАТЬ вообще.** Удалены и запушены workflow: books (build/deploy/build-tools/build-sched-daemon) + vds-ops-mcp (там был реальный автобилд `on: push`).
2. Раннер на books-vds выпилен полностью: systemd `gitea-runner.service` удалён, `/opt/gitea-runner` стёрт, job-контейнеры `GITEA-ACTIONS-TASK-*` удалены, юзер `gitea-runner` удалён. vds-kzntsv чист. Run 587 заморожен.
3. **Сборка образов — только локально на этой машине** (docker build + curl-upload в registry). Деплой — прямыми Portainer PUT (не workflow).
## Не делать (guards)
- Редеплой mappa — только через Portainer (стек 26; `docker pull` ДО restart). `docker compose up` по SSH — anti-pattern.
- Не трогать mappa-скоуп: read-only файлов + фолбэк + поллер на сервисных — шаг ФЛИПА (решение 15, ~2 недели), решает mappa.
- Монитор mappa наблюдает — редеплой/рестарт стека отдельной задачей, не вручную.
- `noreply@snolla.com` — мёртвый ящик, не возвращать в конфиги.
- Не чистить legacy agendaJobs без отдельного запроса.
## Открыто
## Memory updates за сессию
- Монитор mappa задеплоен: `/root/mappa-ntfy-monitor/monitor.py` + cron `*/5` (`/etc/cron.d/mappa-ntfy-monitor`), топик ntfy `mappa-alerts` (vitya admin-role → rw без правки ACL), env `/root/.mappa-ntfy-monitor.env` (600, из pass vds-kzntsv/full-env). Доки: `.wiki/concepts/mappa-vds-deploy-runbook.md` §Мониторинг живости.
- 🟢 **mappa #1020 `mappa-deploy-git-index-token` ЗАКРЫТА** (2026-08-23, эта сессия): деплой mappa **v0.5.1** (не v0.5.0 — findings #1021#1025 закрыты в 0.5.1, юзер подтвердил) + `MAPPA_GITEA_TOKEN` (read-only токен `mappa-gitindex`, scope read:repository, в pass mappa/full-env). Образ `registry.kzntsv.site/mappa:0.5.1`, стек 26 Portainer (image+env), контейнер healthy. `/gitindex/sync`: 48/61 проектов, 11253 коммита. **Verify на проде невозможен по дизайну** (контейнер без чек-аутов/git, MAPPA_PROJECTS_ROOT пуст) — сходимость подтверждена вручную (rev-list vs индекс: mappa 156=156, snolla 883=883). Прод-импорт из файлов прогнан (таски 865→869, wiki 2595→2599, inbox 2012→2034, счётчики t:1020/s:611/wiki:2601). Письмо mappa (closed) отправлено.
- 🟢 books: **yarn.lock — ложная тревога** (их письмо 19:27Z): `yarn install --immutable` зелёный, 3 ссылки `@agendajs/mongo-backend` легитимны (rollback-путь job-scheduler, код импортит MongoBackend). Чистить нечего; удаление agenda = выпил job-scheduler целиком (к человеку). config-диры принято, урок в их wiki.
- Функциональный смоук (upload-history, POST /fbs/pickingLists, карточка товара) — за books-агентом.
- graphify `ci.yml` (GitHub Actions, не Gitea) — проверить/решить при случае.
## Wiki-ingest кандидаты (предложить юзеру)
1. `.wiki/concepts/books-vds-no-gitea-actions.md` — решение юзера: Actions выпилены, сборка локальная; процедура локальной сборки (docker build + curl-upload блобов, OCI-индекс → amd64 child manifest). [уже в index/log]
2. `.wiki/concepts/registry-traefik-buffering-gotcha.md` — большие (>1.5GB) chunked-пуши через traefik (buffering middleware 4GB) умирают «Client Closed Request» на books-vds (RAM 3.9GB, OOM); обход: curl монолитными PUT / POST+PATCH+finalize с drop_caches. [уже в index/log]
3. Находка: `custom-environment-variables.json` должен жить в примонтированных конфиг-дирах, иначе `config.get('sched')` THROW — env бесполезен без mapping-файла. [уже в index/log]
4. (эта сессия) mappa git-index verify на проде невозможен без чек-аутов — verify = инструмент воркстейшна; прод-импорт из файлов: `DATABASE_URL` внешний + `uselibpqcompat=true&sslmode=require` (pg8 трактует require как verify-full — нужен libpq-compat).
## Не делать
- Не диспатчить никакие Gitea Actions (раннер мёртв, workflow удалены — если где-то остались — выпиливать).
- Не собирать образы на VDS/раннере — только локально.
- Не трогать traefik buffering middleware на registry (4GB) без явной отмашки.