Files
admin/.tasks/NEXT_SESSION.md

65 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
_last_updated_: 2026-08-12T12:00:00Z
session_id: 2026-08-12-admin-kreknin-gitea
prev_session_id: 2026-08-10-admin-pi-inbox-monitor
---
# Next session handoff
## Главное за сессию (2026-08-12)
**Gitea на kreknin установлен и работает: https://git.kreknin.site/ (LE-серт).**
- Gitea 1.27.1 + postgres 16, чистые контейнеры (`/volume1/docker/gitea/`), БД на volume1 (не SSD — требование). Админ `kreknin` (pass kreknin/gitea).
- Traefik на kreknin починен: лежал с 07-31 (restart policy был `no`) → `restart: unless-stopped`. Проброс 80/443→8000/4443 добавлен в GUI Keenetic (API KeeneticOS Viva закрыт для curl — только GUI).
- **ОСТАЛОСЬ: DNS-override на Keenetic** — «Домашняя сеть → Доменные имена»: `git.kreknin.site → 192.168.1.43`, `kreknin.site → 192.168.1.43`. NAT loopback у Алексея сломан (из его LAN внешние адреса не открываются) — без этой записи он сам не зайдёт на свой gitea. Проверить с его LAN.
- Пароль Keenetic: `pass kreknin/keenetic` (t3r1a4k314).
- Keenetic отваливался на провайдере (не свет) — монитор-расширение сработал, удалён после завершения.
## Pi-доставка инбокса (2026-08-10)
- **Глобальное pi-расширение** `inbox-monitor.ts` (source of truth: `.common/lib/pi-extensions/`, деплой: `~/.pi/agent/extensions/` — byte-identical) — **session-scoped**: смотрит только `<ctx.cwd>/.claude-inbox/` (свой проект). ПЕРВАЯ версия (глобальный скан всех инбоксов) отменена в тот же день — правило vitya: «ты другие инбоксы читать не имеешь права. Только в своей директории». PUSH-поллер 15s (интерактив) + PULL `agent_settled` sweep, доставка через `sendUserMessage` с заголовком `[inbox] <имя-файла>`, move в `.read/`. Headless (`pi -p`) — доставки нет, сообщения ждут интерактив.
- **Тесты**: `inbox-monitor.test.mjs` — 3 блока ALL PASS (`node --experimental-strip-types`). Живой лоад в pi 0.84.1 подтверждён headless-прогоном.
- **Скил**: `session-inbox-monitor` v0.3.0, секция «Pi support» (claude-skills 07e7820). `.common` 2ad8199.
- **TODO**: при следующей интерактивной pi-сессии сделать `/reload` (или расширение подхватится само при старте новой сессии).
## Старый контекст (2026-08-07)
Эпик **flat-fields** ЗАКРЫТ. `fields[]` убран — поля в корне объекта. Loader мигрирован.
- **@snolla/snolla@snolla/web** — 7 сайтов пересобраны и передеплоены (вторая волна ренеймов)
- **Content-Type гейтинг** — vendor-Accept (`application/vnd.snolla.admin+json`) только для web-админки. Default = корневые поля. Save: `Content` без vendor → 400.
- **fields[] → корневые поля** — admin-api 0.4.0 (read/write flat), client 0.5.2 (index-signature), schema-gen 0.2.1 (генератор flat). Вся тройка published+pushed.
- **Loader → flat root fields** — pilorama98 `0db46e1` в проде. Тесты 105/105. yml_category_id + short_description для required-полей.
- **Content-валидация** — admin-api 0.5.0 published (snolla), НЕ развёрнута на пилораме.
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| admin-api 0.5.0 (валидация) → пилорама | published, ждёт волны | бамп в apps/web + деплой |
| yml_category_id — маппинг для YML-фида | эмпирически сверен, нужен production-тест | loader `bin/index.js` + фид |
| Коллизия `description` (контент-поле ↔ колонка) | на snolla/schema-gen | при следующей встрече |
| Loader прод-импорт (живой) | НЕ запускался после 0.4.0 | решение vitya |
## Спроси user'а
- Деплоить admin-api 0.5.0 (валидация) на пилораму сейчас или со следующей фичей?
- Запускать живой импорт loader'а через новый flat API?
## Не делать (preemptive guards)
- НЕ слать vendor-Accept из loader'а — это только для web-админки snolla
- НЕ деплоить admin-api 0.5.0 без проверки required-полей (79/229 продуктов были без yml_category_id)
- Portainer PUT: НЕ использовать `Env:[]` — очищает секреты. Всегда fetch + re-supply.
- НЕ ротировать `sk_6a83…`
- НЕ слать директивы другим сессиям без сверки с vitya
## Memory updates за сессию
- `snolla-namespace-wins` — подтверждён: вторая волна ренеймов (@snolla/snolla→web)
- `admin-api-vds-deploy` — обновлён: стек 25 retire, admin-api в pilonuxt
- `portainer-env-empty-clears-secrets` — новый: Portainer PUT с Env:[] = потеря всех секретов
- `admin-api-content-gating-vendor-accept` — новый: vendor-Accept = web-admin only, default = flat fields
- `piloruxt-build-needs-generated-dir` — новый: src/generated/ gitignored, нужно scp перед docker build