From 6255f44975a7e2cceccf01980bde6895647d2499 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Wed, 7 Oct 2026 18:42:00 +0700 Subject: [PATCH] =?UTF-8?q?chore(ux):=20=D1=81=D0=BE=D1=85=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=82=D1=8C=20=D0=B8=D1=82=D0=BE=D0=B3=D0=BE=D0=B2?= =?UTF-8?q?=D1=83=D1=8E=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B8=20=D1=82=D0=BE=D1=87=D0=BA=D1=83=20=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D1=88=D0=BD=D0=B5=D0=B9=20=D0=BF=D1=80=D0=B8=D1=91=D0=BC=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ux-ui-external-acceptance.md | 3 +- docs/ux-ui-plan.md | 4 +- docs/ux-ui-progress.md | 12 +- docs/ux-ui-stage-12.md | 10 +- .../context-speed-final-2026-10-07.json | 203 ++++++++++++++++++ 5 files changed, 226 insertions(+), 6 deletions(-) create mode 100644 docs/ux-ui/acceptance/context-speed-final-2026-10-07.json diff --git a/docs/ux-ui-external-acceptance.md b/docs/ux-ui-external-acceptance.md index 863b7759..3120b095 100644 --- a/docs/ux-ui-external-acceptance.md +++ b/docs/ux-ui-external-acceptance.md @@ -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-серией не расширялись. diff --git a/docs/ux-ui-plan.md b/docs/ux-ui-plan.md index 3e52b8bf..cfc278ee 100644 --- a/docs/ux-ui-plan.md +++ b/docs/ux-ui-plan.md @@ -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). diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index 681e262f..6d9bddb8 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -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) diff --git a/docs/ux-ui-stage-12.md b/docs/ux-ui-stage-12.md index 2b394a15..2dc87cff 100644 --- a/docs/ux-ui-stage-12.md +++ b/docs/ux-ui-stage-12.md @@ -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; чужие изменения сохранены. diff --git a/docs/ux-ui/acceptance/context-speed-final-2026-10-07.json b/docs/ux-ui/acceptance/context-speed-final-2026-10-07.json new file mode 100644 index 00000000..2ef2fefb --- /dev/null +++ b/docs/ux-ui/acceptance/context-speed-final-2026-10-07.json @@ -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 + } + ] +}