●Expired sign-in links now show a message instead of a blank page●Founding Member "Manage billing" no longer depends on an email match●Fixed Priya persona showing "Elise-Demo2" in the app●Personas list — App and Community buttons now visible on desktop●Guardrails for free self-serve signups●Free plan self-serve signup and welcome email●Measure Free-plan sign-ups by entry point●Smoke Test — The Open Door (Free Plan Launch)●Edge Function parse-receipt, Claude Sonnet 4.6 vision with structured JSON output, Haiku 4.5 fallback for low confidence retries●"Scan Receipt" entry point on Log Items flow●Review screen with editable line items, GF flag pre checked, prices pre filled, regular-equivalent price estimated by the model (writes to the regular_equivalent_price column shipped in Sprint 3)●Schema migration adding ocr_source and ocr_confidence columns to receipt_items, plus an 'ocr' value for the source column shipped in Sprint 4●Expired sign-in links now show a message instead of a blank page●Founding Member "Manage billing" no longer depends on an email match●Fixed Priya persona showing "Elise-Demo2" in the app●Personas list — App and Community buttons now visible on desktop●Guardrails for free self-serve signups●Free plan self-serve signup and welcome email●Measure Free-plan sign-ups by entry point●Smoke Test — The Open Door (Free Plan Launch)●Edge Function parse-receipt, Claude Sonnet 4.6 vision with structured JSON output, Haiku 4.5 fallback for low confidence retries●"Scan Receipt" entry point on Log Items flow●Review screen with editable line items, GF flag pre checked, prices pre filled, regular-equivalent price estimated by the model (writes to the regular_equivalent_price column shipped in Sprint 3)●Schema migration adding ocr_source and ocr_confidence columns to receipt_items, plus an 'ocr' value for the source column shipped in Sprint 4