How We Built Chat Memory That Actually Works — Lessons from Shipping to 100K Users