Перейти к основному содержимому
Версия: Future

Профили и разрешение областей видимости

Профили изолируют корни глобальной памяти (global memory roots) для контекстов компании, команды и личных целей. Они предотвращают утечку памяти клиентов, компаний и личных данных за установленные границы.

Создание и переключение профилей

engram profile create personal --global-path ~/Documents/engram-personal --use
engram profile use company --workspace
engram profile merge personal company --dry-run

Порядок разрешения

Порядок разрешения профилей следующий:

  1. Явный параметр --profile или переменная окружения ENGRAM_PROFILE
  2. Параметр default_profile рабочего пространства (workspace)
  3. Активный профиль пользователя

Если рабочее пространство W привязано к профилю B, а профилем пользователя по умолчанию остается профиль A, каждая обычная загрузка, загрузка через MCP и внедрение хуков агентов для W считывает глобальную память профиля B и никогда — профиля A. Явный профиль, отличающийся от профиля рабочего пространства по умолчанию, использует глобальную память этого профиля и отключает память рабочего пространства для этой команды.

Когда использовать профили

  • Личная память, которая никогда не должна попадать в репозиторий клиента
  • Память компании, которая никогда не должна попадать в личный репозиторий
  • Изолированная память клиентов для консультантов, работающих над разными проектами
  • Общая память команды, которая не должна пересекаться с индивидуальными экспериментами

Резервный вариант с БД конфигурации SQLite

Конфигурационная БД SQLite в Engram — это оптимизация для управления рабочими пространствами и профилями. Если базу данных невозможно открыть или инициализировать, обычные команды чтения/записи переходят на использование снимков конфигурации JSON (JSON config snapshots). Команды, зависящие от базы данных, сообщают о недоступности SQLite вместо блокирования обычного использования памяти.

Следующие шаги