- Shipped
- May 16, 2026 at 3:14 AM UTC
- Author
- Kamo
- Commit
- d37bd49
Returning visitors with persisted IDB state were being dropped straight into whatever stage they last reached — including the estimate-reveal screen, which (without the conversational lead-up) reads as a confusing numbers dump for someone who has never seen the warm conversational intro. This change: 1. Adds resetAndClearStorage() to the persistence store — combines the in-memory zustand reset with the idb-keyval clearState(). 2. Adds WelcomeBackGate component — a deliberate orientation moment when prior progress exists but no AppMortgage has been minted yet. T-Rex greets by name (when known), gives two big choices: "Pick up where I left off" or "Start fresh". 3. ConversationalRoot now requires resumeAcknowledged === true before any auto-stage advancement when hasPriorProgress is true. Brand-new visitors continue to land on the warm conversational greeting as intended; nothing changes for them. 4. CenterStage adds a small, always-visible "Start over" link in the footer of every conversational screen (except loading + welcome-back themselves). Tap-once shows a confirm prompt; tap-again clears everything and reloads. 4-second auto-cancel. Also tightens a stale TS error in **************** (the answers literal needed `as Record<string, unknown>` to allow the 'cash-out-amount' key not present in the prior step's narrowed type). 76/76 tests pass, build clean.