src/warehouse/ragnar.rs
//! Ragnar-fast: the static search-tree index over the warehouse commit/version log.
//!
//! **This module moved.** The implementation now lives in
//! [`znippy_zoomies::stree_log`], beside the `STree64` it is built on, and this
//! file is a re-export so existing call sites keep working.
//!
//! ## Why it moved
//! It was a wrapper around `znippy_zoomies::stree::STree64` living one repo
//! *downstream* of the algorithm it wraps, and it had drifted: the dedup rule
//! diverged from the canonical implementation, it carried `#![allow(dead_code)]`
//! with every caller a bench or an example, and it exposed **no batch API** while
//! `STree64` had shipped `lookup_batch`, `lookup_batch_pipeline<P>` and an AVX2
//! specialisation all along.
//!
//! `STree64` reports only *exact* membership, so the **as-of / floor** descent
//! this type adds genuinely has to exist somewhere — but beside the exact lookup
//! it complements, not in a fork downstream of it. It now also has the batched
//! floor descent (`as_of_batch::<P>`), which is what a served path needs: one
//! descent at a time serialises on memory, because every level is a dependent
//! load; `P` independent descents advanced in lockstep overlap those misses.
//!
//! ## What still needs doing here
//! nornir does not *call* this on any production path. The knowledge gRPC
//! handlers rebuild `KnowledgeView` inside the per-request `spawn_blocking` with
//! no index and no cache, so the served latency and the benched latency differ by
//! orders of magnitude and no arm measures the served one. That is the open work;
//! see `workspace_nordisk/.nornir/universe-graph-plan-2026-07-23.md` §7b.
pub use znippy_zoomies::stree_log::{LinearScan, RagnarLog};