# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17

ПРАВДА СПРАВОЧНИКА
===============

Автоматическое управление состоянием каталога.

КОНЦЕПЦИЯ:
  - Запуск: Запишите фактическое состояние, сравните с ЦЕЛЬЮ.
  - Выключение: текущий статус становится новой ЦЕЛЬЮ.
  - Эвристика: желательны изменения Клода 

ПРОЦЕСС:

1. Первый старт
   - Текущее состояние = ЦЕЛЕВОЕ состояние
   - Хранится в data/directory_truth.json

2. Следующие старты
   - Сканировать текущий статус
   - Сравнение с СЛЕДУЕТ
   - Показать внешние изменения (пользователь что-то изменил)

3. выключение
   - Текущий статус становится новой ЦЕЛЬЮ
   - Изменения Клода теперь «стандартные»

ИГНОРИРУЮТСЯ:
  - __pycache__
  - файлы .pyc
  - .git, .idea, .vscode
  - auto_log.txt (постоянно меняется)
  - current.md (Память)

ВЫВОД ПРИ ИЗМЕНЕНИЯХ:
  + Новые папки/файлы
  - Удаленные папки/файлы
  ~ Модифицированные файлы

ПРЕИМУЩЕСТВА:
  - Клоду не нужно вручную отслеживать, что изменилось
  - Внешние изменения (пользовательские) распознаются
  - Автоматически принимаются собственные изменения

ИНТЕГРАЦИЯ:
  - Автоматически в Hub/startup.py (DirectoryScanner при запуске)
  - Автоматически в Hub/shutdown.py (сохранение состояния во время выключения)
  - Нет собственного обработчика, на основе инструментов (tools/c_dirscan.py)

CLI (MANUAL):
  python c_dirscan.py # Показать статус
  python c_dirscan.py --scan # Сканировать текущее состояние
  python c_dirscan.py --compare # Сравнение ЕСТЬ и СЛЕДУЕТ
  python c_dirscan.py --update # Состояние СЛЕДУЕТ обновить
  python c_dirscan.py --path /path # Другой каталог
  python c_dirscan.py --json # Вывод JSON

ФАЙЛЫ:
  - Инструмент: system/tools/c_dirscan.py (класс DirectoryScanner)
  - Данные: system/data/directory_truth.json (сгенерированы при первом сканировании)
  - Структура: {метка времени, каталоги[], файлы{путь: {хеш, размер}}}
