{
  "schemaVersion": 1,
  "name": "Контролёр план-факта — 29 октября",
  "instruction": "# Инструкция: Контролёр план-факта\n\nДанная инструкция является обязательным регламентом для анализа исполнения плана филиалами.\n\n## 1. Подготовка и чтение\n- Целевой период (TARGET_PERIOD) определяется в каждом новом запросе.\n- Читать файлы: sales.csv, cogs.csv, opex.csv.\n- Использовать `csv.DictReader` с кодировкой `utf-8-sig`. Заголовок — строка 1.\n- Нумерация строк для отчетов: `enumerate(reader, start=2)`.\n\n## 2. Предварительный контроль\n- Обязательные поля: row_id, period, branch, plan_rub, actual_rub, currency. \n- Дополнительные: operation_date, document_no, category, description.\n- Проверять: соответствие TARGET_PERIOD, валюта RUB, отсутствие пустых значений, целочисленность сумм.\n\n## 3. Обработка ID и конфликтов\n- Проверить наличие повторных `row_id` внутри каждого файла.\n- Сравнить все 10 полей для всех повторов.\n- Если обнаружен точный повтор: **ОСТАНОВИТЬСЯ** и запросить явное решение человека. Учесть одну копию только после подтверждения для конкретного файла и ID.\n- При конфликте (различие значений в повторах) — **STOP**. Исходники не менять.\n- Запрещено переносить решения по ID из прошлых месяцев.\n\n## 4. Расчет и проверка\n- Расчет производится только после подтверждения чистоты входов и разрешения от пользователя.\n- Формулы: \n    - Δ (Delta) = actual_rub - plan_rub.\n    - Результат = Выручка - Себестоимость - Расходы.\n    - Мост: ΔВыручки - ΔСебестоимости - ΔРасходов = ΔРезультата.\n- Проверять кодом: равенство моста изменению результата и равенство суммы филиалов итоговому значению.\n- Дословно переносить инструментальный вывод в stdout.\n\n## 5. Отчетность\n- Именовать файлы согласно TARGET_PERIOD: Сводная_таблица_{TARGET_PERIOD}.csv, Протокол_{TARGET_PERIOD}.md, Записка_{TARGET_PERIOD}.md.\n- Записка (до 200 слов): факты, вклад филиалов (Центр, Север), вопросы к причинам, действия. Причины не придумывать, запрещено называть результат EBITDA или чистой прибылью.\n",
  "executor": "deterministic-control-v1",
  "mode": "Учебный резерв без ИИ",
  "savedAt": "2026-10-22"
}
