Mental Model
Stable v0.1.0
Schema.md v2
Updated APR 2026
Familiar → onde Translation
| Familiar Concept | How onde Does It | Why It Matters |
|---|---|---|
| Vault / Hidden DB | .onde/journal/ (ops.md + head.bin) | Plain text log. Git-mergeable. Rebuildable. No binary lock-in. |
Backlinks [[ ]] | Typed directed edges {critical: true} | Exact relations. Queryable. Not fuzzy text match. |
| Tags / Properties | key:: value, enums, schema validation | Validated. Auto-filled by lint. Cross-node constraints. |
| Daily Notes / History | Temporal index: created_at + invalidated_at | Query past graph. Rollback safe. Every fact versioned. |
| Plugins / Dataview | Embedded onde:: queries + CLI pipes | Live dashboards. Bidirectional edit. Zero plugin hell. |
| Sync / Multi-device | CRDT journal + Git | Concurrent edits merge deterministic. Zero conflict. |
The 4 Paradigm Shifts
- Markdown = cache. Not truth. Delete files?
onde materializerebuild from journal. - Structure = embedded. Not forced upfront. Write free-form. Add schema when chaos loom.
- Sync = on-demand. Not always-on. Edit anytime.
onde lintheal, journal, validate. - Time = first-class. Every fact carry lifespan. Query yesterday’s graph like it still here.
The Core Loop (How It Actually Works)
Human/Agent edit raw .md (vim, IDE, script, LLM output)
│ No daemon. No onde running. Disk = workspace.
▼
Run `onde lint`
│ Parse dirty → diff vs journal → append ops → CRDT merge
│ Auto-fix (ID, count, inverse, resolve) → validate → materialize cache
▼
Run `onde find` / `onde q`
│ Load head.bin → query graph → pipe to terminal or LLM
▼
Run `onde git commit`
│ Read uncommitted ops → generate message → stage .onde/ + changed MD → commit
▼
Loop repeat. Idempotent. Deterministic.
Why Agents Prefer This
- Exact graph math > vector fog. Typed edges + temporal truth. Zero hallucination on structure.
- Pipe-native.
onde find task --status BLOCKED --format json | llm --prompt "prioritize". UNIX workflow. - Token sovereignty. TOON dense outline = ~15 tokens/node. Pack 10x context per window.
- Bookkeeping offloaded. Agent write content.
onde linthandle ID, inverse, count, timestamp, format. - Git-native merge.
ops.mdappend-only. Concurrent writes merge by line add. Zero conflict.
Mental Traps to Drop
- ❌ Treat
.mdas database. → ✅ It’s view. Journal own truth. - ❌ Fear deleting files. → ✅
onde materializerecover from ops. MD disposable. - ❌ Sync manually or run watcher. → ✅
onde lintheal on demand.--watchoptional. - ❌ Over-schema day one. → ✅ Start loose.
onde schema extractwhen ready. - ❌ Expect fuzzy backlink search. → ✅ Edges typed, directed, temporal. Query exact.
Deep Dives
Next Step: → Quick Start: 10 Minutes to Your First Graph