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 context;
14pub mod error;
15pub mod eval;
16pub mod predicate;
17pub mod render;
18pub mod schedule;
19
20pub use clock::{Clock, FixedClock, SystemClock};
21pub use connector::{PollItem, PollRequest, PollResponse};
22pub use context::{parse_context_query, ContextQuerySpec};
23pub use eval::{
24 trigger_name, EvalOptions, EvalReport, Evaluator, RunStarter, StartResult, TriggerStatus,
25};
26pub use error::{Result, TriggerError};