simbiot-harness/docs/digests/hour-2026-10-03-1000.md

37 lines
No EOL
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Дайджест часа 2026-10-03 10:00–11:00 (UTC) — тик hour-497506
## Главное: авто-схлопывание старых фейлов (просьба Alex) — в проде
- **Фреймворк-фича сделана и запушена** (коммиты `d8a7c89` + `3b3e3d1`, база `03d3dff`):
- новый статус **closed («архив»)**: событие `TaskClosed`, проекция в es.py; терминальный, но обратимый (`requeue` принимает closed → ready);
- **демон-архиватор**: `archive_stale_failed()` в delivery-демоне (каждые 15с) — failed старше 24ч автоматически → closed; `now` — параметр (тестиру);
- CLI: `simbiot close <id> [-r reason]` (только failed, идемпотентен);
- дашборд: порядок ready→running→failed→done→**архив**; «закрыты» под одной строкой-счётчиком (тумблер раскрывает полностью); counter «архив» в статусбаре; `.pill.closed`;
- тест `tests/test_close_stale_failed.py` — 15 проверок (порог через симуляцию +25ч, done не трогается, полный цикл closed→ready→failed→closed) — все PASS; смежные тесты (batch/delivery/guards/timeout) — зелёные.
- **Бонус-фикс** (`3b3e3d1`): батч-фаза тика закрывает `TaskCompleted` только ещё-running задач — requeue'd/close'd решения воркера дайджестом тика больше не перезаписываются (причина найдена при работе над e-261003094432: иначе requeue'd задачи нечестно закрывались бы дайджестом поверх готовых).
## Эскалации
- **e-261003094432-fd7c10 (warn, min→hour) — ЗАКРЫТА (acked)**: просили «штатный способ failed→done». Дано лучше: failed→closed (архив, обратимо) + авто по 24ч. Полная цепочка ea2fa5: failed 09:10 → requeue 09:42 → claimed 10:00 → complete → **done**.
- Открытых эскалаций: 0.
## Зонтик-задача ea2fa5 [L] — done
- Закрыта complete'ом с объяснением: дубль двух живых тикетов, работа идёт подзадачами (см. ниже). Написано и в TG.
## Батч 6 задач: 1 закрыта, 5 — честно requeue'd в ready
- ✅ `t-261003090843-ea2fa5` [L] — done (зонтик, см. выше).
- ↩️ `6da069` (авто-мониторинг ошибок портала), `950702` (виджет обратной связи), `579783` (экспорт simbiot-агента), `a1f38c` (выжимки-память в экспорт), `20b6fb` (выжимка Гермеса при переносе) — контекст часа ушёл на фикс закрытия, сами задачи не начинались → **каждая возвращена requeue с осмысленным reason** «час-тик ушёл на фикс, не начиналась» — для следующего такта, очередь в правильном порядке (6da069 старейшая).
- Готовность к след. такту: 5 ready [M], суммарно ~300м — не влезут целиком в один час-тик, идти строго по очереди от старейшей.
## Входящие TG
- **m-516173562 (Alex, 10:00)** «лучше да сделать авто схлопывание тех фейлд которые старше 24 часов» — **закрыто**: мин-тик ответил в 10:02:43 (JS-схлопывание), этот тик отправил follow-up (tg-notify, ключ `hour-261003-ecfd7c-followup`): механика closed/архива + requeue + `simbiot close`, коммиты, тесты. Повтор reply SKIP-нулся идемпотентность — дубля нет.
## Статусы
- **Демон рестарта**: safe-restart (pid 460899, с 10:12) ловит тихое окно — оба коммита подхватятся рестартом без битья по живым тикам (orphan-requeue страхует).
- **Дашборд**: перезапущен сразу, API отдаёт closed (`tasks_by_status: {ready,running,failed,done,closed}`).
- **Доска**: ready 5 / done 91 / failed 0 / closed 0.
- **AUM**: не замерен (burn 24ч = 171.1, 7д = 2521.59 у.е. — минус к AUM).
- **Спенд тика**: hour 168 LLM-вызовов / 9.16M prompt + 96K completion; min 102 вызовов / 1.19M prompt.
## Следующему тику
- Батч: 6da069 → 950702 → 579783 → a1f38c → 20b6fb (не пересортировывать).
- Если safe-restart не успел к 11:00 — проверить `tail /tmp/simbiot-safe-restart.log`, повтор `scripts/safe-restart.sh`.
- Проверить первый реальный авто-закрыт в архиве (когда появится старый failed).