Hyphae documentation

Complete results under explicit budgets.

Hyphae defines query behavior independently of scan order and index implementation. A query completes under its limits or fails without partial success.

One deterministic query pipeline

Hyphae applies filters, global ordering, logical cursors, limits, and aggregations against one snapshot. The reference semantics are independent of an index implementation.

  • Filters select documents.
  • Sort is global, not per internal page.
  • Cursor continuation follows the logical order.

Filters are typed by value

Equality compares canonical JSON values. Range and ordering semantics reject incompatible value types rather than guessing a coercion.

  • Missing fields remain distinct from null.
  • String and numeric comparisons do not coerce across types.
  • Nested field access follows the versioned query contract.
request.jsoncopy-safe example
{
  "filter": {"field": "group", "equals": "edge"},
  "sort": [{"field": "score", "order": "desc"}],
  "limit": 50
}

Global sort precedes the cursor

The engine orders the complete eligible result space before applying a logical cursor. Internal scan order cannot leak into the public response.

  • Stable tie-breaking is explicit.
  • A cursor is opaque to clients.
  • Changed query shape invalidates incompatible continuation.

Aggregations remain bounded

Global and grouped aggregations share the same complete-result rule. Group count, memory, input, and time ceilings are enforced before success.

  • Count, sum, minimum, maximum, and supported grouped forms use reference semantics.
  • Overflow and incompatible values fail explicitly.
  • No group is silently dropped to fit a budget.

Semantic retrieval can abstain

When a Rust host supplies vectors, Hyphae performs exact provider-neutral cosine retrieval. Below-threshold candidates produce explicit abstention rather than a forced nearest neighbor.

  • Embeddings never become durable authority.
  • No model provider is required by core query.
  • Vector dimensions and finite values are validated.
Next guideResult proofs