chore(docs): свести оставшуюся внешнюю приёмку

This commit is contained in:
Denozordec committed 2026-10-10 01:12:59 +07:00
1 parent e23038d409
commit 9d6cd000ef
6 files changed
+59 -9

No files matched your search

+7 -1
View File
@@ -1,6 +1,6 @@
# UX/UI: протокол внешней приёмки 12.5
Статус на2026-10-09: backend ux-routing83/frontend ux-ipsec77, backend healthy; основной блок IPsec77 и VXLAN76 приняты в описанных границах. В12.5.67 исправленный Peer .conf принят как клиентский шаблон: API6/6, browser4/4, server endpoint и placeholders; настоящий RSC roundtrip через UI/native/handshake/Ping принят в12.5.68, .conf с явнымName/отказы400/409/сохранение формы приняты в70; поздний native rejection/подтверждённая компенсация/retry приняты в72; изолированный audit INSERT permission denial принят в74; остальные неизвестные исходы/DB faults открыты. Мобильная ширина WireGuard Sheets принята в12.5.64. Мобильная GRE форма и native сохранение на обоих CHR приняты в12.5.57. WireGuard handshake/короткий Ping/native API/read-only UI приняты в границах12.5.58; 12.5.59 воспроизвёл оставшиеся peers/IP; 12.5.60 развернул исправление и принял обычное удаление own WG интерфейса с peer/IPv4 адресом на обоих CHR. 12.5.62 принял полный WireGuard UI create/peer/disable/enable/Ping/delete на обоих CHR; устойчивое меню развёрнуто. Устойчивость меню GRE при live refresh на обоих CHR принята в12.5.55. GRE peer metadata и реальный lifecycle/API/UI/двусторонний Ping подтверждены в12.5.53. Browser retry/checkpoint на реальном HTTP/PG принят в границах12.5.43–45; Telegram sender responses подменены, реальная доставка не проверена. PG-1/2/3/4/5 приняты в описанных границах, PG-6 integrated для одного isolated instance, PG-7 real JWT/processcounts и browser restore passed. PG-8 real PG/native и browser unknown→history done приняты с fault injection после настоящего COMMIT. ROS-8/9 real API/SQL/native приняты в границах12.5.23; browser pair/duration change и delete приняты в12.5.24. ROS-2 authentication failure принят в12.5.25. PortalSSO, физический TCP disconnect, мультиэкземпляры и остальные ROS/Q/интеграции остаются открытыми. [Паспорт](ux-ui-test-server.md), [журнал](ux-ui-progress.md). VXLAN75: собственная native пара/Ping/catalog/URL/export приняты, create/delete API отсутствует; selected baseline восстановлен.
Актуальное продолжение 2026-10-10: завершены12.5.93 BGP/BFD alternate-path и12.5.94 сводка оставшейся внешней приёмки. Актуальная матрица — docs/ux-ui-remaining-acceptance.md. Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.95 — сверка полного application source/build configuration с Docker contexts и устранение deployment drift, затем достижимые speed/финальные проверки. Этап12.5 открыт; внешние ограничения не сняты. [Матрица](ux-ui-remaining-acceptance.md), [паспорт](ux-ui-test-server.md), [история](ux-ui-stage-12.md).
IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md).
@@ -891,3 +891,9 @@ Production image не содержит dev-only jose: первый fixture impor
Правила подтверждены [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/), [BGP selection](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bgp/understanding-bgp/) и [Routing Filters](https://help.mikrotik.com/docs/spaces/ROS/pages/74678285/Route%2BSelection%2Band%2BFilters). Один public WAN у каждого CHR: это failover двух логических путей, не независимых физических каналов. Hold-timer безBFD, потеря пакетов в переходе, IPv6, scale, WAN policy, sustained BFD-only gate и ранее перечисленные внешние ограничения остаются открытыми.
Следующий94 — свести актуальную матрицу внешних ограничений и согласовать текущие указатели документов. Пятичасовая квота4% использовано после native блока; этап12.5 открыт. Один локальный коммит без push.
## 12.5.94 — актуальная матрица и согласование документов (2026-10-10)
Сведены доказательства PG/speed/outbox/VPN/routing/diagnostics после93 в [матрицу оставшейся приёмки](ux-ui-remaining-acceptance.md). Разделены достигнутый результат, непроверенные конфигурации и необходимые внешние зависимости. Указаны известные потери OSPF90, первая потеря Ping BGP93, sustained BFD-only86, AUTH_REQUIRED=false и границы isolated JWT. Принятые тесты не повторялись, native writes/сообщений/build0.
Текущие верхние указатели плана/протокола и таблица runtime паспорта исправлены: они ранее ещё ссылались на IPsec77/routing83. Исторические датированные записи сохранены. Следующий95 — полный source/build-context drift audit до новой общей регрессии; затем timezone/ограниченный disconnect speed96. Telegram/Portal/OS/WAN/multi-instance остаются отдельными внешними условиями. Локальные ссылки новой матрицы и датированные заголовки проверены; один локальный коммит без push.
+4 -4
View File
@@ -1,12 +1,12 @@
# План реализации UX/UI по пятичасовым окнам
Актуальное продолжение 2026-10-10: 12.5.93 принял BGP/BFD primary GRE loss → alternate GRE over WG → recovered primary, private exact /32/local-pref200/100, production API и steady Ping3/3×2 в трёх состояниях. Baseline11 коллекций×2 восстановлен; runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.94 — актуальная матрица внешних ограничений и согласование указателей документов. Квота4% использовано после native блока. Этап12.5 открыт.
Актуальное продолжение 2026-10-10: завершены12.5.93 BGP/BFD alternate-path и12.5.94 сводка оставшейся внешней приёмки. Актуальная матрица — docs/ux-ui-remaining-acceptance.md. Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.95 — сверка полного application source/build configuration с Docker contexts и устранение deployment drift, затем достижимые speed/финальные проверки. Этап12.5 открыт; внешние ограничения не сняты.
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-09. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-10. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат.
## Актуальная точка продолжения — 2026-10-09
## Актуальная точка продолжения — 2026-10-10
Актуальное продолжение 2026-10-09: 12.5.77 завершил укрупнённый основной блок IPsec: достоверное чтение, запрет опроса выключенных устройств, совместимый RouterOS7 мастер, раздельные ID клиентов, безопаснее удаление, URL устройства/вкладки, Docker обеих частей и реальная приёмка. Local30/30 + context6/6 + backend67, live browser4/4, PSK и сертификатный защищённый GRE/Ping3/3 на двух CHR; cleanup/DB controls passed. Runtime backend/frontend ux-ipsec77, version1.0.0-test.ipsec77. Следующий12.5.78 — остаточная профильная приёмка IPsec: сопоставление active-peer/online, выдача mode-config, поздние ошибки операций и история восстановления; затем маршрутизация. Этап12.5 открыт.
Актуальное продолжение 2026-10-10: завершены12.5.93 BGP/BFD alternate-path и12.5.94 сводка оставшейся внешней приёмки. Актуальная матрица — docs/ux-ui-remaining-acceptance.md. Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.95 — сверка полного application source/build configuration с Docker contexts и устранение deployment drift, затем достижимые speed/финальные проверки. Этап12.5 открыт; внешние ограничения не сняты.
Этапы0–11 завершены в локальных границах журнала. История выполненных внешних блоков и доказательства сохранены в [журнале](ux-ui-stage-12.md) и [протоколе](ux-ui-external-acceptance.md). Реальная Telegram доставка, Portal SSO, multi-instance и оставшиеся профильные сетевые ограничения открыты.
+8 -2
View File
@@ -1,6 +1,6 @@
# UX/UI: журнал реализации
Актуальное продолжение 2026-10-10: 12.5.93 принял BGP/BFD primary GRE loss → alternate GRE over WG → recovered primary, private exact /32/local-pref200/100, production API и steady Ping3/3×2 в трёх состояниях. Baseline11 коллекций×2 восстановлен; runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.94 — актуальная матрица внешних ограничений и согласование указателей документов. Квота4% использовано после native блока. Этап12.5 открыт.
Актуальное продолжение 2026-10-10: завершены12.5.93 BGP/BFD alternate-path и12.5.94 сводка оставшейся внешней приёмки. Актуальная матрица — docs/ux-ui-remaining-acceptance.md. Runtime backend ux-diagnostics89/frontend ux-ospf91. Следующий12.5.95 — сверка полного application source/build configuration с Docker contexts и устранение deployment drift, затем достижимые speed/финальные проверки. Этап12.5 открыт; внешние ограничения не сняты.
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
@@ -36,7 +36,13 @@
| 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; внешняя12.5 в работе, выполненные блоки1–93 и ограничения ниже. Runtime backend ux-diagnostics89/frontend ux-ospf91. |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка завершена в границах12.3.83; внешняя12.5 в работе, выполненные блоки1–94 и ограничения ниже. Runtime backend ux-diagnostics89/frontend ux-ospf91. |
## 12.5.94 — актуальная матрица и согласование документов (2026-10-10)
Сведены доказательства PG/speed/outbox/VPN/routing/diagnostics после93 в [матрицу оставшейся приёмки](ux-ui-remaining-acceptance.md). Разделены достигнутый результат, непроверенные конфигурации и необходимые внешние зависимости. Указаны известные потери OSPF90, первая потеря Ping BGP93, sustained BFD-only86, AUTH_REQUIRED=false и границы isolated JWT. Принятые тесты не повторялись, native writes/сообщений/build0.
Текущие верхние указатели плана/протокола и таблица runtime паспорта исправлены: они ранее ещё ссылались на IPsec77/routing83. Исторические датированные записи сохранены. Следующий95 — полный source/build-context drift audit до новой общей регрессии; затем timezone/ограниченный disconnect speed96. Telegram/Portal/OS/WAN/multi-instance остаются отдельными внешними условиями. Локальные ссылки новой матрицы и датированные заголовки проверены; один локальный коммит без push.
## 12.5.93 — BGP/BFD: потеря основного GRE и резервный путь (2026-10-10)
+32
View File
@@ -0,0 +1,32 @@
# Оставшаяся внешняя приёмка — 2026-10-10
Это актуальная матрица после 12.5.93. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии.
Стенд: Debian13/Compose, PostgreSQL18.6, два CHR RouterOS7.24.5. Backend `ux-diagnostics89`, frontend `ux-ospf91`; 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/реальный disconnect; независимое доказательство multi-WAN source/path; Home→JH/JH↔Exit с асимметричными каналами и ROS-10 разные часовые пояса. Короткие тесты не доказывают 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](ux-ui-stage-12.md), [внешний протокол](ux-ui-external-acceptance.md), [BGP93](ux-ui/acceptance/bgp-failover-2026-10-10.json), [паспорт стенда](ux-ui-test-server.md). Невыполненные пункты не являются все блокерами данного лабораторного сценария: для выпуска необходимо явно определить требуемые конфигурации и принять их либо согласовать ограничение.
## Следующая последовательность
1. **12.5.95 — полнота deployment:** сверить весь tracked application source/build configuration с накопленными Docker contexts. Зафиксировать фактическую версию и устранить drift до новой широкой регрессии. Новые туннели не нужны.
2. **12.5.96 — оставшиеся достижимые проверки speed:** время истории/часовые пояса и короткий ограниченный disconnect на выделенной probe; исходные данные и процессы должны быть восстановлены. Сначала проверить контракт, не повторять принятые направления/нагрузочные тесты.
3. **Заключительный профильный контроль:** после последнего исправления собрать только затронутую часть, проверить её live и обновить матрицу. Общую регрессию выполнить один раз на согласованном runtime.
4. **Внешние зависимости:** Telegram/Portal/client OS/multi-WAN/scale проходят отдельную приёмку при наличии нужных аккаунтов, устройств и разрешений. Лабораторный результат двух CHR не закрывает их автоматически.
Каждый блок: конкретный результат → профильные проверки → независимая сверка cleanup → датированная запись → локальный коммит без push. Не повторять уже принятые сценарии без изменения исходников или нового выявленного риска.
+6
View File
@@ -2200,3 +2200,9 @@ Production image не содержит dev-only jose: первый fixture impor
Правила подтверждены [MikroTik BFD](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bfd/), [BGP selection](https://manual.mikrotik.com/docs/user-guides/routing-and-networking-protocols/unicast/bgp/understanding-bgp/) и [Routing Filters](https://help.mikrotik.com/docs/spaces/ROS/pages/74678285/Route%2BSelection%2Band%2BFilters). Один public WAN у каждого CHR: это failover двух логических путей, не независимых физических каналов. Hold-timer безBFD, потеря пакетов в переходе, IPv6, scale, WAN policy, sustained BFD-only gate и ранее перечисленные внешние ограничения остаются открытыми.
Следующий94 — свести актуальную матрицу внешних ограничений и согласовать текущие указатели документов. Пятичасовая квота4% использовано после native блока; этап12.5 открыт. Один локальный коммит без push.
## 12.5.94 — актуальная матрица и согласование документов (2026-10-10)
Сведены доказательства PG/speed/outbox/VPN/routing/diagnostics после93 в [матрицу оставшейся приёмки](ux-ui-remaining-acceptance.md). Разделены достигнутый результат, непроверенные конфигурации и необходимые внешние зависимости. Указаны известные потери OSPF90, первая потеря Ping BGP93, sustained BFD-only86, AUTH_REQUIRED=false и границы isolated JWT. Принятые тесты не повторялись, native writes/сообщений/build0.
Текущие верхние указатели плана/протокола и таблица runtime паспорта исправлены: они ранее ещё ссылались на IPsec77/routing83. Исторические датированные записи сохранены. Следующий95 — полный source/build-context drift audit до новой общей регрессии; затем timezone/ограниченный disconnect speed96. Telegram/Portal/OS/WAN/multi-instance остаются отдельными внешними условиями. Локальные ссылки новой матрицы и датированные заголовки проверены; один локальный коммит без push.
+2 -2
View File
@@ -1,4 +1,4 @@
# Тестовый сервер UX/UI — 2026-10-09
# Тестовый сервер UX/UI — 2026-10-10
Сервер161.104.46.222 предоставлен для временного тестирования. Backend ux-diagnostics89/version1.0.0-test.diagnostics89, frontend ux-ospf91/version1.0.0-test.ospf91; backend/PG healthy, frontend HTTP/browser passed. Основной блок IPsec77 принят в границах журнала, own fixtures/fake DB rows удалены; каталог flash CHR2 сохранён из-за неподтверждённого ownership. SSH/оба CHR доступны, пароли прежние.
@@ -14,7 +14,7 @@
| PostgreSQL | postgres:18-alpine,18.6;mmapp-test-postgres healthy;SELECT version() passed |
| Данные | Отдельный Compose project mmapp-test,том mmapp-test_mmapp-pgdata и каталог ./data |
| Доступ | PostgreSQL не публикуется;frontend3000/backend8000 привязаны к127.0.0.1 после запуска |
| Образы приложения | mmapp-test/backend:ux-routing83 и mmapp-test/frontend:ux-ipsec77; запущены |
| Образы приложения | mmapp-test/backend:ux-diagnostics89 и mmapp-test/frontend:ux-ospf91; запущены |
Compose SHA256:3052bd6ab5d9865f97605cebfb5ff27a4410cd3357b81153a65a87fb7c92582f. OptionalBACKEND_IMAGE_TAG позволяетобновлятьbackendотдельно. Локальный и удалённый файлы совпали. Шаблоны: [Compose](../deploy/docker-compose.test.yml), [env без секретов](../deploy/env.test.example).