# Инженерный и release checklist Актуализировано: 2026-07-31. Порядок продуктовой разработки задаёт `ROADMAP.md`. Этот файл содержит только критерии готовности к merge/release/deploy. ## Состояние ветки `main` - [x] Go agent source и production package имеют версию `0.6.8`. - [x] LuCI package `0.2.2` и отдельный `luci-i18n-rmm-agent-ru`. - [x] Notification center, verification, quiet hours, webhook, per-device overrides и incidents. - [x] Delivery metrics, channel diagnostics и server-side notification history filters. - [x] Profile/Security/Notifications tabs и admin-only Users tab. - [x] LAN client persistence с online/recent/unconfirmed. - [x] Current OpenWrt 24.10/25.12 matrix и отдельная manual legacy matrix. - [x] Подписанные IPK/APK repositories, SBOM/provenance и Cosign для server images. - [x] Stable update manifest с package compatibility, ECDSA signature и Sigstore bundle. - [x] DirectDNS удалён; cloud access использует wildcard domain и исходящий tunnel. ## Текущее состояние релизов - [x] `server-v0.9.0` опубликован с notification center и LAN client persistence. - [x] `agent-v0.6.8` создан как подписанный tag. - [x] Все jobs `agent-v0.6.8` завершены успешно и package feed опубликован. - [ ] `server-v0.9.1` создан с GPG-подписью и содержит notification operations, profile tabs и LAN neighbour cleanup. - [ ] Production закреплён на точной `RMM_RELEASE_VERSION`, а не `latest`. ## Перед `agent-v*` - [ ] Версия совпадает в Go source и production package. - [ ] В `CHANGELOG.md` есть английский раздел для точного tag. - [ ] Tag подписан GPG и ранее не публиковался. - [ ] Основная OpenWrt matrix собрана без ошибок. - [ ] Release содержит только устанавливаемые `.ipk`/`.apk`. - [ ] Feed содержит подписанные indexes и публичные ключи. - [ ] Update manifest и Sigstore bundle опубликованы и независимо проверены. - [ ] Установлены agent, LuCI и optional Russian i18n из опубликованного feed. - [ ] Проверены install, upgrade, restart, stop и удаление runtime lock/state. - [ ] При необходимости manual legacy workflow добавляет пакеты без перемещения tag. ## Перед `server-v*` - [ ] В `CHANGELOG.md` есть английский раздел для точного tag. - [ ] Tag подписан GPG и ранее не публиковался. - [ ] `go test ./...`, `go vet ./...`, web checks и Docker build прошли. - [ ] Compose base/release/NPMplus configurations валидны. - [ ] Server и tunnel images имеют один version tag, digest, SBOM, provenance и Cosign signature. - [ ] Миграция проверена на копии актуальной production SQLite. - [ ] Подготовлен rollback на предыдущий image tag. ## Перед production deploy - [ ] Приватные package/tunnel keys имеют зашифрованную офлайн-копию. - [ ] GitHub Actions secrets настроены; секреты отсутствуют в repository и build artifacts. - [ ] Сделан согласованный backup SQLite и проверено его чтение в отдельном окружении. - [ ] `.env` использует точный release, production URL/domain и secure cookie. - [ ] Legacy enrollment/LuCI proxy и insecure dev mode выключены. - [ ] `docker compose config --quiet`, pull/up и service healthcheck прошли. - [ ] Проверены login, profile, password reset, enrollment и user isolation. - [ ] Проверены свежие SSH/LuCI sessions, timeout, close и error states. - [ ] Проверены SMTP/Telegram/webhook test sends без раскрытия секретов. - [ ] Проверены active → repeat → resolved и retry → dead-letter. - [ ] Проверены notification center/SSE и quiet hours/maintenance. - [ ] Проверены LAN client online → recent → unconfirmed. - [ ] Проверены desktop, 4:3, tablet и mobile. ## Для каждого изменения - [ ] Diff ограничен задачей и не содержит generated/production/secret файлов. - [ ] `gofmt` и `go test ./...`. - [ ] `go vet ./...`. - [ ] `npm run check:web`. - [ ] `docker compose config --quiet`, если затронут deployment. - [ ] Docker build, если затронут server image или runtime. - [ ] OpenWrt package smoke, если затронут agent/LuCI/builder/workflow. - [ ] Добавлены или обновлены тесты для изменённой логики. - [ ] Обновлены API/config/deployment docs, если изменился контракт. - [ ] `ROADMAP.md` меняется только при изменении фактического статуса или порядка работ. ## Последняя подтверждённая проверка Commit: `f492782` (`server-v0.9.0`). - [x] `go test ./...`. - [x] `go vet ./...`. - [x] `npm run check:web`. - [x] `docker compose config --quiet`. - [x] Main CI завершён успешно. - [x] Локальная OpenWrt 24.10.7 ramips/mt7621 сборка создала agent, LuCI и Russian i18n. - [x] Полная tagged matrix `agent-v0.6.8` и GitHub Pages deployment завершены. - [ ] Production smoke выполнен на release, содержащем текущий `main`.