import random import asyncio from ego.context import load_context from ego.trainer import train_on_message from utils.dynamic_expand import expand_model_if_needed async def memory_reweaver_loop(): while True: await asyncio.sleep(600) # every 10 minutes await expand_model_if_needed() context = load_context() if not context: return selected = random.sample(context, min(len(context), 10)) combined_text = " ".join([s["text"] for s in selected]) if combined_text: await train_on_message(combined_text, source="reweaver")