Files
AWatch-rus/docs/roadmap/TASK_003A_PORTAL_HARDENING_CLEANUP.md
T

98 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
docs/roadmap/TASK_003A_PORTAL_HARDENING_CLEANUP.md
Рекомендуемые параметры
Mode: xhigh
Reasoning: maximum
Task type: refactoring / maintainability / regression safety
Quality bar: production-ready
Breaking changes: forbidden
Architecture changes: forbidden
Simplifications: forbidden
Required checks:
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
Задача
Провести безопасный cleanup после коммита production hardening + explainable KPI.
Цель
Снизить размер и сложность "adk-rust/crates/detmir-portal/src/main.rs", не меняя поведение портала и API.
Что сделать
1. Вынести production hardening код в отдельные модули:
src/production/
├── health.rs
├── readiness.rs
├── version.rs
├── metrics.rs
├── limits.rs
├── request_context.rs
└── logging.rs
2. Вынести explainable KPI код в отдельный модуль:
src/workforce_kpi_explain.rs
3. Сохранить публичное поведение endpoints:
- GET /healthz
- GET /readyz
- GET /version
- GET /metrics
- GET /api/workforce/kpi/explain
4. Не менять JSON-контракты без необходимости.
5. Не менять OpenAPI/TypeScript contracts, если поведение не изменилось.
6. Добавить unit tests там, где логика стала модульной:
- config validation;
- query limits;
- request id / correlation id;
- KPI confidence;
- deterministic KPI factors.
7. Smoke script не ломать.
Запрещено
Не добавлять:
- новые функции;
- React;
- Tauri;
- Dioxus;
- ML/LLM;
- новую БД;
- новые внешние зависимости без крайней необходимости.
Критерии приемки
- main.rs стал меньше и чище;
- endpoints работают как раньше;
- smoke проходит;
- contracts не сломаны;
- role gates не сломаны;
- документация не ухудшена;
- все проверки проходят.
Финальный отчет Codex
В отчете указать:
1. Какие модули созданы.
2. Что вынесено из main.rs.
3. Изменился ли внешний API.
4. Какие тесты добавлены.
5. Результаты fmt/clippy/test/build/smoke.