d09e8a7bee
Remove legacy CONSUMABLE fallback from monthlyProduct — when the subscription fails to load, the UI now shows the retry state instead of silently offering the legacy one-time product for purchase. Legacy purchasers retain access via hasActiveSubscription() as before. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>