docs: enter demo freeze housekeeping

This commit is contained in:
igor04091968
2026-06-07 21:17:12 +03:00
parent 037d47b592
commit 1b817866a4
29 changed files with 495 additions and 58 deletions
@@ -22,3 +22,44 @@ AWatch-rus.
Pilot v1 можно показывать заказчику с понятным списком готовых возможностей,
ограничений и smoke-проверок.
---
## Выполнение
Статус: выполнено как часть Pilot v1 freeze.
Что закреплено:
- роли `executive`, `manager`, `security`, `forensics`, `admin`;
- серверные role gates для Pilot v1 API;
- Executive, Workforce, Security и Forensics portal views;
- Pilot v1 acceptance/evidence документация;
- demo/runbook слой для контролируемого показа;
- browser-level conformance smoke для ключевых представлений.
Ключевые артефакты:
- `docs/PILOT_V1_RU.md`;
- `docs/PILOT_V1_ACCEPTANCE_CHECKLIST_RU.md`;
- `docs/PILOT_V1_EVIDENCE_RU.md`;
- `docs/PILOT_VALIDATION_CHECKLIST_RU.md`;
- `docs/DEMO_RUNBOOK_RU.md`;
- `docs/BROWSER_CONFORMANCE_RU.md`;
- `scripts/detmir-portal-tabs-smoke.mjs`;
- `scripts/browser-conformance-smoke.mjs`;
- `scripts/pilot-validation-smoke.mjs`.
Проверки:
- `node scripts/pilot-validation-smoke.mjs`;
- `node scripts/detmir-portal-tabs-smoke.mjs` на локальном портале;
- `node scripts/browser-conformance-smoke.mjs` на локальном портале;
- `git diff --check`.
Известные ограничения:
- production acceptance требует отдельной live-проверки на стенде заказчика;
- screenshots из `artifacts/browser-smoke/` являются runtime artifacts и не
коммитятся;
- новые collectors и новая функциональность в freeze-фазе не добавляются.
@@ -381,3 +381,72 @@ Smoke должен проверять:
7. Результаты команд проверки.
8. Результат smoke.
9. Известные ограничения
---
## Выполнение
Статус: выполнено для Pilot v1 production-hardening слоя портала.
Краткое описание:
- добавлены production endpoints `/healthz`, `/readyz`, `/version`, `/metrics`;
- добавлены request id / correlation id headers;
- добавлены structured JSON HTTP logs;
- добавлены bounded query/body limits для тяжелых API;
- добавлена валидация production-конфигурации;
- role gates сохранены и проверяются smoke;
- pfSense остается `contract_only`, без заявления ingestion/SIEM.
Ключевые файлы:
- `adk-rust/crates/detmir-portal/src/production/`;
- `adk-rust/crates/detmir-portal/src/main.rs`;
- `docs/PRODUCTION_READINESS_RU.md`;
- `scripts/awatch-production-hardening-smoke.mjs`.
Endpoints:
- `GET /healthz`;
- `GET /readyz`;
- `GET /version`;
- `GET /metrics`;
- защищенные Pilot v1 API: `/api/reports`, `/api/executive`,
`/api/workforce`, `/api/security`, `/api/forensics`, `/api/ueba`,
`/api/pfsense`, `/api/workforce/kpi/explain`.
Лимиты и защита:
- max request body size;
- max/default page size;
- max report date range;
- request timeout и slow request logging threshold;
- отказ `400` для слишком большого `page_size` или диапазона отчета;
- отказ `413` для слишком большого body;
- отказ `403` по role gate.
Метрики:
- `awatch_http_requests_total`;
- `awatch_http_request_duration_seconds`;
- `awatch_reports_generated_total`;
- `awatch_ingestion_records_total`;
- `awatch_ingestion_rejected_total`;
- `awatch_role_denied_total`;
- `awatch_readyz_status`.
Проверки:
- `cargo fmt --all --check`;
- `cargo clippy --all-targets --all-features -- -D warnings`;
- `cargo test --all`;
- `cargo build --release`;
- `AWATCH_PORTAL_SMOKE_URL=http://127.0.0.1:8720 node scripts/awatch-production-hardening-smoke.mjs`;
- `git diff --check`.
Известные ограничения:
- production-hardening smoke не заменяет live acceptance;
- `/readyz` отражает только реально настроенные зависимости;
- contract-only интеграции не считаются работающими сборщиками;
- freeze-фаза допускает только исправление дефектов и уточнение документации.
+69 -1
View File
@@ -309,4 +309,72 @@ docs/EXPLAINABLE_KPI_RU.md
5. Добавленные UI-блоки.
6. Добавленные тесты.
7. Результаты проверок.
8. Известные ограничения.
8. Известные ограничения.
---
## Выполнение
Статус: выполнено для Pilot v1.
Краткое описание:
- добавлен explainability-контракт Workforce KPI;
- добавлен endpoint `GET /api/workforce/kpi/explain`;
- добавлена детерминированная rule-based модель факторов;
- добавлен confidence level `high` / `medium` / `low`;
- UI показывает блок `Почему такой индекс активности?`;
- Markdown-отчет содержит explainability-раздел;
- OpenAPI и TypeScript contracts включают explain model;
- employee-level детализация не добавлена без отдельного безопасного контракта.
Ключевые файлы:
- `adk-rust/crates/detmir-portal/src/workforce_kpi_explain.rs`;
- `adk-rust/crates/detmir-portal/src/static/app.js`;
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
- `docs/EXPLAINABLE_KPI_RU.md`.
API endpoint:
- `GET /api/workforce/kpi/explain`.
Модель explainability:
- `kpi_score`;
- `confidence`;
- `coverage`;
- `factors`;
- `top_applications`;
- `warnings`;
- `recommendations`.
Минимальные факторы:
- `productive_activity`;
- `business_app_usage`;
- `idle_time`;
- `afterhours_activity`;
- `remote_session_activity`;
- `data_coverage`;
- `missing_data`;
- `trend_change`.
Проверки:
- unit tests для explainability-модели и confidence;
- role-filtering smoke;
- markdown/report smoke;
- `cargo fmt --all --check`;
- `cargo clippy --all-targets --all-features -- -D warnings`;
- `cargo test --all`;
- `cargo build --release`;
- portal smoke.
Известные ограничения:
- не используется ML, LLM или predictive scoring;
- KPI не является HR-дисциплинарной оценкой;
- персональная explainability-модель в Pilot v1 не включена;
- качество объяснения зависит от свежести и полноты источников.
+79 -1
View File
@@ -278,4 +278,82 @@ docs/RISK_NARRATIVE_RU.md
6. Обновления report/OpenAPI/TypeScript.
7. Добавленные тесты.
8. Результаты fmt/clippy/test/build/smoke.
9. Известные ограничения.
9. Известные ограничения.
---
## Выполнение
Статус: выполнено для Pilot v1.
Краткое описание:
- добавлен rule-based Risk Narrative layer;
- добавлен endpoint `GET /api/risk/narrative`;
- risk score связывает Workforce KPI, Explainable KPI, UEBA, coverage,
security correlation, incident candidates и pfSense `contract_only`
limitation;
- Executive UI показывает блок `Риск-нарратив`;
- Security UI проверяет ИБ-релевантную связь рисков и активности;
- Markdown-отчет содержит раздел `## Риск-нарратив`;
- OpenAPI и TypeScript contracts обновлены;
- создана отдельная документация `docs/RISK_NARRATIVE_RU.md`.
Ключевые файлы:
- `adk-rust/crates/detmir-portal/src/risk_narrative.rs`;
- `adk-rust/crates/detmir-portal/src/static/app.js`;
- `adk-rust/crates/detmir-portal/src/contracts/openapi.json`;
- `adk-rust/crates/detmir-portal/src/contracts/typescript.d.ts`;
- `docs/RISK_NARRATIVE_RU.md`;
- `scripts/browser-conformance-smoke.mjs`;
- `scripts/detmir-portal-tabs-smoke.mjs`.
Risk scoring rules:
- `0-24` - `low`;
- `25-49` - `guarded`;
- `50-74` - `medium`;
- `75-89` - `high`;
- `90-100` - `critical`.
Сигналы:
- low Workforce KPI;
- low KPI confidence;
- low agent coverage;
- increased UEBA severity;
- incident candidates count;
- high security correlation;
- missing data;
- afterhours/remote activity;
- pfSense `contract_only` limitation.
UI-блоки:
- Executive: `Риск-нарратив`, `Почему`, `Подтверждения`, `Дальше`,
`Ограничения`;
- Security: `Связь рисков и активности`, `Требует проверки`,
`Рекомендуемые действия ИБ`;
- Forensics: расследования, timeline, материалы расследования и аудит.
Проверки:
- unit tests для risk narrative scenarios;
- OpenAPI/TypeScript contract smoke;
- `node scripts/browser-conformance-smoke.mjs`;
- `node scripts/detmir-portal-tabs-smoke.mjs`;
- `cargo fmt --all --check`;
- `cargo clippy --all-targets --all-features -- -D warnings`;
- `cargo test --all`;
- `cargo build --release`;
- `git diff --check`.
Известные ограничения:
- Risk Narrative не является ML/LLM/predictive analytics;
- Risk Narrative не подтверждает нарушение без ручной проверки;
- нет auto-remediation;
- pfSense не заявляется как ingestion/SIEM, пока это не пройдет отдельную
приемку;
- live customer-stand validation остается отдельным шагом Demo Freeze v1.