truth_engine/lib.rs
1//! # truth-engine
2//!
3//! Deterministic calendar computation for AI agents.
4//!
5//! The Truth Engine provides mathematically correct recurrence rule expansion,
6//! conflict detection, free/busy computation, and multi-calendar availability
7//! merging that LLMs cannot reliably perform via inference.
8//!
9//! ## Modules
10//!
11//! - [`expander`] — RRULE string → list of concrete datetime instances
12//! - [`dst`] — DST transition policies (skip, shift, etc.)
13//! - [`conflict`] — Detect overlapping events in expanded schedules
14//! - [`freebusy`] — Compute free time slots from event lists
15//! - [`availability`] — Merge N event streams into unified busy/free with privacy control
16//! - [`error`] — Error types
17
18pub mod availability;
19pub mod conflict;
20pub mod dst;
21pub mod error;
22pub mod expander;
23pub mod freebusy;
24
25pub use availability::{
26 find_first_free_across, merge_availability, BusyBlock, EventStream, PrivacyLevel,
27 UnifiedAvailability,
28};
29pub use conflict::find_conflicts;
30pub use error::TruthError;
31pub use expander::{expand_rrule, expand_rrule_with_exdates, ExpandedEvent};
32pub use freebusy::{find_free_slots, FreeSlot};