65 lines
5.8 KiB
Markdown
65 lines
5.8 KiB
Markdown
---
|
||
_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
|