Lesson 25← back to roadmap
Concurrency control is in-process. ELIPS does not coordinate across processes for writes — that is what the file lock is for.
From docs/internals/lock-manager.md: locks are acquired in a fixed hierarchical order (database → vault → record). Acquiring out of order is a programmer error and is asserted in debug builds.
- Shared (read) and exclusive (write) modes per resource
- Deadlock prevention via fixed acquisition order — no cycle detector needed
- Lock-free read paths through the index when the writer is not active