fix(alerts): разделить загрузку каталогов целей и правил

This commit is contained in:
Denozordec committed 2026-10-03 17:50:23 +07:00
1 parent a8a3eb59fb
commit 526f305aa6
11 files changed
+153 -77

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@
## Актуальная точка продолжения — 2026-10-03
Этап 11Б в работе; последний проверенный блок 11Б.4.3.1.2.1; System DB принят локально с внешними ограничениями. Следующий блок 11Б.4.3.1.2.2: подключить независимые Alerts BGP/GRE readers/status/last good metadata/source ABA; затем Telegram/rules drafts/locks/rights/unknown/adaptive и GET/revision/outbox audit. Затем Alerts/Releases/probe scheduling, приёмка 11Б и этап 12.
Этап 11Б в работе; последний проверенный блок 11Б.4.3.1.2.2; System DB принят локально с внешними ограничениями. Следующий блок 11Б.4.3.2: Telegram dirty draft/selective save/test/rights/unknown review/source; затем правила, GET/revision/outbox audit и оставшиеся 11Б/12. Затем Alerts/Releases/probe scheduling, приёмка 11Б и этап 12.
Реальные pg_dump/pg_restore, PG rollback и остановка UDP worker требуют внешней приёмки. Датированные продолжения ниже — история; точный следующий шаг также указан в начале [журнала](ux-ui-progress.md).
+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Б.4.3.1.2.1; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.4.3.1.2.2; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,14 @@
## Блок 11Б.4.3.1.2.2 — независимые каталоги Alerts (2026-10-03)
- Primary strict reader больше не ждёт BGP/server labels/GRE. Каждый каталог имеет собственные abort/revision/lifetime, loading/error/known/time, retry и последний успешный snapshot; header refresh запускает их независимо. Unknown не отображается как пустой каталог.
- Неполный GRE с failures не заменяет последний полный список. Первоначальный partial остаётся unknown; missing status не становится down/degraded. Для отсутствующей подписи сервера используется ID с объяснением зависимости. BGP API не сообщает completeness — это прямо указано.
- 7 основных browser сценариев (3 primary, 3 catalogs и права BGP/GRE), 2 source ABA (late success/error), typecheck без incremental, lint и ReUI Frame audit пройдены. Первые test assertions на абсолютное количество GET скорректированы: initial source/StrictMode допускают отменённые GET; manual refresh проверяется относительно baseline. Общий dashboard reader отдельно обращается к /servers — его права не приняты этим блоком.
- Переиспользован установленный OpsPanel/Frame, добавлен min-h-0 scroll chain и responsive padding. Контракт компонента не менялся. Реальные RouterOS/PG/Telegram не вызывались; весь Alerts ещё не принят.
- Следующий точный шаг 11Б.4.3.2: Telegram dirty draft/selective save/test/rights/unknown review/source; затем правила, GET/revision/outbox audit и оставшиеся 11Б/12.
## Блок 11Б.4.3.1.2.1 — строгие secondary catalog readers (2026-10-03)
- Новый API module отдельно читает BGP sessions, server labels и GRE для Alerts: schema validation/known empty/caller abort до GET и после decode/30s signal. Отсутствующий GRE status остаётся undefined, не down. GRE partial device failures сохраняются, отсутствие failures в legacy DTO не подменяется [] как доказательство полноты.
+5
View File
@@ -248,3 +248,8 @@ ReUI PRO/base-nova; существующие Frame, Data Grid v9, KpiStatGrid, S
Завершён 11Б.4.3.1.1: primary Alerts strict reader/unknown/known empty/time/last snapshot без live initial mocks; 3 E2E/lint/typecheck/build прошли. Secondary readers/dirty/forms пока прежние. Далее 11Б.4.3.1.2 — независимые BGP/GRE/last good/source ABA; затем forms/rights/adaptive/GET/revision/outbox audit.
Завершён 11Б.4.3.1.2.1: strict BGP/server/GRE target readers, partial GRE failures/unknown status; 4 unit/typecheck/lint прошли, module не подключён. BGP endpoint не раскрывает failures. Далее 11Б.4.3.1.2.2 — independent readers/status/last good/source ABA; затем forms и audit.
### 11Б.4.3.1.2.2 — каталоги Alerts (2026-10-03)
Primary и три вторичных reader независимы, partial GRE сохраняет last good, unknown status не down. OpsPanel/Frame показывает права, ошибки, время и отдельный retry. 9 browser сценариев, typecheck/lint/audit пройдены; реальные сетевые опросы не проверены. Следующий шаг 11Б.4.3.2: Telegram dirty draft/selective save/test/rights/unknown review/source; затем правила, GET/revision/outbox audit и оставшиеся 11Б/12.