User messages were only saved inside _update_memory at the end of a successful directive. The clarification and access-denied branches returned early without ever calling it, so when a clarification turn asked 'what do you mean?' and the user replied, the original question was missing from context — the bot looked at a transcript of nothing but its own clarifying questions and asked yet another. Save the user message at the top of handle_message so every branch includes it. Drop the now-duplicate write from _update_memory.
13 KiB
13 KiB