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

9.3 KiB
Raw Blame History

Оставшаяся внешняя приёмка — 2026-10-10

Это актуальная матрица после 12.5.103. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.

Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend ux-patch102, frontend ux-a11y101; production lab использует AUTH_REQUIRED=false. Подписанные JWT/RBAC проверялись в изолированных процессах. Все собственные объекты последнего сценария удалены, исходные11 коллекций×2 восстановлены; пароли не менялись.

Раздел Подтверждено Осталось / условие завершения
PostgreSQL Bootstrap, backup/restore, SQL rollback, concurrency, writer drain одного экземпляра, JWT guards и unknown commit: блоки14–24 Несколько backend/worker экземпляров и координация всех writers; физическая потеря соединения отличается от введённого отказа подтверждения
Speed/uptime TCP transmit/receive/both32–33, короткий UDP34, auth failure25, transport timeout27, интерфейс after-ping28–29, snapshot/history race23–24 Busy/abort/physical WAN disconnect; HTTP receipt socket disconnect принят97; независимое доказательство multi-WAN source/path; Home→JH/JH↔Exit с асимметричными каналами ; ROS-10 POST/SQL/GET и три часовых пояса приняты96. Короткие тесты не доказывают maximum throughput
Outbox Production PG claim/dedupe/settlement/retry/JWT/browser checkpoint/a11y35–49 Настоящий Telegram API/чат, физический timeout после возможной отправки, несколько sender процессов. Нужны тестовый бот/чат и прямое разрешение на конкретное сообщение; подменённый ответ не доказывает доставку
GRE Native lifecycle, metadata, live формы/меню/URL/Ping53–57; GRE используется в OSPF/BGP/IPsec последующих блоков IPv6, независимые WAN, масштаб и длительное восстановление; принятие GRE не означает приёмку всех сценариев автоматического расписания
WireGuard Native handshake/data plane58, deletion60, live create/peer/disable/enable/delete62, mobile64, export/import67–74 Клиентские ОС и произвольные конфигурации, IPv6/scale, физический lost ACK и устойчивое восстановление; .conf с placeholders — шаблон, не принятый клиентский tunnel
VXLAN Собственная пара/private Ping/catalog/URL/export75–76 API приложения read-only: create/delete проверены native. IPv6, bridge/FDB/масштаб/производительность, профильные mutation RBAC/concurrency отдельно не приняты
IPsec PSK и сертификатное шифрование77–82, active peer/online/mode-config, scoped NAT/group, partial/unknown/applied receipts, restore conflicts, JWT Клиентские Windows/macOS/iOS/Android, сложные/escaped DN, полная PKI и policy/profile/proposal restore, физический disconnect, durable retry/multi-instance, IPv6/maximum throughput
OSPF/BFD Real Full/own routes84–85, раздельные наблюдения BFD86, effective disabled/optimizer cost/partial/RBAC87, alternate path90 и CIDR91 Sustained BFD-only gate не принят: в86 сосед мог вновь статьFull при доступныхHello. В90 переходный Ping18/40 с55% loss: бесшовность не принята. REST timing — наблюдаемая граница, не SLA; IPv6/scale/independent WAN открыты
BGP Established83, exact /32 exchange/API/UI/administrative withdrawal92, BFD primary GRE loss/alternate/recovery93 Hold timer безBFD, packet loss в переходе, разные внешние peers/WAN policy, IPv6/scale. Два логических пути используют тот же public WAN; physical redundancy не принята
Recursive routes Production PUT/change/own history restore88, disabled guards, partial/unknown/applied outcomes, live формы/контекст Автоматический rollback/retry, durable receipts и несколько экземпляров отсутствуют; PUT не является idempotent noop. Полная произвольная legacy catalog миграция не принята
Diagnostics/terminal Allowlist/native reads, Ping/trace/route/MTU/DNS, actual avg-rtt, disabled guards, JWT/live PC/mobile89 DNS использует backend resolver; MTU — ограниченная оценка, не гарантированный максимум. Stop ожидания не доказывает остановку RouterOS команды; arbitrary CLI и physical disconnect не приняты
Portal/интеграции Локальные и isolated JWT guards; UI/API error states в границах журналов Настоящий Portal issuer/login/отзыв прав; внешние RIPE/MaxMind/S3/container/certificate jobs и Gitea delivery требуют отдельных тестовых endpoints/аккаунтов. Не отправлять сообщения и не публиковать релиз без соответствующего поручения
Общая приёмка Локальная12.3.83 и профильные build/E2E/live проверки последующих блоков Итоговая согласованная версия, профильная проверка нового deployment, сквозная регрессия после последнего product изменения; scoped axe не означает полную WCAG сертификацию

Доказательства и точные ограничения: полная история этапа12, внешний протокол, BGP93, паспорт стенда. Невыполненные пункты не являются все блокерами данного лабораторного сценария: для выпуска необходимо явно определить требуемые конфигурации и принять их либо согласовать ограничение.

Следующая последовательность

  1. 12.5.95 завершён: source/context/compiled audit, production source drift не выявлен; нормализация и исключения явно указаны.
  2. 12.5.96 timezone завершён: 6 live UI cases. 97 HTTP receipt disconnect принят: протокол. 98 сообщение неизвестного native результата исправлено/развёрнуто. 99 main/context завершён с точной записью одного failure/delta;100 transport и101 accessibility исправлены/развёрнуты.102 malformed PATCH исправлен/принят.103 packet rows/public/GRE приняты в границах коротких samples; initial loss/root cause остаётся открытым.104 — BGP hold-timer безBFD.
  3. Заключительный профильный контроль: после последнего исправления собрать только затронутую часть, проверить её live и обновить матрицу. Общую регрессию выполнить один раз на согласованном runtime.
  4. Внешние зависимости: Telegram/Portal/client OS/multi-WAN/scale проходят отдельную приёмку при наличии нужных аккаунтов, устройств и разрешений. Лабораторный результат двух CHR не закрывает их автоматически.

Каждый блок: конкретный результат → профильные проверки → независимая сверка cleanup → датированная запись → локальный коммит без push. Не повторять уже принятые сценарии без изменения исходников или нового выявленного риска.