Skip to main content

tt_plan_core/
lib.rs

1//! Plan replay engine. See `docs/03-plan-replay-design.md`.
2//!
3//! Public surface:
4//! - [`replay::replay`] — the deterministic entry point.
5//! - Types in [`types`] — `PlanInput`, `PlanResult`, etc.
6//! - [`error::PlanError`] — every error this crate can return.
7//!
8//! Hard invariants enforced by `tests/replay.rs` and `tests/bootstrap.rs`:
9//! 1. **Determinism**: same `(historical_rows, proposed_config, seed)` →
10//!    bit-identical JSON output.
11//! 2. **Bootstrap CI coverage**: synthetic universes with known truth land
12//!    inside the 95% CI ~95% of the time.
13//! 3. **Conservative cost math**: missing pricing → request counted as
14//!    unchanged (never fabricate savings).
15
16#![deny(missing_docs)]
17
18pub mod apply;
19pub mod bootstrap;
20pub mod cache_projection;
21pub mod cost;
22pub mod error;
23pub mod l2_projection;
24pub mod pricing;
25pub mod quality;
26pub mod replay;
27pub mod routing;
28pub mod types;
29
30pub use apply::{apply_plan, ApplyError, InMemoryPlanStore, PlanStore};
31pub use error::PlanError;
32pub use pricing::{catalog_pricing_table, catalog_pricing_table_at};
33pub use quality::{
34    score_quality, stratified_sample, JudgeProvider, JudgeVerdict, MockJudge, QualityConfig,
35    QualityError, QualityResult, RiskBand, SampleScore,
36};
37pub use replay::{replay, replay_with_quality};
38pub use types::{
39    Aggregates, CacheProjection, ConfidenceIntervals, L2Projection, L2SweepResult, ModelPricing,
40    PerRouteBreakdown, PlanConfig, PlanInput, PlanResult, PricingTable, ProposedRoute, RequestLog,
41    RouteAction, RouteConditions,
42};