13 KiB
docs/roadmap/TASK_013_DETMIR_PRODUCTION_VALIDATION.md
Цель
Проверить реально работающий контур DetMir/AWatch-rus на нескольких пользователях и собрать фактические эксплуатационные данные.
Задача не про добавление функциональности.
Задача про проверку:
- что реально работает;
- что используется;
- где есть шум;
- где есть расхождение с документацией;
- какие риски есть перед расширением пилота.
Контекст
Проект уже находится в состоянии:
- Demo Freeze v1;
- Pilot-ready;
- Registry-preparation-ready;
- Enterprise-deployment-documented.
При этом существует реально работающий контур DetMir на нескольких пользователях.
Нужно проверить именно его, не подменяя проверку demo/synthetic данными.
Основные правила
Запрещено:
- добавлять новые API;
- добавлять новый UI;
- добавлять новые agent collectors;
- менять архитектуру;
- включать ML/LLM;
- добавлять DLP/SIEM/EDR claims;
- выгружать персональные данные в документы;
- коммитить реальные ФИО, логины, IP, hostname, названия подразделений заказчика;
- коммитить runtime artifacts, логи, дампы, скриншоты с реальными данными.
Разрешено:
- добавлять документацию;
- добавлять checklist;
- добавлять anonymized summary;
- добавлять smoke/validation scripts, если они не раскрывают данные;
- исправлять явные naming/documentation inconsistencies;
- фиксировать gaps как отдельные рекомендации.
Что проверить
1. Runtime Health
Проверить работающий контур:
/healthz;/readyz;/version;/metrics.
Зафиксировать:
- доступность;
- response status;
- наличие request id / correlation id;
- отсутствие 500;
- корректность metrics format.
Не сохранять реальные URL, IP, hostname.
2. Portal Usage Validation
Проверить вручную или через browser smoke:
- Executive Dashboard;
- Workforce view;
- Security view;
- Forensics view;
- Reports view.
Зафиксировать:
- какие страницы реально открываются;
- какие блоки отображаются;
- есть ли пустые/сломанные блоки;
- есть ли 500/404;
- есть ли визуальные проблемы.
Не коммитить screenshots с реальными данными.
Если нужны screenshots — сохранить только локально или сделать обезличенные.
3. KPI Validation
Проверить:
- Workforce KPI;
- Explainable KPI;
- Department Comparison;
- Trend Status.
Ответить:
- KPI выглядит правдоподобно или нет;
- explainability помогает понять KPI или нет;
- есть ли очевидно ложные/странные объяснения;
- есть ли недостаток данных;
- есть ли
confidence: low.
4. UEBA / Risk Narrative / Action Center Validation
Проверить:
- UEBA Score;
- Risk Narrative;
- Recommended Actions.
Зафиксировать:
- есть ли шумные правила;
- есть ли бесполезные рекомендации;
- есть ли рекомендации без достаточной evidence;
- есть ли risk level, который выглядит завышенным;
- есть ли risk level, который выглядит заниженным.
Важно:
не исправлять правила в этой задаче, если это требует изменения логики.
Только зафиксировать findings.
5. Agent / Data Flow Validation
Проверить текущий runtime:
- работает ли текущий агентский контур;
- есть ли backlog/spool;
- есть ли ошибки flush;
- есть ли dead-letter;
- нет ли потери данных;
- heartbeat поступает или нет;
- данные доходят до портала/отчетов.
Если используются оба:
awatch-agent-rs;adk-rust/crates/awatch-agent;
зафиксировать их фактические роли:
legacy/current runtime:
new baseline core:
6. Performance Snapshot
Собрать обезличенную сводку:
- примерное число пользователей;
- примерное число событий/записей в сутки, если безопасно доступно;
- размер spool/backlog;
- время генерации report;
- время ответа основных API;
- наличие slow requests;
- наличие ошибок в logs.
Не коммитить raw logs.
7. Data Hygiene / Sensitive Data Audit
Проверить, что в репозитории и документах после работы не появились:
- реальные ФИО;
- реальные логины;
- реальные IP;
- реальные hostname;
- реальные подразделения заказчика;
- реальные screenshots;
- runtime logs;
- database dumps;
- персональные данные.
Что создать
Создать документ:
docs/DETMIR_PRODUCTION_VALIDATION_RU.md
Структура:
# DetMir Production Validation
## Executive Summary
## Scope
## Environment
Обезличенно:
- пользователей: несколько;
- контур: working internal pilot;
- данные: реальные, но в документе не раскрываются.
## Runtime Health
## Portal Validation
## KPI Validation
## Explainable KPI Validation
## UEBA Validation
## Risk Narrative Validation
## Executive Action Center Validation
## Agent/Data Flow Validation
## Performance Snapshot
## Noise / False Positive Findings
## Documentation Mismatches
## Security / Privacy Notes
## Gaps
## Recommended Next Tasks
## Explicit Non-Goals
## Conclusion
Что обновить
Обновить:
docs/roadmap/TASK_013_DETMIR_PRODUCTION_VALIDATION.md
Добавить секцию:
## Выполнение
с кратким итогом.
При необходимости обновить:
docs/ROADMAP_CONFORMANCE_AUDIT_RU.md
только если найдены важные расхождения.
Допустимые scripts
Если полезно, добавить:
scripts/detmir-production-validation-smoke.mjs
Требования:
- не печатать реальные данные;
- не сохранять payload с персональными данными;
- проверять только статусы, наличие блоков и обезличенные счетчики;
- URL задавать через env:
DETMIR_VALIDATION_URL=http://127.0.0.1:8720
Проверки
Выполнить:
cargo fmt --all --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all
cargo build --release
node scripts/deployment-readiness-smoke.mjs
node scripts/pilot-validation-smoke.mjs
AWATCH_PORTAL_SMOKE_URL=http://127.0.0.1:8720 node scripts/awatch-production-hardening-smoke.mjs
Если добавлен новый script:
node --check scripts/detmir-production-validation-smoke.mjs
DETMIR_VALIDATION_URL=http://127.0.0.1:8720 node scripts/detmir-production-validation-smoke.mjs
Также выполнить:
git diff --check
и sensitive scan по добавленным/измененным файлам.
Критерии приемки
Задача выполнена, если:
- создан
docs/DETMIR_PRODUCTION_VALIDATION_RU.md; - рабочий контур проверен без раскрытия персональных данных;
- health/ready/version/metrics проверены;
- portal проверен;
- KPI/explainability проверены;
- UEBA/Risk Narrative/Action Center проверены;
- agent/data flow проверен;
- performance snapshot зафиксирован обезличенно;
- gaps и recommended next tasks сформированы;
- sensitive data не попали в git;
- все проверки проходят.
Финальный отчет Codex должен содержать
- Что проверено.
- Что подтверждено как работающее.
- Какие gaps найдены.
- Какие noisy rules/recommendations найдены.
- Какие privacy/security ограничения соблюдены.
- Какие документы созданы/обновлены.
- Какие scripts добавлены.
- Результаты проверок.
- Рекомендованные следующие задачи.
Выполнение
Статус: выполнено как production validation / operational audit.
Создан документ:
docs/DETMIR_PRODUCTION_VALIDATION_RU.md.
Проверено без коммита реальных payload/logs/screenshots:
- gateway и portal runtime;
- ActivityWatch API;
- portal API reports;
- portal tabs и role views через browser/tabs smoke;
- Workforce/KPI report structure;
- UEBA endpoint;
- Risk Narrative endpoint availability;
- Executive Action Center endpoint availability;
- Windows/RDP agent runtime;
- AW server service state;
- bucket freshness summary;
- production-hardening endpoint availability;
- sensitive data hygiene.
Подтверждено работающее:
- gateway-level health;
- portal UI на фактическом gateway-local port;
/portal/api/health;/portal/api/reportsпо ролям;- Security events backend;
/portal/api/ueba;- Forensics view;
- базовые portal tabs;
- server role gates в существующем tabs smoke;
- ActivityWatch API и свежие buckets;
- текущий Windows runtime с
awatch-agent-rsи watchers.
Найдены gaps:
- live portal runtime отстает от Demo Freeze v1;
/portal/api/workforce/kpi/explain,/portal/api/risk/narrative,/portal/api/actionsна live-контуре возвращают404;/healthz,/readyz,/version,/metricsне доступны на фактическом portal port;- request id / correlation id headers не возвращаются live portal API;
- Executive visual conformance smoke не проходит на live runtime;
- UEBA
criticalтребует ручной проверки evidence, чтобы исключить шум.
Scripts:
- новые scripts не добавлялись;
- использованы существующие
scripts/browser-conformance-smoke.mjs,scripts/detmir-portal-tabs-smoke.mjs,scripts/awatch-production-hardening-smoke.mjs,scripts/deployment-readiness-smoke.mjs,scripts/pilot-validation-smoke.mjs.
Результаты проверок:
cargo fmt --all --check- OK;cargo clippy --all-targets --all-features -- -D warnings- OK;cargo test --all- OK;cargo build --release- OK;node scripts/deployment-readiness-smoke.mjs- OK;node scripts/pilot-validation-smoke.mjs- OK;- live
scripts/browser-conformance-smoke.mjs- FAIL для Executive, Workforce, Security; OK для Forensics; - live
scripts/detmir-portal-tabs-smoke.mjs- FAIL только на Executive freeze-layer checks; базовые tabs, role gates, security/forensics/admin OK; - live
scripts/awatch-production-hardening-smoke.mjs- FAIL:/healthzна live portal base не возвращает200; git diff --check- OK;- sensitive scan по добавленным/измененным файлам - OK после исключения терминологических false positives.
Итог:
- live-контур пригоден для controlled internal review;
- расширять пилот нельзя, пока не закрыт deployment/version drift и не повторен live smoke после controlled deploy;
- новых claims, API, UI, collectors, ML/LLM и SIEM/DLP/EDR заявлений не добавлялось.