Vault structure
Your vault is a folder. Everything in it is plain text you can read, edit, grep, version, and sync. There is no database and no binary blob format — that’s the design.
The two halves
Section titled “The two halves”Prevail keeps a hard line between your data (the vault) and machine-local state (secrets, caches, the session DB).
| Location | Synced? | |
|---|---|---|
| Vault | Wherever you chose (e.g. ~/life-vault/) | Yes — sync this |
| Machine-local | ~/.prevail/ | No — never sync this |
Inside the vault
Section titled “Inside the vault”- AGENTS-operating.md the operating manual agents read (override here)
Directorywealth/ a domain
- state.md
- QUICKSTART.md
- PROMPTS.md
- config.md
Directory00_current/
- …
Directory01_prior/
- …
Directory02_briefs/
- …
Directoryskills/
- …
Directory_log/
- …
Directory_journal/
- …
Directoryhealth/ another domain
- …
Directorytax/
- …
Directorybenchmark/ the canonical test suite
- README.md
Directoryquestions/
- …
Directoryattachments/
- …
Directoryruns/
- …
- .schedule.json cron-style recurring commands
- .briefings.json scheduled domain briefings
- Domains are the bulk of it — one folder per area of your life. → Domains
benchmark/holds the canonical question suite and run results. → BenchmarksAGENTS-operating.mdis the operating manual prepended to agent calls. Edit it to change how agents treat your vault..schedule.json/.briefings.jsonpersist your scheduled work. → Briefings
Inside ~/.prevail/
Section titled “Inside ~/.prevail/”- config.json vault path, per-domain settings, chair pin
- telegram.json bot token + chat-ID allowlist (chmod 0600)
- mcp.json auto-generated MCP bearer token
- debug.log diagnostics (tail with
prevail doctor --debug) Directorysessions/ SQLite chat history (FTS5 search index)
- …
Directoryconnectors/ per-connector auth + synced data
- …
Directoryapps/ community connector definitions
- …
This directory is created on first run and managed by Prevail. You rarely touch it directly — prevail doctor reads it for you.
Why plain markdown
Section titled “Why plain markdown”- You own it. No export step, no lock-in. It’s already files.
- Edit anywhere. Obsidian, VS Code, vim, the cockpit’s
ekey — they all work because it’s just text. - Grep-able.
grep -r "mortgage" ~/life-vault/does what you’d hope. - Diffable.
git logon your vault is a literal history of your decisions. - Sync-agnostic. iCloud, Dropbox, git, Tailscale Drive — anything that moves files moves your vault.