feat(borrower-ux) sprint 1: trust + safety baseline

Otherkamolos
Ya
18 Mei 2026, 00:33 UTC
Mwandishi
Kamo
Ahadi ya
9667d53

Four highest-priority items from the borrower-UX audit: 1. Gate every stub integration behind **************** When the flag is off (e.g. real deployments), the stub providers throw StubsDisabledError instead of pretending to succeed. Bank vault and front-door waypoints catch the error and render a clear "this isn't available — your LO will handle it manually" message instead of a fake "✓ pulled 3 accounts" success. Also adds a sticky TestModeBanner shown app-wide when the flag IS on so internal testers can't mistake stub responses for real activity. 2. Rate clarity: "Lock these numbers" → "Save this estimate". "Locked in ✓" → "Saved ✓". TRex copy now explicitly says "this is an estimate, not a rate lock." Disclaimer block under the rate spells out that taxes/insurance/HOA are excluded and the rate firms up after credit + income verification. 3. DocumentsWidget surfaces the actual blockers. Was "Documents: 40%" with a "Manage documents" button. Now leads with rejected docs (amber alert with filenames), then the top 3 missing categories with their hints and counts ("Recent paystubs (2 needed)"). CTA flips to "Upload documents →" when there's work to do, "Manage documents →" otherwise. 4. Start-over confirmation: replaces the double-tap-with-4-second-window pattern in CenterStage with a real modal. Shows answer count, keyboard ESC dismiss, focus management, "Keep my progress" as the default action. Prevents accidental wipes on mobile mis-taps. Verification: typecheck clean, build 28/28 routes, 140 tests pass.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei