parlov-elicit 0.4.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.
//!
//! # Structure
//!
//! - `context` -- `ScanContext` and its supporting types.
//! - `types` -- `RiskLevel`, `ProbeSpec`, `ProbePair`, `BurstSpec`, `StrategyMetadata`.
//! - `strategy` -- `Strategy` trait.
//! - `registry` -- `all_strategies()` and `generate_plan()`.
//! - `existence` -- oracle-specific strategy modules grouped by detection vector.

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

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

pub mod util;

pub use context::{KnownDuplicate, ScanContext, StateField};
pub use registry::{all_strategies, generate_plan};
pub use strategy::Strategy;
pub use types::{BurstSpec, ProbePair, ProbeSpec, RiskLevel, StrategyMetadata};