simbiot-harness/harness
Simbiot Harness fd6c4052d0 круги доверия: 8 кругов × лестница времени — политика вместо 64 программ
Вторая ось к тактам: время — как часто/глубоко думать, доверие — что
можно с этим человеком. Один код + таблица POLICY (уровни × инструменты).
harness/trust.py:
- круг — только по проверенной личности (tg user_id, MCP-агент, портал,
  tui), не по тексту; старт: Alex 1, Vlad/Yura 2 (правление); агенты 4,
  портал 3, прочие tg 6, чужие 7; менять — только человек
  (cli.py trust set вне тика; из тика — отказ и страж, и CLI);
- круг тика = самый недоверенный вход (входящие + задачи батча); задачи
  наследуют круг тика (SIMBIOT_TICK_CIRCLE → TaskSubmitted.circle) —
  просьба правления не исполняется позже часом с правами владельца;
- страж в воркере (BeforeToolCallEvent.cancel_tool, не промпт): shell
  в кругах ≥ 2 — одна команда cli.py из белого списка круга, без ; && |
  > $() ` ${; файлы — чтение docs/out/sites/artifacts/входящих, секреты
  и запись — нет; portal_mcp — список круга (правлению без казны и
  member_create); rag по кругу; отказ → TrustDenied;
- уровни × круги: партнёров/знакомых — только min; батч не смешивает
  круги; строка круга в контексте тика;
- задача правления упёрлась в права → владельцу кнопки «Разрешить/Нет»
  (только Alex; разрешение = круг 1).
Закрыта дыра: общий SIMBIOT_TG_ALLOWED давал правлению в личке shell
под root наравне с владельцем.
Тест: test_trust 53 PASS (обходы стража, наследование, батчи, одобрение);
фейковые раннеры трёх тестов приняли circle; полный набор — без регрессий.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 09:48:39 +00:00
..
*.db t-261009160906: анти-гонка уровней min/hour на входящих TG — привязка артефакта к сообщению (-m), guard в deliver_artifact, reply_artifact в read model, тест гонки (8 PASS) + концепт ИИШНИЦЫ 2026-10-09 16:16:09 +00:00
__init__.py Simbiot Harness v0.1: тактовая лестница на Strands + CQRS/ES-спина 2026-09-29 15:28:50 +00:00
_fw_asr_worker.py feat(voice): транскрипция голосовых TG в рантайме — полный путь file_id→download→ASR→MessageTranscribed (t-260929171234-cad7af) 2026-09-30 00:02:30 +00:00
_llm_worker.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
addressing.py ядро Коди: обучаемый ученик адресации (цикл как в systemone-bench), теневой режим 2026-10-17 08:20:02 +00:00
agent_channel.py t-261015090129: канал агент↔агент через MCP — poll_messages (портал: очередь agent_message + курсор per-agent) → инбокс триажа (chat_id=portal:agent:<имя>, kind=agent_message), ответ ask_agent из send_reply/send_batch_reply; рефлекс демона раз в минуту; тест 24 PASS + регрессии чисто 2026-10-15 10:11:11 +00:00
audit.py сжатие стора с подписью + «сначала ответ, потом работа» на мин-уровне 2026-10-16 20:10:26 +00:00
aum.py fix(aum): ставка блендед-burn 1000x ошибка порядка (0.000943 → 9.43e-7 у.е./токен) — сверка с фактом дайджеста 25.09–02.10 usageHistory: 2491.47/2.642e9=9.43e-7, кросс-чек по ключу simbiot-harness 9.97e-7; burn 7д теперь ≈17.4 у.е. вместо ≈17048; RATE_FLASH/RATE_FULL тот же порядок (t-261007082307-f3a1d6); тесты 19/19 зелёные 2026-10-08 10:06:55 +03:00
commands.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
compact.py сжатие стора с подписью + «сначала ответ, потом работа» на мин-уровне 2026-10-16 20:10:26 +00:00
dashboard.html Alipay-ватчер: поллинг capability Stripe до аппрува, автолинк $100 card+alipay (e-261005142309) 2026-10-05 15:05:55 +00:00
dashboard.py es: rogue-key guard — чужой audit-ключ пишет legacy, стор не ломается (инциденты 06.10/08.10) 2026-10-08 08:52:56 +00:00
decision.py адресация: группы без chat_type по chat_id<0; облако decision — таймаут 30 с, кулдаун 60 с 2026-10-17 07:13:35 +00:00
es.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
events.db feat(tg-cmd): без-LLM команды бота /лестница /статус /задачи /помощь — мгновенные ответы сек-рефлексом + setMyCommands (t-260929210755-9bf6a6) 2026-09-30 02:30:27 +00:00
isolated_runner.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
kodi_core.py ядро Коди: чемпион/претендент без утечки + база как порог допуска, снятие чемпиона 2026-10-17 09:36:44 +00:00
levels.py адресация: имя бота — только звательное обращение; разговор О Коди — не повод отвечать 2026-10-17 07:46:20 +00:00
paths.py t-261010093054: MCP портала кооператива как стандартный тул харнеса — portal_mcp (booking_slots/booking_create, реестры, казна, лента), guardrail на деньги-тулы, 4 вызова/тик, трейс PortalMcpCalled, cli mcp-call, тест 18 PASS 2026-10-10 10:19:09 +00:00
portal_channel.py set-tg-bot: 3 попытки getMe timeout=15 + backoff 3/6с (t-261016141220) 2026-10-16 14:19:22 +00:00
portal_mcp.py member_create в описаниях тула портала (t-261016064519): describe_tools + промпты min/hour 2026-10-16 07:15:46 +00:00
proactive.py decision-модель в тиках: Ollama Cloud clef:27b → локальная nimble (systemone-bench) 2026-10-16 19:21:29 +00:00
rag_lookup.py t-261004113351: изоляция памяти инстанса — SIMBIOT_HOME (репо = чистый код) 2026-10-04 12:34:45 +00:00
roy.html es: rogue-key guard — чужой audit-ключ пишет legacy, стор не ломается (инциденты 06.10/08.10) 2026-10-08 08:52:56 +00:00
runtime.py t-261015083454: мета-информация в событиях — trace_id+level+ts в каждом trace-событии (ToolCalled/ToolResult 68k были без связи с тиком), duration_ms/ok/exception в ToolResult, имя инструмента вместо '?', level+trace_id в TaskCompleted/TaskFailed; смоук + 5 тестов PASS 2026-10-15 09:07:32 +00:00
scheduler.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
tg_commands.py Alipay-ватчер: поллинг capability Stripe до аппрува, автолинк $100 card+alipay (e-261005142309) 2026-10-05 15:05:55 +00:00
tg_inbox.db feat(tg-cmd): без-LLM команды бота /лестница /статус /задачи /помощь — мгновенные ответы сек-рефлексом + setMyCommands (t-260929210755-9bf6a6) 2026-09-30 02:30:27 +00:00
tg_inbox.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
trust.py круги доверия: 8 кругов × лестница времени — политика вместо 64 программ 2026-10-17 09:48:39 +00:00
voice.py merge origin/master (hour digests, systemone-bench skill) + конфликт skills/README.md разрешён объединением строк 2026-10-12 09:11:25 +00:00