Skip to main content

aria_core/
lib.rs

1// aria-core — generic adaptive sequencing engine
2// Zero dependencies (serde optional). Domain defined entirely by caller.
3//
4// Caller implements:
5//   - `Scoreable`        → their item type
6//   - `Factor`           → their scoring logic (one or many)
7//
8// Caller optionally overrides:
9//   - `StateUpdater`     → custom skill/state update logic
10//
11// Engine exposes:
12//   suggest(user_id)                    → Result<Item>
13//   feedback(user_id, item_id, signal)  → Result<()>
14//   get_state(user_id)                  → Option<&ProfileState>
15//   load_state(user_id, state)          → ()
16
17pub mod engine;
18pub mod factor;
19pub mod item;
20pub mod selector;
21pub mod signal;
22pub mod state;
23pub mod updater;
24pub mod serialiser;
25pub mod error;
26
27pub use engine::{Engine, EngineConfig};
28pub use factor::Factor;
29pub use item::Scoreable;
30pub use selector::Selector;
31pub use signal::Signal;
32pub use state::ProfileState;
33pub use updater::{StateUpdater, DefaultStateUpdater};
34pub use error::AriaError;
35
36pub const VERSION: &str = env!("CARGO_PKG_VERSION");