Coming soonOOMU is launching soon. Downloads will open at launch.
← All documentation

Reference

Local Database Schema

Reference for the local SQLite storage that holds your assistants, conversations, settings, and installed capabilities. Everything in this document lives on your Mac.


1. Storage model

OOMU uses two SQLite databases inside your private workspace (app_data_root, under ai.eldris.oomu.gpd):

FilePurpose
oomu_state.sqlitePrimary application state; assistants, providers, capabilities, conversations, routing, workflows, agentic execution records, and the delegated-work loop (Projects, Tasks, Routines, connectors, artifacts, automation, media, remote access, capability bundles, learning).
oomu_ops.dbOperational records kept separate from your working data.

1.1 Protection

  • Encryption. Sensitive rows carry an encryption_state column describing how their contents are protected. The database key is derived from a device secret stored in the macOS Keychain; it is never written to disk in the clear and never leaves your machine. The key is resolved once and cached for the session.
  • Journal mode. Databases run in WAL (write-ahead logging) mode for durability and concurrent reads.
  • Integrity. PRAGMA foreign_keys = ON is enforced; JSON columns are validated with json_valid(...) checks; schema upgrades are applied as additive migrations on startup.

Because the key is bound to this device's Keychain, the database is only readable by OOMU on the machine that created it.


2. Assistants & providers (oomu_state.sqlite)

agent_configs

One row per assistant you create.

ColumnTypeNotes
idTEXTPrimary key.
nameTEXTAssistant's display name.
system_promptTEXTCompiled working instructions / role.
model_idTEXTThe model this assistant uses.
provider_idTEXTProvider; defaults to local_model.
descriptionTEXTOptional description.
imageTEXTOptional avatar.
personality_profileTEXTJSON profile (tone, traits, identity). Defaults to {}.
favoritedINTEGER0/1.
statusTEXTe.g. active.
created_at_ms, updated_at_msINTEGERTimestamps (epoch ms).

agent_mods

Join table binding capabilities to assistants. A Mod affects an assistant only when bound here and globally active.

ColumnTypeNotes
agent_idTEXTFK → agent_configs(id), ON DELETE CASCADE.
mod_idTEXTThe bound Mod.
Primary key (agent_id, mod_id).

provider_configs

One row per configured cloud provider.

ColumnTypeNotes
idTEXTPrimary key.
provider_idTEXTCatalogue provider id (e.g. anthropic, gemini, openai).
provider_nameTEXTDisplay name.
auth_methodTEXTe.g. api_key.
base_urlTEXTProvider endpoint base.
api_key_labelTEXTLabel for the key field.
api_keyTEXTThe API key (stored in the encrypted database).
custom_model_idsTEXTUser-supplied model ids.
auto_route_targetINTEGER1 if this provider is the Auto-Route escalation target. A partial unique index enforces at most one target, and a local provider cannot be set as the target.
created_at_ms, updated_at_msINTEGERTimestamps.

3. Installed capabilities (oomu_state.sqlite)

installed_mods

One row per installed .oomu capability package (see Capability Package Specification).

ColumnTypeNotes
idTEXTPrimary key; the manifest id.
nameTEXTDisplay name.
descriptionTEXTPlain-language description.
is_activeINTEGERGlobal active toggle (0/1).
versionTEXTManifest version.
authorTEXTPublisher.
categoryTEXTDeclared or inferred category.
package_sizeTEXTDisplay size label.
last_updatedTEXTDisplay date label.
permissions_jsonTEXTJSON array of {label, detail}; json_valid enforced.
endpoints_jsonTEXTJSON array; json_valid enforced.
installed_pathTEXTOn-disk install location in the workspace.
manifest_jsonTEXTFull manifest; json_valid enforced.
default_system_promptTEXTOptional prompt applied when bound.
entrypointTEXTEngine file name.
installed_at_ms, updated_at_msINTEGERTimestamps.

Indexed by (is_active, name COLLATE NOCASE) for the Mods list.


4. Routing & session preferences (oomu_state.sqlite)

routing_preferences / app_preferences

General key/value preference stores. routing_preferences holds routing/maintenance keys; app_preferences holds application preferences such as the active interface locale and the default pre-warmed local model.

ColumnTypeNotes
keyTEXTPrimary key.
valueTEXTSerialized value.
updated_at / updated_at_msINTEGERTimestamp.
encryption_stateTEXTProtection state.

user_routing_preferences

Primary/fallback engine routing (see Smart Model Routing).

ColumnTypeNotes
keyTEXTPrimary key.
primary_route_idTEXTPreferred engine.
fallback_route_idTEXTEngine used when the primary is unavailable.
updated_atDATETIMEDefaults to current timestamp.

active_session_configs

Per-session overrides for reasoning and context.

ColumnTypeNotes
session_idTEXTPrimary key.
reasoning_depthTEXTDefaults to medium.
context_budgetINTEGERDefaults to 2048.
model_id, provider_idTEXTOptional per-session engine.
updated_atDATETIMEDefaults to current timestamp.

5. Conversations (oomu_state.sqlite)

chat_sessions

ColumnTypeNotes
idTEXTPrimary key.
agent_idTEXTOwning assistant.
titleTEXTSession title.
provider_id, model_idTEXTEngine used.
web_grounding_overrideINTEGERPer-session web grounding override (nullable).
created_at_ms, updated_at_msINTEGERTimestamps.
encryption_stateTEXTProtection state.

chat_messages

ColumnTypeNotes
idINTEGERPrimary key (autoincrement).
session_idTEXTOwning session.
agent_idTEXTAssistant.
roleTEXTuser / assistant / etc.
contentTEXTMessage text.
timestamp_msINTEGERTimestamp.
encryption_stateTEXTProtection state.

message_queue

Queued messages awaiting execution (with provider/model/reasoning/steering metadata, status, and error tracking).


6. Agentic execution records (oomu_state.sqlite)

These tables back OOMU's approval-gated planner; the path taken when a request needs local actions.

TableHolds
intentsParsed intent for a plan (plan_id, prompt, metadata).
actionsIndividual tool actions within a plan (tool, input, output, status).
certificatesLogical certificates attesting to actions (mlc_path, mlc_content), FK → actions.
plan_generation_statesIn-progress plan state (plan_json, current_step_index, status).
agent_execution_logsStructured execution log lines (execution_id, phase, level, message).

7. Workflows (oomu_state.sqlite)

The workflow system stores its definitions, runs, approvals, and schedules here. Workflows are composed from a capability catalogue and compiled to a node-based IR (see Building Automated Workflows).

TableHolds
workflowsLegacy/simple workflow records (name, steps).
workflow_blueprintsVersioned workflow definitions (visual_state_json, workflow_ir_json, compilation_status). Primary key (workflow_id, version).
compiled_instructionsPer-node compiled instructions (node_kind ∈ input/agent/router/permission/output, system_prompt, mappings).
execution_instancesWorkflow runs (status ∈ Pending/Running/Paused/Completed/Failed, payloads, memory).
workflow_approvalsRecords of approval-gate decisions during a run (approval_token, workflow_instance_id, node_id, target_tool_name, arguments_hash, decision ∈ approve/deny, expires_at).
workflow_schedulesScheduled runs (schedule_expression, next_run_at_ms, is_active).

The IR node kinds are: input, agent, router, conditional, loop, permission, mcp_tool, system_action, and output.


8. The delegated-work loop (oomu_state.sqlite)

Migrations 00100024 add the tables behind Projects, Tasks, Routines, connectors, artifacts, automation, media, remote access, capability bundles, and learning. Many domain tables carry a nullable project_id so legacy rows remain valid. This is a map of the surface, not a column-by-column dump; the migration files are authoritative.

Projects (0010)

TableHolds
projectsThe Project boundary (name, description, archived/deleted state).
project_sourcesApproved knowledge folders and their indexing state.
project_instructionsStanding per-Project instructions.
project_policyThe data policy: local_only, ask_before_cloud, or allow_configured_cloud.
project_policy_decisionsRecorded policy decisions (no private content logged).

Tasks (0011)

TableHolds
task_runsThe canonical task registry; Task/Run id, project, runtime kind, owning-runtime reference, state, origin, timestamps, correlation.
task_eventsOrdered, reconnectable task events (Sprint-224 envelope).
task_effectsIdempotency records for effectful steps (so retries never repeat a confirmed effect).
task_recovery_auditStartup reconciliation decisions and user-visible next actions.

Connectors & onboarding (0012, 0017)

TableHolds
connector_accounts / connector_account_metadataConnected accounts; only opaque credential references and non-secret metadata (secrets stay in the Keychain).
connector_oauth_attemptsIn-flight OAuth (PKCE) attempts.
connector_project_bindingsWhich connectors are enabled for which Project.
connector_metadata (Microsoft)Microsoft 365 connector configuration (0017).
setup_progress / setup_sample_tasksThe resumable first-run setup state machine and its sample task.
activation_receiptsSigned receipts proving a capability was really activated.

Routines, background helper & channels (0013)

TableHolds
routine_runsRegistered runs of a Routine (also projected into task_runs).
routine_authority_grantsTask/project-scoped preauthorization for headless consequential actions.
routine_delivery_receiptsDelivery success/failure for channel notifications.
routine_remote_approvalsApprovals issued from a messaging channel.
scheduler_owner_lease / background_service_stateSingle-owner background-helper lease and status.
channel_configsSignal/Telegram/WhatsApp/Discord configuration and authorized owner.
gateway_message_receiptsInbound/outbound channel message receipts.

Browser automation (0014)

TableHolds
browser_automation_sessions / browser_automation_actionsGuarded browser sessions and their reference-based actions.
browser_download_quarantineDownloaded files held in quarantine until validated and approved.

Artifacts; DOCX/PDF, XLSX, PPTX (0015, 0018, 0019)

TableHolds
artifact_records / artifact_versions / artifact_source_links / artifact_exportsWord/PDF artifacts, versions, provenance links, and signed exports.
workbook_records / workbook_revisions / workbook_source_links / workbook_exports / workbook_template_importsExcel workbook pipeline.
presentation_records / presentation_revisions / presentation_source_links / presentation_exports / presentation_template_importsPowerPoint pipeline.

Delegation & trust UX (0016)

TableHolds
delegation_plans / delegation_child_runsParent plans and their bounded read-only child workstreams (helpers).
reviewed_approval_scopes / approval_scope_auditReusable, audited approval scopes for the trust UX.

Multimodal media (0020)

TableHolds
media_assets / media_asset_relationshipsVoice, image, and screenshot assets and their derivatives.
media_transcripts / media_interpretations / media_evidenceTranscripts, vision interpretations, and provenance.

Remote dispatch (0021)

TableHolds
remote_devices / remote_pairing_challengesPaired devices (revocable public identity only) and pairing challenges.
remote_commands / remote_audit_receiptsSigned, scoped, nonce-bound remote commands and their audit trail.
remote_artifact_grantsExpiring, encrypted access to a result for a paired device.

Capability bundles (0022)

TableHolds
capability_bundle_records / capability_bundle_receiptsInstalled bundles and transactional install/rollback receipts.
capability_registry_entriesCurated registry entries (signing and review status kept distinct).
capability_runtime_denialsRuntime records of undeclared/revoked capabilities that failed closed.

Adaptive learning & analysis (0023, 0024)

TableHolds
saved_methods / saved_method_versionsReviewed, versioned, reversible task recipes.
learning_offersCandidate learnings awaiting your review (nothing self-promotes).
analysis_runs / work_graph_suggestionsThe analysis workbench and bounded work-graph suggestions (0024).

9. Trust & grounding (oomu_state.sqlite)

Sovereign Trust

Directory-scoped trust policies that govern what OOMU may do in a given folder, with resource budgets. See Privacy & Sandboxing.

TableHolds
sovereign_trust_policiesPer-directory policy: directory_path / canonical_directory_path, allowed_tool_categories (JSON), permission_levelone_time/session_gated/global_trust, expires_at_ms, and daily budgets (daily_token_cost_limit, daily_cpu_seconds_limit) with usage counters.
active_trust_sessionsTime-boxed grants derived from a policy (session_id, policy_id, directory_path, allowed_tool_categories, expires_at_ms, daily budgets/usage).

Grounding & memory

TableHolds
grounding_cacheCached results from web-search grounding. Committed long-term memories must cite a cache entry, so every remembered fact has traceable provenance.
global_memoryCommitted cross-session insights (insight, channel, source_cache_idgrounding_cache, embedding_json, logical_certificate, ledger_signature).

10. Operations database (oomu_ops.db)

Kept separate from your working data.

TableHolds
license_compliance_telemetryAppend-style compliance records (hashed hardware id, masked IP, ASN, signed).
compliance_beacon_delivery_cacheDe-duplication cache for compliance beacons (hashed identifiers, last dispatch).

Compliance beacons can be disabled by the user via the privacy settings; see Privacy & Sandboxing.