Реестр критических данных и правила контроля качества
файл 05_critical_data.md
1. Назначение
Данный документ определяет перечень критических данных в Grace CRM, подлежащих обязательной проверке Quality Agent, а также правила контроля качества:
-
допустимые форматы
-
условия полноты
-
логика выявления пробелов
Цель: обеспечить достоверность аналитики и корректную работу Recommendation Agent.
2. Принципы контроля качества
-
Проверяются только активные проекты
-
Каждое правило имеет уровень критичности (Critical / Warning)
-
Нарушение Critical -> обязательная эскалация
-
Нарушение Warning -> уведомление без эскалации
3. Реестр объектов и полей
3.1 Проекты (itech_projects)
| Поле | Тип | Обязательность | Формат | Правило проверки | Критичность |
|---|---|---|---|---|---|
| account_id | integer | Обязательно | >0 | Не NULL | Critical |
| project_status_id | integer | Обязательно | >0 | Не NULL | Critical |
| probability_percent | integer | Обязательно | 0–100 | Не NULL | Critical |
| forecast_date | date | Обязательно | YYYY-MM-DD | Не NULL, ≥ today | Critical |
| next_action | text | Обязательно | строка | Не пусто | Critical |
| next_action_date | date | Обязательно | YYYY-MM-DD | ≥ today | Critical |
| last_activity_at | date | Обязательно | дата | ≤ 30 дней | Warning |
3.2 Контрагенты (itech_accounts)
| Поле | Тип | Обязательность | Формат | Правило проверки | Критичность |
|---|---|---|---|---|---|
| name | text | Обязательно | строка | Не пусто | Critical |
| inn | keyword | Обязательно | 10/12 цифр | regex | Critical |
| manager_id | integer | Обязательно | >0 | Не NULL | Critical |
| reliability | keyword | Желательно | enum | red/yellow/green | Warning |
3.3 Активности / комментарии (itech_comments)
| Поле | Тип | Обязательность | Формат | Правило проверки | Критичность |
|---|---|---|---|---|---|
| comment | text | Обязательно | строка | длина > 10 | Warning |
| created_at | date | Обязательно | дата | не NULL | Critical |
3.4 Расчёты (itech_calculations)
| Поле | Тип | Обязательность | Формат | Правило проверки | Критичность |
|---|---|---|---|---|---|
| project_id | integer | Обязательно | >0 | Не NULL | Critical |
| calculation_status | keyword | Обязательно | enum | Не NULL | Critical |
| amount | double | Обязательно | >0 | >0 | Warning |
4. Логика выявления пробелов
4.1 Отсутствие обязательных полей
IF field IS NULL → ошибка
4.2 Нарушение бизнес-логики
Примеры:
-
Статус "КП отправлено" -> должен существовать расчёт
-
Есть проект -> должен быть следующий шаг
IF status = "КП отправлено" AND calculations = 0 → ошибка
4.3 Просроченные действия
IF next_action_date < today → ошибка
4.4 Отсутствие активности
IF last_activity_at > 30 дней → warning
5. Расчёт Кк (коэффициента качества данных)
Кк=1−(проектысошибками/общееколичествопроектов)
Где:
- ошибка = любое нарушение Critical
6. Выход Quality Agent
Формируется реестр:
|
Проект |
Поле |
Ошибка |
Ответственный |
Срок |
7. Эскалации
| Условие | Действие |
|---|---|
| Ошибка Critical | уведомление менеджеру |
| Нет реакции > SLA | эскалация РОП |
| Повторная ошибка | эскалация Зам. ГД |
8. Расширение реестра
-
Новые правила добавляются через конфиг
-
Без изменения кода агентов
No comments to display
No comments to display