🚢💡 Маяк — миграция «полная копия хаба»
Аудит + план. Обновлено 2026-07-05 · нода fleet-anchor (Hetzner CPX62, 167.233.122.145) · до отъезда Антона 17 июля
Честная рамка (не «100% клон», а по-умному)
Маяк = копия мозга и инфраструктуры (волт, правила, RAG, бэкапы, дашборды, всегда-вкл, телефон). «Краевой» слой, завязанный на домашний португальский IP и живые сессии (Telegram, WhatsApp, Facebook, аутрич-отправка) — остаётся на хабе: с датацентр-IP эти каналы палятся и рвутся. Если хаб умрёт, пока тебя нет — мозг, волт, recall и телефон живут на Маяке; деградирует только IP-краевое.
39✅ уже боевое
1⚠️ частично · 6🏠 на хабе · ~2⏳ осталось
6🏠 остаётся дома
2⚠️ чинить
✅ done уже работает на Маяке ·
⏳ to-do поднять ·
🏠 hub остаётся на хабе (IP/идентичность) ·
⚠️ fix есть проблема ·
🔴 приоритет
Фаза 0 — Фундамент ✅ БОЕВОЕ
Сделано ночью 4-5 июля.
1
VPS куплен + захаржен ✅
UFW · sshd key-only · fail2ban · авто-патчи · restic. SSH по ключу.
2
Tailscale — приватная сеть ✅
100.74.43.25, ~44ms до Лиссабона.
3
Syncthing v2 — волт + machine-bus ✅
Anton-Knowledge 177k файлов, 100% синк, state=idle.
4
Permission-мост (anton читает волт) ✅
setfacl u:anton:x /root — Claude Code видит файлы.
5
Claude Code Opus 4.8 / Max, в папке волта ✅
Думает по подписке Max, читает заметки end-to-end.
6
Remote Control с телефона ✅
**********department@gmail.com — тот же аккаунт, что на телефоне.
7
Самовосстановление ✅
mayak_rc.sh + @***oot + сторож 5мин + linger. Переживёт перезагрузку и краш.
8
Witness presence-stamp ✅
cron /20мин пишет «я живой» флоту.
9
Playbook деплоя ноды ✅
deploy_fleet_node.sh + RUNBOOK — новая нода за ~15 мин.
Фаза 1 — МОЗГ 🔴 приоритет №1
Чтобы телефонный Маяк был ТВОЙ Claude (правила/ELI5/сигналы), а не ванильный. Сейчас их нет на Маяке.
10
~/.claude/CLAUDE.md — глобальные правила ✅
Стоит + ПРОВЕРЕН: канон отвечает в телефонной сессии (заголовок Маяк-ноды + полный канон хаба).
11
MEMORY.md + memory/*.md (память) ✅
291 файл памяти + MEMORY.md в ~/.claude/projects/-root-Obsidian-Anton-Knowledge/memory.
12
Skills (/skills) ✅
80 скиллов скопированы; в CLAUDE.md пометка «пути E:/C: = хаб, корни из machine.env».
13
Commands + hooks ⚠️ частично
162 скрипта ~/.claude/scripts скопированы. Хуки хаба = Windows .cmd → на Маяк не тащим, Linux-хуки сделаем по мере надобности.
14
settings.json (пер-машинно, аккуратно) ✅
Linux-версия: env-блок с путями Маяка + bypassPermissions. Старый сохранён .bak.
15
Механизм бэкапа ~/.claude (git ~15мин) ✅
git-репо в ~/.claude + cron-автокоммит каждый час (:25). Память трекается (298 файлов).
Фаза 2 — RAG / «рендерка» 🔴 приоритет №2
Семантический recall через OpenAI. На хабе работает; на Маяке — нет (нет _imports, индекса, openai/numpy, ключа).
16
Синк папки _imports ✅
Субсет движка (5 скриптов + _paths + machine.env). Полный синк не нужен: Маяк реиндексирует сам.
17
RAG-индекс (OpenAI-large / e5) ✅
_brain_oai.npy (5704 чанка, dim=3072) + мета с ЛИНУКС-путями. Бэкенд OpenAI-large.
18
OpenAI API key ✅
openai.env в ~/secrets (600). brain_ask читает через SECRETS_DIR.
19
Python-зависимости ✅
venv: numpy 2.5.1 + torch-cpu + sentence-transformers 5.6.0 (Python 3.14). Реранкер на CPU работает.
20
Тест brain_ask / /ask на Маяке ✅
Живой тест: «что решили про OpenAI embeddings» → топ-1 = свежий DR 04.07. 12 хитов, реранкер CPU.
21
SQLite факт-базы ✅
leads.db (920МБ, 33 табл.) + names.db → Маяк, integrity ok. Снапшот 05.07; освежение с хаба = TODO (пока хаб жив).
22
Реиндекс-рутина (ночью) ✅
cron 03:10 UTC (04:10 Лиссабон). Проверен вручную: reuse=5657 new=47, 11 сек.
Фаза 3 — Секреты и доступы
Только нужный субсет, безопасно, вне волта/always-loaded.
23
secrets store (субсет) ✅
openai + mail_bus + github + google_bb в ~/secrets, chmod 600.
24
Headless токен биллит платный API ✅
ПРОВЕРЕНО: claude auth status = claude.ai / subscription MAX. Cron не читает .bashrc → платный токен не подхватится.
25
GitHub PAT ✅
github.env на Маяке.
Фаза 4 — Автоматизация (переносимый субсет)
Мозг/волт-рутины → на Маяк (всегда-вкл). TG-зависимые остаются на хабе (см. ниже).
26
vault-janitor-nightly (уборщик волта) ⏳
27
preference-sweep-daily ✅
DONE 07.07: rule_scan.py + wrapper mayak_pref_sweep.sh, cron 03:20 UTC. Тест: 45 сессий, 4 кандидата, дайджест записан.
29
alpha miners (weekly) ✅
DONE 07.07: 10 майнеров /_imports/alpha, cron Вс 03:40 UTC. Тест: 9/10 зелёные (88с); leadsignal_scan исключён — нужна TG dm_messages.db, её нет на Маяке.
30
skill-gap (weekly) ✅
DONE 07.07: claude -p + task skill-gap.md, cron Вс 04:00 UTC. Тест: Sonnet выдал 3-gap анализ, дашборд Skill-Gap-Audit-MAYAK.html (host-суффикс, не затирает хаб).
32
system-architect scan (/arch) ✅
DONE 07.07: /_imports/arch, cron 03:50 UTC. Тест: score 100/100, 10 проверок зелёные. Пишет System-Health-MAYAK.html (host-суффикс). RED-алерты через machine-bus (не трогает ntfy-полосу). build_arch_map исключён (Linux schtasks пуст).
33
token-spend-watchdog (дубль на Маяке) ⏳
34
vault backup restic offsite ✅
DONE 05.07: Storage Box BX11 1TB (€3.20/мес, fsn1, id 609943) куплен ПО API (токен mayak-cc — больше никакого анти-бота). Repo sftp:storagebox:restic, ключ mayak-root, 1-й снапшот f6957f96 = 3.95 GiB / 180612 файлов. Cron 03:40 UTC daily + Вс prune (keep 14d/8w). Локальный /root/restic-repo остаётся.
35
Syncthing watchdog 5-мин ⏳
🏠 Остаётся на хабе (домашний PT IP + сессии)
Не переносим — с датацентр-IP палятся/рвутся. Маяк отдаёт им результат текстом через шину.
36
Telegram MCP (4 акка) + все TG-рутины ✅
syncthing_watchdog.sh cron */5 (+tailscaled). Проверен поломкой: убил службу — воскресла, лог записан.
37
WhatsApp (живая сессия) 🏠
38
Facebook — посты/тизеры/дневник/ответы 🏠
браузер + авторская идентичность.
39
Outreach-отправка лидам 🏠
тёплые сессии + IP. Черновики можно готовить на Маяке (гибрид).
40
claude.ai-sync (Chrome, account-guard) 🏠
41
Gmail/Calendar MCP 🏠
API-based; читатели можно продублировать на Маяк при желании.
Фаза 5 — Флот / консенсус / мониторинг
42
FLEET-ANCHOR в консенсусе ⚠️ частично
07.07: подписывающая идентичность ГОТОВА (ключ + pubkey опубликован в _engine/signers/, fleet_sign.py задеплоен, selftest PASS). Маяк живёт в 03 обеими рельсами. ⏳ Осталось: армин-ролл движка в S6 + запись в consensus.json = эпоха включения кворума (quorum OFF, лидер-driven) — не форсирую вслепую (risk без срочности).
43
machine_bus inbox-робот (dual-rail приём) ✅
Живой с 05.07: mayak_inbox_robot.sh, cron */10. Подтверждён 07.07.
44
heartbeat health с Маяка ✅
DONE 07.07: mayak_heartbeat.sh пишет health-JSON в machine-bus/_heartbeat/ каждые 20 мин (load/disk/syncthing/tailscale/tunnel/ферма). Синкается флоту. ✅ TG-зеркало в 03 LIVE 07.07 (компакт-heartbeat через живую рельсу Маяка, throttle ~2ч чтобы не спамить; файловый beat 20мин для сторожа-мертвеца).
45
Дашборды сервятся с Маяка (tailnet) ✅
DONE 07.07: systemd mayak-dashboards.service (python http.server :8899, enabled, Restart=always), UFW только на tailscale0. Доступ с любого устройства в сети: http://100.74.43.25:8899/ (или http://fleet-anchor:8899/). CHARM-MCP Funnel не тронут. ⭐ Плюс: сторож-мертвец на хабе (Mayak Dead-Man Watchdog, каждые 30 мин) читает heartbeat Маяка → протух/служба/диск → 🚨 в 02 POLICE. Ребут-выживание проверено: все демоны enabled/socket, tunnel linger+Restart, ферма @***oot+*/5.
46
Task journal → markdown-first на Маяке ✅
DONE 07.07 (Антон + markdown-first): заметка-на-задачу в волте = источник истины (синкается флоту); индексатор+аудит+дашборд на всегда-вкл Маяке ЕДИНСТВЕННЫМ писателем (root-cron 03:30 UTC), 40 задач. Ночная задача хаба погашена (устраняет sync-conflict). HP17 SQLite → fallback, дельта запрошена по шине.
Рекомендованный порядок «потихоньку»
1) Мозг (10-15) — сегодня-завтра. Тогда телефонный Маяк = твой Claude с правилами. Самый быстрый видимый скачок.
2) RAG (16-20) — «рендерка» на телефоне: семантический recall «что я писал про X».
3) Секреты (23-25) + бэкап (34) — чтобы рутины и восстановление работали.
4) Переносим мозг-рутины (26-35) по одной, с проверкой, гася дубль на хабе.
5) Флот (42-46) — витесс, шина, дашборды.
Правило: одну штуку поднял на Маяке → проверил → погасил на хабе. Никогда обе разом, чтобы не задвоить.