ainl_graph_extractor/lib.rs
1//! Graph extractor task: bump semantic `recurrence_count` from retrieval deltas, then run persona evolution.
2//!
3//! **Alpha:** API may change before 1.0.
4//!
5//! Persona evolution rows use [`ainl_persona::EVOLUTION_TRAIT_NAME`] — import that constant from `ainl-persona`
6//! when matching evolution bundles; do not duplicate the string.
7//!
8//! **Note:** [`GraphExtractorTask::evolution_engine`] is the canonical in-process handle to
9//! [`ainl_persona::EvolutionEngine`]. **ainl-runtime** exposes the same engine for direct
10//! `ingest_signals` / `correction_tick` / `evolve` calls; this crate’s `run_pass` is one signal path, not the only one.
11
12mod extractor;
13mod persona_signals;
14mod recurrence;
15mod runner;
16
17pub use ainl_persona::{AXIS_EVOLUTION_SNAPSHOT, EVOLUTION_TRAIT_NAME};
18pub use extractor::{ExtractionReport, GraphExtractorTask};
19pub use persona_signals::{extract_pass, PersonaSignalExtractorState};
20pub use recurrence::update_semantic_recurrence;
21pub use runner::run_extraction_pass;