The old single-list clearRemote wrote a dummy row with card_uid '__inactive__' instead of deleting. After the multi-list migration that row still exists alongside real lists, causing every list to appear twice on the phone — once as "all done" (the empty sentinel) and once with actual items. Filter it out in shoppingLoadAll and delete it on bootstrap so it doesn't linger. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>