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

ФОРМАТЫ ДАННЫХ
============

Статус: 2026-02-08

ОСНОВНОЕ ПРАВИЛО: БАЗА ДАННЫХ ДО JSON
------------------------------
BACH использует SQLite (`bach.db`) в качестве основного хранилища данных (на данный момент более 210 таблиц).
Файлы JSON разрешены ТОЛЬКО в обоснованных исключительных случаях.

КОГДА БАЗА ДАННЫХ (СТАНДАРТ)?
--------------------------
  - Постоянные системные данные (инструменты, задачи, конфигурации)
  - Исторические данные (журналы, сеансы, извлеченные уроки)
  - Большие наборы данных (Wiki, Med-Research)
  - Целостность (проверка на основе хеша)

КОГДА РАЗРЕШЕН JSON (ИСКЛЮЧЕНИЯ)?
------------------------------
1. СЛОЖНЫЕ ИЕРАРХИИ: `system/data/skills_hierarchy.json` (интерактивные деревья).
2. ЛОКАЛЬНАЯ КОНФИГУРАЦИЯ: если требуется индивидуально (например, настройки пользовательского интерфейса).
3. MCP-CONFIG: если требуется интеграция Claude Desktop.
4. Эфемерные данные процесса: временные снимки при необходимости.

ДРУГИЕ ФОРМАТЫ
--------------
  - TOON: наборы данных, оптимизированные для токенов, для внедрения LLM.
  - MD: вывод документации и отчета (`outbox/`).

МИГРАЦИЯ JSON -> DB (успешно завершено)
-----------------------------------------------
- `partner_registry.json` → `partner_recognition` (таблица)
- `connections.json` -> `connections` (таблица)
- `injectors.txt` -> `automation_injectors` (таблица)
- `inbox_folders.txt` -> `folder_scans` (таблица)

ПРЕОБРАЗОВАНИЕ
-------------
  python system/tools/c_universal_converter.py <файл> --to [json|yaml|toml|xml|toon]

СМОТРИ ТАКЖЕ
----------
  docs/help/maintain.txt Механизм проверки целостности и опечатывания
  bach --db status     Текущий статус более чем 210 таблиц
