Hyphae documentation

The operating model behind Hyphae.

Learn which state is authoritative, how mutations survive retries, why snapshots matter, and how limits participate in correctness.

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.
Next guideQuery semantics