HY2XS: testing, acceptance and smoke plan

1. Builder checks
- package успешно собирается локально
- в архиве есть UI, install entrypoint, orchestrator artifact, templates, units, metadata
- нет builder мусора в финальном package

2. Target install checks
- чистый Debian 12
- install flow проходит без ручной сборки
- Hysteria скачана с upstream
- HY2XS admin разложен из bundled package
- созданы оба systemd unit
- создан post-install.env
- post-install.env фиксирует Bun/TypeScript orchestrator stack

3. Runtime checks
- systemctl is-active hysteria-server = active
- systemctl is-active hy2xs-admin = active
- UDP порт слушается
- SSH не потерян после firewall
- UI доступен на заданном bind host/port
- тестовый совместимый клиент подключается

4. Branding/localization checks
- в UI нет китайских строк на основных маршрутах
- в UI нет ссылок на оригинальный репозиторий
- в UI нет update-кнопок и update-текстов
- бренд везде HY2XS / HY2XS admin

5. Negative checks
- порт уже занят
- старое состояние найдено
- неверный домен
- ошибка скачивания Hysteria2
- конфликтующие файлы UI
- отсутствует root context

6. Acceptance definition
Система считается реализованной, когда:
- локальный builder собирает install package;
- target install-only flow разворачивает систему на чистом Debian 12;
- HY2XS admin работает как встроенный форк;
- Hysteria2 получена с official upstream;
- оркестратор зафиксирован как Bun/TypeScript stack;
- UI русифицирован и ребрендирован;
- upstream update/repo logic удалена из UI;
- install acceptance не зависит от bot/access layer.
