Things Claude changed that I didn't understand — explained… by Claude.
Claude wrapped a prop in useMemo and my list stopped thrashing. Here's the reference-equality detail I was missing.
Six small moves that replaced as-casts and empty-string fallbacks with types that actually match the runtime.