# Refactor Baseline

## Проверки

- Frontend lint: `npm run lint` (root) — failed (`20 errors`, `10 warnings`).
- Backend build: `npm run build` (`backend`) — passed.
- Backend smoke: `npm run test:alert-engine` (`backend`) — passed.

## Критичные baseline-проблемы lint

- Массовые `react-hooks/set-state-in-effect` в крупных UI-экранах и `components`.
- `prefer-const` ошибки в backend сервисах.
- Накопленные предупреждения `exhaustive-deps` и `no-unused-vars`.

## Архитектурные hotspots (для приоритетной миграции)

- Frontend giant pages:
  - `app/(main)/alerts/page.tsx`
  - `app/(main)/uptime/page.tsx`
  - `app/(main)/network-map/page.tsx`
  - `app/(main)/filters/page.tsx`
  - `app/(main)/servers/page.tsx`
- Backend mixed layers:
  - `backend/src/routes/servers.ts`
  - `backend/src/routes/uptime.ts`
  - `backend/src/routes/ospf.ts`
  - `backend/src/services/alerts-service.ts`

## Дубли контрактов/типов

- `backend/src/types/scheduler-run-snapshot.ts` и `lib/scheduler-run-snapshot.ts`
- `backend/src/types/server.ts` и локальные `Backend*` типы страниц

## Инварианты рефакторинга

- Не менять API shape endpoint-ов.
- Не менять бизнес-логику.
- Не менять поведение UI.
- Переход через параллельный новый слой и поэтапное переключение.
