One workspace, many storage engines, one place to ask questions.
1. What a Workspace Owns
AHeavenBase workspace is the application boundary for a data application. It owns:
- entity schemas you register
- backend instances you connect
- field-level storage placement
- system rows for
Catalog,MetaSchema, and other entities from the requiredsystemextension - CRUD, query, audit, repair, and MCP-facing access to the data inside the workspace
Think of the workspace as the place where “what the data means” and “where the data lives” meet.
2. Start with a Preset
For the first local run, use thedebug preset. It needs no Docker services and gives you SQLite row storage plus in-memory vector and search backends.
| Preset | Backends | When to use |
|---|---|---|
debug | SQLite main, in-memory vec, in-memory search | First-run demos, tests, and examples. |
local-lts | Postgres main, LanceDB vec, Elasticsearch search | Durable local development with the repo service stack. |
web-lts | Managed Postgres, pgvector, hosted search | Shared or hosted deployments. |
3. Use Explicit Backends When Placement Matters
Presets are the shortest path, but explicit backend maps are useful when you want a custom test layout or you are documenting a deployment shape.type values choose the provider family, such as sqlite, postgres, inmem, lance, elasticsearch, json, or pickle.
4. Register, Write, and Read
Registration is explicit. Define an entity, register it in the workspace, then write rows through the workspace API.object_id. When you omit it and the row has a name, HeavenBase derives a stable ID from the entity schema and that name.
5. Inspect and Repair
Workspaces always registerCatalog and MetaSchema system entities. Query them when an agent or developer needs to understand what is inside the workspace.
ws.audit() to check Catalog consistency. Use ws.repair() only when you intentionally want HeavenBase to rebuild missing or stale Catalog rows from authoritative entity rows.

