Three interrelated fixes for speaker attribution confusion:
1. Fix misleading episodic memory header (discord_bridge.py):
The Cat core hardcodes '## Context of things the Human said in the past:'
when formatting recalled conversations. Our plugins store BOTH user messages
([User]: prefix) AND Miku's own responses ([Miku]: prefix) in episodic memory.
This misleading header primes the LLM to attribute Miku's words to the user.
Replaced with '## Past conversation excerpts (prefixed by who said what):'
which accurately describes the mixed-speaker content.
2. Tighten episodic recall (discord_bridge.py):
Added before_cat_recalls_episodic_memories hook setting threshold=0.75
(vs default 0.7) to reduce the chance of Miku's own just-uttered response
being recalled on the very next user message, which would feed her own
words back as misleading context.
3. Add role clarification (miku_personality.py & evil_miku_personality.py):
Added a clarifying note after '# Conversation until now:' in the prompt
suffix to explicitly tell the model that 'Human = the user, AI = you (Miku)',
helping it reconcile the two labeling systems (episodic [User]/[Miku] prefixes
vs conversation history Human/AI roles).