| Database engine — overview | What HydrAIDE is, struct-as-schema philosophy, where SQL is and isn't | docs/features/database-engine.md |
| Struct-first data model | Why your Go struct is the schema, how it maps to Treasures, why msgpack | docs/features/struct-first-data-model.md |
| Deterministic addressing | How Sanctuary/Realm/Swamp hashes to a folder and to a server, why there's no metadata service | docs/features/deterministic-addressing.md |
| Swamp lifecycle | How Swamps are summoned, idle-evicted from memory, zero-garbage cleanup, CloseAfterIdle semantics | docs/features/swamp-lifecycle.md |
| V2 storage engine | .hyd file format, append-only writes, compressed blocks, compaction, header layout | docs/features/v2-storage-engine.md |
| Query engine | Server-side filters, AND/OR, vector, geo, nested-slice, phrase, IN — internals and design intent | docs/features/query-engine.md |
| Auto field-bucket indexes | Zero-declaration in-memory indexes that accelerate Equal / IN filters; planner decisions, lifecycle, sharding-vs-bucket tradeoff, what data design lets the index build | docs/features/auto-field-bucket-indexes.md |
| Concurrency safety | Per-Treasure locking, lock-free reads, write queueing, why Swamps don't deadlock | docs/features/concurrency-safe.md |
| Built-in business locks | Cross-service distributed locks, FIFO queue, TTL semantics, when to use them | docs/features/built-in-business-lock.md |
| Reactivity & subscriptions | How writes emit events, why there's no separate broker, FIFO ordering, what Subscribe is not | docs/features/reactivity-and-subscription-logic.md |
| Structural msgpack patch | Atomic field-level mutations on msgpack Treasures, conditions, ops, when not to use | docs/features/structural-msgpack-patch.md |
| Map-body Catalogs | Single-value vs map-body shape, wire format, Save/Read/Patch symmetry, version compatibility | docs/features/map-body-catalog.md |
| Pure gRPC control | Why the proto is the contract, why there is no REST gateway or SDK-only API, polyglot story | docs/features/pure-grpc-control.md |
| Parametric atomic shift | How CatalogShift generalises ShiftExpired across any index + filter, atomicity model, when to use vs. Patch | docs/features/catalog-shift.md |
| Cap quota primitive | Why Cap exists, how it eliminates the count+claim race, the (pre, post) four-cell rule, when not to use Cap | docs/features/cap-quota.md |