# Quality status _Обновлено: 2026-06-08T07:48:24+00:00 · auto-gen из `~/quality-watchdog.sh`_ ## 🟢 Текущий статус **Последний прогон:** `2026-06-08T12:48:01+05:00` **Зелёных шагов:** 8/8 **Красных шагов:** 0 ## Шаги smoke-suite | Шаг | Статус | Последнее изменение | Consecutive fail | |---|---|---|---| | /health/ready | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | signup→login→/api/me | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | GET /api/catalog/products | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | Playwright UI (product CRUD) | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | /metrics (Prometheus) | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | /hubs/notifications/negotiate | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | Multi-tenant isolation | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | | Performance p95 vs baseline | 🟢 | `2026-06-08T12:48:01+05:00` | 0 | ## Performance baseline (p95, ms) | Endpoint | p95 (ms) | |---|---| | `/api/catalog/products/page/1/pageSize/10` | 233 | | `/api/me` | 259 | | `/api/sales/retail/stats/days/7` | 228 | _Регрессия = текущий p95 >50% от baseline. Baseline обновляется только когда регрессии нет (берёт min)._ ## История за 7 дней **Прогонов:** 14 **С красным:** 7 **Green-ratio:** 50% ### Прогоны с красным шагом | Время | Красные шаги | |---|---| | `2026-06-08T12:16:05+05:00` | multi_tenant | | `2026-06-08T12:16:52+05:00` | multi_tenant | | `2026-06-08T12:18:01+05:00` | multi_tenant | | `2026-06-08T12:18:35+05:00` | multi_tenant | | `2026-06-08T12:22:49+05:00` | health, auth_me, products, metrics, signalr, multi_tenant, perf | | `2026-06-08T12:23:00+05:00` | health, auth_me, products, metrics, signalr, multi_tenant, perf | | `2026-06-08T12:23:18+05:00` | perf | ## Последние 24 прогона `🔴🔴🔴🔴🟢🟢🔴🔴🔴🟢🟢🟢🟢🟢` --- Скрипт: `~/quality-watchdog.sh` (cron `0 * * * *`). Источник: `~/.fm-watchdog/quality-history.jsonl`. Sprint 25 — autonomous continuous quality monitoring.