37 lines
No EOL
5.2 KiB
Markdown
37 lines
No EOL
5.2 KiB
Markdown
# Дайджест часа 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). |