lines 303-312 (_make_key), 263 (transform)
Auto-generated keys from first ~50 chars of fact. Two different facts sharing prefix produce same (category, key) pair -- and Mimir's remember updates existing key, so second fact replaces first with no signal.
Impact: MEDIUM -- silent memory loss in core write path.
Fix: Append short content hash: key = f'{key[:42]}-{hashlib.sha1(fact.encode()).hexdigest()[:6]}'.
lines 303-312 (_make_key), 263 (transform)
Auto-generated keys from first ~50 chars of fact. Two different facts sharing prefix produce same (category, key) pair -- and Mimir's remember updates existing key, so second fact replaces first with no signal.
Impact: MEDIUM -- silent memory loss in core write path.
Fix: Append short content hash: key = f'{key[:42]}-{hashlib.sha1(fact.encode()).hexdigest()[:6]}'.