Sessions
Una session es una unidad lógica de trabajo para un user_id. Tiene started_at, opcional ended_at, opcional summary, y un status de active o completed. Las observations pertenecen a la sesión que las escribió por última vez (Braess #4).
Lifecycle
1. Abrir o reutilizar
mem_session_start(user_id) devuelve un SessionStartResponse. Si el usuario tiene una sesión activa no expirada, se reutiliza (is_new=False). Si no, se crea una nueva (is_new=True).
2. Guardar observations
Cada mem_save y mem_session_summary toca la sesión activa — su last_activity_at avanza. La ventana de timeout se resetea.