- login: OAuth/email on top, phone collapsed behind 'Sign in with phone
instead' (prod providers: google on, email off, sms on — a developer
should never see a phone field as the front door)
- dashboard: plan card wired to GET /v1/billing/status; calls card shows
'—' + pointer to per-server metrics (no user-facing usage endpoint
exists; previous card showed invented '0 of 100,000 / Hobby')
- templates: server-rendered grid (revalidate 300) via fetchPublicTemplates,
client browser hydrates with initial data; inviting empty state with
labeled starter ideas instead of 'No templates yet'
- servers/new: removed upgrade nag from first analyze wait
- scripts/seed-templates.mjs: idempotent dry-run-by-default seeder driving
the real preview->create->live->publish flow for 6 first-party templates
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SXUwmPVRTD8AKQtio6gCN5