elips/docs
Chapter VI · persistence

On-disk layout, from the outside

Open any ELIPS directory and you can tell what state it's in without running a single command.

/my_dbLOCKadvisory flock — single writerIDENTITYdimension · metric · indexTEXT_EMBEDDER.manifestprovider · model · fingerprintwal.logCRC32C framed mutationselips.manifestsegmented mode roottext_embedder/rehydratable artifactsegments/atomically renamed segment fileselips.snapshotcompat single-file layoutone directory = one database
Snapshot mode vs. segmented mode share LOCK, IDENTITY, wal.log, and the optional TEXT_EMBEDDER manifest.
text
/my_db/
├── LOCK                              # advisory file lock (flock)
├── IDENTITY                          # dimension, metric, index type
├── TEXT_EMBEDDER.manifest            # embedder identity (provider/model/revision)
├── wal.log                           # append-only write-ahead log
├── elips.manifest                    # segmented mode: per-vault segment list
├── text_embedder/
│   └── default_v1_<dim>.localembed   # built-in local embedder artifact
├── segments/
│   └── vault_<n>_<epoch>.segment     # one fresh segment per vault per checkpoint
└── elips.snapshot                    # snapshot mode (older / opt-in)

From docs/storage.md: segmented mode is the default. Snapshot mode is preserved for compatibility and atomic rename (elips.snapshot.tmp → elips.snapshot).