Commit Graph

411 Commits

Author SHA1 Message Date
d7e2af306d fix(inbox): STATUS.md letter paths → .agents/inbox 2026-08-13 12:04:45 +03:00
2434b871d9 fix(inbox): task file letter paths .claude-inbox → .agents/inbox (cascade) 2026-08-13 12:04:31 +03:00
79e9ce87e8 fix(inbox): runbook letter path .claude-inbox → .agents/inbox 2026-08-13 12:00:41 +03:00
2545450845 fix(inbox): NEXT_SESSION.md pi-extension path .claude-inbox → .agents/inbox; move live letter 2026-08-13 stostayer-new to live inbox, drop dead .claude-inbox 2026-08-13 11:59:44 +03:00
5f7d4fdc30 meta(tasks,wiki): stostayer-web 0.3.23 deploy — task done + runbook nuances (offline-build linux-bins, :9000 port, prod tag) 2026-08-13 11:57:47 +03:00
ea50e56278 agents-canon: migrate CLAUDE.md -> AGENTS.md (canon) + legacy pointer 2026-08-12 20:32:56 +03:00
9eef595003 handoff: kreknin gitea закрыт полностью (reverse proxy + автосинк LE) 2026-08-12 19:55:33 +03:00
73b0564d8e wiki(kreknin): автосинк LE-серта git.kreknin.site traefik->nginx (cron 15м) 2026-08-12 19:48:28 +03:00
c2cb6c0801 wiki(kreknin): LE-серт из traefik acme.json в nginx DSM — из LAN без предупреждений
Извлечён серт git.kreknin.site (base64 Certificate/Key) из
/volume1/docker/traefik/letsencrypt/acme.json → /usr/local/etc/nginx/ssl_git_kreknin.*,
nginx reverse proxy переведён на него. Из LAN: LE + Gitea 200. DSM-пароль не нужен.
2026-08-12 19:37:22 +03:00
514a1e991e wiki(kreknin): reverse proxy git.kreknin.site 443→4443 на DSM nginx — из LAN gitea работает
443 на NAS занят встроенным nginx DSM (трафик уходил в Synology вместо traefik).
Добавлен server block в server.ReverseProxy.conf (w3conf) + nginx -s reload:
proxy_pass https://127.0.0.1:4443 (TLS-to-traefik! HTTP на 4443 = 404).
Из LAN: DNS-override → 192.168.1.43:443 → nginx → traefik → gitea 200.
Осталось: LE-серт DSM для git.kreknin.site (нужен GUI DSM).
2026-08-12 19:29:20 +03:00
88f1bb5fe2 wiki: закрыта gitea-задача на kreknin (DNS-override через RCI, hairpin не чинится)
- DNS-записи git.kreknin.site/kreknin.site → 192.168.1.43 добавлены через POST /rci/ parse (ip host)
- KeeneticOS 5.1.3 hairpin НЕ чинит (проверено) — DNS-override это решение
- Концепт keenetic-rci-api + ссылка на офиц. CLI-документацию
- Handoff: задача полностью закрыта
2026-08-12 18:47:04 +03:00
6844c24b77 wiki(kreknin/keenetic): DNS-override через RCI API решает loopback; концепт keenetic-rci-api
KeeneticOS 5.1.3: hairpin не работает (проверено после обновления) →
статичные DNS-записи ip host git.kreknin.site/kreknin.site → 192.168.1.43
через POST /rci/ parse. Из LAN всё 200. Правила порт-форвардинга = ip.static (to-host MAC).
2026-08-12 18:46:28 +03:00
fe540f7674 chore: drop use-superpowers trigger (catalog sovereign) 2026-08-12 17:19:02 +03:00
f8ab0c669b wiki(kreknin): gitea 1.27.1+postgres16 установлен, traefik починен, LE git.kreknin.site live
Чистая установка gitea+postgres на /volume1 (не SSD), админ kreknin.
Traefik: restart policy unless-stopped (лежал с 07-31, restart был no).
Проброс 80/443→8000/4443 в GUI Keenetic (API Viva закрыт).
NAT loopback сломан — DNS-override git.kreknin.site→192.168.1.43 нужен.
Пароли: pass kreknin/keenetic, pass kreknin/gitea.
2026-08-12 11:17:17 +03:00
236a20334f meta(tasks): close [kreknin-reenable-backups-after-rebuild] in OpeItcLoc03/admin 2026-08-10 17:21:19 +00:00
b01b23f811 meta(kreknin): backups re-enabled + verified after power-cut; rebuild restarted
- cron restored vds-kzntsv 05:00 + books-vds 06:00; manual runs VERIFIED on kreknin (vds-kzntsv 66G / books-vds 15G, latest->08-10, 7 snaps each)
- books-vds was stale since 08-05 (rsync fails, no alternate trigger); stale ES snapshot daily-2026-08-10 removed
- md3 rebuild restarted from 0 after power-cut (progress not checkpointed); md0/md1 all 4 disks green
- add kreknin_rebuild_mon.sh array monitor (md0/md1/md3 + CRC)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-10 20:13:27 +03:00
53c2dcced8 meta(kreknin): win10 resolved — Ignore reset paused state, RuTokens re-enumerated to matching addrs 2026-08-10 20:13:27 +03:00
6f60065991 meta(kreknin): md0/md1 system partitions repaired, disks green 2026-08-10 2026-08-10 20:13:27 +03:00
9c6ea001e9 meta(kreknin): rebuild md3 started 2026-08-10, cables reseated 2026-08-10 20:13:26 +03:00
095f94c333 meta(tasks): create [kreknin-reenable-backups-after-rebuild] in OpeItcLoc03/admin 2026-08-10 05:14:37 +00:00
5299c7d048 chore: pilonuxt deploy — tag 515ab99 (admin-api 0.10.1 save-whitelist fix) 2026-08-07 20:34:30 +03:00
768ffe3851 chore: pilonuxt deploy — tag 6552e37 (admin-api 0.10.0 + batch-info + OpenAPI) 2026-08-07 19:48:20 +03:00
03607d0d6e meta(handoff): flat-fields wave CLOSED; session end
- 7 sites @snolla/snolla→web redeployed
- admin-api 0.4.0 (flat fields) + client 0.5.2 + schema-gen 0.2.1 published
- pilorama98 0db46e1 live: loader flat + catalog + yml/short_description
- admin-api 0.5.0 (validation) published, not deployed to pilorama98
- coordinator role active: snolla ↔ pilorama98
2026-08-07 13:03:23 +03:00
615d78932b chore: pilonuxt deploy — tag 2c069de (admin-api 0.4.0 flat fields + каталог + loader) 2026-08-07 10:51:49 +03:00
e3f2541056 chore: pilonuxt deploy — tag 782de35 (каталог: Скандинавская доска + обновлённый Половой шпунт) 2026-08-07 09:38:13 +03:00
66e1c7b718 chore: sync pilonuxt compose — add S3 endpoint/region/bucket env 2026-08-05 16:15:13 +03:00
8ebd05e4a7 chore: sync pilonuxt compose — admin-api embed env (JWT/DATABASE_URL/S3), tag 1b88cd5 2026-08-05 16:14:36 +03:00
9e2332a53c ops(labtools): bump to cad2b36 (@snolla/snolla → @snolla/web 0.43.2)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 15:57:18 +03:00
bb4d441f5a meta(handoff): namespace migration + admin-api embed CLOSED; session end
Сессия 2026-08-04/05: S2+S3 review APPROVE, неймспейс-миграция
@snollajs→@snolla (8 сайтов), admin-api embed в pilonuxt,
стек 25 retire. Wiki обновлён.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 00:28:55 +03:00
543b10a464 docs(wiki): namespace-consolidation + admin-api-embed concepts
Документированы два крупнейших изменения сессии 2026-08-04/05:
- Неймспейс-миграция @snollajs→@snolla (17 пакетов, 8 сайтов)
- Admin-api embed в pilonuxt /admin/api, retire стека 25

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-05 00:24:42 +03:00
1becee760c meta(handoff): S2 review APPROVE (ed7da15), publish+deploy held; роль координатор+ревьювер продолжается в след. сессии
- клиент 20/20 + schema-gen 19/19 + tsc 0 (прогнано сам); покрытие 52/52 non-F; /move сверен с сервером
- финайдинги F1-F3 (минорные) отправлены snolla; publish НЕ дан (hold vitya)
- vitya: в след. сессии тот же координатор+ревьювер этого проекта

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 21:33:24 +03:00
6fe728aa21 meta(handoff): S2 ПРОДОЛЖАЕТСЯ — отмена camel отозвана (vitya: «Продолжать S2»)
- 219a8b3d («camel ОТМЕНЁН») был ошибочной интерпретацией; vitya подтвердил snolla «Продолжать S2»
- S2 (@snolla/admin-api-client 0.3.x camel) идёт у snolla; деплой = один срез в конце эпика, live ca0dfa3 до готовности
- урок: не рассылать другим сессиям письма-отмены по своему прочтению — вмешательство в их работу

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 21:14:25 +03:00
219a8b3d43 meta(handoff): camel-эпик ОТМЕНЁН (vitya) — деплой-парковки нет, live ca0dfa3 (Pascal) остаётся
- vitya: «после S2 деплой не нужен» — весь camel-эпик (S1 wire + S2 клиент 0.3.x + loader re-миграция) отменён
- loader уже мигрирован на Pascal-провод (клиент 0.2.1), прод-импорт done — переделывать нечего
- 2ffd66a — мусор (собран, не запушен); деплой не отдельная веха, релиз = часть выпуска фичи
- письмо snolla отправлено (18-10-26Z): S2 не стартуем
- урок: не строить rework-эпик на работающем проводе без потребителя

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 21:11:51 +03:00
c5166d88f0 meta(handoff): S1 APPROVE + деплой отложен до S2 (полный срез); урок про деплой-гейты
S1 (camel-нормализация admin-api) — ревью APPROVE, финайдинги закрыты (F1 page-part-templates
переведён). Деплой ОТЛОЖЕН по решению snolla+оператор: S1 без camel-клиента не выкатываем,
деплой одним срезом после S2. Образ 2ffd66a собран на VDS, не запушен, live = ca0dfa3.
pilorama98 auto-numbering прогнан (таска 🟢). Память: optional-other-project-task-not-a-deploy-gate.
2026-08-04 21:00:36 +03:00
5d66a86ee3 meta(handoff): loader-migration + admin-api deploy CLOSED; handoff на next session
Эта сессия: координация loader-migrate-to-admin-api-client завершена (identity PASS +
прод-импорт через API, 0 ошибок), admin-api стек 25 LIVE. Coord-таска финал. Handoff
пишет на следующий разворот: MinIO-retire (≈05.08) + kreknin-ремонт + вернуть бэкапы.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 19:37:06 +03:00
cd76ce8f3f feat(admin-api): деплой admin-api на vds (стек 25) — admin-api.vds.kzntsv.site
Образ registry.kzntsv.site/admin-api:ca0dfa3 (ESM-фикс). Stack 25, proxy-сеть,
env 8/8 (DATABASE_URL/JWT_SECRET/S3), mem_limit 512m, traefik + LE.
Live GREEN: /health ok, ключ pilorama98 проходит, LE-серт выдан.
Coord-таска обновлена (Number resolved, staging, deploy).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 18:33:52 +03:00
27de23ea25 meta(admin): coordinator loader-admin-api-client — ApiKeys DDL на обоих SNOLLA, скоуп-решение
ApiKeys миграция прогнана (vds MoreThenCms + stostayer stostayer, RC=0).
Координатор миграции loader'а pilorama98 + ревьюер snolla (admin-typed-api).
Зазор variants/categories/tags снят: оператор решил расширять snolla.
Контракт клиента relay'нут pilorama98 (query/write/page.content byte-for-byte).
Coord-таска: .tasks/coord-loader-admin-api-client.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 17:30:08 +03:00
d1ad3ebe3a meta(handoff): MinIO config flip sweep DONE (2026-08-04) — 5 репо + snolla framework + локальные gitignored
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 14:44:40 +03:00
9fbc44c31b fix(minio-split): source-of-truth compose comments -> minio.vds.kzntsv.site (sites S3-direct читают vds minio)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 14:43:54 +03:00
b4497b367c chore(admin): close morethencms-s3-filestorage-provider task (по оператору: сделано давно)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-04 14:43:54 +03:00
f49481b80c meta(admin): MinIO split Track A DONE — books-vds minio 2020→2025 (shared + bookva), backup paths updated
- shared minio (stack 30): mirror 17 buckets → /usr/docker/minio/data-new, Portainer swap, traefik/imgproxy/books apps GREEN
- bookva-minio (stack 49): mirror books (38692 obj) → volume bookva-minio-data-new (docker volume rename unavailable on old daemon)
- backup script (repo + host /opt/stacks/backup/run.sh) repointed to live paths
- runbook Track A progress + gotchas (mc --disable-multipart, sequential mirrors on 3.8G host, CRLF secret)
- handoff for next session (retire old data in 48h, kreknin tomorrow)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 17:29:35 +03:00
a37c3ba98b 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>
2026-08-03 16:08:31 +03:00
c0a8d12b67 meta(admin): labtools.ru cylindrical CLOSED — catalog provider (core 0.26.6) live GREEN
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 16:01:40 +03:00
61f6afd235 chore(labtools): compose → d263e1c (core 0.26.6 catalog linked-item provider — cylindrical hydrated)
Live smoke 2026-08-03: /products/press-forms/cylindrical 0 empty href/src, 8 cards
hydrated (round-xrf, vacuum-ir, …). Rollback = 0dc0b4e (0.43.2 v3).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 16:00:46 +03:00
4a1728c449 meta(handoff): labtools cylindrical root-cause found in snolla code — task posted (content-page-linked-products-hydration) + inbox letter 2026-08-03 13:29:11 +03:00
1a901b1396 meta(handoff): kreknin rescue session — sdd/VM-volume restore + full rescue to USB + backups paused (→ repair)
- kreknin Xpenology degraded after compressor dusting (sdb cable lost, md3 degraded, sda/sdc flaky cables)
- sdd/VM-volume (md2, /volume2) restored: DSM Repair + "Convert to read/write", scrub 0 errors
- full rescue 2026-08-02 → USB 2TB btrfs /mnt/rescue (netbackup/*.tar incl. diskstation_1.hbk 430G + 5 user shares)
- daily backups DISABLED (vds-kzntsv 05:00 + books-vds 06:00) — re-enable after repair
- wiki entity kreknin-synology: disk inventory, incident, repair, rescue, plan
- task kreknin-repair-md3-rebuild created (power-off → reseat cables → Repair md3 → re-enable backups)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-03 12:40:51 +03:00
0346d5243b meta(handoff): session 2026-07-31 — maljarka restore + variant-cache fix + labtools-cylindrical (→ workshop)
maljarka.tandemmebel.ru восстановлен (7-й сайт, стек 23, LIVE).
variant-cache bucket создан на vds 2025 (shared v3-регрессия sharp-images).
labtools cylindrical product-cards: snolla Linked-item VM bug → handoff victor/snolla
(не v3-регрессия; мой фикс откат, prod не тронут).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 10:47:57 +03:00
d82361d16d fix(minio-split): create variant-cache bucket on vds 2025 — sharp gallery-images 500 across all v3 sites
v3 minio-split перевёл snolla-сайты на minio.vds.kzntsv.site (2025), но variant-cache
bucket не создали там (был на books-vds 2020). snolla sharp-pipeline (variantCache.js
DEFAULT_NAMESPACE=variant-cache, storage.js bucket=storageClient) → NoSuchBucket → 500
на ALL sharp gallery-images всех 6 v3 сайтов с 2026-07-30. v3-gate не поймал: проверял
theme CSS (themes bucket, themeFiles — без sharp), не gallery-image URLs. Заметно на
maljarka portfolio (35 фото). Fix: mc mb vds/variant-cache (пустой, кэш регенерируем).
maljarka portfolio 34/34 → 200 image/webp, tandemmebel logs NoSuchBucket ушли.

- .tasks/STATUS.md + maljarka runbook §Гочи + minio-split-cutover-runbook Track A note
- memory variant-cache-bucket-missing-on-vds-2025

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 09:20:13 +03:00
22f9748b4c meta(handoff): maljarka restore session — 7/7 тираж GREEN (stack 23)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 06:16:04 +03:00
494b101067 feat(maljarka): restore maljarka.tandemmebel.ru as 7th snolla site on VDS (stack 23)
Сайт потерян при decomm RUVDS 2026-07-21 (.NET MoreThenCms tenant, не был в v3 тираже).
Восстановлен как Node snolla-app 0.43.2 на VDS: victor/maljarka.tandemmebel.ru @7f03d67,
layout.liquid byte-identical рендеру локального .NET-admin (43730B, sha256 match),
siteId A2476738, Reversal тема из MinIO. LE issued. Live smoke GREEN.

- host-stacks/vds-kzntsv/maljarka.compose.yml (source-of-truth, stack 23)
- .wiki/concepts/maljarka-vds-deploy-runbook.md (калька on-snolla runbook)
- .tasks/STATUS.md + .wiki/index.md updated
- тираж snolla теперь 7/7: labtools(17)/emspb(18)/labtools-pro(19)/tandemmebel(20)/kupimknigi(21)/on-snolla(22)/maljarka(23)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-31 06:15:29 +03:00