fix(alerts): проверять ответы и подтверждать сохранённые параметры

This commit is contained in:
Denozordec committed 2026-10-03 17:00:53 +07:00
1 parent 596fea4814
commit 0bcac655ea
6 files changed
+114 -2

No files matched your search

+9 -1
View File
@@ -28,7 +28,7 @@
| 9 | VPN, Firewall и Filters | Завершён в границах локальной приёмки 2026-09-30; блоки 9.1–9.64, ограничения в 9.64 |
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.6.2.3.2; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.4.1; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,14 @@
## Блок 11Б.4.1 — строгие Alerts contracts/API (2026-10-03)
- Аудит существующего UI: GET/PUT/POST принимают unchecked JSON; load заменяет Telegram draft и маскирует вторичные каталоги пустыми, save error вызывает load; целевая metadata иногда подменяется demo значениями. UI/backend пока не мигрированы этим блоком и не приняты.
- Общие output schemas проверяют public Telegram без token, literal booleans/null, arrays и даты, уникальные rule/group IDs и ссылки групп. connected сохраняет существующую семантику «token+chat настроены», не доказывает доступность Telegram или доставку.
- Новый API module проверяет GET/PUT rules/PUT Telegram/test receipts, false/204/malformed/contradictory responses не подтверждают операции. Selective Telegram receipt сверяется с chat/thread/secretConfigured; rules receipt сверяется с ID/полями и нормализованными targets/conditions, не со сводными computed labels. Локальная проверка не посылает пустые/дублирующиеся rules/groups/неизвестные group refs, пустой Telegram patch или invalid thread.
- Caller abort проверяется до fetch, 30s timeout и отсутствие автоматического повтора. Начальный unit выявил, что pre-aborted fetch всё ещё вызывал stub; helper исправлен, повтор прошёл. 5 API unit групп, contracts/backend build, typecheck и профильный lint прошли. Новый module ещё не подключён к UI; реальные Telegram/PG не вызывались.
- Следующий блок 11Б.4.2.1: backend Telegram selective atomic update/strict input/RETURNING без lost update и false receipt; DI HTTP/JWT test/send result. Затем rules transaction/readback concurrency и UI migrations/source/drafts/rights/adaptive.
## Блок 11Б.3.6.2.3.2 — source и локальная приёмка базы (2026-10-03)
- 6 browser source сценариев прошли: поздний success/error backup при ABA, переход в demo, принадлежность unknown checkpoint backend при ABA, reload во время POST с поздним success/error без публикации/повтора. Смена источника не доказывает server cancellation; checkpoint старого источника остаётся.