98 lines
2.6 KiB
Markdown
98 lines
2.6 KiB
Markdown
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. |