areev_trigger/lib.rs
1//! Areev triggers — declared as grains, evaluated by a one-shot idempotent
2//! command, safe to invoke concurrently.
3//!
4//! There is still no daemon and no scheduler. What changes is that the
5//! *cadence* becomes data in the memory instead of a fact buried in someone's
6//! crontab: the OS scheduler stays a dumb heartbeat, and the memory decides
7//! what is actually due. That is the same posture `areev loop run --if-stale`
8//! already establishes, and the same one anacron and systemd's
9//! `Persistent=true` take — a persisted watermark plus catch-up on the next
10//! invocation, rather than a resident process holding a timer.
11pub mod clock;
12pub mod connector;
13pub mod error;
14pub mod eval;
15pub mod predicate;
16pub mod render;
17pub mod schedule;
18
19pub use clock::{Clock, FixedClock, SystemClock};
20pub use connector::{PollItem, PollRequest, PollResponse};
21pub use eval::{EvalOptions, EvalReport, Evaluator, RunStarter, StartResult, TriggerStatus};
22pub use error::{Result, TriggerError};