simbiot-harness/harness
Simbiot Harness 3361b671ed fix(worker+scheduler+inbox): три фикса часовой сводки (t-260930162615-fb58be)
1) per-call timeout LLM-вызова (SIMBIOT_LLM_CALL_TIMEOUT, 90с default,
   max_retries=1): роутер-лог показал — зависший тик = POST в ollama
   принят, но байт стрима не пришёл (DONE без TTFT), соседние вызовы
   ходили за 1-3с. Один висящий вызов больше не убивает весь тик по
   уровневому таймауту (300/2880с) — режется сам вызов, event-loop
   завершает тик штатно, spend-хвост и задачи не теряются
   (e-260930161900-baaecb, e-260930162600-cbb7e2, e-260930153143-85246b).

2) обрезка TG-инбокса (e-260930154125-082a2a): приём 4000→10000 симв.,
   показ в контексте тика 300→1200 — длинные сообщения Alex больше
   не теряют хвост.

3) loss-of-claim в батче: TimeoutExpired от isolated_runner пролетал
   мимо TaskFailed-блока run_level_tick — claimed-задачи висели в
   running до сирот-чистки (час+). Теперь claim сразу возвращается
   TaskPromoted в очередь (reason с причиной смерти воркера).

Тесты 8/8 (hermetic), живой вызов модели с timeout=90 — ok.
2026-09-30 17:23:46 +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 fix(worker+scheduler+inbox): три фикса часовой сводки (t-260930162615-fb58be) 2026-09-30 17:23:46 +00:00
commands.py fix(delivery): идемпотентная автодоставка артефактов в TG — три атомарных барьера против дублей (t-260930083937) 2026-09-30 13:41:34 +00:00
dashboard.html feat(dashboard): детали задачи по клику — метаданные, промоушены, отчёт закрытия, JS-раскрытие строки (t-260929220004-033c0f) 2026-09-30 06:42:08 +00:00
dashboard.py feat(dashboard): детали задачи по клику — метаданные, промоушены, отчёт закрытия, JS-раскрытие строки (t-260929220004-033c0f) 2026-09-30 06:42:08 +00:00
es.py fix(delivery): идемпотентная автодоставка артефактов в TG — три атомарных барьера против дублей (t-260930083937) 2026-09-30 13:41:34 +00:00
events.db feat(tg-cmd): без-LLM команды бота /лестница /статус /задачи /помощь — мгновенные ответы сек-рефлексом + setMyCommands (t-260929210755-9bf6a6) 2026-09-30 02:30:27 +00:00
isolated_runner.py fix(spend): BudgetSpent пишется воркером инкрементально + живой usage из 9router (t-260929170544-adebea) 2026-09-29 20:20:15 +00:00
levels.py fix(delivery): идемпотентная автодоставка артефактов в TG — три атомарных барьера против дублей (t-260930083937) 2026-09-30 13:41:34 +00:00
proactive.py feat(proactive): инициативные реплики харнеса в чат — ритм/анти-спам/банк тем AUM (t-260930073419) 2026-09-30 11:15:49 +00:00
rag_lookup.py feat(rag)+fix(timeout): RAG-инструмент в тиках + хард-кап шагов воркера 2026-09-30 04:16:46 +00:00
runtime.py feat(gate): гейт важности LLM-тика по per-level порогу + model в событиях 2026-09-30 08:29:54 +00:00
scheduler.py fix(worker+scheduler+inbox): три фикса часовой сводки (t-260930162615-fb58be) 2026-09-30 17:23:46 +00:00
tg_commands.py feat(tg-cmd): без-LLM команды бота /лестница /статус /задачи /помощь — мгновенные ответы сек-рефлексом + setMyCommands (t-260929210755-9bf6a6) 2026-09-30 02:30:27 +00:00
tg_inbox.db feat(tg-cmd): без-LLM команды бота /лестница /статус /задачи /помощь — мгновенные ответы сек-рефлексом + setMyCommands (t-260929210755-9bf6a6) 2026-09-30 02:30:27 +00:00
tg_inbox.py fix(worker+scheduler+inbox): три фикса часовой сводки (t-260930162615-fb58be) 2026-09-30 17:23:46 +00:00
voice.py feat(voice): транскрипция голосовых TG в рантайме — полный путь file_id→download→ASR→MessageTranscribed (t-260929171234-cad7af) 2026-09-30 00:02:30 +00:00