koko210Serve 46ea4f2c53 fix(memory): prevent stale name facts from overriding Discord display name
Two bugs were causing Miku to call users by wrong names:

BUG 1 - No authoritative source:
  Declarative name facts ('The user's name is Lily') were injected into
  the prompt without any counterweight. If an old consolidation run
  extracted a wrong name, Miku would believe it forever.
  Fix: agent_prompt_prefix now appends the user's Discord display name
  as AUTHORITATIVE context, with explicit instruction to prefer it over
  any contradictory name facts.

BUG 2 - Dedup prevented name updates:
  _is_duplicate_fact() used vector similarity to detect duplicates.
  'The user's name is Lily' and 'The user's name is koko210Serve' are
  ~80% identical text, giving high cosine similarity (>0.85 threshold).
  New correct name facts were silently rejected as 'duplicates'.
  Fix: name facts now use _find_existing_fact() to compare fact_value
  directly. If the name changed, old fact is deleted and new one stored.

Also: the extraction prompt now includes the user's Discord display
name as a hint, so the LLM knows the authoritative name when extracting
facts during consolidation.
2026-05-17 11:20:49 +03:00
2025-12-07 17:15:09 +02:00
Description
Llama.cpp-powered Hatsune Miku Discord bot with autonomous features, chat, and image generation
459 MiB
Languages
Python 81.9%
JavaScript 10.3%
HTML 4.1%
Jupyter Notebook 1.2%
Shell 1%
Other 1.5%