The log is durable authority
Hyphae recovers from a checksummed, digest-chained append-only log. Embedded Redb indexes accelerate reads but remain rebuildable.
- A corrupt or unsupported durable format fails closed.
- Recovery reconstructs indexes from accepted log state.
- One operating-system lock protects one data directory.
Keys address structured documents
Binary keys map to structured JSON-compatible records. Put and delete are atomic at the engine boundary.
- Keys are byte sequences, not SQL rows.
- Documents are bounded by configuration.
- Delete is a durable mutation, not an index-only removal.
Mutation IDs make retries safe
A caller supplies a UUID with a mutation. Repeating the same accepted mutation does not apply it twice after a timeout, disconnect, or restart.
- Idempotency is durable, not process-local.
- Conflicting reuse of one mutation ID is rejected.
Snapshots give queries one logical world
A query, its sort, aggregation, cursor, and proof operate against one logical snapshot. Compaction creates a new anchored generation without silently rewriting history.
- Snapshots are canonical.
- Compaction commits an anchored generation.
- Proof verification pins the expected anchor.
Limits are part of correctness
Record counts, scanned bytes, output bytes, groups, time, and other budgets are not mere performance settings. They define whether a result is complete.
- Limit exhaustion returns an explicit error.
- Timeouts never return a partial success envelope.
- Clients enforce the same public contract.