⌂ все дашборды/Инфраструктура и рутины← Routine-Audit-2026-08-22 · Routine-Rails-Architecture →

Перепись 35 бак-жгущих обёрток: новый дом каждой

Хаб · 21.08.2026 17:20 · 5 агентов-переписчиков читали КОД каждой обёртки и её скрипта + 2 аудитора рельс + 1 ломатель · 1.06M токенов, 110 чтений
12
де-LLM → python (LLM там лишний или вредил)
11
видимая сессия Клода (могут ждать бак)
4
Claude + маршрутизатор (обязаны пережить бак)
8
утиль: трупы и бэкапы (выкл на 30д)
0
чистый переезд в n8n
Главный переворот переписи: из 35 «жгущих бак» рутин настоящих кандидатов на подмену бака — четыре. 8 — трупы (2 на паузе Антона с 12.08, 3 — забытые бэкап-копии, дублирующие живые трубы). 12 — вообще не нуждаются в LLM: работа детерминированная, а у connector_health_daily LLM-слой доказанно ВРЕДИЛ — проб печатал RED 28 дней, LLM ставил overall GREEN. 11 — законно живут в видимых сессиях и могут подождать бак. Никто не переезжает в n8n целиком: у всех либо волт, либо MCP этой машины.

Таблица: все 35, каждая с приговором

обёрткановый домчто делаетнужнообязана при пустом бакемысльпочему (из кода)увер.
content_drain_daily.cmdQ1R · Claude+маршрутизаторЕжедневный слив контент-воронки: 2 сида из posts.jsonl → готовые черновики (тизер RU/EN, medium FB) голосом Маволт🧠Нужен локальный контекст (RECALL по волту и репо — «пост из 3-строчного сида = пересказ пересказа», воронка и движки лежат в E:\Obsidian\_imports\content-factory), и рутина обязана течь ежедневно: она построена ровно потmedium
gmail_digest_morning.cmdQ1R · Claude+маршрутизаторТихий утренний сторож 3 ящиков Gmail: детерминированный забор непрочитанного + биллинг-проход, LLM-планка 'тресекреты🧠Локальность обязательна: OAuth-токены в единственной канонической папке коннектора и маркер billing_status.json кормит локальный anchor_triage (fail-closed вето). При этом пропуск = деньги: урок 16.07 в самом SKILL — 3 нhigh
inbox_robot.cmdQ1R · Claude+маршрутизаторМедленная полоса межмашинного инбокса (каждые 20 мин): heartbeat, сторож роботов пиров, inbox-debt-алерты, conволт, MCP/TG🧠Детерминированный слой уже вынесен вперёд (95% пустых тиков не трогают LLM), но LLM-часть — настоящее суждение: классификация пунктов шины, план для Антона и consensus.py respond по существу. Она обязана переживать пустоhigh
session_unsticker_tick.cmdQ1R · Claude+маршрутизаторТик каждые 15 мин: python-предгейт за 0 токенов смотрит очередь зависших сессий; непуста → headless sonnet разMCP/TG🧠Нужен глубоко локальный контекст (транскрипты ~/.claude, list_sessions, approval.py, шина) плюс LLM-суждение по каждому вопросу зависшей сессии — и застрявшая очередь держит доставку наружу и асков в 02, поэтому обязана high
connector_health_daily.cmdQ2 · python, 0 LLMЕжедневный сторож внешних коннектов (TG MCP, Telethon-beat, WhatsApp, Gmail, Calendar, n8n): JSON + дашборд + MCP/TG, секреты·4 из 6 проверок в самом SKILL уже детерминированы (wa_probe читает стор с диска, Telethon = mtime dispatcher.beat, Gmail = gmail_common.whoami, n8n = curl healthz), выход = JSON + build_dashboard.py + tg_bot_send.py — всhigh
dr_robot.cmdQ2 · python, 0 LLMОркестратор DR-очереди хаба каждые 30 мин: диспатч approved-задач воркеру ZBOOKG8 по шине, reminder при зависаволт, MCP/TG··dr_robot_prompt.md — это строго детерминированный алгоритм: проверить существование/возраст маркер-файла, отправить ШАБЛОННУЮ строку через bus_send.py, создать маркер, вызвать dr_queue.py deliver. Ни одного шага с сужденhigh
hanging_tasks_digest.cmdQ2 · python, 0 LLMЕжедневно 05:52 шлёт Антону в TG-папку сводку висячих задач из реестра 10-Tasks + счётчик неразобранных голосоволт, MCP/TG··Сам SKILL.md требует делать всё детерминированно: реестр читается из готового audit-latest.json или frontmatter «0 токенов, без LLM», ask_debt.py и отправка через tg_bus_send.py тоже скрипты. LLM здесь только форматируетhigh
health_weekly_sync.cmdQ2 · python, 0 LLMЕженедельно инкрементально стягивает 7 TG-чатов здоровья Антона в волт (watermark-дедуп) и гонит готовый пайплволт, MCP/TG··Все шаги — детерминированный конвейер: цикл по 7 chat_id с watermark, запись сообщений VERBATIM (в SKILL прямо запрещено перефразировать), затем готовые python-скрипты и robocopy. LLM выступает лишь клеем вокруг MCP-вызоhigh
inbox_ack.cmdQ2 · python, 0 LLMБыстрая полоса квитанций: каждый тик (~1.3с) читает robot-scan шины и шлёт AUTO-ACK «принял #id» без единого Lволт·Уже спроектирована как 0-LLM: в шапке скрипта прямо написано «узел подтверждает получение сам, без LLM», регэксп-парсер + json-состояние. Родилась из замера 29.07 (22% квитанций), потому что квитанция не требует мышленияhigh
mcp_mongo_http.cmdQ2 · python, 0 LLMДержит ОДИН общий mongodb-mcp-server (HTTP на 127.0.0.1:8766) для всех сессий вместо ~26 stdio-копий по ~117MBMCP/TG··Это вообще не LLM-рутина, а инфраструктурный демон: одна команда npx поднимает HTTP-сервер, здоровье сторожит детерминированный watchdog с двумя TCP-пробами. Никакой модели ни в одном месте нет и не нужно; переносить некhigh
obsidian_backup_healthcheck.cmdQ2 · python, 0 LLMЕженедельная проверка живости оффсайт-бэкапа Obsidian: детерминированный чекер + алерт в TG-03 + self-heal перволт, MCP/TG·Весь вердикт уже считает детерминированный backup_healthcheck.py (STATUS OK/PROBLEM + список problems), TG-сообщение шаблонное, а self-heal — правило «bundle протух и задача Enabled → перезапусти backup_to_drive.py и перhigh
sessions_results_task.cmdQ2 · python, 0 LLMНочная (05:40) пересборка HTML-дашборда итогов всех фоновых claude -p сессий из ~/.claude/spawned в _Dashboardволт··Уже эталонный Q2: чистый python без единого LLM-вызова (в .cmd нет ни claude_run, ни SKILL.md), детерминированный рендер дашборда по meta.json/log.txt. Оставить как есть; открытый долг из шапки — поставить выход под outphigh
takeout_pull_weekly.cmdQ2 · python, 0 LLMЕженедельный сторож Google Takeout: детерминированный скан a@ на письма «export ready», отчёт живых ссылок с dMCP/TG, секреты·Штатный еженедельный путь целиком детерминирован: takeout_pull.py уже сам сканирует a@ по Gmail API, печатает 🟢 LIVE/🔴 EXPIRED с days-left и пишет state — отчёт в 03 шаблонится через bus_send без LLM. Сейчас sonnet будитmedium
tg_relationships_weekly.cmdQ2 · python, 0 LLMЕженедельный «радар отношений»: дни рождения на 7 дней из contacts.db/волта + важные CRM-лиды без контакта >30волт, секреты··Вся работа по промпту = фильтр/джойн по датам (birthday в 7-дневном окне, last-contact >30д, статус «тёплый») и шаблонное сообщение; сам SKILL требует «сначала SQL/grep, LLM только на формулировку» и запрещает выдумыватьmedium
tg_weekly_digest.cmdQ2 · python, 0 LLMВоскресный свод недели: запускает детерминированный brain_digest.py, сжимает готовый Weekly-Digest.md в 5-10 пволт, секреты··По коду промпта «тяжёлую работу делает скрипт, ты только формулируешь»: brain_digest.py уже выдаёт готовый дайджест-файл, LLM лишь пересжимает его для телефона. Тизер = шапка + первые N пунктов + путь к полному файлу делmedium
token_spend_watchdog.cmdQ2 · python, 0 LLMНочной сторож расхода токенов 23:51: token_audit.py считает топ и аномалии, отчёт пересылается AS-IS в TG-03 (MCP/TG, секреты·Промпт прямо запрещает LLM думать: «forwarded AS-IS (do not rewrite or add analysis)» — весь анализ делает token_audit.py, Claude только парсит две последние строки stdout и постит. Плюс нарушение §5.5: сторож токенов Clhigh
claudeai_sync_nightly.cmdQ1 · видимая сессияНочной инкрементальный забор чатов claude.ai (веб) в волт через живой Chrome MCP, скилл /claudeai-syncволт, MCP/TG··Код обёртки прямо требует живой Chrome MCP этой машины (KEEP_MCP=1, комментарий «Needs Chrome MCP (login self-heal)») плюс запись в волт — это агентная браузерная работа, которую Codex/Grok через llm_ask не исполнят, знаhigh
faaa_weekly_sync.cmdQ1 · видимая сессияЕженедельный инкрементальный забор FAAA-фоллоуапов звонков из TG-группы в Platinum-CRM волта (карточки лидов +волт, MCP/TG·🧠Шаг 7 — настоящая LLM-работа (из свободного текста звонка синтезировать name/company/category/agreements/summary, 'never invent'), детерминированно не решается; нужны живая TG-MCP-сессия tonyssd и запись в волт-CRM — знаhigh
facebook_diary_daily.cmdQ1 · видимая сессияВечерний FB-дневник: собирает openclaw-сессии дня со всех машин и пишет один честный пост в авторском голосе Аволт, MCP/TG·🧠Ядро — авторский голос Антона (SKILL шаг 8: 'этот пост пиши на Opus, не Sonnet'), чужим рельсам Codex/Grok его не отдать по канону голоса; нужны волт-корпус сессий всех машин и TG MCP. Это самопроизводство контента, не вhigh
five_hard_monthly.cmdQ1 · видимая сессияМесячная рутина 'активного брейна': 5 самых застоявшихся belief-заметок Антона -> по одному трудному сократичеволт·🧠Вся ценность — LLM-суждение по личным belief-заметкам волта ('тезис -> вопрос -> почему трудно', identity-синтез на Opus по SKILL шагу 3), детерминированно не сделать, а identity-слой чужим вендорам не отдаём. Раз в месяhigh
intention_daily.cmdQ1 · видимая сессияНочью 23:20 майнит намерения Антона из сессий дня и пишет 2-3 черновика постов-намерений авторским голосом, шлволт, MCP/TG·🧠Майнер детерминированный, но ядро — авторский голос Антона и отбор «самых альфовых» намерений: это суждение и качественный текст, по канону §6.2/§9.7 их нельзя увозить на Codex/Grok. При пустом баке черновики спокойно ждhigh
memory_tidy.cmdQ1 · видимая сессияЕжедневная авто-уборка MEMORY.md хабовых проектов: бэкап всех индексов, детерминированный budget-гейт, и толькволт, MCP/TG·🧠Гейт и бэкап детерминированы (в тихие дни ~0 токенов), но сам tidy — семантическое суждение: сжать хук не потеряв смысл, решить live-vs-archive, сфолдить хаб, выцепить open-tails — это не сделать grep-ом. Самоулучшение сhigh
preference_sweep_daily.cmdQ1 · видимая сессияДневной свип свежих чатов: rule_scan/retro_inventory дают дайджесты, LLM судит какие предпочтения Антона и артволт, MCP/TG·🧠Ядро — настоящее LLM-суждение («genuine standing preference или разовая задача?», «переиспользуемый ли артефакт?») по локальным дайджестам, CLAUDE.md и MEMORY.md — детерминированно не решается и требует волта+TG MCP. Этоhigh
skill_gap_daily.cmdQ1 · видимая сессияЕженедельный (Mon 00:50) аудит «какой скилл строить дальше»: кластеризация дайджеста сессий всех машин, кросс-волт, MCP/TG·🧠Кластеризация тем сессий и ранжирование value×repeat — суждение по локальному контексту (волт-дайджест, memory, установленные скиллы, scheduled-tasks MCP), детерминированно не считается. Это чистое самоулучшение: SKILL.mhigh
voice_triage.cmdQ1 · видимая сессияДневной (10:00) триаж новых голосовых/текстовых заметок Антона из TG: корзины задача/альфа + обязательный контволт, MCP/TG, GPU·🧠Классификация живого языка (задача vs альфа, 6 контент-статусов, suppress с причиной) — настоящее LLM-суждение по содержанию, промпт прямо говорит «сомнительный случай суди по СОДЕРЖАНИЮ»; детерминированно не решается. Нhigh
weekly_brain_audio_digest.cmdQ1 · видимая сессияЕженедельный (вс 05:30) аудио-подкаст мозга: выбирает тему недели по git log волта, курирует пакет через brainволт, MCP/TG··Единственный путь к NotebookLM — живой UI в залогиненном Chrome a2 (промпт: «live UI is the only path — no API for consumer»), т.е. агентное вождение браузера с адаптацией к интерфейсу; на python/playwright это хрупко, вhigh
wisdom_distill_weekly.cmdQ1 · видимая сессия«Мудрость недели»: wisdom_week_gather.py собирает дайджест заметок origin:anton за 7 дней, LLM дистиллирует 3-волт, секреты·🧠Ядро = чистый LLM-синтез («durable = переживёт месяц, как Антон теперь думает», формат урок-источники-что-меняет, промпт сам требует opus-субагента) — детерминированно не делается и по §6.2 должно оставаться на умной модhigh
_scratch_bak_claudeai.cmd🪦 утиль (выкл 30д)Пред-правочная копия claudeai_sync_nightly.cmd (единственное отличие: --model opus вместо sonnet)··Diff с живым claudeai_sync_nightly.cmd показывает единственное отличие в строке 18 (--model opus vs sonnet) — это бэкап до перевода на sonnet. Ни одна задача планировщика на файл не ссылается, оба пишут в один лог _claudhigh
_scratch_bak_fbdiary.cmd🪦 утиль (выкл 30д)Пред-правочная копия facebook_diary_daily.cmd (версия до ворот выхода post_output_check от 21.08)··Diff с живым facebook_diary_daily.cmd: в бэкапе нет ворот выхода post_output_check (фикс 21.08 после ложного exit=0 без артефакта) и остался KEEP_MCP, который из живого убрали. Задача планировщика «Claude Facebook Diary high
_scratch_bak_memtidy.cmd🪦 утиль (выкл 30д)Пред-правочная копия memory_tidy.cmd (единственное отличие: уборку MEMORY.md зовёт opus вместо sonnet)··Diff с живым memory_tidy.cmd показывает одно отличие в строке 58 (--model opus vs sonnet) — бэкап до перевода тидай-сессии на sonnet. Задача «Memory Index Tidy» зовёт живой memory_tidy.cmd; двойной запуск этого бэкапа озhigh
coach_morning.cmd🪦 утиль (выкл 30д)Еженедельный (Пн) утренний ИИ-коуч: зеркало недели + камень недели в TG чат 03; ПОСТАВЛЕН НА ПАУЗУ Антономволт·🧠Первая строка SKILL.md: «⛔ PAUSED by Anton 2026-08-12 („да СТОП ПО НИМ“)» — 5 недель писем, 0 ответов; push-рельса выключена, cron_watchdog REGISTRY переведён в None, разбор живёт в pull-режиме /coach (coach_run.py провеhigh
content_factory_daily.cmd🪦 утиль (выкл 30д)Ночная фабрика контента: собирает вчерашний день (openclaw всех машин + голос-хаб TG) в инбокс и строит контенволт, MCP/TG, GPU·🧠SKILL.md первой строкой: '⛔ PAUSED by Anton 2026-08-12 — НЕ ВКЛЮЧАТЬ, канал @ClawRus остановлен, очередь заморожена'; 1712 постов в triage переведены в frozen, потребителя у плана нет. OS-задача физически Enabled (disablhigh
fb_watch_daily.cmd🪦 утиль (выкл 30д)Конвейер 'пост на стене FB -> тизер в @ClawRus': жатва Content Library через Chrome MCP, нормализация, тизеры волт, MCP/TG·🧠Description SKILL.md: '⛔ ОСТАНОВЛЕНА 06.08.2026 приказом Антона: Полностью останови задачи по постингу тизеров... Включать ТОЛЬКО по новой команде Антона' — а канал-потребитель @ClawRus остановлен тем же приказом. Логикаhigh
reddit_warmup_lead.cmd🪦 утиль (выкл 30д)Бывший Reddit-прогрев для Русланы (батчи черновиков в 03); лейн закрыт после банов 20.07, обёртка теперь тольк··SKILL.md несёт баннер [DISABLED 2026-07-23]: все 3 Reddit-аккаунта забанены 20.07, Антон 27.07 сказал «на стоп», рутина выключена в scheduled-tasks MCP, Windows-задача Disabled (хинт подтверждает). Сам .cmd ловит баннер high
tg_calendar_agenda.cmd🪦 утиль (выкл 30д)Утренняя повестка дня из Google Календаря в TG-03; с 27.07 полезная нагрузка выпилена, cmd пишет строку в лог ··Остановлено словом Антона 27.07 («пока не надо предупреждать про будущие эвенты»), задача Windows в хинтах Disabled, in-app двойник enabled=false, вахта сторожа снята; память подтверждает «Календарная повестка — СТОП». Мhigh

Вердикт ломателя (независимый агент, пытался опровергнуть план)

План жив на уровне А, но только после починок; Б недооценён по объёму стройки и продаётся на неподтверждённой цифре; В сейчас стартовать нельзя. Главный удар по требованию Антона: видимость мысли ломается не отсутствием журнала, а тем, что фолбэк-рельсы (codex/grok/gemini) исполняют рутину БЕЗ его канона — изолированные дома пусты (нет CLAUDE.md/AGENTS.md, замерено в самом llm_ask), значит правка рутины «как сотрудника» перестаёт действовать ровно в момент, когда бак пуст и рутина уехала к чужому вендору. Журнал покажет расхождение, но молотком его не починить. Рекомендация: стартовать А с поч

Что ломатель нашёл пропущенным в плане

Аудит рельс (кратко)

llm_ask.py (1038 строк): готовая дверь, детектит пустой бак по замеренным фразам и сам переключается claude→mayak→codex→grok→gemini. Но текст-only: подходит суждению/синтезу/черновикам, НЕ подходит рутинам с инструментами. И жёстко зашивает sonnet — нужен passthrough модели до канарейки.
Мост n8n→хаб: живой, через Tailscale Funnel → wake_listener.py:8788. Но это звонок, а не пульт: умеет ровно одно действие — schtasks /run inbox-robot, тело запроса даже не читается. «n8n дирижирует хабом» = достройка: allowlist-эндпоинт (~50 строк) + мост к ВИДИМЫМ сессиям (§9.2).
🧒 Простыми словами. Пересчитали всех 35 слепых роботов поимённо, заглянув каждому в код. Оказалось: восемь — покойники (двоих ты сам остановил, три — забытые копии), двенадцать зря будят умного Клода — их работу сделает простой счётный скрипт, одиннадцать честно думают и могут подождать, пока на счету появятся деньги. И только ЧЕТВЕРЫМ по-настоящему нужна запасная батарейка на случай пустого счёта. А отдельный робот-проверяльщик нашёл в моём вчерашнем плане дыры: цифра экономии не сходится с замерами, дверь для n8n пока умеет только «динь-динь» одной кнопкой, и отдавать ей пульт нельзя, пока со старой командой разработчиков не закрыт доступ.