fix(releases): проверять манифест и достоверность сведений о сборке

This commit is contained in:
Denozordec committed 2026-10-03 21:59:55 +07:00
1 parent d5edfe5ef6
commit 1d27127b52
10 files changed
+135 -64

No files matched your search

+9 -1
View File
@@ -28,7 +28,7 @@
| 9 | VPN, Firewall и Filters | Завершён в границах локальной приёмки 2026-09-30; блоки 9.1–9.64, ограничения в 9.64 |
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.4.4.3.11; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | В работе: 11Б.1–11Б.5; scheduler и GeoIP приняты локально; NetFlow принят локально; Evolution принят локально; далее общие Settings |
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Не начат |
@@ -36,6 +36,14 @@
## Блок 11Б.5 — достоверность метаданных релиза (2026-10-03)
- Runtime parser проверяет version/tag/date/commit fields, уникальные SHA и short SHA; malformed/missing JSON даёт unknown вместо фиктивного fallback v1.0.0. Подтверждённый пустой манифест остаётся пустым. Ссылки допускают только абсолютные HTTP(S) без credentials; rel=noopener noreferrer. Версии вручную не менялись.
- Страница разделяет текущую локальную/production версию и манифест, не утверждает публикацию по файлу CI. Дата обозначена датой манифеста и не приписывается несовпадающей текущей версии. Сводка показывает фактическое число preview записей; длинные строки переносятся.
- Общее окно Что нового использует тот же parser, появляется только для совпадающей production версии с коммитами. Fetch bounded/abort-on-unmount; ссылка-кнопка Base UI использует nativeButton=false. Installed primitives не изменены.
- 3 unit и 3 browser (320/1440, corrupted JSON и длинная запись/safe link) прошли, typecheck/lint и финальная production build frontend/contracts прошли; ReUI checklist применён, screenshot320 просмотрен. Browser fixture восстанавливает исходные bytes public/release-manifest.json в finally, diff отсутствует. Первый long-entry тест нашёл дубликат из лишней локальной модалки; причина исправлена.
- Реальная публикация в Gitea/CI не проверена. Следующий блок 11Б.6: достоверное чтение live speed-test в расписании диагностики, права uptime:read, повтор/последние данные и неизвестный RX без нуля; затем source/адаптивная приёмка и сводная приёмка 11Б/12. Processing recovery требует отдельного доказательства остановки всех отправителей.
## Блок 11Б.4.4.3.11 — приоритет правил и мобильная компоновка (2026-10-03)
- Правила и фильтры расположены перед каталогами, очередью, пресетами и подсказками. Независимые readers каталогов/очереди остаются смонтированы и доступны даже без подтверждённых основных данных. Формы, checkpoints, общий lock и API не изменены.