# Portability: SYSTEM
# Last validated: 2026-05-17
# Next review: 2027-05-17
# Ресурсы: [hub/consolidation.py, Memory_consolidation table]

КОНСОЛИДАЦИЯ ПАМЯТИ
=====================

ДАТА: 08.02.2026

ЧТО ТАКОЕ КОНСОЛИДАЦИЯ?
-----------------------
Консолидация – это активный процесс, возникающий на основе необработанных данных (сеансов, уроков,
Рабочая память) создает смысловые структуры и переносит их в контекст. 

Аналог человеческого сна:
- Переживания обрабатываются и важные вещи сохраняются.
- Повторение усиливает связи (Boost), неиспользованные затухания (Decay).
- Резюме уменьшает детали, сохраняет суть.

УРОВНИ КОНСОЛИДАЦИИ (конвейер)
---------------------------------

  НЕОБЫЧНЫЕ ДАННЫЕ (сеансы, рабочая память) --[Анализ] --> ASM (метаданные)
  ASM (Метаданные) --[Обзор AI] --> СУТЬ (Уроки, Контекст)
  СУТЬ --[Индексирование]--> TRIGGER-DB (Ассоциативная память)

ТАБЛИЦЫ (v1.1.80+ Active)
-------------------------
  необработанные данные Memory_sessions (более 360 записей)
  Memory_lessons Очищенные идеи (более 70 записей)
  Memory_consolidation Отслеживание и оценки (более 350 записей)
  context_triggers Ассоциативные мосты (более 900 триггеров)

КОМАНДЫ CLI (объединение bach)
------------------------------
  статус Показывает статистику и необходимые консолидации.
  run Выполняет все доступные шаги консолидации (вес, архивирование, индекс, триггеры синхронизации, забвение).
  compress Сжатие сеансов в записи контекста.
               --cleanup: очистить пустые сеансы
               --batch: групповые сеансы по дням
               --run: полное сжатие с набором правил.
  Обновления оценки релевантности веса (распад/повышение).
  архив Перемещение устаревших знаний в долгосрочный архив.
  индекс Сравнение фактов, справки и вики.
  review Создает задачи проверки для проверки вручную.
  init Инициализировать отслеживание существующих записей.
  sync-triggers Обновление триггеров динамического контекста (НОВИНКА v1.1.80).
  забыть Удалить неиспользуемые записи (вес < порога).
  reclassify Исправьте записи с неправильной категорией (НОВИНКА v1.1.81).

DAEMON INTEGRATION
------------------
Консолидация может выполняться как фоновое задание (scheduler_jobs):
- `consolidate-weight`: Ежедневно (симуляция распада).
- `consolidate-archive`: Еженедельно (проверка архива).
- `consolidate-index`: индекс обновлений фактов.

(Примечание: необходимо настроить задания демона - см. docs/help/daemon.txt)

ПРАВДИВОСТЬ:
При каждом выполнении консолидации создаются записи в журнале, и в случае сомнений 
Просмотрите задачи (#категория: обслуживание).

СМОТРИ ТАКЖЕ
----------
  docs/help/memory.txt Модель когнитивной памяти
  docs/help/lessons.txt Лучшие практики и идеи
  docs/help/daemon.txt Задания демона
  hub/consolidation.py Реализация логики
  ARCHITECTURE.md Архитектура системы (модель памяти)

ПОДПРОЦЕССЫ (УЖЕ СУЩЕСТВУЮТ)
--------------------------------
Эти существующие инструменты являются частью консолидации:

  инструменты/autolog_analyzer.py Анализ сеанса (ASM_003)
  инструменты/context_compressor.py Сжатие (ASM_004/005)
  навыки/рабочие процессы/вики-* авторы вики
  навыки/рабочие процессы/помощь-* Справка авторам

СХЕМА БАЗЫ ДАННЫХ
----------------
memory_consolidation (АКТИВНО, более 350 записей):

  id ЦЕЛОЕ ПЕРВИЧНЫЙ КЛЮЧ
  source_table ТЕКСТ -- сеансы_памяти, уроки_памяти и т. д.
  source_id INTEGER — идентификатор в исходной таблице
  times_accessed INTEGER — счетчик доступа
  Last_accessed TIMESTAMP — последний доступ
  вес REAL — показатель релевантности (0,0–1,0).
  Decay_rate REAL -- Скорость затухания
  порог REAL -- Порог архивации
  статус ТЕКСТ -- активен, в архиве, удален
  solided_to INTEGER -- идентификатор в Memory_context (если консолидирован)
  создано_в TIMESTAMP
  update_at TIMESTAMP

РАБОЧЕЕ ПРОЦЕСС: СЕАНС -> КОНТЕКСТ
----------------------------
1. Сеанс завершается (--shutdown)
2. autolog_analyzer.py извлекает действия
3. context_compressor.py создает сводку.
4. Сводка хранится в Memory_sessions.
5. [DAEMON] После X-сессий: сжатие в контекст
6. [AI REVIEW] Проверяет смысловую структуру, исправлено
7. Результат в Memory_context с триггерами 

РАБОЧЕЕ ПРОЦЕСС: ФАКТ -> WIKI/HELP
---------------------------
1. Создается новый факт: bach --memory fact "topic:value"
2. Проверка консолидированного индекса: существует ли справка/вики по «теме»?
3. Если нет: Создайте задачу «Создать вики-запись по [теме]».
4. Автор Wiki создает запись
5. Факт обновляется со ссылкой на путь

РАБОЧЕЕ ПРОЦЕСС: ВИКИ/СПРАВКА -> УКАЗАТЕЛЬ ФАКТОВ
----------------------------------
1. консолидация индекса сканирует документы/help/*.txt и wiki/*.txt.
2. Для каждой записи: Существует ли факт?
3. Если нет: создайте факт как индекс.
   HELP.memory -> «Документация системы памяти»
   WIKI.gemini -> «Модели искусственного интеллекта Google Gemini»
4. Факты служат для быстрого поиска 

ПОРОГОВЫЕ ЗНАЧЕНИЯ (НАСТРАИВАЕМЫЕ)
-------------------------------
  Weight_threshold_archive: 0,2 Ниже этого значения: Архив
  Weight_threshold_delete: 0,05 Ниже этого значения: удалить
  Dece_rate_default: 0,95 Ежедневный распад (5%)
  boost_on_access: увеличение веса на 0,1 при доступе
  session_before_compress: 10 сеансов до сжатия.
  days_before_archive: 90 дней до архивирования

НОВЫЕ ОПЕРАЦИИ (v1.1.80+)
---------------------------
  sync-triggers Обновляет динамические триггеры из:
                   - workflow_trigger_generator.py
                   - урок_trigger_generator.py
                   -tool_auto_discovery.py
                   - theme_packet_generator.py
                   - триггер_maintainer.py

  забыть Деактивирует/удаляет записи с весом < 0,05.
                   - Memory_lessons: is_active = 0
                   - память_работает: is_active = 0
                   - Memory_facts: УДАЛИТЬ

  reclassify Исправляет неправильную категоризацию:
                   - Урок -> Контекст (при частом использовании)
                   - Работа -> Урок (с шаблоном урока)
                   - Работа -> Факт (с форматом ключ: значение)
                   - Факт без Wiki -> Создать задачу

                   Ручное преобразование:
                     bach consolidate reclassify lesson 42 context

                   Автоматический анализ:
                     bach consolidate reclassify
                     bach consolidate reclassify --fix
