Right now, Neuro's memory is limited, most likely because it all has to be stored in the context alongside the conversation's history, greatly limiting both. But even if that's not how it works, this would be near-unlimited (which her current implementation isn't considering she forgot fire/water).
Humans don't have all of their memories instantly accessible at once, otherwise we'd be overwhelmed. Instead, we only remember things if we see, hear, etc, or think of something related. A simple way to do this for Neuro would be to store all but her most essential memories and only load them into the context when they're relevant.
Each memory would be stored as string of text, along with keywords for it. e.g. "Anny is my mother." could be an essential memory kept at all times, but the full memory could be like:
"Anny is my mother, she's a fox girl vtuber who's really good at art and drew my model." (Anny, mother, mom, art, model)
This is then loaded into a hash table (for performance) where each keyword has its own copy of (or pointer to) the memory string. You might have to handle a keyword corresponding to multiple memories, too (concatenate them?). For every word of the input, and every word Neuro says, check if that word is a keyword, and then add that string into the context with other background information.
Then you have much more room for Neuro to remember things she currently doesn't (like her birthday), and more room for context from the current conversation! There are probably ways to extend this to let Neuro store new memories herself, but that would be much more difficult because she'd need to figure out the keywords too. Either way, I'm a big fan of Neuro and hope she continues to grow as the best AI vtuber!
Once it has the context and is generating, i'm not sure how you would effectively refresh the conversation with the new stream of info
And then eventually you learn that AI is 99% just data and most of your time then gets spent trying to deal with data, cleaning it and making the most of it