handleSorter previously mutated query.page then called listStats() synchronously, while a separate page/limit watcher also fired on the page reset, producing two identical requests whenever sorting was triggered from page 2+. ordering is now part of the watched sources so page+ordering mutations from handleSorter batch into a single watcher run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>