//! The visibility projection: the row store every workflow list reads.
//!
//! One row per `(workflow_id, run_id)`, written incrementally by the engine's
//! single Recorder and read by `list_workflows` through the ONE list contract
//! in [`aion_core::listing`]. Rows are never re-derived on the read path.
//!
//! * [`record`] — the row, the store trait, and the page it answers with.
//! * [`ordering`] — the sort-key bytes both backends order by, so a page is
//! the same page whichever store served it.
//! * [`cursor`] — the opaque, query-bound keyset cursor.
//! * [`query`] — the shared filter → order → cursor → limit → count fold a
//! backend applies to its candidate rows.
pub use WorkflowCursor;
pub use ;
pub use ;