This page defines the handful of terms you need before reading the rest of the Loom documentation: stores, sections, the default store, domains, workspaces and scope.
A store is one memory database that lives on a Loom server. Your computer knows how to reach your stores through one file, ~/.loom/stores.toml (%USERPROFILE%\.loom\stores.toml on Windows). Every harness reads that same file.
Each store you can reach is a section of that file. A section counts as a store only if it has an endpoint. A hosted sign-up writes a file shaped like this (values redacted):
default = "coding"
[coding]
description = "Default coding memory store."
endpoint = "tcp://loomcloud.ai:7443"
store = "<your coding store id>"
namespace_scheme = "loom-8"
server_key = "<redacted server key>"
store_key = "<redacted coding store key>"
web_origin = "https://loomcloud.ai"The loom setup command writes and merges this file for you; do not hand-type keys. The full key reference is in the stores.toml reference page.
The top-level default = "<section name>" line names the section your agent uses when no store is specified. loom setup only adds default if the file has none, and it never rebinds an existing section to a different store. If your account has two sections with the same name, setup keeps the oldest and warns about the other.
Every store has a domain that sets its capture and answer discipline, not just a label. The valid domains are:
| Domain | Typical use |
|---|---|
CodingDomain | Project decisions, constraints and findings for software work |
PersonalDomain | Personal-assistant memory |
ReconciliationDomain | Reconciling conflicting facts |
LogDomain | Event-log style stores, such as a Kanban board |
You choose a domain when you create a store (see the store-management page).
Memory is stored as facts about entities; entities are connected by relations (edges); labels such as topics or importance are index values that facts point at. Tutorial 04 walks through this with examples.
Your agent picks a store per workspace, which is a product or team grouping that can span several repositories. A standalone repository's workspace defaults to its project name. The choice is cached in stores.toml:
[workspace] # default for any workspace without its own entry
loom-coding = "coding"
[workspace.loom] # override for the workspace named "loom"
loom-coding = "my-own-memory-store"If neither entry exists the agent asks which store to use rather than silently assuming default.
loom-scope line#A repository records its scope in its guidance file (AGENTS.md, CLAUDE.md or CODEX.md) with one line:
loom-scope: project=my_project workspace=my_workspace org=my_orgThe agent asks you for these values the first time and writes the line back. Tutorial 03 covers it step by step.
A store other than default or your session primary must be explicitly loaded before use (loom_load_store); loading is idempotent and returns that store's domain guidance. Your agent does this for you.