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

ИМЯ ОБРАБОТЧИКА
============
fs - CLI защиты файловой системы

Обработчик для проверки целостности и восстановления основных файлов системы BACH.
Защищает важные файлы от случайного удаления или повреждения.


ОПИСАНИЕ
============
Обработчик fs управляет моментальным снимком и системой манифестов для файловой системы BACH.
Он классифицирует файлы по уровню защиты (dist_type):
  - dist_type=2: CORE (основные системные файлы, наивысший приоритет)
  - dist_type=1: ШАБЛОН (шаблоны, средний приоритет)
  - dist_type=0: USER (пользовательские данные, без автоматизации)

Зависимости:
  - инструменты/fs_protection.py (класс FSProtection)
  - инструменты/fs_protection.py (класс PathClassifier)
  - data/bach.db (база данных манифеста)
  - dist/snapshots/*.orig (архив снимков)


OPERATIONS
===========
проверить [по умолчанию]
    Проверяет целостность всех отслеживаемых файлов.
    Сравнивает текущие файлы со снимками из dist/snapshots/.
    Выводит статус и список отсутствующих/поврежденных файлов.
    Вызов: bach fs check

heal [file] или --all [--force]
    Восстанавливает отсутствующие или поврежденные файлы.
    - bach fs heel <file>: восстановить определенный файл из снимка.
    - bach fs heel --all: восстановить все недостающие файлы
    - Флаг --force: перезаписывает без предупреждения
    Возврат: (успех, сообщение)

классифицировать <путь>
    Показывает классификацию и уровень защиты пути.
    Выводит dist_type (0/1/2) и уровень защиты (USER/TEMPLATE/CORE).
    Вызов: bach fs classify /path/to/file

scan [без аргументов]
    Сканирует систему/каталог и группы по dist_type.
    Выводит количество файлов в каждой категории.
    Вызов: bach fs scan

status [без аргументов]
    Показывает текущий статус защиты с метаданными:
    - Количество снимков в dist/snapshots/
    - Записи манифеста в bach.db
    - Временная метка последней проверки целостности (fs_manifest.json)
    - Временная метка последней резервной копии.
    Звонок: статус bach fs


ПРИМЕРЫ
=========
1. Проверьте целостность системы:
   $ bach fs проверка

2. Восстановите все недостающие файлы ядра:
   $ bach fs исцелить --all

3. Восстановите конкретный поврежденный файл:
   $ bach fs исцеляет Hub/base.py

4. Проверьте классификацию файла:
   $ bach fs classify data/bach.db

5. Посмотреть статистику файловой системы:
   $bach fs сканирование

6. Посмотреть текущий статус защиты:
   $ bach fs status


FILES
=======
реализация обработчикаhub/fs.py (160 строк)
инструменты/fs_protection.py Классы FSProtection + PathClassifier
data/bach.db База данных манифеста SQLite
Метаданные data/fs_manifest.json (last_check,last_backup)
dist/snapshots/архив снимков (файлы *.orig)


СМ. ТАКЖЕ
==========
управление снимками dist (снимок bach dist)
base.py Абстрактный класс BaseHandler
инструменты/fs_protection.py Техническая документация
BACH_SYSTEM.md Архитектура и дизайн системы
