import random import asyncio from context.context import load_context from model.trainer import train_on_message from model.dynamic_expand import expand_model_if_needed async def memory_reweaver_loop(): while True: await asyncio.sleep(600) # every 10 minutes 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: train_on_message(combined_text, source="reweaver")