Commit Graph

81 Commits

Author SHA1 Message Date
9d6befdffe chore(meta): file-based meta channel closed (canon=mappa) — stubs .wiki/.tasks/.agents-inbox + AGENTS.md cleanup (2026-08-25) 2026-08-25 22:07:33 +03:00
730f067e13 refactor(wiki): bucket sources/ → summaries/ (Karpathy canon, решение 2026-08-24) 2026-08-25 13:43:06 +03:00
9b7e9b2aef meta(wiki): log += ingest concepts/deploy-policy-mappa 2026-08-24 19:16:58 +00:00
b64887f301 wiki: sched docker-runner урок — config.json naming, docker-формат образов для registry 2.8.3, host-GC нецелесообразен 2026-08-24 07:56:32 +03:00
c40f2f415c wiki: деплой books-web a448cad — уроки в ранбук (OCI docker save, Portainer PUT sync, sched smoke) 2026-08-24 00:13:05 +03:00
a7d87faf01 meta(handoff): #1020 закрыта (деплой v0.5.1 + токен), прод-импорт, books yarn.lock — ложная тревога 2026-08-23 23:01:51 +03:00
e3de639161 docs(wiki): mappa-vds-deploy-runbook — деплой/редеплой mappa на VDS (стек 26) 2026-08-23 18:51:59 +03:00
5be661acfd docs(wiki): sched runtime→file-managed migration concept (#991) + handoff update 2026-08-23 17:09:58 +03:00
ebf3831c08 docs(wiki): ingest sched-ozon-creds-stub-contract (anti-leak stubs, incident 2026-08-23) 2026-08-23 15:52:28 +03:00
46c8a0922e meta(wiki): ingest ForgetMeAI free web-chat proxy analysis (concept + raw) + qwen-web task update (browser path through baxia-WAF) 2026-08-22 20:22:00 +03:00
ff5e778d74 docs(wiki): qwen-web baxia-WAF findings + shared docker-gpu-crash concept (ingest) 2026-08-22 18:41:13 +03:00
f2930f6e37 docs(tasks): add llm-web-proxy spec (web-LLM provider for pi+Claude Code) + omniroute tuning wiki 2026-08-22 14:01:53 +03:00
cbd22be2a2 admin: closing ritual — wiki concept fnf-testing-method (+index/log), STATUS.md бухгалтерия r8/r9 2026-08-19 20:28:14 +03:00
34e6e2c7ab wiki: ingest round-2 outcome — openapi-generator gotchas + sched-admin-client-openapi updated (all F-1..F-5 closed, raw_ops deleted) 2026-08-18 22:49:08 +03:00
9c5d8f5ae2 chore(wiki): F&F round concept sched-admin-client-openapi + task close 2026-08-18 22:29:30 +03:00
114db2956f chore(wiki): concept openapi-generator 3.1 gotchas (F&F sched 2026-08-18) 2026-08-18 22:28:37 +03:00
ec59917956 chore: wiki +2 концепта (nvm-junction isMain gotcha, nvm-windows switch), 4 июльских -блока флипнуты 🟢, handoff: волна вышла, ретест в след. сессии 2026-08-18 21:22:32 +03:00
df1a7ef13b docs(wiki): r8 stand updated — items 4-5 (API 52/52, UI 13/13, findings U1/U2) 2026-08-18 19:12:58 +03:00
dbce833a98 wiki: ingest 2 concepts — sched-fnf-r8-verification-stand + windows-docker-test-harness-gotchas 2026-08-18 18:25:52 +03:00
cb701214a2 docs(wiki): session close — handoff + ingest pilonuxt restart-vs-redeploy (stack 16 deploy day) 2026-08-16 13:41:34 +03:00
0582adbb4f wiki: ingest concepts/snolla-smtp-mail-delivery-2026-08 (postmortem SMTP-инцидента + монитор + рецепт деплоя) 2026-08-14 16:07:26 +03:00
23216c76d6 meta(wiki): FormSubmissions nvarchar coordination closed — op-log decision 2026-08-14 09:20:52 +03:00
003e71630c meta(wiki): MSSQL FormSubmissions.Content varchar→nvarchar (₽ fix) — op-log 2026-08-14 09:12:58 +03:00
be54a21316 meta(wiki): inbox-rename audit — .claude-inbox → .agents/inbox clean (op-log record) 2026-08-14 09:08:17 +03:00
4d3bb2113b meta(wiki): runbook — offline-cache fixed by 5c583f8 (supportedArchitectures), yarn install replenished cache 2026-08-13 12:06:11 +03:00
79e9ce87e8 fix(inbox): runbook letter path .claude-inbox → .agents/inbox 2026-08-13 12:00:41 +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
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
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
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
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
f56eb2f800 feat(on-snolla): v3 cutover LIVE — snolla 0.43.2 (aws-sdk v2→v3) + runbook migration
v3 pilot on.snolla.com end-goal (user 2026-07-30): bump @snollajs/snolla
0.42.1→0.43.2 + @smithy resolutions (root package.json, on.snolla.com eb8c143).
Portainer PUT stack 22 → registry.kzntsv.site/on-snolla:eb8c143, env-preserving
8/8, mem_limit 512m. Live smoke GREEN: theme asset 200 97324 B (v3 aws-sdk v3
S3-direct read из vds MinIO 2025), sitemap+sub-sitemaps byte-identical, /c 404.
Rollback = 07db7e3 (v2, жив).

runbook migration (дисциплина): scripts/minio-split-cutover/runbook.md →
.wiki/concepts/minio-split-cutover-runbook.md (конвенция: runbook'и в .wiki/concepts/).
Creds normalized → pass show minio-vds/full-env (wiki-конвенция, не plaintext).
+ index.md, log.md, on-snolla-vds-deploy-runbook v3-секция.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 14:30:38 +03:00
71dee93e86 @wiki: alias pilonuxt -> pilorama98.ru in prose; keep literal container/stack/image id
Замена прозо-ссылок pilonuxt на pilorama98.ru в 7 файлах, чтоб при поиске
по домену находились ops-записи. Буквальные docker-идентификаторы
(контейнер/стек pilonuxt Id 16, image tag, task-slugs) оставлены с пометкой
«контейнер pilonuxt».

Co-Authored-By: Claude <noreply@anthropic.com>
@
2026-07-29 10:59:39 +03:00
5a93ac780c wiki(snolla): ingest local admin HTTPS binding — self-signed wildcard *.snolla.com on IIS :443
Локальный .NET-админ snolla на HTTPS: pilorama98.snolla.com/admin 404 (не в hosts → VDS)
→ ERR_CONNECTION_CLOSED (HSTS upgrade, нет 443). Fix: IIS-native self-signed wildcard
*.snolla.com на :443 + Trusted Root (без traefik — acme.json пуст, лишний слой). Рабочий
entry-point /admin/account/login (голый /admin → canonical на public — предсуществующее
поведение CMS). +index.md (2 строки, design-док ранее не индексирован) + log.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-29 09:14:29 +03:00
43aa674e5b wiki(stostayer): ingest markdown-render-404 incident postmortem + NEXT_SESSION
Постмортем инцидента 2026-07-24: 404/500 на body_repair_service (stostayer.ru) =
двойной корень. (1) код-баг snolla: viewModels/index.js `import markdown from
'markdown-it'; markdown();` — инстанс выброшен, markdown.render undefined, краш на
markdown-поле-шаблонах (латентный ~3 мес с коммита 1e3f897 2026-04-21). (2) упаковка
exact-pin-staleness: @snollajs/content-api@0.8.0 `workspace:*` запёк
@snollajs/snolla:0.7.4 exact → фиксовая 0.7.7 легла top-level, content-api юзал
nested баговую 0.7.4. yarn resolutions/patch не форсят exact-pin опубликованного
пакета — решено публикацией @snollajs/content-api@0.8.2 (^0.7.7).

Деплой stostayer-web:0.3.22 через pscp SSH:20435 + sudo docker load + Portainer PUT
pullImage:false (без push в docker.stostayer.ru:443, бана нет). 4 URL → 200 публично.
Pre-build чек yarn.lock single-snolla ловит класс. Cleanup
workspace-caret-interpackage-deps — за vitya+snolla.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-24 14:37:53 +03:00
23b1a47c14 wiki(stostayer): ingest stostayer-admin-minio-config — :8090 admin on stostayer MinIO
Fix 2026-07-22: local .NET admin (C:\sites\stostayer\Web.config) S3 providers
re-pointed to stostayer MinIO. 3 bugs in original config: wrong creds
(AKIAJ2YJP72W6ZHCRE6Q = books-vds root, not stayer_minio), wrong endpoint
(minio.stostayer.ru is not S3 API port; prod uses minio-api.stostayer.ru),
wrong region (local -> AmazonS3Exception expecting us-west-1). Creds NOT in
pass — live in stostayer.new config/default.json. Admin now shares prod
storage; manual App_Data mirroring retired.

+ index.md, log.md. Also carries pending handoff (NEXT_SESSION) + runbook
update from 2026-07-21 stostayer-web 0.3.20 deploy session.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-22 10:45:13 +03:00
a02c4b86a2 wiki: ingest de-vds-3xui source chronicle + gitignore .tmp/.tasks/.lock
sources/de-vds-3xui-setup-2026-07-14.md (new) — session chronicle capturing
the 3x-ui 3.5.0 troubleshooting: login 403 = CSRFMiddleware (X-CSRF-Token,
GET {BP}csrf-token), direct DB insert into inbounds no longer renders
(client model split across clients/client_inbounds/client_traffics → use
panel API add with stringified settings), wrapper `x-ui setting` doesn't
persist creds (binary only). Reference JSON lifted from working nl-vds 32030.
Entity sources: bound. +index.md sources line, +log.md ingest entry.
gitignore: .tmp/ (cred-bearing local throwaway, like .scratch/) and
.tasks/.lock (runtime). .tmp/ removed from disk.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 15:01:26 +03:00
543ded79bd wiki: de-vds-3xui real RF-client confirmed (session via 32030)
User connected through the DE node right now — plain VLESS 32030 proven
working on real RF client again. Task [de-vds-3xui-setup] closed. Flipped
Проверено block to ; +log.md decision entry.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 14:57:52 +03:00
f0965cf512 wiki: ingest de-vds-3xui (Fornex Germany VPN, plain VLESS 32030)
New entity de-vds-3xui — Germany VPS 130.17.17.158 (Fornex, Ubuntu 24.04),
3x-ui 3.5.0 / xray 26.7.11, plain VLESS 32030 security=none (analog of nl-vds-3xui;
masked protocols intentionally NOT raised). Captured 3.5.0 gotchas vs 3.2.7:
CSRF on all panel POSTs (X-CSRF-Token, GET {BP}csrf-token), direct DB INSERT
into inbounds no longer renders (client model split across clients/
client_inbounds/client_traffics → use panel API add), wrapper `x-ui setting`
doesn't persist creds (binary only). Server-side e2e verified; real RF-client
test pending user. +index.md, +log.md.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-14 14:40:23 +03:00
b5839bd02d feat(tandemmebel): in-place bump 0.42.0 → 0.42.1 LIVE (stack 20, order-tag fix)
Consumer bump by operator (blocker-pattern 2026-07-04 resolved without dev-source):
pin apps/web/package.json:12 + yarn install (lock 0.42.1/core 0.24.1/liquid 0.10.2/data 0.14.1)
+ commit 0cd9351 + push origin (ls-remote confirmed).

Build on VDS → registry.kzntsv.site/tandemmebel:0cd9351 (digest f29c187f).
Throwaway-staging :5020 from live env, healthy.
Completeness-gate С VDS: 184/184 parity (NEW==PROD), /articles 404 identical to
prod oracle → benign. 0.42.1 order-fix inert on blog-portfolio (no catalog).
Operator-gated PUT stack 20 (env 8/8 preserved, prune:false pullImage:true)
→ container 0cd9351+healthy ~8s. Live-smoke GREEN, TLS cert untouched.

Closes snolla 0.42.1 rollout — all 5 snolla sites now on VDS.
Rollback = tag ed96b18 (+ b02ca18) in registry.

- compose source-of-truth: tag + comment (0.42.1)
- board task: decisions log entry
- wiki: new tandemmebel-vds-deploy-runbook, bump recipe (4 sites), index, log
2026-07-12 13:26:28 +03:00
d3d0ff48ed feat(tandemmebel): cutover LIVE on VDS — last snolla site migrated
DNS reg.ru flipped, traefik Host-rule staging->prod, LE cert issued.
Live-smoke GREEN: all pages 200, sitemap 184 locs, sharp media OK.
Gotham-Pro.css latent prod bug fixed by cutover (0B->4436B).
Snolla 0.42.x tirazh now fully alive (5/5 stacks on VDS).
2026-07-12 12:48:20 +03:00
8e3e5b4353 wiki(snolla-0.42.1): рецепт live-prod in-place bump + секции в 3 рунбука + index/log
Закрыт пропуск: тираж 0.42.1 не был зафиксирован в вике (таски emspb/labtools.pro
просили using-wiki).

- NEW concepts/snolla-live-prod-inplace-image-bump.md — переиспользуемый рецепт
  (build на VDS → throwaway-staging-acceptance С VDS → env-preserving Portainer PUT
  put-stack.js → live-smoke), встроен put-stack.js, гочи.
- UPDATE 3 рунбука секцией «0.42.1 in-place bump» (labtools.ru/emspb/labtools.pro)
  с образами/acceptance/rollback.
- FIX orphan: все 3 deploy-рунбука добавлены в index.md (не были каталогизированы).
- log.md: decision-запись.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 12:16:15 +03:00
2e5adcf11e deploy(cms-s3): S3 FileStorage provider LIVE on RUVDS — admin↔MinIO split-brain closed
Разбор 500 на /admin/assets/<owner>/delete → корень ACL (app pool RX-only на
App_Data после scp-миграции) → полная развязка хранилища CMS:

- S3 FileStorage провайдер (MoreThenCms.FileStorage.S3) построен (координация с
  интерн-сессией) и раскатан LIVE на прод RUVDS: 6 контентных классов web.config
  → S3/MinIO, кэши остались Local. Смок 7 тенантов 200/301, 0×500, S3-read byte-parity.
  Upload-гоча: UseChunkEncoding=false (MinIO ⊥ AWSSDK aws-chunked).
- Весь локальный контент RUVDS → MinIO (galleries 5.3G, themes 2.7G, maxMind);
  imageCache-блоат (2.1G) выпилен из бакета themes.
- stostayer.old определён как stale-копия (не мигрировать).

Новый concept: snolla-admin-appdata-acl-500-after-scp-migration.
Трекеры: morethencms-s3-filestorage-provider (LIVE), reconcile-local-assets-to-minio (done).
Rollback: web.config.bak-pre-s3-2026-07-03 на хосте.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 13:47:21 +03:00
685f273571 deploy(pilonuxt): cf2bba2 LIVE — forms-api + full @snollajs/snolla drop
ADR-0010: forms moved to @snollajs/forms-api, @snollajs/snolla dropped
entirely, core@0.1.1 (Buffer over btoa). Stack 16 → pilonuxt:cf2bba2.
Pre-deploy tree-check of .output/server/node_modules 4/4: 0x snolla,
0x btoa, exactly 1x data@0.9.1, core 0.1.1 + content-api 0.14 + forms-api
0.1.0. Smoke green: SSR /+/catalog 200, robots/yandex from DB (ADR-0009
no regress), form ?path=/checkout empty -> 422 JSON, /nope -> 404 (no
valid submitted). Smoke gotcha: 422 only with Accept: application/json.

Closes [deploy-pilonuxt-forms-api-drop-snolla].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 23:01:25 +03:00
dca1bf77d9 deploy(pilonuxt): 40bb383 LIVE — staticPages + robots.txt from DB
Stack 16 redeployed to registry.kzntsv.site/pilonuxt:40bb383 (ADR-0009:
DB-backed staticPages + robots.txt). Build from monorepo with forced client
regen (rm src/generated + schema-gen 0.6 → getStaticPage/getRobotsTxt);
home push hit traefik-499 on .output layer (425MB) → save|ssh load + push
from VDS. Smoke acceptance 6/6 verified by body (robots full from DB w/
Yandex Clean-param + Sitemap, yandex/google verifications, /nope→404).

Closes [deploy-pilonuxt-static-pages-robots].

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 12:05:27 +03:00
c3e845831d wiki(books-vds): document public bookva-db endpoint :33306
bookva MariaDB is published at 89.253.255.133:33306 (0.0.0.0:33306->3306,
port 33306 since 3306 is slovo books-db). Added public DB-endpoints block
to § Доступ (slovo + bookva), noted mongo/ES stay internal, and a
.Ports-vs-.Networks reminder. Closes the port wiki-drift in follow-up #2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 11:54:50 +03:00
fb47d5deb2 wiki(vdsina): document Amsterdam Outline+3x-UI VDS 46.151.25.64
New entity + inventory source for previously-undocumented family VPN.
Secrets stored separately in pass vdsina-outline/full-env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 15:54:36 +03:00
b7f2edc5bd docs(wiki): registryGc real-run outcome + named-tag-loss lesson
Первый боевой registryGc dryRun:false (books master-289c660, под добро юзера):
63 DELETE, 0 ошибок, 0x405 -> REGISTRY_STORAGE_DELETE_ENABLED=true подтверждён
живьём; 61 dangling + 2 datable снесены, реестр почищен.

Урок: master у books-api/books-ops-mcp был dangling (не пересобирались ~3нед)
-> логика drop-dangling снесла named-тег -> :master 404. Outage нет (контейнеры
на локальных образах), но redeploy упрётся. Политика: НЕ удалять named-теги
master/latest даже dangling (protectRe -> +master/latest); проверить keep/drop
на digest-коллизию (books-api keep=1 но 0 не-buildcache осталось).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:21:37 +03:00