simbiot-harness/artifacts/self-review-2026-10-04.md

3.3 KiB
Raw Blame History

Самоанализ харнеса — 2026-10-04 (t-261004152714)

Цифры

  • Задачи: 147 всего — 142 done (S 51 / M 61 / L 30), 2 blocked, 3 running. Провалов мало, поток стабилен.
  • Эскалации: 79 (warn 56 / info 19 / critical 4) — все acked, открытых 0.
  • Инбокс TG: 100 сообщений (text 81, voice 15, video 1); транскрипция 16/16 непустая после фикса.
  • Ошибки уровней: min 38, hour 6, day 1. Главный паттерн — таймаут LLM-воркера (480с/2880с).

Что работает

  • Лестница sec→min→hour→day с батчем 3 задач/тик: пропускная способность есть, анти-старение очереди соблюдается.
  • ES-стор + ed25519-подписи: verify проходит, тампер-цепочка цела.
  • Идемпотентная доставка в TG (tg-notify/tg-deliver-file, SKIP на повторе) — дублей нет (t-260930083937).
  • Голосовые: двухъярусный ASR, короткие фразы → large-v3-turbo, кэш по file_unique_id.
  • Эскалации доходят и закрываются (e-261004144805 — фикс «смерть тика не воскрешает закрытые задачи» уже в git).

Что болит (→ задачи саморазвития)

  1. Звук из видео не извлекался — kind=video не входил в TRANSCRIBABLE_KINDS и поллер не звал транскрипцию. ИСПРАВЛЕНО в этом тике: ffmpeg-извлечение дорожки (16к моно opus) + turbo-роутинг для ≤60с; e2e на m-516173698 подтверждён. Осталось: тесты и наблюдение за памятью.
  2. Память инбокс-поллера 3.7G peak (systemd Consumption) — транскрипция в процессе поллера; нужен MemoryMax и/или вынос ASR-вызова из поллера.
  3. Кириллица в setMyCommands даёт HTTP 400 (костыль-транслит latin) — бот теряет русские подписи команд.
  4. Таймауты LLM-воркеров (min×38, hour×6) — причина №1 потерь тиков; воркер убивается до записи BudgetSpent.
  5. Клоны задач из служебных 'list' — ловушка чинилась дважды; нужен регресс-тест на генерацию задач из inbox-текста.

Задачи саморазвития (созданы, проверяемый результат)

  • t-261004160531-ed25ed [M]: тесты voice-пайплайна (extract_audio_track + роутинг) — pytest зелёный, кейс видео↔текст.
  • t-261004160531-780666 [L]: память поллера — MemoryMax + вынос тяжёлой транскрипции из поллера; peak < 1G за сутки.
  • t-261004160532-690fcb [M]: TG-команды кириллицей — setMyCommands без 400 и без транслита.
  • t-261004160532-0fb500 [M]: регресс-тест «служебный текст inbox не порождает задачу-клон».