Core concepts
Five words carry the whole product. Everything else in this documentation is built on them.
Organization
The billing and governance boundary. It owns the members and their roles, the model provider credentials, the secrets and the audit log. Every piece of tenant data belongs to exactly one organization, and the database client adds that organization to every query on it. Cross-organization reads are not a permission that can be granted. Every role is held in one organization and acts on that organization only.
The Community edition allows one organization. Running several organizations on one instance is an Enterprise capability.
Project
A team workspace inside an organization, with its own agents, knowledge collections, MCP servers, skills and API keys. A project has its own members and its own owner, so a team can be given a space without being given the organization.
Agent
The thing you configure: instructions, a main model, optional fallback models, the knowledge it may read, the tools it may call, the skills it may load and the guardrails that frame it. You never run an agent directly: what runs is always a version.
Version
A frozen snapshot of an agent's configuration, with an author, a date and an optional note. Versions are immutable: they are never edited, and restoring an old one creates a new version instead of rewinding. Skills are resolved when each run is created: the run records the skill versions it received, so a replay does exactly what the run did. A new version of a skill applies to the next runs, even under an unchanged agent version.
This is what makes an agent auditable. Months later, you can find the exact version a conversation ran against, and each run records the access it was given.
Run
Each time a version does some work, such as answering a message, that work is a run, recorded as an append-only sequence of events. A run carries its own grants, frozen at creation: if you widen an agent's access while a run is in progress, that run keeps the access it started with.
Runs survive crashes. The engine is event-sourced, with an idempotency key per step, so a run replayed after a crash does not repeat a side effect it already produced.
How they nest
| Level | Contains | Scoped by |
|---|---|---|
| Organization | Members, roles, providers, secrets, audit log | Nothing above it |
| Project | Agents, collections, MCP servers, skills, API keys | Its organization |
| Agent | Versions and grants | Its project |
| Version | A frozen configuration | Its agent |
| Run | Events, steps, costs | Its version |
Configuration changes, history does not. You can edit an agent whenever you like: each save creates a new version, and the versions and runs already recorded stay as they were.