- Shipped
- May 18, 2026 at 12:46 AM UTC
- Author
- Kamo
- Commit
- 27c3968
1. Personality picker reframed honestly. Was "Pick your guide" — looked like the borrower was choosing their loan officer. Now reads "Choose a voice for onboarding" with explicit copy that the actual LO is a real human assigned at application time. Card body trades the person's name + tagline for the voice tag + tagline (downplays the false-LO-choice signal). CTA: "Use this voice →". LoGuideChip flips its label to "voice" until a real LO is assigned, at which point it shows the LO's display name as "your loan officer". 2. TaxIdField component: replaces SSN-last-4-only with a four-option picker — US Social Security, ITIN (full 9), Passport, or "I don't have these on hand" (defer to LO). Each option flips the input mode, format mask, and helper text. Front-door form now uses it. Defer path lets ITIN holders / foreign nationals / borrowers without docs handy still progress through the form. 3. Mailbox e-consent rebuilt around granular, expandable consents. Each consent has a Required/Optional pill, a one-line blurb visible by default, and a "Read full text" toggle that expands the actual disclosure paragraph. TCPA is now Optional with explicit "consent not required to apply" language; ESIGN, soft credit, privacy stay Required. Save button enables on Required consents only. All disclosure text is placeholder pending legal review (flagged inline). 4. Error taxonomy + global classifier (lib/errors/classify.ts) maps raw errors to one of 9 kinds (offline / timeout / auth-expired / validation / rate-limited / server / integration-unavailable / not-found / unknown) with borrower-readable message, retryable flag, and work-safe flag. ErrorBanner renders the classification with a contextual icon and an optional "Try again" CTA. React Query global cache handlers run every error through the classifier and log structured warnings for telemetry. Consumers can still surface their own form-specific errors — this is the safety net. Build 29/29, 140 tests pass.