Профили и разрешение областей видимости
Профили изолируют корни глобальной памяти (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
Порядок разрешения
Порядок разрешения профилей следующий:
- Явный параметр
--profileили переменная окруженияENGRAM_PROFILE - Параметр
default_profileрабочего пространства (workspace) - Активный профиль пользователя
Если рабочее пространство W привязано к профилю B, а профилем пользователя по умолчанию остается профиль A, каждая обычная загрузка, загрузка через MCP и внедрение хуков агентов для W считывает глобальную память профиля B и никогда — профиля A. Явный профиль, отличающийся от профиля рабочего пространства по умолчанию, использует глобальную память этого профиля и отключает память рабочего пространства для этой команды.
Когда использовать профили
- Личная память, которая никогда не должна попадать в репозиторий клиента
- Память компании, которая никогда не должна попадать в личный репозиторий
- Изолированная память клиентов для консультантов, работающих над разными проектами
- Общая память команды, которая не должна пересекаться с индивидуальными экспериментами
Резервный вариант с БД конфигурации SQLite
Конфигурационная БД SQLite в Engram — это оптимизация для управления рабочими пространствами и профилями. Если базу данных невозможно открыть или инициализировать, обычные команды чтения/записи переходят на использование снимков конфигурации JSON (JSON config snapshots). Команды, зависящие от базы данных, сообщают о недоступности SQLite вместо блокирования обычного использования памяти.