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.
{
"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.