ПРОВОД ОТЧЕТОВ О ФИНАНСИРОВАНИИ
=======================

Создание сквозного отчета: от папки с файлами до готового отчета о финансировании.
Имя и дата рождения автоматически распознаются по названию папки.

СТРУКТУРА ПАПКИ
--------------
  data_roh/ Пользователь вставляет папку с файлами (ИИ НЕ читает напрямую)
  data_ano/ Анонимизированные отдельные файлы (ИИ разрешено читать)
  data_bundled/ Текст в комплекте + подсказка для LLM
  output_reports/ Готовый отчет (деанонимизированный, конечный продукт)

РАЗДЕЛЕНИЕ РОЛЕЙ (ВАЖНО)
-------------------------
  ПОЛЬЗОВАТЕЛЬ помещает файл клиента в data_roh/.
  ИИ ТОЛЬКО запускает сценарий конвейера — он НЕ отправляет файлы,
  НЕ копирует файлы и НЕ проверяет существование файла.
  Сам скрипт сообщает: "Файл найден, процесс запущен" или
  «Ошибка: в data_roh/ не установлен файл».

ИСПОЛЬЗОВАТЬ (4 стандартных способа)
----------------------------
  1. Чат: «Создать отчет о финансировании» (рекомендуется, автоопределение)
  2. .bat: Foerderbericht_Pipeline.bat (3 раза ВВОД для автоматического обнаружения)
  3. Сеть: отчет о начале финансирования сети bach
  4. CLI: конвейер отчетов Баха (автоматическое обнаружение)

ОПЦИИ
--------
  --период «01.01.2025 – 31.12.2025» отчетный период
  --backend claude_code|llmauto Серверная часть LLM (по умолчанию: claude_code)
  --model claude-sonnet-4-6 Модель LLM
  --parents «имя матери» «имя отца» имена родителей (для анонимности)
  --no-cleanup Не очищать промежуточную папку

ПРОЦЕСС (3-фазный поток)
----------------------

  Этап 1 –prepre_prompt() [Python, без ИИ]:
    1. Проверка: data_roh/ не может быть пустым, проверьте правило одного клиента.
    2. Автоопределение: определение имени + даты рождения по названию папки.
    3. Профиль: Временный профиль анонимизации (замаскированное имя, поддельные данные)
    4. Анонимизация: анонимизировать файлы -> data_ano/
    5. Объединение: извлечь текст -> data_bundled/ (приоритет: сначала самые новые)
    6. Подсказка: приглашение LLM со схемой ICF -> data_bundled/prompt.txt

  Этап 2. ИИ читает файл Prompt.txt и генерирует ответ в формате JSON:
    7. ИИ читает анонимный файл Prompt.txt (путем чата/субагента)
    8. Ответ JSON -> data_bundled/llm_response.txt

  Фаза 3 — Finish_report() [Python, без ИИ]:
    9. Деанонимизировать JSON (через session_info.json со всеми сопоставлениями)
   10. Создать Word -> output_reports/
   11. Очистка: удалите ВСЕ промежуточные данные + устаревшие папки 

  Полностью автоматический (.bat/llmauto/CLI):
    run_full_pipeline() внутренне вызывает submit_prompt() + _call_llm() + Finish_report()

  ПРИМЕЧАНИЕ. ТОЛЬКО ОДИН КЛИЕНТ НА ​​ОДИН ПРОХОД в data_roh/!

ПРИОРИТИЗАЦИЯ ДОКУМЕНТА
-------------------------
  ВЫСОКИЙ: текущие протоколы, титульный лист файла, план помощи, одобрение.
  СРЕДНИЙ: отчеты об аутизме, отчеты врачей (<10 лет), школьные отчеты, электронные письма.
  НИЗКИЙ: Медицинские заключения старше 10 лет

ЦЕЛИ ПЛАНА ПОМОЩИ (ВАЖНО)
--------------------------
  Если план помощи доступен, его рамочные цели/результаты будут включены.
  приняты в качестве основных целей финансирования. Только темы за пределами этого
  Помогите спланировать цели, поместив их в таблицу new_goals.
  Постобработка умлаута (ue->ue, ae->ae, oe->oe) выполняется автоматически.
  применяется на основе слов (нет ложных срабатываний для «текущего» и т. д.).

БЕЗОПАСНОСТЬ
----------
  - data_roh/ НИКОГДА не читается напрямую ИИ
  - LLM видит ТОЛЬКО анонимные данные (кодовые имена)
  - Деанонимизация через session_info.json со всеми сопоставлениями.
  - Нет постоянного профиля (на основе сеанса)
  - .pipeline_lock предотвращает параллельные запуски
  - Синхронизация OneDrive автоматически приостанавливается/возобновляется.
  - При очистке удаляются ВСЕ промежуточные данные + устаревшие папки

LLM-BACKENDS
-------------
  claude_code (DEFAULT) CLI Claude Code как подпроцесс
  Цепная система llmauto llmauto
  anthropic_sdk Необязательно (требуется ANTHROPIC_API_KEY, не настроен)

УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ
---------------
  «data_roh/ пусто» -> вставить папку с файлами в data_roh/
  «Ошибка ClaudeRunner» -> CLI CLI отсутствует в PATH, используйте llmauto
  «Ошибка импорта» -> pip install python-docx openpyxl
  Блокировка OneDrive -> Закройте файлы, подождите, перезапустите

ФАЙЛЫ
-------
  Оркестратор:hub/_services/document/foerderbericht_pipeline.py
  CLI-раннер:hub/_services/document/pipeline_runner.py
  Обработчик CLI:hub/report.py (Операция: конвейер)
  Цепочка: инструменты/llmauto/chains/foerderbericht.json
  Шаблон: навыки/_templates/report_template_geiger_universal.docx
