State layout
Ódinn keeps mutable runtime state outside application source. The selected state directory is private and repaired toward owner-only permissions.
Main stores
Section titled “Main stores”.odinn/ config.json records.jsonl audit.jsonl db/odinn.sqlite artifacts/ oauth/ browser-profile/ jobs/ improvements/ skills/This is a conceptual map, not an exhaustive list of migration, lock, recovery, or signing-key files.
What each area contains
Section titled “What each area contains”config.json— provider metadata, policy, feature flags, and runtime settings; no API keys.records.jsonl— memory, project, session, goal, and improvement records.audit.jsonl— policy decisions and execution activity.db/odinn.sqlite— durable runs, steps, ledger events, snapshots, capabilities, and experimental evidence.artifacts/— content-addressed, redacted run evidence stored outside SQLite.jobs/and approval/recovery files — restart-safe execution state.oauth/— refreshable provider OAuth material.browser-profile/— the isolated Chromium profile.improvements/— configuration restore points for applied reliability tuning.skills/— managed Skills SDK packages and registry state.
The gateway bearer token, audit signing keys, cron registry, Agent SDK registry, and browser recovery journal also live under the state root.
Handling rules
Section titled “Handling rules”- Never commit state to source control.
- Never post the directory in a bug report.
- Stop the gateway before a full restore.
- Use
odinn state backupinstead of ad hoc partial copying. - Keep backups encrypted or access-controlled.
- Do not hand-edit signed audit records.
For the SQLite event model, see Event ledger. For recovery, see State, backup, and restore.
