Files
MikrotikManager/docs/ux-ui-acceptance-candidate.md
T

50 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Итоговая лабораторная приёмка UX/UI — 2026-10-15
Статус: **основной UX/UI-план, включая этап12.5, завершён в границах предоставленного тестового стенда**. Перечисленные ниже внешние ограничения сохраняются. Документ фиксирует состояние до публикации. Владелец отдельно разрешил публикацию main/2.0.0; [описание релиза](releases/2.0.0.md). Это не изменяет границы лабораторных доказательств.
## Проверенный контур
- Debian13/Docker Compose, PostgreSQL18.6, Portal1.3.1; один backend.
- Два тестовых CHR RouterOS7.24.5:194.226.121.150 и104.165.244.7. HTTP REST используется по разрешению владельца стенда.
- Backend `ux-certificates258`: `sha256:984684709e619972bae8657208e3150d12f1c4f2b5642fecf5286a5d87e9fe71`.
- Frontend `ux-accessibility261`: `sha256:eec4410f1109a46e864d695cfb4311fdb9a224247549c8a9e78e44c6c0e455cb`.
- Основной ПК и узкий экран320px, обе темы. Android StrongSwan full-tunnel/reconnect подтверждены пользователем227; прочие ОС этим не принимаются.
Точные версии активных образов: [deployment261](ux-ui/acceptance/ui261-deployment.json). История решений: [план](ux-ui-plan.md), [журнал](ux-ui-progress.md), [внешняя матрица](ux-ui-remaining-acceptance.md).
## Критерии этапа12
| Критерий | Фактический результат | Граница доказательства |
| --- | --- | --- |
| Общая оболочка, доступность и адаптивность |260/261:120 уникальных default states30 экранов, обе темы/1440 и320px; профильные клавиатурные проверки и исправленный фокус при смене URL | Результаты разных фаз сохранены; это не полный ручной screen-reader аудит и не все состояния каждой формы |
| Достоверность данных и операций | Unknown/partial состояния и подтверждение операций проверены профильными наборами и реальными сценариями журнала; в259 проверены native ID/key/fingerprint, TLS и canonical dates | Успех HTTP сам по себе не принят за применение; произвольные внешние конфигурации не охвачены |
| Производительность | Большие списки — локальная12.3.83;260 — synthetic timings с отдельным ожиданием ответов API;262 —10min REST soak/252 запросов | Это измерения конкретного стенда, без заявления field CWV, maximum throughput или бесконечной устойчивости |
| Сборки и регрессия | Backend257:25 profiles; certificates258:9 scripts/build/lint; frontend261:production build, source528 matched; профильные E2E260/261 пройдены | UI263:1393 initial +3 targeted =1396 unique passed; отдельный context264:219 initial +2 targeted =221 unique passed;0 skipped/flaky в обоих наборах. Это разные прогоны, без суммирования повторов |
| Реальные интеграции | Portal/Telegram195–201, Android227, S3/limited bridge restore/retention228–240, GeoIP mirror242, контейнеры248, ACME250/renewal259 | Успех этих сценариев не подтверждает все сторонние клиенты/провайдеры и многопроцессную установку |
| ReUI | Frame/base-nova/установленные компоненты; semantic Badge variants; vendor/theme/motion не изменены; checklist и scoped проверки зафиксированы260/261 | Вне проверенных состояний могут оставаться проблемы; автоматический axe не является полной сертификацией WCAG |
Краткие протоколы: [UI260](ux-ui/acceptance/ui260-summary.json), [UI261](ux-ui/acceptance/ui261-summary.json), [REST262](ux-ui/acceptance/rest262-summary.json), [UI263](ux-ui/acceptance/ui263-summary.json), [context264](ux-ui/acceptance/context264-summary.json), [ACME259](ux-ui/acceptance/acme259-native-rotation.json).
## Что остаётся за пределами подтверждённого контура
| Группа | Что не подтверждено / чего не хватает |
| --- | --- |
| Клиентские ОС и доступность | Windows/macOS/iOS VPN; другие Android-конфигурации; ручная проверка screen reader/assistive technology |
| Внешняя сеть | Публичного IPv6 на стенде нет; независимые WAN, физическая потеря пути, outer IPv6 и maximum throughput не приняты |
| Масштаб и устойчивость | Несколько полноценных backend/worker со всеми writers, длительные rekey/failover/DB disconnect; контролируемые multi-process тесты не заменяют весь этот контур |
| PKI и маршрутизация | Произвольные PKI/OID/path-length/политики, все конфигурации IPv6/address pool; CA revocation ACME отдельно не принят |
| Внешние сервисы | Публикация Gitea CI не запускалась по правилу no push; прямой licensed MaxMind отсутствует в текущей реализации; EvoBGP на стенде выключен и не настроен |
| S3 | Большой native export, произвольная миграция бакетов и работа нескольких экземпляров требуют отдельной приёмки; полный restore конфигурации CHR не выполнялся |
Эти строки — ограничения доказательств и возможностей текущей реализации. Они не превращаются автоматически в поручение реализовать новые функции или получить отсутствующее оборудование.
## Состояние стенда и сохранность
После ACME259 восстановлены исходные SSL/native certificates/files/export и приватные SQL-настройки; собственные DNS/issue jobs и приватные ACME fixtures удалены. Контрольные проверки обоих CHR успешны; пароли не менялись. Последующие260–264 не изменяли конфигурацию устройств. ECMP261 проверялся как локальный черновик, затем возвращён off.
Коммиты только локальные, без push. В полном UI-наборе263 фактический Next dev manifest направляет unmocked proxy на недоступный `127.0.0.1:9`; исходные371 screenshot-файл сохранены перед запуском и сверены:124 перезаписанных восстановлены, SHA-256 всех371 совпал; два исторических JSON также восстановлены.
## Завершение и дальнейшая работа
Критерии согласованного этапа12 — production build, тесты, ReUI checklist и перечень оставшихся ограничений — выполнены в указанном контуре. На предоставленном стенде обязательных незавершённых блоков основного плана нет. Для расширения покрытия следует выбрать конкретную группу из таблицы и обеспечить её условия; повторять принятые наборы без изменений не требуется. Публикация и production-развёртывание в текущий объём не входят.