Skip to main content
Version: 0.0.28

Profiles and scope resolution

Profiles isolate global memory roots for company, team, and personal contexts. They keep client, company, and personal memory from leaking across boundaries.

Create and switch profiles​

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

Resolution order​

Profile resolution order is:

  1. Explicit --profile or ENGRAM_PROFILE
  2. The workspace default_profile
  3. The active user profile

If workspace W is pinned to profile B while the user default remains profile A, every normal load, MCP load, and agent-hook injection for W reads profile B global memory and never profile A. An explicit profile different from the workspace default uses that profile's global memory and disables workspace memory for that command.

When to use profiles​

  • Personal memory that should never reach a client repo
  • Company memory that should never reach a personal repo
  • Client-isolated memory for consultants working across engagements
  • Team-shared memory that should not bleed into individual experiments

SQLite config DB fallback​

Engram's SQLite config DB is an optimization for workspace/profile management. If the DB cannot be opened or initialized, normal read/write commands fall back to JSON config snapshots. DB-specific commands report SQLite as unavailable instead of blocking normal memory use.

Next steps​