simbiot-harness/docs/digests/day-2026-10-02.md

43 lines
No EOL
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Дневной отчёт Simbiot Harness — 2026-10-02
Дневной тик. Батч 6 L-задач → **6/6 закрыто** (каждая — отдельным complete с итогом в TG).
## По задачам
**1. t-260929144516-a224ac — недельный дайджест расходов 9router**
Отдельный документ: `docs/digests/9router-spend-2026-09-25_10-02.md` (окно 25.09–02.10). Замер через `cli.py aum`: burn 9router **7д=2506.86**, **24ч=15.57** у.е. — прямой минус к AUM, контроль продолжается на дневном ритме.
**2. t-260929161138-bf87f6 — главная цель харнеса: метрика AUM**
Формализовано (задача от Alex, m-516173142): AUM = сумма измеримых ресурсов на длинной дистанции; схема `docs/aum/balances.json` + методика в `docs/aum.md`. Код: `harness/aum.py` + `cli.py aum` (снапшот) и `cli.py aum-pilot` (симуляции + генетический отбор burn-конфигураций в песочнице — предложение Alex применено). Интеграция: дневной уровень раз в сутки пишет событие `AumMeasured` и обновляет `policy.aum_target` — цель инжектится во все уровни (см. `scheduler.build_context`). Текущий замер = None (балансы ещё не заведены — занести при первых данных), burn учтён как прямой минус.
**3. t-260930083716-06e489 — криптографическая подпись событий и команд**
Реализовано по запросу Alex (m-516173240): `harness/audit.py` — ed25519-пара (приватный ключ на хосте, 0600), **подпись каждого события при записи в стор** (es.py) с `genesis`-границей доверия для ретро-подписи существующих событий; **подписи команд CLI** (`audit-command` / `verify-command`) — конверт с подписью харнеса; **полный внешний аудит** (`cli.py verify` — все подписи + тампер-цепочка) и `cli.py audit-key` — публичный ключ для проверяющих. Внешний аудитор теперь может доказуемо отличить события харнеса от подделок. Тесты: `tests/test_audit.py`.
**4. t-260930110622-7b9c6e — развёртывание харнесов для новых агентов (Simbiot по умолчанию)**
Флоу уже работал (визард флота `/agents-dashboard`: Simbiot ● по умолчанию / Hermes / MCP; сделано в t-261001073440, бэкенд дефолтит `harness_type=simbiot`). Аудит нашёл и закрыл 4 несостыковки: INSERT MCP-агентов теперь пишет `harness_type='mcp'` (раньше молча наследовал 'hermes'); дефолт fresh-миграции колонки → 'simbiot'; два легаси-fallback 'hermes'→'simbiot' в `index.html`/`agent_detail.html`. Существующие агенты не тронуты.
**5. t-261001075225-36d4a6 — предпродажа Simbiot в США: $99.9/мес**
Лендинг **https://cil.by/presale** (EN, стиль 42v2): safe-by-design (криптоаудит — продающий аргумент), автономность, проактивность; **первые 100 мест $99.90/мес** (обычная $100), счётчик мест с баром и sold-out блокировкой. Предзаказ → `/api/presale/start` (резерв места, dedup по email) → `/onboarding?plan=starter` → **живой Stripe Checkout** ($99.90/мес рекуррент, Delaware LLC) → авто-провижн тенанта и агента (переиспользован фаннел `simbiot_billing`, ничего не дублировали). **Гарантия цены**: бэкенд чекаута закрепляет план presale-записи — UI не может молча апселлить предпродажника на $999; на `/onboarding` добавлена карточка Starter. Счётчик: `/api/presale/seats`. E2E проверено (тестовый заказ создан и вычищен, счётчик честный 0/100). Связанная задача t-261001085926 (цель 1000 предзаказов) остаётся на доске.
**6. t-261001084819-56396f — чат с агентом портала через харнес/gateway**
Канал портал↔агент уже был построен (t-261001123121, commit 0523135): портал — `/api/agent/<a>/channel/poll` (pull входящих + push outbox, X-Agent-Token, дедуп msg_id) + чат-UI на странице агента; агент — `harness/portal_channel.py`: pull ингесрит в стор, реакции уходят **push**-ом мгновенно, sec-рефлекс тянет канал каждые ≥20с независимо от TG. Сегодня закрыты 3 бага, без которых «работает» не было бы: (а) cloud-init клал агентам `SIMBIOT_TG_ALLOWED=@alex:matrix.cil.by` (Matrix-хэндл), а фильтр сравнивает с числовым TG-id → **TG-входящие Portal-агентов молча отбрасывались**; заменил на TG-id владельца (7569223131); (б) агентам не было self-update — в `sync_harness.sh` cron добавлен `git pull --ff-only` + рестарт служб при апдейте (каждые 15 мин); (в) `cryptography` не была в pip-депах cloud-init (код подписи требовал бы её, а клонировали всегда свежий код) — добавлена. Моя запись в коопе исправлена: agent 80 «Simbiot» → `harness_type='simbiot'`, `portal_channel=1`; у себя поднял канал (`/etc/coop-reporter.env`, 600). **E2E на живом портале**: inbound → мой pull (ingested=1) → ack (consumed=1) → push-ответ (ok=True); тестовые строки вычищены.
## Инфраструктура / доставляемость
- Коммиты дня: harness `master e65d205` (аудит + AUM + портальные правки) и портал `a31ec67` (cloud-init фиксы) — оба **запушены**; правки портала в остальных файлах закоммитил auto-commit-daemon (0990572/b985ca7). Новые клоны агентов получают канал, подпись и AUM автоматически.
- Гигиена `.gitignore`: `.audit/` (приватный ключ), `.simbiot-portal-token` (мой токен — сверен по хэшу с agent_tokens, это я), рабочие БД — в репо не попадают.
- Портал рестартнут и жив (HTTP 200 на /presale, /simbiot, /onboarding).
## Честность дня
Дважды промахнулся с точечными правками (задел чужие функции `api_enterprise_request` и `simbiot_page`) — обе врезки **откатил сразу же**, синтаксис перепроверен, целостность подтверждена. Смоук-тест предпродажи создал реальную pending-запись — вычистил её же (счётчик вернулся в 0/100).
## Эскалации
Открытых нет: все 16 в истории со статусом acked (по заголовкам — 0 не-закрытых). Вчерашняя «UI-создание Simbiot-агента и чат не работают» (e-261001123016-f9d372) закрыта визардом + прямым каналом.
## AUM-срез
Замер: None (balances.json ещё не заведён). Burn 9router: 24ч=15.57 · 7д=2506.86 у.е. Фильтр решений: «добавляет ≥ +1% к AUM в горизонте год+?».
## На завтра (доска)
- `t-261001085926-aebd52` [L] Продажи Simbiot: цель 1000 предзаказов в США
- `t-261001100740-99d55e` [L] Чат с Simbiot прямо в UI дашборда
- `t-261001124130-b9791e` [L] Миграция истории/памяти/настроек Гермес → Simbiot (Рита)
- Мониторить `/api/presale/seats` и провижн-логи при первых предзаказах.