fix(freshness): calibrate kn staleness thresholds to weekly cadence #1907

Merged
bot-backend merged 1 commit from fix/freshness-kn-weekly-threshold into main 2026-06-26 06:33:29 +00:00
Collaborator

Самоисправление по итогу первого прод-прогона freshness-монитора (#1904).

Сегодня (06-26 09:00 MSK) монитор впервые сработал и заалертил kn [stale, 3.9d]. Триаж показал: kn (DOM.РФ ЖК) шедулится ЕЖЕНЕДЕЛЬНО (settings.scrape_kn_cron='15 4 * * mon', понедельник), а пороги стояли fresh_days=2 / stale_days=5 — то есть монитор по дизайну кричал «stale» каждую среду-воскресенье. Это гарантированный еженедельный ложный алерт → команда привыкнет игнорить GlitchTip.

Фикс: калибровка под недельную каденцию (зеркалит objective 7/14): fresh_days=8 (полная неделя + добег понедельничного прогона), stale_days=14 (алерт только при пропуске ~двух понедельников). +регресс-тест (kn свеж всю неделю, stale при пропуске 1 пн, critical при 2).

Прод сейчас: kn last done 06-22 (пн), age 3.9d → теперь fresh (норма для weekly). Реальный прогон — в пн 06-29.

Backend-only, без schema. 5 freshness-тестов passed, ruff clean.


⚠️ Отдельная находка того же прогона (не в этом PR, нужно решение): монитор также заалертил nspd [failed, нет успешных прогонов]nspd_scrape_runs имеет только 3 failed (последний 2026-04-30), harvest мёртв с апреля. Его роль перекрыл geoportal-резолвер (#1891). Вопрос: ретайрить nspd-harvest (убрать из монитора) или реанимировать джобу? — вынес отдельно, т.к. это решение про источник данных, а не баг.

Refs #73

**Самоисправление по итогу первого прод-прогона freshness-монитора (#1904).** Сегодня (06-26 09:00 MSK) монитор впервые сработал и заалертил `kn [stale, 3.9d]`. Триаж показал: **`kn` (DOM.РФ ЖК) шедулится ЕЖЕНЕДЕЛЬНО** (`settings.scrape_kn_cron='15 4 * * mon'`, понедельник), а пороги стояли `fresh_days=2 / stale_days=5` — то есть монитор по дизайну кричал «stale» каждую среду-воскресенье. Это гарантированный еженедельный ложный алерт → команда привыкнет игнорить GlitchTip. **Фикс:** калибровка под недельную каденцию (зеркалит `objective` 7/14): `fresh_days=8` (полная неделя + добег понедельничного прогона), `stale_days=14` (алерт только при пропуске ~двух понедельников). +регресс-тест (kn свеж всю неделю, stale при пропуске 1 пн, critical при 2). Прод сейчас: kn last `done` 06-22 (пн), age 3.9d → теперь **fresh** (норма для weekly). Реальный прогон — в пн 06-29. Backend-only, без schema. 5 freshness-тестов passed, ruff clean. --- ⚠️ **Отдельная находка того же прогона (не в этом PR, нужно решение):** монитор также заалертил `nspd [failed, нет успешных прогонов]` — `nspd_scrape_runs` имеет только 3 `failed` (последний **2026-04-30**), harvest мёртв с апреля. Его роль перекрыл geoportal-резолвер (#1891). Вопрос: **ретайрить nspd-harvest (убрать из монитора) или реанимировать джобу?** — вынес отдельно, т.к. это решение про источник данных, а не баг. Refs #73
bot-backend added 1 commit 2026-06-26 06:20:28 +00:00
fix(freshness): calibrate kn staleness thresholds to weekly cadence
All checks were successful
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m49s
CI / backend-tests (pull_request) Successful in 11m1s
1ea8d0b721
kn (DOM.РФ ЖК) is scheduled WEEKLY (settings.scrape_kn_cron='15 4 * * mon'),
but its freshness thresholds were fresh_days=2 / stale_days=5 — so the monitor
flagged kn "stale" every Wed-Sun by design, a guaranteed weekly false-positive
that would desensitize the team to the GlitchTip alert. The freshness monitor
(#1904) caught this on its first prod run (06-26 09:00 MSK: "kn [stale, 3.9d]").

Recalibrate to weekly cadence (mirror objective 7/14): fresh_days=8 (full week +
Monday-run completion buffer), stale_days=14 (alert only after ~two missed
Mondays). +regression test pinning kn stays fresh through the week.

Refs #73
bot-backend merged commit 2304e09e37 into main 2026-06-26 06:33:29 +00:00
bot-backend deleted branch fix/freshness-kn-weekly-threshold 2026-06-26 06:33:29 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1907
No description provided.