pub async fn run_memory_evolution(
engine: &Arc<Mutex<MemgineEngine>>,
dry_run: bool,
) -> Result<EvolutionOutcome, String>Expand description
The Memory arm of the evolution executor: size the pass with
decide_maintenance (localized vs global — recorded, since
consolidate() is the single live mechanism for both today) and run
engine.consolidate(). dry_run skips the consolidate and reports what
would run (applied == false).