Commit graph

194 commits

Author SHA1 Message Date
Simbiot Harness
7e19e1b3f6 fix: _default_chat_id не выбирает tui:*-чат личкой Alex
Тестовое TUI-сообщение (t-261004132716, chat_id=tui:local) стало
последним в inbox → notify_chat/send_document целились в несуществующий
Telegram-чат → уведомления тихо SKIP'ались при живом чате. Фильтр
локальных каналов расширен: portal:* И tui:*.
2026-10-04 15:28:00 +00:00
Simbiot Harness
3f2300700c fix(e-261004144805): смерть тика не воскрешает закрытые задачи
Слепой TaskPromoted/TaskFailed по списку claimed возвращал в очередь
задачи, уже закрытые воркером ВНУТРИ тика до таймаута (кейс: полная
миграция Гермеса→Vybirai complete+delivery в 14:31, тик убит 14:48,
задача воскрешена — двойная работа и риск дублей).

_task_still_active(): живая проекция как истина; только running
ре-кьюится/фейлится. Ошибка чтения → прежнее поведение (True).
2026-10-04 15:07:31 +00:00
Simbiot Harness
8fa3fc68b5 fix(e-261004134613): cli.py task <task_id> — чтение по id вместо клона
title, совпадающий с формой t-NNNNNNNNNNNN-XXXX, теперь показывает задачу
(или ERROR exit 2, если не найдена), а не создаёт само-клон. Корень
эскалации: мин-агент звал 'cli.py task t-...' для чтения задачи.
2026-10-04 14:03:13 +00:00
simbiot
b780c9ba9e feat(migration): полный ингест истории Гермеса в стандартную миграцию (--apply, шаг 6.5)
- tools/hermes_history_ingest.py: параметры --hermes-db/--rag-db/--prefix/--cutoff/--sessions-cards; rag.DB перекрывается атрибутом (вендор фиксирует при импорте); cutoff='' = вся история
- scripts/migrate_hermes.py: --history-full по умолчанию ON в --apply (rag_index → ingest), --no-history-full / --history-agent <имя> для префикса
- docs/migration-hermes.md: раздел 6.5
- e2e: полный apply на смоук-базе — +350 чанков / 75 файлов за 24с, history_full.ok=true
2026-10-04 13:12:54 +00:00
root
139fbb1202 hour digest 13:06 UTC: разбор m-973940607 доставлен (fa307ad), эскалация 'list' закрыта с фикс-гардом (bc59609), тесты 15/15 2026-10-04 16:06:42 +03:00
root
fa307ad70c разбор голосового m-973940607: HTML-страница (ландшафт, смыслы, бизнес, шаги, транскрипт) — t-261004125611 2026-10-04 16:06:03 +03:00
root
bc59609d27 guard мусорных заголовков задач: 'list'/id без деталей → ValueError (e-261003094628, повтор e-261001082241); тест 14/14 2026-10-04 16:03:07 +03:00
Simbiot Harness
3dc6ca6ab9 t-261004113351: изоляция памяти инстанса — SIMBIOT_HOME (репо = чистый код)
- harness/paths.py: единая карта персистентных путей; SIMBIOT_HOME → db/ rag/
  env/ docs/ digests/ audit/ inbox/ run/ voice/; без него — legacy-пути без
  изменений; точечные env (SIMBIOT_DB и пр.) сильнее схемы
- es/tg_inbox/voice/portal_channel/aum/audit/runtime/rag_lookup/isolated_
  runner/cli: все записи-чтения памяти через paths
- scripts/init_instance.py: новый инстанс — чистая база + идентичность
  владельца + его доки (+RAG) + селективный импорт выжимок/доков
- tests/test_instance_isolation.py: копия с пустой памятью не вспоминает
  наши проекты (контекст тика/RAG/прод — 14 проверок ALL PASS, регресс 7/7)
- scripts/migrate_to_home.sh: перенос боевого инстанса в хом (тихое окно,
  идемпотентно, RAG-корпус коопа сохраняется точечным SIMBIOT_RAG_DB)
- install.sh/service/README: свежие установки сразу с ~/.simbiot-data
2026-10-04 12:34:45 +00:00
Simbiot Harness
7d995e75da docs: hourly digest 2026-10-04 01:00 UTC (batch 2/2 closed: mascots plan + presale launch-kit, tracking live-verified) 2026-10-04 01:13:27 +00:00
Simbiot Harness
a979061186 docs: presale launch-kit (Show HN/Reddit/X drafts EN, UTM plan, live tracking verification, publish schedule) 2026-10-04 01:10:56 +00:00
Simbiot Harness
81ed2f0e4c docs: AI-mascots product plan (call-87) + presale tracking live-verify log 2026-10-04 01:06:58 +00:00
Simbiot Harness
e52651facb day-консолидация r2: HTML-деливераблы часовых сеансов — вариант лендинга dashboard-темы + материалы звонка №136 с Юлией (proposal/recap) 2026-10-04 00:17:02 +00:00
Simbiot Harness
6eb03e9961 day-консолидация: деливераблы часовых сеансов 03.10 — дайджесты 0600/1400/1600 (image-gen e2e, память Гермеса в RAG, harness-aware repair), доки (график Alex 3-через-3, вопросы синка ReelsUp, варианты image-провайдеров, конвейер истории Гермеса) + tools/hermes_history_ingest.py 2026-10-04 00:16:49 +00:00
Simbiot Harness
f286f1b8ed AUM v1: метрика цели измерима (t-261004000834-ed84f5, day-20731): balances.json + авто-refresh из API (OpenRouter credits, Stripe live; livemode-only), AUM=26.7 (было None), aum --record обновил aum_target для всех тиков; тесты test_aum +4 (mock API, livemode=False→None) — ВСЕ ОК; hour-тик: task list без клонов-задач + tg_inbox env-fallback (e-261003125707); дневной отчёт day-2026-10-04 2026-10-04 00:16:09 +00:00
Simbiot Harness
f1c6aa85af digest: hour-2026-10-03-1500 — Vybirai back to Hermes + switch fixes + кнопка «Вернуть на Hermes» 2026-10-03 15:22:41 +00:00
Simbiot Harness
8b8b750293 hour digest 10:00 UTC (hour-497506): авто-схлопывание failed>24ч в проде, ea2fa5 done, эскалация fd7c10 закрыта, 5 задач requeue'd; migration-hermes.md — слипшаяся строка расцеплена 2026-10-03 10:17:31 +00:00
Simbiot Harness
3b3e3d17e9 scheduler: батч-фаза закрывает ТОЛЬКО ещё-running (пустой _log-стаб убран)
Воркер мог сам решить судьбу задачи: complete (done), requeue (ready),
close в архив (closed). Дайджест тика больше не перезаписывает его решения
TaskCompleted'ом — иначе requeue'd задачи нечестно закрывались бы дайджестом
(поверх проверенного результата «последний-победил»). found при e-261003094432
2026-10-03 10:14:54 +00:00
Simbiot Harness
d8a7c89ef9 auto-collapse stale failed (e-261003094432, просьба Alex): failed>24ч → closed архивом
- es: TaskClosed → статус closed (терминальный, обратимый через requeue; closed_by manual|archive)
- commands: close_task (ручной, только failed, идемпотентен), archive_stale_failed(max_age_hours=24, now=None) — демон-архиватор
- scheduler._delivery_and_orphans_loop: каждый проход (15с) архивирует failed>24ч
- requeue принимает closed → ready (доработка из архива)
- cli: simbiot close <id> [-r reason]
- dashboard: порядок ready→running→failed→done→архив, счётчик «архив» в статусбаре, схема закрытых фейлов под одной строкой-счётчиком (тумблер показывает полностью), pill.closed
- тест tests/test_close_stale_failed.py: 15 проверок (закрытие, порог через симуляцию +25ч, done не трогается, идемпотентность, полный цикл closed→ready→failed→closed)
2026-10-03 10:11:40 +00:00
Simbiot Harness
03d3dffeb8 fix isolated_runner: TimeoutExpired has no .pid (e-261003004801) — Popen start_new_session + killpg(proc.pid), group+children reaped; scheduler None-guard in r2 double-close guard (mocked es in tests); regression test test_timeout_kill 2026-10-03 01:17:34 +00:00
Simbiot Harness
98511453d7 cron-migrate r2 fixes (t-261002222610): scheduler guard против дайджест-перезаписи уже закрытых задач; runner ledger-first (best_completed_answer: projection могла быть перетёрта digest-закрытием); generation-only промпт (легаси-ротацию из промпта убрал — теперь только runner ведёт темы); дата выпуска в details 2026-10-03 01:08:02 +00:00
Simbiot Harness
4bf5ef9d77 day: agent-details (t-261002175316, /api/agent + view-agent, hour-сеанс) + cron-migrate v2 (t-261002222610): d-job runner (inline-промпт+ротация тем, M→hour, quality-gate, ретрай _r1, sha-деливери) + systemd таймеры на Rita; e2e r1 прошёл, r2 в работе 2026-10-03 00:35:03 +00:00
Simbiot Harness
933c55bb35 landing v2: два варианта по Гермес-методу (t-261002155821): hour-сеанс docs/simbiot-landing-v2.html + day-вариант docs/simbiot-landing-v2-live.html (превью жив: https://presale.cil.by/v2.html, оба доставлены в TG) 2026-10-03 00:09:14 +00:00
Simbiot Harness
17d676e66d hour digest 23:10 UTC: батч 6/6 закрыт, дашборд deep-link ?view=chat, лендинг v3 product-showcase, тесты 15 сидов зелёные 2026-10-02 23:07:25 +00:00
Simbiot Harness
f63274469e dash: deep-link ?view=chat (chat открывается по ссылке); landing v3: product-showcase секция с честными скринами живого дашборда/чата (/static/*.png), prod synced 2026-10-02 23:07:11 +00:00
Simbiot Harness
56d6b36658 hour tick 22:41: bin/simbiot in-repo обёртка + SIMBIOT_RAG_DB (миграция второго инстанса), digest 2110/1720 закоммичены, deferred-restart arm-скрипт, AUM burn 2658 2026-10-02 23:02:55 +00:00
Simbiot Harness
feaf660139 skills/ui: вендор ui-skills (improve-ui, baseline-ui, a11y/metadata/motion-fixes) + frontend-design (anthropic) + improve-animations (emilkowalski) с атрибуцией; design-plans: improve-ui аудит simbiot.cil.by (P0 noscript-reveal, P1 focus/og, P2 reduced-motion — фиксы применены и задеплоены) 2026-10-02 22:32:23 +00:00
Simbiot Harness
d4b1da3518 docs: migration-hermes — карта источников, запуск, реальный кейс Риты (e2e-ответ по перенесённой памяти), ограничения 2026-10-02 22:26:16 +00:00
Simbiot Harness
d7ee7d1fcb migrate_hermes: schema-tolerant sessions (у Риты нет last_activity_at), REPO_ROOT fix (импорт стора из scripts/), живые чаты раньше крона в истории 2026-10-02 22:24:17 +00:00
Simbiot Harness
61858a408b migrate_hermes: Гермес → Simbiot (t-261001124130) — память/персона/история/config/cron → пакет + PolicyChanged в стор целевого инстанса + RAG-индексация; dry-run по умолчанию 2026-10-02 22:17:49 +00:00
Simbiot Harness
b9d7fd9d23 tests: dash-chat hermetic suite (7/7) — лента БД портала, секрет команд, anchor-дедуп, коллапс повторов 2026-10-02 22:12:58 +00:00
Simbiot Harness
5c02bc7cdd dashboard: вкладка Чат поверх портала-канала (t-261001100740) — GET/POST /api/chat*, дедуп-анкеры, коллапс ретраев, секрет команд скрыт; e2e: вопрос из UI → ответ агента в ленте 2026-10-02 22:12:14 +00:00
Simbiot Harness
d369351e10 hour digest 21:10 UTC: индикация 👀 задеплоена (26edbb7), тесты 14/14, burn 7д=2638.32 2026-10-02 21:17:02 +00:00
Simbiot Harness
26edbb76c8 TG: входящее взято в работу — emoji-реакция 👀 + typing на время тика (e-261002202857, t-261002205233) 2026-10-02 21:15:48 +00:00
simbiot-min
aeb4cb138f install.sh: если ~/.local/bin не в PATH — автодобавление в rc-файл + подсказка (фикс «simbiot: команда не найдена» после установки) 2026-10-02 20:50:39 +00:00
Simbiot Harness
1bbd7c8e55 t-261002202105/t-261002202021: установщик чинит битый venv (WSL: python без pip → пересоздание + fallback системный pip3), чистит мусор старого PoC-клона, пост-шаг: портал cil.by для ключа API + wizard --router-key 2026-10-02 20:28:41 +00:00
Simbiot Harness
4c4ac34560 t-261002193628-1d1e5f: установка одной командой + визард первого запуска
- scripts/install.sh: clone → venv → deps → обёртка ~/.local/bin/simbiot
  (чистый env, как hermes) → тихий init/визард → проверка simbiot status;
  флаги --dir/--repo/--wizard/--no-wizard/--systemd/-q
- cli.py wizard: интерактивный конфиг .env (TG-токен, чаты, ключ 9router,
  модель SIMBIOT_MODEL) + init стора; --noninteractive и флаги
- harness/levels.py: SIMBIOT_MODEL переопределяет модель уровней (env/.env)
- requirements.txt: pinned-зависимости для установщика
- scripts/simbiot-harness.service: systemd-юнит (опция --systemd)
- README.md: секция «Установка одной командой»
2026-10-02 19:52:19 +00:00
Simbiot Harness
e435289e55 hour берёт L-задачи (t-261002170836): classes S,M,L + мандат; тесты синхронизированы 2026-10-02 16:06:02 +00:00
Simbiot Harness
cac1ffaae0 t-261002151630-8f2ce6: метаскилл meta-skill-factory (повторяющаяся работа 2+ раза → SKILL.md в репо) + первый скилл presale-landing, боевой прогон на задаче лэндоса (источники и Stripe-CTA проверены) 2026-10-02 15:18:47 +00:00
Simbiot Harness
f140b76dc7 docs: hour digest 2026-10-02 15:10 2026-10-02 15:09:53 +00:00
Simbiot Harness
1e7003dfcc docs: presale v3 + directive update 2026-10-02 2026-10-02 15:09:42 +00:00
Simbiot Harness
04d577790d t-261002131628-420ef8: TG-реплаи — reply_to_message_id + reply_to_text в MessageReceived, якоря «в ответ на ...» в батче триажа 2026-10-02 13:18:04 +00:00
Simbiot Harness
46a4728c67 fix: /set-tg-bot через портал-канал + race таймаута тика
- portal_channel: команда cmd-settg-* (кнопка TG в UI портала) перехватывается
  в pull() ДО инбокса (токен-секрет не попадает в стор/LLM), апплаер:
  getMe-самотест -> атомарный .env (SIMBIOT_TG_TOKEN+ALLOWED, старый аллоулист
  сохраняется) -> рестарт только simbiot-harness-tg; идемпотентно; отчёт в
  чат портала (push, fallback outbox-файл); TgChannelConfigured в стор.
- isolated_runner: после TimeoutExpired kill процесс-группы воркера и ожидание
  фактической смерти — без этого сабпроцессы продолжали писать BudgetSpent/
  ToolCalled после SchedulerTimeout (burn 9router вхолостую, t-261002090242).
- levels: tick_timeout min 300->480 (занятый мин-уровень штатно поглощает такты;
  эскалация e-261002085000). Контекст-схема не тронута (256k/512k/1M).

Тесты: test_budget_stub_guard / test_inbox_batch / test_delivery_idempotency —
зелёные; e2e на живом канале: cmd-settg consumed=1, стор чист, .env цел.
2026-10-02 09:20:11 +00:00
Simbiot Harness
696f9e17e2 fix(audit+es): link-check допускает prev→любую прошлую подписанную строку (гонка параллельных писателей падала проекциями, 4 события); append_event под BEGIN IMMEDIATE; init_db-гонка bootstrap; + hardass-пакет: INSTALL/INSTALLS/needs_survey (опросник потребностей клиентов, идемпотентный) [t-261002072440] 2026-10-02 08:13:41 +00:00
Simbiot Harness
3dac41108a fix(tg_inbox): _default_chat_id игнорирует portal:* чаты — портал-канал не Telegram, файлы туда идут push-ом; E2E канала перебивал дефолтный чат → send_document падал 'chat not found' 2026-10-02 00:39:29 +00:00
Simbiot Harness
e65d205e0f feat(day): криптоаудит стор/команд (ed25519, genesis-граница), метрика AUM (замер+policy+пилот), правки для портал-развёртывания (t-260930083716, t-260929161138, t-260930110622) 2026-10-02 00:34:07 +00:00
Simbiot Harness
fa634ce526 fix(scheduler+bot): сироты-чистка не рвёт свежие клеймы (grace 90с); алиас «list» → без-LLM команда /задачи; авто-уведомление Alex при падении тика (e-261001124837-ab3fa7, e-261001124424-d9295f, e-261001134429-c68495) 2026-10-01 15:11:53 +00:00
Simbiot Harness
0523135bf1 feat(portal-chat): прямой канал портал↔агент без Matrix (t-261001123122-5ea554)
- portal_channel.py: HTTP-клиент портала — pull входящих чата портала
  (GET /api/agent/<имя>/channel/poll?since=ms), push ответов (POST outbox,
  ack входящих по msg_id), сек-рефлекс (≤20с) + cron main().
- tg_inbox: чаты 'portal:*' доставляются push'ем на портал (ReplySent),
  reply_to = портальный update_id (portal: ack consumed входящего).
- scheduler: ReflexObserved хук на portal_channel.sec_reflex — pull работает
  и без LLM-тика, и на машинах без TG.
- es: проекционный бранчPortalDelivered выпилен (маркер — ReplySent от
  tg_inbox); MessageIgnored branch остался нетронутым.
- Диагноз: SSH портал→агенты закрыт (timeout :22/:8765 к #83) — канал на
  исходящем HTTP, AGENT_TOKEN+PORTAL_URL уже пекутся в /etc/coop-reporter.env,
  agent-scope env добавлены в cloud-init .env (SIMBIOT_AGENT_TOKEN/NAME/CHAT=1).
2026-10-01 13:34:26 +00:00
Simbiot Harness
fe1c569888 docs(readme): лестница выровнена с levels.py — min 256k → hour 512k → day 1M (e-261001082710); week/month → roadmap v0.2 ( Alex: старая таблица в ридми) 2026-10-01 11:02:34 +00:00
Simbiot Harness
4fe412eac3 fix(runtime): ROUTER_BASE_URL и ключ читаются из .env (e-261001091912) + тест
systemd-юниты не экспортируют .env; на Hetzner-агентах base_url тихо
уходил в дефолт 127.0.0.1:20128 (живой 9router только на эталонном
хосте). _env_or_file(): env > .env > default. E2E на агенте 82:
venv без openai (в cloud-init добавлен отдельно в coop).
2026-10-01 10:09:13 +00:00
Simbiot Harness
053bab3e78 tests(task-batch): синхронизация с контекст-схемой 11a8ccc (min 256k / hour 512k / day 1M) — t-261001090908-18a4f5
Бюджет и размеры задач в секциях 5/6 выведены из LEVELS[].ctx_tokens,
константы уровня захардкожены отдельным check'ом. 30 checks ALL PASS.
2026-10-01 10:02:28 +00:00