simbiot-harness/harness
Simbiot Harness 9badb02951 гейт кода в закрытии задачи: правка харнеса = коммит + тест + зелёный тест
Кейс 2026-10-18 (t-261018103940): Коди закрыл задачу итогом «x» до конца
правки tg_inbox, без теста и без коммита. Проверка — в complete (не в промпте):
- незакоммиченные правки harness/ cli.py tests/ scripts/, сделанные тиком
  задачи после её клейма → отказ со списком файлов. «Сделанные тиком» — по
  трассе: edit/write по пути, shell — путь + признак записи (sed -i, >, tee,
  cp/mv/rm, patch, git apply, open(…,'w')); чтение (grep, sed -n) и запуск
  (python cli.py …) — не правка; нет трассы — по времени изменения файла.
  Иначе чужая незакоммиченная правка того же времени блокировала бы задачу;
- коммиты после клейма (точно по %ct, не по секунде --since) меняют код без
  tests/test_*.py → отказ; исключение — complete --no-test «причина»
  (причина уходит Alex в итоге);
- изменённые тесты запускаются при закрытии, FAIL/падение → отказ;
- в итог Alex автоматически: «Код: <хеши> · тесты PASS: …»;
- правило — в постановке батча задач; SIMBIOT_CODE_GATE=off выключает.
Сухой прогон на задаче Коди: сейчас — «Код: 70a2015 · тесты PASS:
tests/test_tg_group_ux.py»; в 10:42 был бы отказ (tg_inbox.py не закоммичен).
Тест: test_code_gate 14 PASS; полный набор — без регрессий.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 11:06:44 +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 кэп tool-result'ов в истории тика: срез >8k симв (после 60k суммы — 4k), полный текст в трейсе; burn-аудит 14.10 рек.1 2026-10-17 14:09:00 +00:00
addressing.py адресация: бот давно молчит в чате — строже порог и подсказка модели («тебе» — другому человеку) 2026-10-17 18:48:06 +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 гейт кода в закрытии задачи: правка харнеса = коммит + тест + зелёный тест 2026-10-18 11:06:44 +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 куб 4×4×4: 4 круга доверия, динамическая память D0–D3 с приватностью по кругу, голова depth 2026-10-17 10:43:12 +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 куб 4×4×4: 4 круга доверия, динамическая память D0–D3 с приватностью по кругу, голова depth 2026-10-17 10:43:12 +00:00
levels.py адресация: имя бота — только звательное обращение; разговор О Коди — не повод отвечать 2026-10-17 07:46:20 +00:00
memory.py память: синк без записи в стор, круги из событий (не из проекции), калибровка порогов nomic 2026-10-17 11:05:09 +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 гейт кода в закрытии задачи: правка харнеса = коммит + тест + зелёный тест 2026-10-18 11:06:44 +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 👍 на отвеченные сообщения (правка Коди t-261018103940) + тест; мусорный итог задачи не принимается 2026-10-18 10:55:02 +00:00
trust.py куб 4×4×4: 4 круга доверия, динамическая память D0–D3 с приватностью по кругу, голова depth 2026-10-17 10:43:12 +00:00
voice.py merge origin/master (hour digests, systemone-bench skill) + конфликт skills/README.md разрешён объединением строк 2026-10-12 09:11:25 +00:00