---
name: deadline-watchdog
description: Автономный мониторинг дедлайнов в АИС КРР. Используй этот скилл для проверки просроченных решений по нарушениям, отправки внутренних уведомлений и формирования ежедневных дайджестов по дедлайнам.
version: 1.1.0
triggers:
  - deadline
  - дедлайн
  - срок
  - просроченный
  - overdue
  - уведомление
  - notification
  - эскалация
  - escalation
  - решение просрочено
  - cron
related:
  - kru-inspection-expert
  - security-guardian
  - nodejs-backend-patterns
---

# Скилл: Мониторинг дедлайнов (Deadline Watchdog)

## Назначение

Этот навык предназначен для автоматизации контроля за сроками исполнения решений по выявленным нарушениям (ПС-05). Он работает как "сторожевой таймер", проверяя базу данных на наличие критических дат.

## Как это работает (Уровень 3: Исполнение)

### 1. Проверка просроченных решений
**Скрипт:** `scripts/check-overdue-decisions.js`
**Логика:**
- Ищет в таблице `decisions` записи, где `deadline` < сегодня и `status` не равен `completed` или `cancelled`.
- Обновляет статус записи на `overdue`.
- Создает запись в таблице уведомлений (если реализована) или логирует для дайджеста.

**Команда:**
```bash
node .agent/skills/deadline-watchdog/scripts/check-overdue-decisions.js --markAsOverdue=true
```

### 2. Формирование дайджеста
**Скрипт:** `scripts/generate-deadline-digest.js`
**Логика:** Генерирует сводку "Что истекает сегодня / завтра / просрочено" для `chief_inspector`.

### 3. Анализ нагрузки
Скрипт, который показывает, какие инспекторы имеют больше всего просроченных решений под своим контролем.

---

## Бизнес-логика контроля сроков

1. **Цветная индикация в UI**:
   - `deadline` > 7 дней: Зелёный
   - `deadline` от 3 до 7 дней: Жёлтый
   - `deadline` < 3 дней: Оранжевый
   - `deadline` прошел: Кроваво-красный

2. **Правила эскалации**:
   - Если решение просрочено более чем на 15 дней, система должна автоматически создавать "Замечание" (`findings`) для руководителя соответствующего подразделения.

3. **Статусы**:
   - `planned` -> `in_progress` -> `overdue` (автоматически) -> `completed`.

---

## Технические детали

- **Связь с БД**: Использует прямые SQL-запросы или Prisma для массового обновления статусов (batch update), что быстрее, чем по одному.
- **Интеграция**: Скрипты могут быть вызваны через `run_command` в режиме планировщика.

---

## Референсные данные

**Справочник категорий сроков:**
- Критические нарушения: 10 дней
- Высокие: 20 дней
- Средние: 30 дней
- Низкие: 60 дней
- (Отсчет от даты `issued_date` в таблице `decisions`)
