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