2.6 KiB
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.
Что сделать
- Вынести production hardening код в отдельные модули:
src/production/ ├── health.rs ├── readiness.rs ├── version.rs ├── metrics.rs ├── limits.rs ├── request_context.rs └── logging.rs
- Вынести explainable KPI код в отдельный модуль:
src/workforce_kpi_explain.rs
- Сохранить публичное поведение endpoints:
- GET /healthz
- GET /readyz
- GET /version
- GET /metrics
- GET /api/workforce/kpi/explain
-
Не менять JSON-контракты без необходимости.
-
Не менять OpenAPI/TypeScript contracts, если поведение не изменилось.
-
Добавить unit tests там, где логика стала модульной:
- config validation;
- query limits;
- request id / correlation id;
- KPI confidence;
- deterministic KPI factors.
- Smoke script не ломать.
Запрещено
Не добавлять:
- новые функции;
- React;
- Tauri;
- Dioxus;
- ML/LLM;
- новую БД;
- новые внешние зависимости без крайней необходимости.
Критерии приемки
- main.rs стал меньше и чище;
- endpoints работают как раньше;
- smoke проходит;
- contracts не сломаны;
- role gates не сломаны;
- документация не ухудшена;
- все проверки проходят.
Финальный отчет Codex
В отчете указать:
- Какие модули созданы.
- Что вынесено из main.rs.
- Изменился ли внешний API.
- Какие тесты добавлены.
- Результаты fmt/clippy/test/build/smoke.