chore(ux): сохранить итоговую проверку контекста и точку внешней приёмки

This commit is contained in:
Denozordec committed 2026-10-07 18:42:00 +07:00
1 parent 683148d620
commit 6255f44975
5 files changed
+226 -6

No files matched your search

+2 -1
View File
@@ -62,8 +62,9 @@ SELECT min(resolution_version), max(resolution_version) FROM alert_outbox;
| ROS-4 | Home→JH и JH↔Exit с асимметричной скоростью | Направления DL/UL соответствуют клиентской стороне; model limits применяются к правильному направлению |
| ROS-5 | OSPF preview → действие → перечитывание templates | Preview соответствует исправленным RX/DL и TX/UL. Применение подтверждается фактическим cost; частичный отказ не становится полным успехом |
| ROS-6 | WireGuard/IPsec/GRE/VXLAN/Firewall/BGP/маршруты | Проблема→устройство→форма→подтверждённое действие→возврат сохраняет контекст. Права и повторное нажатие проверены; фактическая конфигурация и connectivity сверены |
| ROS-9 | Смена пары в каталоге и конкурентное завершение native test | Новый snapshot unknown, старый run сохранён с actual endpoints; enable/reorder сохраняют измеренный0. Проверить row locks/условный UPDATE в реальном PG |
| ROS-9 | Смена пары или параметров измерения в каталоге и конкурентное завершение native test | Новый snapshot unknown, старый run сохранён с actual endpoints; enable/reorder сохраняют измеренный0. Проверить row locks/условный UPDATE в реальном PG |
| ROS-8 | Смена пары, интерфейсов, протокола, направления, длительности или удаление speed-пробы до запуска и во время теста | Preflight409 до команды; при поздней смене новый snapshot не перезаписан, actual run сохранён без stale probe association |
| ROS-10 | POST speed-test и последующий GET истории/пробы с разными часовыми поясами браузера и сервера | createdAt сохраняет серверный instant и совпадает с записью; nullable Ping не становится timeout. Это время перед after-ping, не начало bandwidth-test; legacy receipt без createdAt отдельно обозначить в evidence |
| ROS-7 | Удаление/отсутствие доступа/частичный отказ одного устройства | Ошибка не стирает форму, последний снимок и объекты остальных устройств; неизвестные метрики не превращаются в0 |
Для ROS-1/ROS-2 зафиксировать версию RouterOS и очищенный сырой ответ. Строковый status подтверждается по [официальному CLI reference](https://manual.mikrotik.com/docs/cli-reference/tool/bandwidth-test/); несовместимый REST shape требует отдельной коррекции контракта. Тест скорости способен нагрузить канал — длительность и endpoints выбираются для выделенного стенда. Команды и правила маршрутизации этой UX/UI-серией не расширялись.
+2 -2
View File
@@ -1,12 +1,12 @@
# План реализации UX/UI по пятичасовым окнам
Актуальное продолжение 2026-10-07: 12.4.10 main1186/1186 на9680a64 прошёл,32.8min/193files;37pure+HTTP/RBAC speed API и builds также passed. Следующий12.4.11: полная context матрица. Отдельный новый main report сохранён; прежние результаты не заменены. Внешняя12.5 не выполнена.
Актуальное продолжение 2026-10-07: блоки12.3.79–83 и общая локальная приёмка завершены. Main:1186/1186 на9680a64; context:221/221 на683148d с тем же runtime;44 чистых теста и HTTP/RBAC прошли. План и оба журнала согласованы, все записи этапа12 датированы. Следующий этап12.5 — внешняя приёмка по подготовленному протоколу; она не выполнена и требует отдельного стенда PostgreSQL/RouterOS/интеграций.
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-07. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
## Актуальная точка продолжения — 2026-10-07
Этапы0–11 завершены в описанных локальных границах. Этап12 продолжается; блоки до12.3.83 отражены в журнале. Общие main12.4.8 на579e816:1176/1176 и context12.4.9 наa3fcba0:221/221 passed. Последующие изменения speed-test проверены профильными тестами; эти общие прогоны не относятся к новому HEAD. Внешняя12.5 и реальные интеграции не приняты. Точные результаты и ограничения: [ux-ui-stage-12.md](ux-ui-stage-12.md).
Этапы0–11 завершены в описанных локальных границах. Локальная часть этапа12 проверена до12.3.83: main12.4.10 —1186/1186 на9680a64, context12.4.11 —221/221 на683148d с тем же runtime. Дополнительно прошли44 чистых теста, HTTP/DI/RBAC speed API и сборки. Этап12 остаётся открытым: следующая внешняя12.5 требует отдельного стенда. Протокол и ограничения: [внешняя приёмка](ux-ui-external-acceptance.md); точные результаты: [подробный журнал этапа12](ux-ui-stage-12.md).
Реальные pg_dump/pg_restore, PG rollback и остановка UDP worker требуют внешней приёмки. Датированные продолжения ниже — история; точный следующий шаг также указан в начале [журнала](ux-ui-progress.md).
+10 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-07: 12.4.10 main1186/1186 на9680a64 прошёл,32.8min/193files;37pure+HTTP/RBAC speed API и builds также passed. Следующий12.4.11: полная context матрица. Отдельный новый main report сохранён; прежние результаты не заменены. Внешняя12.5 не выполнена.
Актуальное продолжение 2026-10-07: блоки12.3.79–83 и общая локальная приёмка завершены. Main:1186/1186 на9680a64; context:221/221 на683148d с тем же runtime;44 чистых теста и HTTP/RBAC прошли. План и оба журнала согласованы, все записи этапа12 датированы. Следующий этап12.5 — внешняя приёмка по подготовленному протоколу; она не выполнена и требует отдельного стенда PostgreSQL/RouterOS/интеграций.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -32,7 +32,15 @@
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | В работе. Блоки до12.3.83 и main12.4.10:1186/1186 на9680a64 завершены. Следующий12.4.11context; внешняя12.5 не выполнена. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в описанных границах:12.3.83,main1186/1186,context221/221. Этап остаётся в работе: внешняя12.5 не выполнена. |
## 12.4.11 — общая context регрессия после speed API/UI (2026-10-07)
221/221passed,26files,0unexpected/skipped/flaky,7.8min. Edge/1worker/retries0/maxFailures12. HEAD683148d6201aca73d1be267db8110ff1e14faf53; runtime9680a6422ba951a1737207663acbd6d562710b62. Между ними изменены только main report и документы; git diff по app/components/lib/packages/backend перед стартом пуст. [Новый итог context](ux-ui/acceptance/context-speed-final-2026-10-07.json), сырой источник tmp/ux-context-speed-final-20261007.json. Старые context221 наa3fcba0 и main1176 на579e816 сохранены отдельно.
Main1186/1186 на9680a64 и эта context матрица теперь включают runtime блоков79–83. Дополнительно7 чистых producer DTO checks подтвердили ISO преобразование PostgreSQL timestamp с сохранением instant, nullable/zero и отказ от неверных записей. Вместе с предыдущими37 —44 чистых теста; HTTP/DI/RBAC speed command/catalog и contracts/backend/frontend builds passed. Реального подключения к PostgreSQL/RouterOS не было.
Следующий12.5: [подготовленный протокол внешней приёмки](ux-ui-external-acceptance.md). По имеющимся локальным мокам нельзя подтвердить реальные PG rollback/row locks/commit acknowledgement, RouterOS и внешние интеграции. Для этого нужен отдельный стенд. Этап12 остаётся открытым до внешней приёмки; локальные матрицы не являются заявлением о полной production готовности. Локальные коммиты без push; чужие изменения сохранены.
## 12.4.10 — общая main регрессия после speed API/UI (2026-10-07)
+9 -1
View File
@@ -1,6 +1,6 @@
# Этап 12: итоговая приёмка UX/UI
Актуальное продолжение 2026-10-07: 12.4.10 main1186/1186 на9680a64 прошёл,32.8min/193files;37pure+HTTP/RBAC speed API и builds также passed. Следующий12.4.11: полная context матрица. Отдельный новый main report сохранён; прежние результаты не заменены. Внешняя12.5 не выполнена.
Актуальное продолжение 2026-10-07: блоки12.3.79–83 и общая локальная приёмка завершены. Main:1186/1186 на9680a64; context:221/221 на683148d с тем же runtime;44 чистых теста и HTTP/RBAC прошли. План и оба журнала согласованы, все записи этапа12 датированы. Следующий этап12.5 — внешняя приёмка по подготовленному протоколу; она не выполнена и требует отдельного стенда PostgreSQL/RouterOS/интеграций.
План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push.
@@ -944,3 +944,11 @@ Runtime HEAD9680a6422ba951a1737207663acbd6d562710b62:1186/1186passed,193files,0u
Новые10 browser scenarios после прежней общей main вошли в матрицу: конфликт пары, смена пары/длительности, server timestamps/Ping и5 nullable Ping состояний. Дополнительно37pure snapshot/receipt/rate/status/persistence и HTTP/DI/RBAC обоих speed routes прошли на9680a64; contracts/backend/frontend builds уже passed по блокам79–83. В dev logs были отказы фоновых чтений localhost:8000 (OSPF/catalog/sidebar-counts/EvoBGP); backend не запущен, assertion failures нет. Это локальная UI/DI приёмка, реальные интеграции не проверены.
Следующий12.4.11: полная context матрица на том же runtime. Внешняя12.5 открыта: реальные PG transactions/locks/commit acknowledgement, RouterOS, интеграции и остановка worker требуют стенда. Чужие skill/AGENTS/config/cache изменения не включены.
## 12.4.11 — общая context регрессия после speed API/UI (2026-10-07)
221/221passed,26files,0unexpected/skipped/flaky,7.8min. Edge/1worker/retries0/maxFailures12. HEAD683148d6201aca73d1be267db8110ff1e14faf53; runtime9680a6422ba951a1737207663acbd6d562710b62. Между ними изменены только main report и документы; git diff по app/components/lib/packages/backend перед стартом пуст. [Новый итог context](ux-ui/acceptance/context-speed-final-2026-10-07.json), сырой источник tmp/ux-context-speed-final-20261007.json. Старые context221 наa3fcba0 и main1176 на579e816 сохранены отдельно.
Main1186/1186 на9680a64 и эта context матрица теперь включают runtime блоков79–83. Дополнительно7 чистых producer DTO checks подтвердили ISO преобразование PostgreSQL timestamp с сохранением instant, nullable/zero и отказ от неверных записей. Вместе с предыдущими37 —44 чистых теста; HTTP/DI/RBAC speed command/catalog и contracts/backend/frontend builds passed. Реального подключения к PostgreSQL/RouterOS не было.
Следующий12.5: [подготовленный протокол внешней приёмки](ux-ui-external-acceptance.md). По имеющимся локальным мокам нельзя подтвердить реальные PG rollback/row locks/commit acknowledgement, RouterOS и внешние интеграции. Для этого нужен отдельный стенд. Этап12 остаётся открытым до внешней приёмки; локальные матрицы не являются заявлением о полной production готовности. Локальные коммиты без push; чужие изменения сохранены.
@@ -0,0 +1,203 @@
{
"head": "683148d6201aca73d1be267db8110ff1e14faf53",
"runtimeHead": "9680a6422ba951a1737207663acbd6d562710b62",
"config": "playwright.ux-context.config.ts",
"browser": "msedge",
"workers": 1,
"retries": 0,
"maxFailures": 12,
"source": "tmp/ux-context-speed-final-20261007.json",
"stats": {
"startTime": "2026-10-07T11:32:55.185Z",
"duration": 469928.721,
"expected": 221,
"skipped": 0,
"unexpected": 0,
"flaky": 0
},
"errors": [],
"files": [
{
"file": "alerts-context.spec.ts",
"passed": 14,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "backend-switch.e2e.ts",
"passed": 3,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "backups-context.spec.ts",
"passed": 28,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "bgp-context.spec.ts",
"passed": 4,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "certificates-context.spec.ts",
"passed": 16,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "containers-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "data-collection-context.spec.ts",
"passed": 6,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "evobgp-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "filters-context.spec.ts",
"passed": 6,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "firewall-context.spec.ts",
"passed": 4,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "geoip-context.spec.ts",
"passed": 6,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "gre-context.spec.ts",
"passed": 6,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "ipsec-context.spec.ts",
"passed": 6,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "netflow-context.spec.ts",
"passed": 10,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "network-map-context.spec.ts",
"passed": 12,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "ospf-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "probes-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "recursive-routes-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "route-optimizer-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "settings-context.spec.ts",
"passed": 10,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "system-database-context.spec.ts",
"passed": 6,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "terminal-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "uptime-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "users-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "vxlan-context.spec.ts",
"passed": 4,
"failed": 0,
"skipped": 0,
"flaky": 0
},
{
"file": "wireguard-context.spec.ts",
"passed": 8,
"failed": 0,
"skipped": 0,
"flaky": 0
}
]
}