PERSONAL AI OPS LAYER / v2.0

Enix Flow

AI-платформа разработки. Персональный ассистент для кода, инфраструктуры и управления знаниями. Ядро (CLI, wiki, агентный рантайм) -- на MacBook. Инфраструктурные cron-агенты и сервисы -- на Raspberry Pi 5. Внешний доступ через Tailscale Funnel.

v2.0Pi5 + Debian 13Tailscale Funnel241 тест25 CLI194 wiki5 агентовSQLite

обзор системы

5
Этапов
241
Тестов
25
Команд CLI
194
Wiki
5
Агентов
3.8k
Задач
92
Здоровье
15
Проектов

Enix Flow -- это локальная персональная AI-платформа на MacBook, надстройка над opencode (Claude Code совместимость). Предоставляет структурированный контекст (wiki, память, задачи), автоматический мониторинг инфраструктуры, самоисцеляющих cron-агентов, управление жизненным циклом сессий (протоколы GL/GG) и наблюдаемость на уровне инструментов.

Ядро системы (CLI, агентный рантайм, wiki) работает на MacBook Pro M3 Max (36GB RAM). Инфраструктурный слой -- на Raspberry Pi 5 (4 ядра ARM64, 8GB RAM, NVMe 465GB). Внешний доступ к сервисам Pi5 через Tailscale Funnel + nginx reverse proxy. Состояние хранится в SQLite на MacBook и Pi5. Cron-агенты на Pi5 круглосуточно выполняют проверки здоровья, верификацию бэкапов и обслуживание wiki.

🧠
Agent-рантайм
Цикл наблюдение -> план -> действие -> проверка -> рефлексия с авто-повтором и резервными стратегиями
📊
Наблюдаемость
Трекинг вызовов инструментов, трассировка сессий, дашборды по проектам, оценка здоровья 0-100
🔍
Wiki-система
Гибридный BM25 + FTS5 поиск. 194 взаимосвязанные страницы. Автоисправление сирот. Кросспроектные ссылки
🛡
Мониторинг
Проверки здоровья каждые 6ч. Диск, Docker, DERP/Funnel. Критические алерты в Telegram @enix_flow_bot
🩹
Самоисцеление
Автоисправление конфликта DERP/Funnel, перезапуск упавших контейнеров, очистка диска VPS -- каждые 30 мин
🗺
Карта кода
Извлечение символов (JS/PHP/CSS/Python/Shell). Обратный индекс. Граф зависимостей

дорожная карта: 5 этапов разработки

Система построена за 5 последовательных этапов в течение ~3 недель (20.05.2026 -- 02.06.2026). Каждый этап добавлял новый уровень возможностей. Все этапы завершены, 241 тест проходит.

Э0: Стабилизация
роутинг, FTS, CI
->
🏗
Э1: Фундамент
SQLite, политики, память
->
🤖
Э2: Агенты
цикл, worktree, инструменты
->
🧩
Э3: Интеллект
карта кода, метрики, дашборд
->
🌐
Э4: Масштаб
суб-агенты, документация

Э0 Стабилизация -- критические исправления + быстрые улучшения

Цель: исправить критические баги, блокирующие дальнейшую разработку, добавить CI и типизированные контракты. Длительность: 3 дня. Тестов: 73.

ЗадачаЧто сделаноФайлы
0.1 РоутингПорог уверенности (мин 50%), ответ о неоднозначности для низкоуверенных совпадений. Больше никаких ложных срабатываний от однословных запросов.route.js
0.2 FTS индексацияПолнотекстовая индексация тела страниц вместо только summary. FTS5 с префиксными звёздами (OR* для многословных запросов). Гибридное RRF слияние (BM25 + FTS5).fts.js, scan.js, hybrid.js
0.3 Принудительные guardПредпроверка guard перед выполнением. Система хуков: YAML frontmatter с signals/guard/risk/steps. Движок политик: уровни риска low/medium/critical.guard.js, policy.js, hooks.js
0.4 CI пайплайнnpm test для предотвращения регрессий в pre-commit. Все 73 теста проходят перед каждым слиянием.package.json
0.5 Типизированные схемыJSON-схемы для выходных данных route/search/guard. Контракт --json для CLI-команд. Структурированные, машиночитаемые ответы.schemas.js

Э1 Runtime Foundation -- состояние в SQLite + структурированная память

Цель: заменить линейные Markdown-файлы на состояние с хранением в SQLite. Длительность: 1 неделя. Тестов: 78.

ЗадачаЧто построеноCLI
1.1 Состояние задачSQLite таблица tasks (id, project, status, plan_json, evidence, parent_id). Поток статусов: pending -> planned -> executing -> verifying -> done/failed/blocked. Связь с сессией.task create, list, status, log
1.2 Движок политикРеестр инструментов с JSON-схемой на каждый. Уровни риска: low (авто), medium (подтверждение), critical (двойное подтверждение). Песочница: разрешённые команды, запрещённые паттерны.policy check "команда"
1.3 Структурированная памятьSQLite таблица memories. Типы: pattern, fix, command, preference, postmortem, candidate. Авто-дедупликация по хешу контента. TTL + пайплайн выпуска (>=3 use_count, >0.7 conf -> кандидат в wiki). memory.md остаётся как человекочитаемое представление.memory, memory cleanup
1.4 Автоисправление wikiЕженедельное обнаружение сирот + автоисправление через BM25. Поиск устаревшего (90+ дней без обновления). Подсказки кросспроектных ссылок. Протокол устаревания: старые данные переносятся в секцию "Устарело".lint --fix, lint --stale, lint --cross
1.5 НаблюдаемостьСтруктурированные трассы вызовов инструментов. Агрегация по сессиям. Авто tool_calls в sessionClose. Дашборд по проектам.obs track, stats, traces, flush

Э2 Agent Runtime -- автономный цикл + реестр инструментов

Цель: дать системе настоящий агентный цикл вместо подчинения на уровне промптов. Длительность: 2 недели. Тестов: 52.

Agent Loop (ядро: наблюдение -> план -> действие -> проверка -> рефлексия)

👀
наблюдение
поиск в wiki, похожие задачи, контекст проекта
->
📋
план
JSON-шаги с критериями приёмки
->
действие
выполнение шагов, запись evidence
->
проверка
проверка критериев, запуск тестов
->
🔄
рефлексия
сохранение опыта в память

Каждый шаг записывает evidence (выполненные команды, вывод, ошибки). Проверка сверяет критерии приёмки. При неудаче -> повтор до N попыток с разными стратегиями. При успехе -> паттерны сохраняются в память.

ЗадачаОписаниеCLI
2.1 Agent LoopПолный цикл наблюдение->план->действие->проверка->рефлексия. 496 строк в agent.js. Резервные планы: deploy проверяется ДО fix (избегаем совпадения "hotfix" с "fix"). Критерии проверки: npm test/lint ok, 200 OK, ручная проверка.agent plan, run, status
2.2 Git WorktreeИзолированное рабочее пространство на задачу в /tmp/enix-worktrees/task-ID. git worktree add + ветка на задачу. Автоочистка после завершения (проверяет незакоммиченные изменения).worktree create, cleanup, list
2.3 Реестр инструментов12 стандартных инструментов с risk/schema/confirm. Брокер инструментов выбирает инструменты на основе плана. Evidence: все вызовы + результаты сохраняются в traces.tools2 list, check, find, stats
2.4 Проактивный GLПри gl: авто-проверка здоровья, ретроспектива (последние 5 сессий), незакрытые задачи, предложения фокуса. Алерты диска (>80%), упавшие контейнеры, заблокированные задачи. HealthScore 0-100 из факторов: failed(-5), blocked(-3), no sessions(-10), частота ошибок.start/gl
2.5 DERP/FunnelДетектор конфликта: свой DERP на VPS ломает Tailscale Funnel TLS (edge->DERP->Pi5 петля). Автоисправление: отключить DERP, восстановить Funnel.infra derp
2.6 Очистка VPSМонитор диска + автоочистка на VPS (логи, старые бэкапы, docker образы).infra disk, cleanup

Э3 Интеллект -- понимание кода + метрики качества

Цель: система понимает структуру кода и может измерять собственный прогресс. Длительность: 2 недели. Тестов: 22.

ЗадачаОписаниеCLI
3.1 Карта кодаИзвлечение символов: определения функций, классы, импорты для JS/PHP/CSS/Python/Shell. Обратный индекс: символ -> расположение в файлах. Граф зависимостей: граф import/require. Предложения wiki: большие компоненты кода -> предложить создание wiki-страницы.repomap find, usages, wiki
3.2 Метрики качестваЗолотой набор задач: роутинг, поиск, wiki lint, агентные сценарии. Базовые замеры. Отслеживание улучшений по сессиям. 6 типов оценки: routing, wiki, agent, search, lint, mixed.eval run, history
3.3 Наблюдаемость v2Дашборд с метриками по проектам: задачи, процент успеха, средняя длительность, вызовы инструментов, паттерны ошибок. Агрегация оценки здоровья. Детектор изменённых файлов (mtime-sha256 дельта от последнего сканирования).dashboard
3.4 Аналитика навыковСтатистика использования каждого навыка (skill). Оценка качества (помог vs навредил). Авто-выгрузка неиспользуемых навыков (>30 дней). 17 активных навыков в реестре.skills list, stats

Э4 Масштаб и автономия -- суб-агенты + оркестрация

Цель: распределённые автономные агенты, работающие по cron. Длительность: 2 недели. Тестов: 16.

Пять суб-агентов (Оркестратор)

🛡
InfraGuard
Проверки здоровья каждые 6ч. Диск, Docker-контейнеры, статус DERP/Funnel, доступность VPS. Алерты в Telegram при критических событиях.
📦
BackupSentinel
Ежедневная проверка логов бэкапов (02:00). 15 задач бэкапа: MacBook (проекты, сайты, конфиги, wiki), VPS, Pi5. Алерт при сбоях.
📚
WikiCurator
Еженедельно (воскресенье 03:00). Полный lint wiki + автоисправление сирот. Пересборка сайта документации из 194 markdown-страниц. Поиск устаревшего.
🚀
DeployBot
Деплой по проектам: rsync на Beget (de-bor), git push (zwerg). Запускается протоколом gg в контексте проекта.
🩹
SelfHealer
Каждые 30 минут. Исправление конфликта DERP/Funnel, перезапуск упавших контейнеров, очистка диска VPS, переподключение AWG, очистка устаревших pid.
📡
Telegram Bot
@enix_flow_bot получает критические алерты от всех суб-агентов. Предупреждения InfraGuard, сбои BackupSentinel, сироты WikiCurator.
ЗадачаОписание
4.2 ОркестраторAgentRuntime: регистрация суб-агентов, trigger (по расписанию), разрешение конфликтов. Human-in-the-loop для критических решений.
4.3 Самоисцеление v2Автоисправление Funnel при конфликте DERP. Авто-переподключение AWG. Перезапуск Docker-контейнеров при падении. Автоочистка дискового пространства (Pi5 + VPS).
4.5 Сайт документацииГенератор статического HTML из 194 wiki-страниц. Боковая навигация по проектам. Клиентский BM25 + FTS5 поиск (search.json). Тёмная тема, JetBrains Mono. Авто-пересборка при изменениях в wiki.

cron-автоматизация на Pi5

Все автоматизированные агенты работают через crontab пользователя en1x на Raspberry Pi 5. Логи пишутся в /home/en1x/logs/enix-checks.log. Расписание cron развёрнуто 02.06.2026, заменив старый скрипт ручного бэкапа.

crontab -l (en1x)
# Enix Flow -- автоматические проверки 0 */6 * * * agent run-sub infra # проверка здоровья каждые 6ч 0 2 * * * agent run-sub backup # проверка бэкапов ежедневно в 2:00 0 3 * * 0 agent run-sub wiki # куратор wiki воскресенье 3:00 */30 * * * * agent run-sub heal # самоисцеление каждые 30 мин
КогдаАгентЧто делаетСтатус
Каждые 30 минSelfHealerИсправление конфликта DERP/Funnel, перезапуск упавших контейнеров, очистка диска VPS, переподключение AWGактивен
Каждые 6 часовInfraGuardПроверка диска (Pi5+VPS), здоровье Docker-контейнеров, статус DERP/Funnel, доступность VPS через AWG. Алерты в Telegram при критических событиях.активен
Ежедневно 02:00BackupSentinelПроверка логов бэкапа от 01:00. Верификация 15 задач. Алерт в Telegram при сбоях.активен
Воскресенье 03:00WikiCuratorПолный lint wiki: сироты, битые ссылки, устаревшие страницы. Автоисправление сирот через BM25. Пересборка сайта документации (194 страницы -> статический HTML). Первый запуск: 08.06.2026.ожидает (8 июня)
Ежедневно 04:00 (root)cert-syncСинхронизация LE-сертификата с VPS на Pi5 (home.de-bor.ru). Перезагрузка nginx при изменении. Действителен до 29 августа.активен

Что НЕ выполняется при GL: тяжёлые операции (SSH-проверки, lint wiki, пересборка документации, проверки бэкапов) вынесены в cron, чтобы gl работал быстро (< 150ms). GL показывает только: счётчики + healthScore + алерты + фокус.

wiki-система знаний

Wiki -- это структурированная база знаний из 194 страниц в 14 проектах. Страницы хранятся как Markdown-файлы с YAML frontmatter (type, title, tags, date). Файловая структура использует поддиректории типов во множественном числе: concepts/, entities/, personal/, synthesis/, sources/, roadmap/.

Поиск: гибридный BM25 + FTS5

📐
BM25 (по телу)
Полнотекстовый поиск по содержимому страниц. Взвешен по частоте терминов, с нормализацией длины документа. Используется для автоисправления сирот (находит похожие страницы по содержимому).
🔎
FTS5 (SQLite)
SQLite FTS5 полнотекстовый индекс всех тел страниц. Префиксные звёзды (OR* для многословных запросов). Быстрее BM25 для точных совпадений.
📦
RRF-слияние
Reciprocal Rank Fusion: объединяет результаты BM25 + FTS5. Флаг --engine fts5|bm25|hybrid для CLI.
🔗
Обратные ссылки
707 wiki-ссылок. Автоматически разрешаются: [[имя-страницы]] -> /page/scope/type/имя-страницы. Кросспроектные подсказки через lint --cross.

Обслуживание wiki (WikiCurator)

ОперацияCLIЧто делает
Поиск сиротlint (по умолчанию)Находит wiki-страницы с 0 обратных ссылок. Сейчас 18 сирот.
Автоисправление сиротlint --fixBM25-поиск по имени сироты -> добавляет [[ссылку]] в лучшее совпадение. Создаёт .bak резервную копию.
Поиск устаревшегоlint --stale [дней]Страницы без обновления N дней (по умолчанию 90).
Кросспроектные ссылкиlint --crossНаходит битые [[ссылки]], где страница существует в другом проекте. Предлагает scope-квалифицированные ссылки.
Битые ссылкиlintОбнаруживает [[ссылки]] на несуществующие страницы. Сейчас 31 битая.
УстареваниевручнуюСтарые данные переносятся в секцию "Устарело" с датой. Никогда не удаляются.

структурированная система памяти

Система памяти перешла от линейного файла memory.md (человекочитаемое представление на 200 строк) к структурированному хранилищу на SQLite с авто-дедупликацией, оценкой уверенности и пайплайном выпуска.

Типы памяти

🧬
pattern
Переиспользуемые наблюдения. Срабатывает при use_count >=2.
🔧
fix
Исправления багов + причины. Низкая уверенность пока не подтверждено.
command
CLI-сокращения, полезные однострочники.
preference
Предпочтения пользователя, соглашения, правила стиля.
📋
postmortem
Анализ отказов, уроки из инцидентов.
📤
candidate
Предложения dispatch-триггеров. На основе tally (не сырых записей).

Пайплайн выпуска

📝
наблюдение
агент пишет в память во время сессии
->
📊
дедупликация
use_count++ при совпадении, confidence +=0.1
->
🏆
выпуск
use >=3 + conf >0.7 -> кандидат в wiki
->
правило
wiki-страница стабильна 3+ сессии -> правило в AGENTS.md

Очистка: записи с низкой уверенностью (conf <=0.5, use_count=0) периодически удаляются. Vacuum уменьшает размер БД. Сейчас 8 записей после очистки (с пика 1602).

протоколы сессий

GL Protocol -- начало сессии

Триггер: "gl", "glhf"
Действие: node cli.js start -> загружает индекс wiki, статистику памяти, последние 5 сессий из SQLite, статистику задач, оценку здоровья, контекст проекта. Сканирует сообщение пользователя на имена проектов -> загружает AGENTS.md + проектную wiki. Создаёт сессию в SQLite (start_time = сейчас).

GL оптимизирован до < 150ms: без SSH-проверок, без тяжёлого lint. Тяжёлые операции переданы cron-агентам. GL показывает: счётчики, healthScore, алерты, предложения фокуса, последние 5 сессий.

GG Protocol -- завершение сессии

Триггер: "gg", "заканчиваем", "закругляемся", "wp"
Действие: 1. Обновить сессию (заголовок, заметки, проект). 2. Создать задачи (--done/--failed/--cancelled с --minutes-spent). 3. Закрыть сессию (идемпотентный UPDATE: end_time=now, duration=round((end-start)/60000)). 4. Обновить wiki + log.md + memory.md. 5. При изменениях инфраструктуры -> обновить enix-flow-manual.md + лендинг.

Multi-GG: повторный gg в одной сессии расширяет её. Агент запоминает session_id после gl. Закрытие сессии идемпотентно (повторный вызов безопасен).

Протокол Decision-Save

Триггер: пользователь подтвердил результат ("ок", "да", "сделай")
Действие: context-поиск существующих страниц. Совпадение (score >3.0) -> обновить страницу секцией "Решение от YYYY-MM-DD". Нет совпадения -> предложить новую страницу. Записать в log.md (дата = сегодняшняя, не дата события).

Остальные протоколы

🧠
Auto-Memory
Агент пишет наблюдения в SQLite во время сессии. Паттерны, исправления, поправки. Команды пользователя: "запомни это", "покажи память".
🏄
Trigger Proposal
Агент видит >=3 [dispatch-candidate] в памяти -> предлагает новый триггер для dispatch.md. На основе tally (компактные строки, не сырые записи).
🛡
Hook Guard
Предпроверки для dispatch-триггеров. YAML frontmatter: signals, условия guard, риск, шаги. 16 хуков в enix-flow/.agents/hooks/.
📦
Устаревание
Старые wiki-данные НИКОГДА не удаляются. Переносятся в секцию "Устарело" с датой. Применяется ко ВСЕМ обновлениям wiki.

инфраструктурный стек

Оборудование

УстройствоРольХарактеристикиСеть
Raspberry Pi 5Инфра-серверARM64, 4 ядра, 8GB RAM, NVMe 465GB, Debian 13LAN 192.168.153.117, Tailscale 100.83.90.104
MacBook Pro M3 MaxРабочая станция36GB RAM, 926GB SSD, режим clamshellLAN 192.168.153.131, Tailscale 100.121.154.20
Aeza VPS (Амстердам)VPN + проксиAmneziaWG, 3x-ui VLESS+Reality, nginxAWG 10.8.0.1, DERP relay

Docker-сервисы на Pi5

💬
Nextcloud
Синхронизация файлов + календарь + контакты. Бэкенд MariaDB. SSL через nginx-прокси.
🏗
Home Assistant
Умный дом: Yeelight, Xiaomi Camera. Управление Yeelight по LAN.
🎮
Jellyfin
Медиа-сервер. Direct play через Tailscale. Аппаратное транскодирование.
📡
Homepage
Дашборд: статус всех сервисов, виджеты, закладки.
📦
Portainer
UI управления Docker. Привязан к localhost, SSL через nginx.
📈
Uptime Kuma
Мониторинг доступности всех сервисов + внешних сайтов.
📂
FileBrowser
Веб-файловый менеджер для файловой системы Pi5. SSL-прокси.
qBittorrent
Торрент-клиент. Чувствителен к заголовкам Accept/Origin при проксировании.
💯
Watchtower
Автообновление Docker-контейнеров. Проверка здоровья.

Сеть

Tailscale Funnel: открывает nginx (порт 8084) в публичный интернет через raspberrypi5.tail50b3fb.ts.net. Маршруты Funnel: / -> дашборд, /enix-flow/ -> эта страница, /enix-fit/ -> PWA + прокси API на :3002.

AmneziaWG (AWG): VPN-туннель Pi5 <-> VPS. Jc=3 оптимален (Jc=12 -- переполнение UDP-буфера CGNAT, Jc=1 -- нестабилен под нагрузкой). AWG route-all для обхода DPI (блокировки РКН). Обход exit node на Pi5 (таблица 51821 маршрутизирует определённые IP через eth0).

nginx reverse proxy: SSL-терминация (Let's Encrypt с VPS, синхронизация через cert-sync). 15 виртуальных хостов: homepage, nextcloud, jellyfin, portainer, qbittorrent, filebrowser, uptime-kuma, sunshine, home-assistant, 3x-ui, enix-dash. Все сервисы терминируют SSL на nginx, бэкенд Docker на localhost.

система резервного копирования

15 задач бэкапа, запускаются ежедневно в 01:00 MSK на Pi5. Хранилище: /home/en1x/backups/ (NVMe). Ротация: 7 ежедневных + 4 еженедельных, используется rsync --link-dest (хардлинки для неизменённых файлов -- экономят место).

Вытягивание с MacBook (двойной путь: LAN, затем Tailscale)

pull_mb() -- сначала пробует LAN (ConnectTimeout=5s), при неудаче -- Tailscale
# Источник на MacBook -> хранилище Pi5 mb-projects Documents/actual/ -> macbook/projects mb-sites Local Sites/ -> macbook/sites mb-opencode .config/opencode/ -> macbook/opencode mb-wiki enix-flow/ -> macbook/wiki mb-dotfiles .zshrc, .ssh и др -> macbook/dotfiles
КатегорияЗадачМетод
Вытягивание с MacBook8 задач (проекты, сайты, конфиги, wiki, dotfiles, ssh, bin)rsync pull через pull_mb (двойной путь LAN/Tailscale)
Вытягивание с VPS1 задача (конфиги aeza: x-ui, hysteria2, nginx, AWG, iptables)tar через SSH по AWG-туннелю (один поток, без round-trip)
Локально на Pi54 задачи (конфиги docker, /etc, секреты, дамп БД Nextcloud, dotfiles, /var/www)rsync локально --link-dest для дедупликации хардлинками
enix-fit1 задача (дамп SQLite БД)sqlite3 .backup, ротация 30 дней
Отправка на VPS1 задача (критические конфиги на VPS)rsync push через AWG

Пост-проверка: precheck валидирует существование и непустоту критических файлов. BackupSentinel (cron в 02:00) проверяет логи + алертит при сбоях.

CLI-команды (25 команд)

КомандаОписание
agent run --task idВыполнить задачу через полный агентный цикл (наблюдение->план->действие->проверка->рефлексия)
agent plan --task idСгенерировать только план (JSON-шаги с критериями приёмки)
agent run-sub имяЗапустить суб-агента: infra, backup, heal, wiki (вызывается cron)
start / glНачало сессии: индекс wiki, память, задачи, сессии, здоровье, фокус
task create --project п --title з --session с --doneСоздать задачу в SQLite с привязкой к сессии
task session create --project пСоздать сессию (start_time = сейчас)
task session close --session idЗакрыть сессию (end_time, duration). Идемпотентно.
search "запрос" [--tags=т1,т2] [--engine hybrid|bm25|fts5]Гибридный поиск по wiki: тело + теги + обратные ссылки
context "тема" [--tags=т]Контекстный поиск для использования агентом (BM25+FTS5+backlinks+tags)
route "сообщение"Маршрутизация dispatch: приоритет хуков + fallback-таблица. Нечёткое совпадение.
policy "триггер"Проверить, разрешён ли триггер. Риск: low/medium/critical.
hooks [имя]Список хуков или детали конкретного хука (всего 16 хуков)
lint [--fix] [--stale] [--cross]Качество wiki: сироты, битые ссылки, устаревшие страницы, кросспроектные
memory / memory cleanupСтатистика памяти, очистка записей с низкой уверенностью
repomap find|usages|wikiПоиск символов в коде, обратный индекс, предложения wiki
eval run|historyЗапуск бенчмарков, просмотр истории (6 типов оценки)
dashboardДашборд метрик по проектам
skills list|statsРеестр навыков: статистика использования, оценки качества
obs track|stats|traces|flushНаблюдаемость: трекинг вызовов инструментов, трассировка сессий
infra derp|disk|cleanupИнфраструктура: проверка DERP/Funnel, монитор диска, очистка
worktree create|cleanup|listУправление git worktree для изолированных задач
tools2 list|check|find|statsРеестр инструментов: 12 стандартных с risk/schema/confirm
docs [--serve]Сборка статического сайта документации из wiki (194 страницы -> HTML)
dbСтатистика БД: количество задач, записей памяти, трасс
codelint [проект]Качество кода: утечки секретов, захардкоженные токены, валидация .env

типичный рабочий цикл сессии

gl enix-flow (начало сессии)
$ gl enix-flow -> wiki: 194 страниц | память: 8 | задач: 3866 выполнено | здоровье: 92 -> AGENTS.md проекта загружен + контекст wiki -> сессия создана: 196ce75d-30f
работа над задачей
# Агент исследует $ context "тема" -> 10 результатов: BM25 + FTS5 + обратные ссылки + теги # Агент читает лучшие wiki-страницы (score >2.0) -> 3 страницы загружены в контекст # Агент планирует и выполняет -> наблюдение: контекст wiki + похожие задачи -> план: 3 шага с критериями приёмки -> действие: правки кода, npm test, проверка lint -> проверка: тесты пройдены, lint чист -> рефлексия: паттерн сохранён в память (use_count++)
gg (завершение сессии)
$ gg -> сессия обновлена: заголовок, заметки, проект=enix-flow -> задачи: 3 выполнено (15мин, 8мин, 22мин) -> сессия закрыта: длительность=96мин -> wiki-страниц обновлено: 2 (протокол decision-save) -> log.md: 3 записи добавлено -> memory.md: 2 новых паттерна записано

В фоне продолжают работать cron-агенты: каждые 30 минут самоисцеление, каждые 6 часов проверка инфраструктуры, ежедневная верификация бэкапов, еженедельная чистка wiki. Вы спите -- Enix Flow наблюдает.