fix(evolution): проверять настройки и подтверждение сохранённых полей

This commit is contained in:
Denozordec committed 2026-10-03 13:11:45 +07:00
1 parent 2215007c91
commit 2b62e0e956
8 files changed
+73 -1

No files matched your search

+8 -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.4.4.8; scheduler и GeoIP приняты локально; NetFlow принят локально; далее Evolution и общие settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.3.5.1; scheduler и GeoIP приняты локально; NetFlow принят локально; далее Evolution и общие settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,13 @@
## Блок 11Б.3.5.1 — строгий Evolution API (2026-10-03)
- Добавлен общий contracts/evobgp: canonical HTTP(S) root URL без пути/query/credentials, явные enabled/secretConfigured, patch/test нормализация ключа без Bearer дублирования, one-line key и strict savedFields receipt. Empty endpoint/key clear и отсутствие поля имеют разную семантику.
- Новый API reader не считает malformed settings загрузкой; PUT проверяет literal ok, каждый переданный field, список реально подтверждённых полей и secretConfigured после clear/replace. Секрет не принимается в DTO/receipt. GET/PUT/test имеют caller abort/30s, неизвестный POST не повторяется.
- 3 API unit, contracts build, ESLint и полный frontend typecheck прошли. Backend пока отдаёт старый PUT DTO без receipt; новый helper ещё не подключён и не выдаёт существующий API за принятый. Catalog strict parser/test true принят ранее; provider всё ещё теряет данные и требует миграции.
- Далее 11Б.3.5.2: backend selective UPDATE и receipt с проверкой записанных полей/ключа без echo; затем 11Б.3.5.3 provider known/error/time/context, 11Б.3.5.4 форма/dirty/locks/приёмка.
## Блок 11Б.3.4.4.8 — локальная приёмка NetFlow (2026-10-03)
- Итоговые 19 основных NetFlow E2E (16 form + 3 responsive) и 10 backend source E2E прошли после общего контракта; добавлены дробный порог без default и GET после подтверждённого PUT. JWT gate дополнен purge: traffic reader не вызывает destructive handler. Backend профили/build и frontend production build приняты в предыдущих блоках; последнее изменение navigation/typecheck проверено отдельно.