fix(gre): отклонять повреждённые и повторяющиеся native идентификаторы
This commit is contained in:
1 parent
51a579d370
commit
7a38bb36aa
19 files changed
+678
-19
No files matched your search
+11
-1
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок220 завершён. GRE catalog/config snapshots/alert source используют одну модель подтверждённых operational flags. Unknown flags не превращаются в degraded/up. Local49, profiles14+6, production30, real up→down/degraded→up/Ping3/3×2 и source/UI прошли; own objects удалены. Первичный native401104.165.244.7 после перепроверки не повторился, причина неизвестна. Backend ux-gre220/compiled1056/source488 matched, frontend ux-routing218. Следующий221 — native GRE identity/duplicate guards для каталога и snapshots. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блок221 завершён. GRE API/config/snapshot source отклоняют missing/duplicate native ID/name и повреждённые records, fallback identity удалены. Local13/flags49, configSync7 и production22 прошли; false observed revisions не добавляются. Whole actual source2own GRE/UI passed, own tunnels/DB/roles удалены. Первичный native500104.165.244.7 сохранён; причина неизвестна. Backend ux-gre221/compiled1056/source490 matched, frontend ux-routing218. Следующий222 — общая backend регрессия в собственных PostgreSQL DB и профильный GRE UI. Этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -38,6 +38,16 @@
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–196 и ограничения ниже. Runtime backend/frontend ux-peak196. |
|
||||
|
||||
## 12.5.221 — native identity GRE без выдуманных fallback (2026-10-14)
|
||||
|
||||
Общий readGreNativeRows валидирует коллекцию, строковые поля, native .id/name, blank/whitespace IDs, duplicate ID и duplicate normalized names. API/config mapper и alert source используют один boundary. mapGreLive больше не создаёт gre-index IDs/names для повреждённых rows. Корректные .id и имена со спецсимволами сохранены. Неполный API catalog передаёт per-device failure, snapshot source сообщает GRE error, BGP observations сохраняются.
|
||||
|
||||
Local13 malformed/duplicate cases на raw reader и mapper, flags49, configSync7 и build прошли; optional special-env disabled SQL branch skipped. Unit flags fixture сперва содержала properties со значением undefined: теперь omitted keys соответствуют native JSON; повтор passed. Baseline ux-gre220/fixed ux-gre221 по22 production SQL cases:11 вариантов через compiled collector и signed API/config path. Missing/duplicate identity в fixed не добавляет observed config revisions. Old API принимал fallback identity/duplicates; old source не замечал duplicate names/trim collisions. Native writes0, disabled Home Router calls0; own DB/roles удалены.
|
||||
|
||||
Backend ux-gre221 compiled1056/source490 matched, healthy; frontend ux-routing218 сохранён. Первая live попытка остановилась native500104.165.244.7 GET/interface/gre и выполнила own cleanup. Последующие resource/gre/services/log200 на обоих; CPU0–2%, freeRAM~800MB. В retained auth failures нет testDebian161.104.46.222; ring-buffer counts не rate и не доказательство причины500. Services/credentials не менялись, root cause неизвестен. Повтор с300ms паузой между прямыми native reads прошёл: Portal API/actual compiled collector подтвердили own disabled GRE2, UI1440/320 увидел rows без page errors/mutations, own interfaces удалены и absence API/native проверен. Прямой collector не писал scheduler history. Это не physical WAN/data-plane/SLA/full WCAG приёмка.
|
||||
|
||||
Протоколы: [baseline](ux-ui/acceptance/gre221-baseline.json), [fixed](ux-ui/acceptance/gre221-fixed.json), [build](ux-ui/acceptance/gre221-build-proof-2026-10-14.json), [deployment](ux-ui/acceptance/gre221-deployment-2026-10-14.json), [initial500/diagnostics](ux-ui/acceptance/gre221-initial-native-failure-2026-10-14.json), [whole actual source/UI/cleanup](ux-ui/acceptance/gre221-native-live-2026-10-14.json). Следующий222 — общая backend регрессия в собственных PostgreSQL DB (без main env/DB) и профильный GRE/Filters UI после общего reader.
|
||||
|
||||
## 12.5.220 — подтверждённые operational flags GRE (2026-10-14)
|
||||
|
||||
Общий readGreObservedState используется в live catalog/config snapshot и alert source. true/false/yes/no читаются одинаково; disabled=true подтверждает down независимо от running. При неизвестном disabled или running у enabled interface опрос устройства отклоняется. Достоверные up/down/degraded сохранены; главная API-envelope по-прежнему передаёт failures по устройствам, а source snapshot сообщает GRE error и сохраняет BGP. Unknown metadata больше не выдаётся за подтверждённый operational status. Другие параметры/defaults GRE этим блоком не объявляются полностью проверенными.
|
||||
|
||||
Reference in new issue
Block a user