parlov-elicit 0.5.0

Elicitation engine: strategy selection and probe plan generation for parlov.
Documentation
//! Elicitation engine for parlov: strategy selection and probe plan generation.
//!
//! Converts a `ScanContext` (operator-supplied scan parameters) into a
//! `Vec<ProbeSpec>` (the ordered list of probe pairs the scheduler executes).
//! Pure computation -- no I/O, no async.

#![deny(clippy::all)]
#![warn(clippy::pedantic)]
#![deny(missing_docs)]

pub mod chain;
pub mod context;
pub mod existence;
pub mod harvest;
pub mod registry;
pub mod strategy;
pub mod types;

pub(crate) mod util;

#[cfg(test)]
pub(crate) mod test_utils;

pub use chain::{
    generate_dag_chained_plan, ChainRegistry, Consumer, Producer, ProducerOutput,
    ProducerOutputKind,
};
pub use context::{KnownDuplicate, ScanContext, StateField};
pub use existence::default_chain_registry;
pub use harvest::{
    ConditionalValidators, EtagStrength, HarvestedObservations, RangeSignals, RedirectSignals,
};
pub use registry::{all_strategies, generate_plan};
pub use strategy::Strategy;
pub use types::{BurstSpec, ChainProvenance, ProbePair, ProbeSpec, RiskLevel, StrategyMetadata};