feat(rust): advance powershell migration

This commit is contained in:
igor04091968
2026-06-06 08:58:46 +03:00
parent 2ec1836e8c
commit 9c57d6d2ce
42 changed files with 10056 additions and 407 deletions
+140
View File
@@ -0,0 +1,140 @@
# Анализ разрывов готовности пилота: AWatch-rus
Дата аудита: 2026-06-05.
Назначение: финальная проверка готовности AWatch-rus к демонстрационному
пилоту для руководителя, ИБ и эксплуатации. После первичного аудита закрыты
демонстрационные разрывы без добавления новых сущностей, новых интеграций и
архитектурных изменений.
Не входило в аудит: pfSense, Telegram, Grafana, InfluxDB.
## 1. Готово к пилоту
- Executive View готов к демонстрации: главный вывод отображается первым,
управленческие блоки идут в понятном порядке, технические термины не
выводятся в пользовательском тексте.
- Security View готов к демонстрации: есть кандидаты на проверку, аудит,
материалы расследования, пакет расследования и переход к карточке
расследования.
- Operations View готов к демонстрации: видны полнота и качество данных,
ошибки сбора, состояние источников и доступность событий безопасности.
- Контур ClickHouse для событий ИБ работает на `<GATEWAY_HOST>` в Docker-контейнере
`aw-rus-1c-clickhouse`; портал читает события через ClickHouse, fallback не
используется.
- `/api/health` возвращает `ok=true`; источники `detmir_check`,
`detmir_status`, `worktime_api`, `worktime_management`, `one_c`,
`dlp_health`, `security_events` находятся в рабочем состоянии.
- В текущем отчете есть 3 кандидата на проверку; smoke подтвердил 3 кнопки
перехода к расследованию.
- Первый отчет прогревается при старте `detmir-portal.service`; после прогрева
`/api/reports` отвечает за доли секунды.
- Фоновое обновление больше не переводит готовый экран обратно в состояние
"Загрузка данных"; 70-секундная браузерная проверка сохранила `READY`.
- Мобильная проверка 390px проходит: страница доходит до `READY`, глобального
горизонтального расползания body не выявлено.
- Обязательные проверки на текущем дереве пройдены:
| Проверка | Итог |
| --- | --- |
| `cargo test --workspace` | Пройдено. |
| `cargo clippy --all-targets --all-features` | Пройдено. |
| `cargo build --release` | Пройдено. |
| `node scripts/detmir-portal-tabs-smoke.mjs` | Пройдено против `<PORTAL_URL>` с `security_events=available`. |
## 2. Желательно исправить до пилота
- Передать заказчику только вычитанные customer-facing документы. Внутренние
документы могут содержать технические обозначения, но демонстрационный пакет
для руководителя должен использовать русские деловые формулировки.
- Отдельно проверить экспорт итогового отчета в том формате, который будет
показан заказчику: текстовый отчет, печать или PDF.
- Зафиксировать демонстрационный сценарий в виде короткой шпаргалки оператора:
с какой вкладки начинать, какой кандидат открывается, какой пакет скачивать,
какой итоговый вывод озвучивать.
- Зафиксировать hand-off правило для Rust-сборки: на этой машине использовать
`CARGO_TARGET_DIR=<LOCAL_CARGO_TARGET_DIR>`, потому что старый
`target/` на `fuseblk` непригоден для `libsqlite3-sys`.
## 3. Критично исправить до пилота
Критичных технических блокеров для контролируемого демонстрационного пилота на
текущем контуре не осталось.
Единственное обязательное условие перед показом: не начинать демонстрацию без
короткого преддемо-прогона портала на том же экране и сети. Это не доработка
продукта, а операционная страховка от внешних факторов: сеть, браузер, доступ к
стенду, свежесть данных.
## 4. Можно перенести после пилота
- Полное hardening JSON/JSONL-хранилищ: блокировки, atomic write, ротация,
retention, backup/restore и нагрузочная проверка больших state-файлов.
- Формальную матрицу версий API и журнал совместимых и несовместимых изменений
полей.
- Расширенные нагрузочные тесты и sizing под промышленную эксплуатацию.
- Полировку коммерческого пакета после первой обратной связи заказчика.
- Расширенную автоматизацию мобильных скриншотов и визуальных regression tests.
- Расширенную регламентацию долгосрочного доступа к материалам расследований и
архивам.
## 5. Общая оценка готовности
AWatch-rus готов к контролируемому демонстрационному пилоту на текущем DetMir
контуре. Архитектура сохранена, обратная совместимость не нарушена, новые
интеграции и сущности не добавлялись.
Практическая оценка готовности: 90% для демонстрационного пилота. Оставшиеся
10% относятся не к блокерам кода, а к дисциплине показа: прогрев, заранее
открытый сценарий, проверенный экспорт и вычитанный customer-facing пакет.
## 6. Оценка Executive View
- Главный вывод расположен первым и подтвержден smoke-проверкой порядка блоков.
- Представление понятно руководителю без знаний ИБ: риск описывается через
подразделение, причину, подтверждающие слои и рекомендуемое действие.
- Англоязычные и внутренние технические обозначения в пользовательском слое
smoke не обнаружил.
- Итог: Executive View можно показывать руководителю.
## 7. Оценка Security View
- Есть очередь кандидатов на проверку, аудит, материалы расследования и пакет
расследования.
- Ручное подтверждение сохранено: система не создает инциденты автоматически
без решения ответственного.
- Переход "кандидат -> расследование" проверен smoke: найдено 3 кнопки перехода.
- Итог: Security View можно показывать ИБ как пилотный процесс ручной проверки.
## 8. Оценка Operations View
- Operations View показывает полноту данных, качество данных, ошибки сбора,
состояние источников и режим событий безопасности.
- ClickHouse-события доступны через портал: `backend=clickhouse`, `status=ok`,
`fallback_used=false`.
- `/api/health` зеленый на рабочем контуре.
- Фоновое обновление не ломает готовое состояние экрана.
- Итог: Operations View можно показывать эксплуатации.
## 9. Риски демонстрации
| Риск | Влияние | Статус |
| --- | --- | --- |
| Открыть портал без прогрева или при нестабильной сети | Может выглядеть как долгая загрузка | Управляемо: service prewarm и преддемо-прогон |
| Не проверить экспорт отчета заранее | Можно потерять время на живом показе | Желательно закрыть до показа |
| Отдать внутреннюю документацию без вычитки | Лишние технические вопросы руководителя и ИБ | Желательно закрыть до показа |
| Данные изменятся перед демо и кандидатов станет меньше | Сценарий расследования может ослабнуть | Управляемо: проверить `/api/reports` перед показом |
| Внешние источники недоступны из-за сети | Потеря части операционной картины | Управляемо: преддемо health-check |
10-минутный сценарий сейчас подтвержден: главный риск, подразделение, причина
риска, кандидат на проверку, расследование, пакет расследования и итоговый
управленческий вывод доступны в портале.
## 10. Итоговая рекомендация
Допустить AWatch-rus к контролируемому демонстрационному пилоту.
Перед показом выполнить короткий операторский прогон: открыть портал, убедиться
в `Данные готовы`, проверить наличие кандидатов, открыть расследование, скачать
пакет расследования и открыть итоговый отчет. Это достаточно для уверенного
показа руководителю, ИБ и эксплуатации.