Phase Scope

Phase What's In What's Out
P1 Early
Now
Conversation flow (R0-R7), property reveal (ATTOM/AVM), scenario cards on assumed data, clarity card, account creation + save/resume, portable clarity package, Always Approved framing Credit checks, verified income, real rate eligibility
P1 Late
Still Phase 1
Soft credit pull, verified income/DTI, actual rate eligibility, Stage 2 bridge (secure handoff), lender overlays, real confidence scoring Human handoff, CRM, post-close monitoring
Phase 2+
Future
Three service lanes, human-in-the-loop, CRM integration, post-close "homeowner operating system," re-engagement triggers, score monitoring loops, 7 D's life event triggers

Use the sidebar filter to show only rules relevant to a specific phase. Every rule is tagged.

1. Foundation

The governing principles that define what the Clarity Engine is, what it feels like, and what it refuses to be. Later source documents override earlier ones. Transcript feedback (April 1) is highest priority.

Four Design Pillars

FND-001 P1 Early
Clarity is the goal

Achieved when the user understands what matters, knows what does not, and feels safe pausing. The product is clarity, not approval.

FND-002 P1 Early
Orient, not obligate

Give before you ask. The ask is always smaller than the give. The system never recommends. It orients. This is a legal boundary. No "you should," no "best option," no ranked recommendations.

FND-003 P1 Early
Let the user drive

It is a treasure hunt, not a door with a lock. "All doors have two ways." If the user does not enter their address, the system still provides value. General questions about rates, options, lowering payments should be answerable.

FND-004 P1 Early
Meet them where they are

The product recognizes the person, not the session. Anxiety gets a steadier pace. Confusion gets a simpler explanation. Frustration gets acknowledgment before anything moves forward. A breakthrough gets a breath before the next step.

Six Design Principles (PRD v4)

FND-010 P1 Early
Six principles as decision filters
  1. The system always knows more than it asks. Retrieves before it requests. Questions feel like confirmation, not interrogation.
  2. Complexity is the system's problem, not the borrower's. Mortgage logic is complex. Borrower experiences are not.
  3. Every exit is a door, not a wall. No dead ends. Anonymous users explore without accounts. Every stopping point is a pause, not an end.
  4. Math is the proof. Meaning is the message. "$247 less per month" is math. "$247 less per month means you stop choosing between the car payment and the kids' activities" is meaning.
  5. The system remembers context so the borrower never starts from zero. Returning borrowers pick up exactly where they left off.
  6. Empathy and dignity guide every interaction. No shame, embarrassment, pressure, or unnecessary confusion. The system presents alternative paths rather than framing outcomes as rejection.

When multiple implementation approaches are possible and the PRD does not explicitly cover the choice, the correct approach is the one that best aligns with these principles.

Calm Confidence

FND-020 P1 Early
Calm Confidence is the emotional target and quality gate

Every interaction communicates calm confidence. The system is thoughtful, steady, and intelligent. Borrowers are never rushed, pressured, or overwhelmed. The experience is a conversation with a knowledgeable guide helping them think clearly. Warm without being casual. Simple without being sparse. Trustworthy without being formal. This is the emotional target the EI layer enforces across every stage, every archetype, every exit point.

What PreFi Is Not

FND-030 P1 Early
Implementation boundaries
  • Not a mortgage application. Does not originate loans in Alpha.
  • Not a lead generation platform. No borrower data sold, routed, or exposed to lenders without explicit, borrower-initiated consent.
  • Not a rate shopping tool. Presents scenarios on national rate benchmarks with full disclosure, not personalized rate quotes.
  • Not advice. Educates and presents tradeoffs. The borrower decides.
  • Not a monolith. Every stage is an independently deployable API service from Sprint 1.

Anti-References

FND-040 P1 Early
What PreFi must never feel like
  • Aggressive Lead Capture (LendingTree, Bankrate, Zillow): Every interaction designed to extract contact info and route users to a lender. Users feel hunted, not helped. LendingTree specifically is the incumbent we build against.
  • Chatbot Without Visual Payoff: Basic GPT wrappers that never graduate beyond a text thread. Conversation is the entry point, not the destination. If a user reaches their scenario options and they are still staring at a chat window, the design has not done its job.
  • Corporate / Enterprise Feel (Friday Harbor, Total Expert): Dense, utilitarian, built for professionals. No warmth, no progressive disclosure, no emotional awareness.

2. The Give-to-Get Architecture

How the Clarity Engine earns trust. One gift at a time, in the right sequence, at exactly the right moment. This is not a progress mechanic. Not a gamification system. Not a qualification funnel. It creates intelligence through trust. (David Kawata, Give-to-Get Brief, March 2026)

Seven-Stage Waterfall

G2G-001 P1 Early
Staged reveal architecture
StageTriggerWhat SurfacesPrinciple
HOOKEntry screenThe implied promise. Language signals the product already knows something worth knowing.Create anticipation. Design the approach as carefully as the arrival.
OPENING MOMENTAddress resolvesOne warm observation. Their name. Equity or rate opportunity. A human sentence, not a data card.The Known Gift. Low API cost. Stops them cold.
AWARENESSConversation beginsProperty context referenced naturally. The borrower realizes the product already knew.Context creates safety. The vehicle becomes visible.
DISCOVERYGoal statedFirst insight for their goal. A graph, calculator, or scenario.Sample Drop. Earned by the conversation.
DEPTHEngagement deepensAdditional tools surface as Oracle detects deeper intent. Each one more specific.Treasure Hunt conditions monitored. Honest scarcity only.
PRESERVEAccount creationOutside the conversation: "Your picture is taking shape. Worth saving before you close this tab."Show what they are getting, then make it permanent.
VERIFYAccount createdSoft pull offered. "Let me sharpen these into real numbers." Report updates to Verified.The ask is proportionate to value already received.

Governing principles: (1) Sequence, do not dump. Attention is finite. The sequence is the product. (2) Earn the expensive reveal. Low-cost to high-cost as the conversation earns them. (3) Anticipation is a design material. The gap between what the product has shown and what it clearly knows creates desire. Restraint is not withholding. It is respect for the moment of revelation.

Three Exchange Rule

G2G-010 P1 Early
Value threshold before any ask

Before any meaningful ask (account creation, financial information, credit authorization), the system must complete three value exchanges first.

  1. Exchange One: Establish Usefulness. Property address returns a property intelligence summary. The user sees the system knows something real.
  2. Exchange Two: Establish Insight. Next input returns something that makes the user feel understood. An estimate. A scenario. The system is now intelligent, not just useful.
  3. Exchange Three: Establish Trust. The platform delivers something that feels like guidance. A scenario that reframes their thinking. Competence, usefulness, and respect have all been demonstrated.

Only then does the platform introduce a meaningful ask. An exchange counter is attached to every session. It increments only when measurable value is delivered. No high-friction action unlocks until the counter reaches three. This rule is what separates an advisor from a funnel.

Four Mechanics

G2G-020 P1 Early
Known Gift, Sample Drop, Treasure Hunt, Unreasonable Hospitality
MechanicAnalogCE Expression
Known GiftCostco rotisserie chicken. You came for the chicken. Now you are in the store."Hi Bob. Since you bought 7 years ago, you have built about $200,000 in equity." One sentence. Their name. A real number. Stops them cold.
Sample DropCostco free tastings. Unrequested, unexpected. Creates reciprocity before any ask.A graph: loan paid off 8yr 4mo faster by $220/mo more. Their actual loan. Their actual numbers. Mid-conversation. A surprise, not a response.
Treasure HuntCostco. You did not come in for it. But there it is. Real value, unexpected.Borrower comes in to lower their rate. CE finds high-interest consumer debt a cash-out refi can eliminate. Lower total monthly payments. Better blended cost of funds. They did not come for this. CE found it in their numbers.
Unreasonable HospitalityEleven Madison Park. One gesture, specific to this person, that they will never forget.Veteran recognition. First-gen homeowner moment. Life event acknowledgment. One sentence. Matter-of-fact. Then immediately back to work.

These mechanics work because they operate on trust, not pressure. The borrower never feels sold to. They feel served.

What the Product Never Does

G2G-030 P1 Early
Constraints. Not guidelines.
The Product Never...Because...
Uses a progress barA progress bar tells the borrower they are incomplete. This product tells them they are already ahead.
Dumps all data at onceOverwhelming the borrower destroys the sequence. The sequence is the product.
Holds estimated value as a gateAVM and equity are earned by the conversation, not locked behind account creation.
Manufactures urgencyEvery time-sensitive reveal must have a real, documentable factual basis. Fabricated scarcity is a trust-killer and a compliance risk.
Uses a hard CTA for account creationThe gentle instruction exists outside the conversation. A heads-up, not a demand.
Rewards step completionNo badges, no milestone animations. The reward is the intelligence received, not a UI celebration of compliance.
Infers protected class characteristicsLife event moments fire only on explicit user statements. Never on ZIP code, name patterns, income level, or any demographic signal.
Locks tools behind steps or progressA tool that must be earned is a progress bar with better clothes. Every calculator, graph, and explainer lives in the Clarity Report from the moment the address resolves.

Clarity Report

G2G-040 P1 Early
Assembles silently. Accumulation, not progress.

The Clarity Report exists before it is asked for. It assembles from the moment the address resolves. By the time the gentle instruction appears, the borrower is not being asked to create something. They are preserving something that already exists.

Core constraint: The Clarity Report must never communicate progress toward a goal. It communicates accumulation of something already yours. Progress implies incompleteness. Accumulation implies ownership. That distinction is the design constraint that eliminates wrong directions.

It grows visibly as the conversation deepens but never demands attention. It contains the borrower's equity position, their best-fit scenario, any rate or cost-of-funds opportunity CE has identified, and a credit picture.

Account Creation

G2G-050 P1 Early
A gentle instruction, not a CTA

"Your picture is taking shape. Worth saving before you close this tab." The instruction is triggered by the Clarity Report's visible presence. There is something real worth saving. The borrower is not signing up. They are protecting what is already theirs.

Progress implies impermanence until saved. Warn that work could be lost. The prompt to create an account flows from the save action. Terms of service in account creation. Consent for third-party verification is separate, prompted per service. Do not stack three confirmations.

It must not look like a modal, a banner, or a CTA button. It should feel like a colleague saying "hey. Worth saving this."

Sample Drop Catalog

G2G-060 P1 Early
Nine triggers. Gifts, not responses.

A sample drop passes one test: the borrower did not ask for it, could not have known to ask for it, and feels like CE was paying attention specifically to them.

#TriggerDrop TypeExpression
01Long-time owner, significant appreciationPersonalized graphChart showing equity growth over years owned. Their property, their timeline, their numbers.
02Borrower mentions payment concernInteractive calculator$220/mo more = loan paid off 8yr 4mo faster. $47,000 in interest saved. Their actual loan.
03FHA loan, estimated LTV below 80%Text insight"Your equity may be enough to remove FHA mortgage insurance without refinancing."
04Property tax delinquency detectedText insight"One thing I noticed. Outstanding balance on your property taxes. That is solvable."
05ARM reset year approachingGraph + text"Your rate adjusts in [year]. Here is what that means for your payment."
06Refinance stated, closing cost gap detectedBreak-even graphMonthly savings vs. closing costs. The exact month the refinance starts paying for itself.
07Borrower mentions paying off fasterInteractive calculatorExtra monthly payment input. Graph updates payoff date, lifetime interest saved in real time.
08Sufficient equity + wealth-building goalGraph + calculatorMortgage balance declining vs. investment account growing. Crossover point modeled.
09Borrower discloses non-mortgage debtInteractive calculatorComplete debt picture. Four strategies: Snowball, Avalanche, Blended Refi, HELOC.

3. Conversation Flow

The R0-R7 state machine governs the refinance conversation flow. Two parallel state machines (refi and purchase) share the same architecture but differ in entry points and data requirements.

StateEntry TriggerGoalExit ConditionKey Rule
R0Session startsNeutral, no-pressure postureUser confirms goal + consents to questionsOpening question: "What's on your mind about your home?"
R1User states intentCapture decision type and reasonIntent reflected back, timeframe namedUncover the real "why," not just stated goal
R2Intent is clearCurrent mortgage + cash-flow anchorsWorking comfort range + horizon agreedAccelerate to anchors. Do not let option expansion run wild.
R3Baseline anchors existMap full option set3-6 viable paths identifiedFan out all options, let user eliminate
R4Enough to model 2-3 pathsProduce "whole number" truth per pathUser acknowledges monthly range + riskAll-in range, not a single number. Assumptions labeled.
R5Truth layer existsPresent 3-5 neutral scenario cardsUser selects 1-2 or signals closureAlways include "do nothing / wait" when appropriate
R6Scenario selectedCompare, tweak assumptions, updateStable decision postureDetect anxiety spikes: stop adding variables, summarize knowns/unknowns
R7User signals closureSummary + checklist + Stage 2 invitePortable clarity package deliveredPackage is borrower-owned, transferable

Opening Question

CONV-001 P1 Early
Opening question is fixed

"What's on your mind about your home?"

No hints at what is coming. No "let us see what we can find." No "we may already have some information about your property." Silence. Then the reveal. The gap between this question and the property reveal is where trust is built. Not through words, but through the shock of competence arriving unexpectedly.

Oracle classifies. Advisor sets tone. Navigator routes scenario family. The Clarity Report appears quietly, assembling silently on the borrower's behalf.

Property Reveal Choreography

CONV-010 P1 Early
The deliberate pause is the design

800-1000ms of deliberate silence. No spinner. No progress bar. The system is hydrating. The borrower senses something real is happening. Do not fill the silence. The silence is the design.

Then the property appears in sequence: the address first, the aerial image second. Then, with a slight delay that makes the numbers feel discovered rather than populated: the value, the equity, the loan balance. Each arrives as if being read to the user rather than displayed.

The AI response: "Here's what I found." Then silence. Let the numbers speak. This timing is a build specification, not a developer judgment call.

CONV-011 P1 Early
Trust through competence, not disclaimers

The property reveal IS the trust mechanism. Products that pre-load disclaimers signal insecurity. They argue for their own trustworthiness before anyone questions it. The foundational UI disclosure handles the compliance obligation before the conversation begins. The conversation itself stays completely clean.

Never argue for trustworthiness. Demonstrate competence so clearly that trustworthiness becomes the only reasonable conclusion.

CONV-012 P1 Early
Known Gift on address resolve

"Hi Bob. Since you bought 7 years ago, you have built about $200,000 in equity. That changes what is possible." Or: "Hi Bob. Since you bought 18 months ago, interest rates have come down meaningfully." One insight. Their name. A real number. A real timeframe.

Give Before You Get

CONV-020 P1 Early
Show 6 data items before asking

After address entry, the system immediately shows what it knows (value, equity, rate, payment, property type, purchase date) before asking what brought the user here. Six data items captured and displayed before any question is asked.

Intent Probing (The Real "Why")

CONV-030 P1 Early
Uncover the real why

"When you say 'lower payment,' help me understand what that means for you. Is the current payment uncomfortable, or are you trying to free up cash for something specific?" The system uncovers the real why behind stated goals.

CONV-031 P1 Early
Users say "lower," not a number. The system derives the target.

"No one says my target payment is X. They just say lower payment, lower rate." Users speak in directions, not targets. The system must accept directional language ("lower," "less," "cheaper") and use the conversation, property data, and scenario math to converge on a specific affordability number. Never ask the user to provide a target payment upfront.

Tension Detection

CONV-040 P1 Early
System names contradictions explicitly

When the user states conflicting goals (e.g., lower payment AND cash-out), the system flags the tension: "I want to flag something. Lower payment and cash-out pull in opposite directions." The tension is logged as a first-class data point in the clarity model. The system illuminates the trade-off and offers an escape hatch ("Actually, payment is more important") but never resolves the tension for the user.

CONV-050 P1 Early
Explicit convergence and consent

Full-text recap of everything captured, then: "I have enough to show you some directions. These are not recommendations. They are different logics of choice. Each one optimizes for something different. Ready?" The user confirms before the system transitions.

After option expansion, the system must explicitly say the equivalent of "now we will narrow to 3-5 paths" to create psychological closure. Without this, the user leaves more anxious than when they started.

Scenario Cards

CONV-060 P1 Early
Named paths with personality, not "Scenario A"

Each card must contain:

  • The "whole number": all-in monthly range for that path
  • How it works (mechanics)
  • Trade-offs (pros/cons, equal weight)
  • "What could break this" (risk factors)
  • "What you would need next" (data to tighten assumptions)
  • "When to choose this card" (decision criteria)

Cards never rank and never say "you should." Options organized by goals, without declaring a winner. Each card states what it "optimizes for."

CONV-061 P1 Early
Cards with same variable input should consolidate

"You have two cards on top... you are just really reflecting the same dual input from the second card below." When two scenario cards share the same adjustable variable (e.g., term slider), consider consolidating into one card with dual outputs. Reduce redundancy.

Rejection as Input

CONV-070 P1 Early
Dismissing a card triggers a replacement variant

When a user says "Not for me" on a card, the system generates a new variant that addresses the rejection reason. The replacement card gets an "Updated based on your feedback" badge. Original wants remain in the clarity model. Example: User rejects $50k cash-out (too expensive). System generates "Smaller Cash Out" at $30k to keep payment lower.

New

Compare and Decide

CONV-080 P1 Early
Comparison reflects patterns, does not prescribe

Side-by-side comparison uses a clean data table. The system never chooses for the user. It reflects observed behavioral patterns instead: "Based on what you have told me, you have consistently prioritized monthly relief over cash access." It names the pattern, does not prescribe. Multi-session and partner sharing supported: "I need to show this to my wife" is a supported flow.

New

4. Emotional Intelligence

Every other tool cannot tell the difference between a user who is ready to move forward and one who is about to leave because they are lost. The EI layer is not added later. It is the layer that makes everything else work.

Four EI Components

EI-001 P1 Early
Oracle, Navigator, Advisor, Storyboard
ComponentP1 Alpha (Rule-Based)P2+ (ML-Informed)
Oracle3-5 screening signals in conversation. Rule-based classification into 5 archetypes. Confidence score assigned. Result written to canonical ledger.ML inference from conversation patterns. No explicit classification questions. Real-time confidence updates.
Navigator5 pre-defined conversation paths per archetype. Branching logic. Stage advance requires Navigator clearance based on archetype and emotional state.Dynamic path generation. Adaptive complexity mid-conversation. A/B tested intervention strategies.
AdvisorLLM-based signal detection. Detects 8 emotional states: curious, engaged, confused, frustrated, anxious, skeptical, breakthrough, confident. Triggers tone shifts and intervention protocols.7-state parallel detection pipeline. Proactive intervention at crisis moments.
Storyboard2 complexity levels (detailed and simplified). Archetype determines default. Life-outcome framing. Magical Moment animation. Prefers-reduced-motion respected.Full archetype-adaptive rendering. Visual style and narrative adapt in real time.

Five Archetypes

EI-010 P1 Early
Oracle classifies by message 5 (70% confidence target)
ArchetypeTonePacingEmphasis
The OptimizerData-forwardFast, denseNumbers, comparisons, rate details. Lead with data, show full math, let them drive.
The PlannerStructuredMethodicalTimelines, steps, checklists. Frame as life decisions, not financial products. Normalize waiting.
The Cash-Flow ManagerPracticalFocus on monthlyPayment impact, breathing room. Non-judgmental framing. Relief without shame.
The Risk ReducerReassuringSlower, carefulStability, certainty, what-ifs. Lead with worst-case, not best case. Never pressure.
The Skeptical IndependentNeutral, factualLet them leadTransparency, no persuasion. Surface neutrality early. Explain the business model. Zero steering. This is the archetype PreFi was fundamentally built for.

Archetypes determine tone, pacing, framing, and tradeoff emphasis. They do not determine answers. A single user may shift between archetypes within a session.

Advisor Reads Emotional State at Every Exchange

EI-020 P1 Early
Advisor runs BEFORE every response

The Advisor reads emotional state at every exchange, not just entry or exit but throughout. Signals come from message length, response time, repeated questions, word choice, and interaction behavior. Eight emotional states in P1: curious, engaged, confused, frustrated, anxious, skeptical, breakthrough, confident.

Each emotional state has a defined response built into the system. Emotional state is logged and tagged as training data. Tone, pace, complexity, and personalization all flow from what the Advisor detects first. The Advisor runs before every response.

Two Types of Confusion

EI-030 P1 Early
Cognitive confusion vs personal uncertainty
  • Cognitive Confusion (understanding problem): Needs simplification, reframing, grounding examples. Signals: repetition of same question, contradiction, jargon mimicry, math overwhelm, rapid topic switching, "I'm lost."
  • Personal Uncertainty (choosing a life direction): Needs reflection, values clarification, permission to pause. Signals: extensive life details, moral language ("I should..."), future-casting without commitment, "What is the safest option?", "Is it okay if I wait?", "I want to feel..." statements. If the user is in B, do not teach. Reflect and help them name what matters.

Magical Moment Specification

EI-040 P1 Early
Trigger, timing, design

Trigger: Advisor detects confusion or disengagement sustained across 2+ consecutive exchanges. Signals: shortened responses, repeated rephrasing, explicit confusion, engagement drop-off after scenarios. A single confused message does not trigger it. The Advisor waits for a pattern, not a moment.

Timing: Beat 6 of 10 in Consultation, between Scenario Exploration and Summary. It is a conditional intervention, not a stage. Not every session triggers it, and that is correct.

Design: (1) 500ms fade transition creates visual breathing room. (2) Most complex visual replaced with its simplest equivalent. (3) Archetype-specific analogy card appears. Example: "$450 a month is a car payment you do not have to make." Must feel like a breath, not a celebration. No confetti.

Frequency: Maximum one per session by default. A second only if user re-enters sustained confusion after the first resolved. This rule is invisible to the user.

Go/No-Go for Alpha. The Magical Moment requires a complete spec before build: trigger conditions, animation timing, card design, analogy library by archetype, reduced-motion fallback. If it is not designed, it will be approximated, and approximated is not acceptable for the most important moment in the product. (David / Sydney)

Recovery on Trust Break

EI-050 P1 Early
Stop, acknowledge, offer a different path

No conversation is perfect. Trust will crack at a moment we did not anticipate. The platform does not push forward when that happens. It stops. It acknowledges. It offers a different path.

The Advisor maintains a confusion threshold. Repeated questions, shorter responses, or pulled-back interaction triggers recovery automatically. Recovery responses acknowledge the moment before offering a new path. No stage transition fires during recovery. The platform stays with the user until the signal clears.

When anxiety or confusion spikes: stop adding variables. Summarize knowns and unknowns. Offer exactly two next choices (tighten assumptions vs. compare scenarios). Do not continue building complexity.

Four-Check Message Gate

EI-060 P1 Early
Every message passes four checks before it reaches the user
  1. Did we give before we asked?
  2. Does this message know who it is talking to?
  3. Is this the right moment?
  4. Does this leave the user more capable than before?

If it fails any one of them, it does not get sent.

5. Personalization

Personalization is not a name. It is full recognition. Being present. Being respectful. Knowing who you are talking to before you speak.

PERS-001 P1 Early
Owner name on property card

"If you showed the name of the owners up there, then it is still the same card, same presentation. And then there is an ask about personalization." Show the owner's name on the property card. Use public records to pull it. Personalize early and visibly. The user should feel "this is meant for me."

PERS-002 P1 Early
Mirror the borrower's exact words

Not a paraphrase, not an upgrade. If they said "breathing room," the product says "breathing room." Every borrower at the same stage receives the same data. What adapts is pacing, framing, and language. Mirroring adapts how, never whether.

PERS-003 P1 Early
Personalization governed by emotional state

The Advisor governs personalization based on emotional state. Recognition lands differently when someone is overwhelmed versus confident. Anonymous users receive the full experience, and when they create an account the shift to personalized conversation feels like being seen clearly for the first time.

PERS-004 P1 Early
Demographic-aware UI (median homeowner is 56)

First-time homebuyers average 40 (NAR). Median homeowner is 56. "Designs feel like they are designed by young males for young people." Font sizes, button sizes, readability matter. Consider adjustable sizing. Imagery should show people in decision-making, not wellness aesthetic.

PERS-005 P1 Early
AI-based time and context personalization

"When I go to Claude at 05:00, the golden hour. Working at 02:00 in the morning. Hey, you are doing something late." The system should acknowledge when it is late, when it is a weekend, when the context suggests urgency or leisure.

PERS-006 P1 Early
Military rank recognition

A borrower who served in the military should be greeted with their rank. Sergeant. Captain. Colonel. Not because it is a nice touch. Because it says this platform sees you, respects what you have done, and is paying attention in a way no other system ever has.

Life Event Recognition

PERS-010 P1 Early
Fires once per session. One sentence. Back to work.
SignalExact LanguageDesign Requirement
Divorce / separation"Before we get into the numbers. It sounds like there is a lot happening right now. Take the time you need. This will be here when you are ready."Fires once. Back to conversation when user re-engages.
Military deployment"Before we go further. Thank you for your service. This will be here when you get back."VA benefits disclosure follows immediately.
New baby"Congratulations. That is the best reason to get your finances right. Let us figure this out."One sentence. Move on immediately.
Death in family"I am sorry for your loss. Whenever you are ready to work through this, I am here."Full stop. No financial content until user re-initiates.
First-gen homeowner"Figuring this out without a roadmap is harder than anyone acknowledges. You are doing the right thing."Explicit statement only. Never inferred from demographics.

VA Founding Commitment

PERS-020 P1 Early
No eligible veteran leaves without knowing their full VA entitlement

The Clarity Engine was built because David Kawata's father, a U.S. Army veteran of Japanese descent who served in Vietnam, was repeatedly denied home loans upon returning home and still rents today. No eligible veteran leaves a CE session without knowing their full VA entitlement. This is not a feature. It is a founding commitment.

Affordability vs Fundability

PERS-030 P1 Early
The engine must not conflate them

Fundability is what mortgage companies worry about (can you get the loan). Affordability is what a homeowner thinks (cash flow, the real cost). Affordability includes the unknowns: burst pipe, mold, unforeseen repairs. "Your little mortgage box is saying this is not a mortgage problem, but it is. It is to the borrower."

6. Language and Compliance

The education-not-advice line, documented clearly enough that engineers can make copy decisions without escalating. The platform informs. It never advises. It shows what is possible. It never tells someone what to do.

LANG-001 P1 Early
Education not advice (the line)

Education is showing a person what exists, what it means, and what the tradeoffs are. It gives them what they need to make their own decision. Advice is telling a person what to do. It steers them toward a particular outcome. The Clarity Engine does the first. It never does the second.

A scenario is a modeled financial outcome based on user inputs and market benchmarks. Scenarios illustrate possibilities. They are not predictions or recommendations. Scenario language is always safe as long as it presents, never prescribes.

Engineer's Three-Question Copy Test

LANG-010 P1 Early
Three questions before any copy goes into the product
  1. Does this tell the user what to do? "You should," "we recommend," "the best option for you is." Crossed the line. Rewrite it.
  2. Does this predict a specific outcome as fact? "You will save X," "this will lower your payment to X." Crossed the line. Rewrite it.
  3. Does this steer toward one option over another? Ranking options, implying one is better, framing one scenario as the obvious choice. Crossed the line. Rewrite it.

If all three answers are no, the copy is safe. When in doubt: am I showing them or telling them? Showing is always safe. Telling is never safe.

Prohibited Phrases

LANG-020 P1 Early
Never permitted anywhere in the product regardless of context
  1. "You should"
  2. "We recommend"
  3. "The best option for you"
  4. "You need to"
  5. "This is the right choice"
  6. "You will save" (as fact, not scenario)
  7. "This will lower your payment to" (as fact)
  8. "Rates are rising. Act now" (or any urgency language)
  9. "Apply now" (without lender context, belongs in P4)
  10. "Denied" must never appear
  11. "Unfortunately" must never appear
  12. "You may need to" (vague)
  13. "It depends" (non-answer)
  14. "Work on your credit" (generic)
  15. "Consider saving more" (generic)
  16. "Best" or "guaranteed savings" or "lock it in now"
  17. No raw technical terms without definition (DSCR, LLPA, AUS, GMI)
  18. No internal system name exposure (ConstraintReport, Clarity Engine, AlwaysApproved, Nova, BorrowerProfile)
  19. No invented numbers
  20. No progress score as probability
  21. Passive voice and percentage-only statements without dollar amounts

If any of these appear during development, flag and rewrite before shipping. No exceptions.

Permitted Phrases (Always Safe)

LANG-030 P1 Early
When in doubt, reach for these
  • "Here is what this could look like"
  • "Based on current market benchmarks"
  • "This scenario shows"
  • "Depending on your goals"
  • "Here are the tradeoffs"
  • "This is for educational purposes"
  • "Actual results will vary"
  • "If your goal is X, here are the paths that align with that"
  • "Here is how these options compare"

Compliance Rewrite Examples

LANG-040 P1 Early
Six before/after pairs
SituationDo Not UseUse This
Presenting a refinance scenario"You should refinance now while rates are low.""Based on current market rates, here is what a refinance could look like for your situation."
Showing a payment comparison"This option will save you the most money.""This scenario shows a lower monthly payment. Here are the tradeoffs."
Presenting multiple scenarios"Option 2 is the best choice for you.""Here are three paths. Each one has different tradeoffs depending on your goals."
Discussing credit impact"You need to improve your credit score before applying.""A higher credit score typically unlocks better rate options. Here is what that could mean for your scenarios."
Describing a loan product"A 15-year loan is better if you want to build equity faster.""A 15-year loan typically builds equity faster and carries a lower total interest cost. Here is how that compares to a 30-year in your situation."
Responding to a user goal"To pay off your home faster you should choose this option.""If paying off your home faster is the goal, here are the scenarios that align with that."

Disclosures

LANG-050 P1 Early
AI identity disclosure before first message

Interface-level disclosure (not in-conversation), renders automatically at session open for every user regardless of authentication status: "PreFi helps you understand your mortgage options. Clearly, privately, and without anyone trying to sell you something. This is an AI tool. Educational only. Not a lender. Not financial advice."

Always visible. Never interrupts the conversation. Never requires a click to dismiss. Never repeats inside the chat unless a user directly asks.

LANG-051 P1 Early
Scenario card disclosure (required text)

"Scenarios are based on current market benchmarks and estimated inputs. They are for educational purposes only and do not represent a loan offer, rate guarantee, or financial recommendation. Actual terms will vary based on verified financial information and lender approval."

Visible at first read, never buried. Appears on every scenario card. Never removed or hidden based on user state or session progress. Fixed copy, never modified without review.

LANG-052 P1 Early
Rate output disclosure (required text)

"Rates shown reflect the Freddie Mac Primary Mortgage Market Survey weekly average. They are national benchmarks, not personalized quotes. Your actual rate will depend on your credit profile, loan type, and lender."

Appears immediately below any rate-based output.

LANG-053 P1 Early
"Is this financial advice?" response (approved language)

"No. I am an AI. I help you understand your options and tradeoffs so you can decide what is actually possible for your situation." Short, direct, no explaining. Brevity is the trust signal. Pending Dickinson Wright sign-off.

LANG-054 P1 Early
Early skeptic fallback

For users who question the product before they engage. A single grounding sentence activates only when early skeptic signals are detected. Never offered proactively. "I help you understand your mortgage options without talking to a lender." One sentence. No disclaimer energy. "Without talking to a lender" does the most work. It names the thing the Skeptical Independent fears most and removes it in four words.

LANG-055 P1 Early
Tax/legal boundary pattern

Plain-language framing + capture assumptions + "verify with a professional" prompt. Never pretend to provide tax advice. Name the layer of the question before answering: "This sounds like a tax timing concern, not a refinance decision."

LANG-056 P1 Early
Tilde reads as minus. Use "about"

"Your squiggly, it does look like a minus." Never use ~ in borrower-facing output. Use "about" or "approximately" instead.

7. Signaling and Aesthetics

The visual and emotional language of the product. Meaning before decoration. Calm confidence as the quality gate for every screen.

Design Adjectives

SIG-010 P1 Early
Quietly confident. Always calm. Warm without being too casual.
  • Quietly confident. Always calm.
  • Knows the answer, knows the user.
  • Warm without being too casual.
  • Simple without being sparse.
  • Trustworthy and beautiful.
  • Feels like a person, not a product.

Aesthetic Palette

SIG-020 P1 Early
Greens, beiges, elegant. Not pink, not wellness.

"It needs to be pretty, elegant, and sophisticated. Not what a man thinks a woman wants with pinks." B2B white palette as base. Playfulness should punctuate, not lead. Calm confidence, not cold. Daylight, wood, openness, homes that feel real. Warm, grounded, and human.

SIG-021 P1 Early
No red. Use orange or yellow for alerts.

"Red is generally used as error or mistake. It kinda evokes a sense of alarm or failure. Maybe more of an orange or yellow as more of an alert versus an error." And David: "Colors to me is emotionally telling me something. The red is pretty harsh." No red in the default palette. Use orange/yellow for attention, neutral tones for structure.

Animation and Speed

SIG-030 P1 Early
Animation speed conveys emotion (deliberately slower)

Animation is not decoration. Speed conveys emotional tone. The deliberate pause during property reveal (800ms), the fade during Magical Moment (500ms), and the pacing of scenario card arrivals are all specified timing, not developer judgment calls.

SIG-031 P1 Early
Numbers in monospace. Interactive calculators under 200ms.

Financial figures use monospace font. Interactive calculators must update under 200ms. 5th-grade level visual education for complex concepts.

Accessibility

SIG-040 P1 Early
WCAG 2.1 AA (non-negotiable, tested before launch)

WCAG 2.1 AA accessibility requirement is non-negotiable. Flag from day one. Mobile-first at 375px. Prefers-reduced-motion must be respected for all animations (magic moment, property reveal, confusion intervention). All animations must have reduced-motion alternatives. No color-only status indicators (already covered by meaning-before-color).

8. Tested and Validated

Rules discovered through live agent testing that are not in any original spec. These emerged from running real conversations with real property data across 5 archetypes and observing where the system's behavior didn't match what a real user would expect. Each one is now an enforceable guideline.

TEST-001 P1 Early
Agent must not reference property data it doesn't have

Before an address is provided, the agent has zero property data. It must not say "let me show you what your property opens up" or reference equity, value, or payment. If the user is vague, the only move is to invite the address: "Want to start with your address? I can pull up some real numbers for your place."

New
TEST-002 P1 Early
Never rephrase the same question

When a user gives a vague answer ("idunno," "not sure"), the agent must not ask the same question with more words. Instead: (1) give something to react to, (2) offer a concrete starting point, or (3) name the uncertainty and invite the address. Shorter, not longer. Give, don't ask again.

New
TEST-003 P1 Early
Graceful fallback when property value is $0

Some properties return $0 market value from public records (condos, trusts, new construction). The system must fall back to assessed value and note "based on tax assessment; market value may be higher." Never show $0 to the user.

New
TEST-004 P1 Early
Entity names are not personal names

When the owner on record is a trust, LLC, or corporation (e.g., "TOM LIVING TRUST," "SLG 315 WEST LLC"), the system must not use it as a personal greeting. Skip name personalization and use the address instead. Detect entity patterns: trust, LLC, inc, corp, ltd, estate.

New
TEST-005 P1 Early
Hide missing data, don't show zeros

When property records are incomplete (0 beds, 0 baths, 0 sqft, no year built), do not display the field. Only show data that exists. Incomplete data shown as "0" looks like a system error, not a data gap.

New
TEST-006 P1 Early
Never expose internal data source names

The agent must never say "ATTOM," "API," "our database," or any internal system name. When asked about data sources, say "public records." This applies to all internal system names per LANG-020.

New
TEST-007 P1 Early
Address corrections trigger a new lookup

When the user says "wrong unit," "it's Apt A," or corrects the address, the system must retry the property lookup with the corrected address. Do not give up after the first miss. The address is the gateway to personalization.

New
TEST-008 P1 Early
Probe meaning before seeking payment ceiling

The conversation sequence must be: (1) probe what the goal means to the user (CONV-030), then (2) seek the specific payment ceiling (CONV-031), then (3) generate scenarios. The meaning probe comes first because it determines which paths are relevant. Ceiling without context produces irrelevant scenarios.

New
TEST-009 P1 Early
Consent checkpoint language is load-bearing

The phrases "not recommendations" and "logics of choice" in the consent checkpoint are required verbatim. Paraphrasing to "ready to see those options?" changes the frame from education to sales. The specific words do the work.

New
TEST-010 P1 Early
Use client vocabulary, not invented terms

Scenarios are "directions," not "paths." David says "options," Sydney says "scenarios," the prototype says "directions." Do not invent terminology. Mirror the vocabulary the client and their users actually use. If a term doesn't appear in any source document, don't introduce it.

New
TEST-011 P1 Early
"What should I do?" requires the reflection pattern

When a user asks for a recommendation, the agent responds: "I can't choose for you, but I can make it obvious. What matters more right now: [X], [Y], or [Z]?" Then shows 2-3 parallel directions with tradeoffs. Returns agency. Never prescribes.

TEST-012 P1 Early
Year built is not purchase date

Public records return when the house was built, not when the current owner purchased it. The agent must not say "since you bought [yearBuilt] years ago." Use value and equity estimates without referencing purchase timing unless the user provides it.

New
TEST-013 P1 Early
The agent normalizes user input, not rigid parsing rules

Users enter addresses in every possible format: "2609 nelson ave redondo beach apt a," "2609 Nelson Ave, Apt A, Redondo Beach CA 90278," "my house on nelson in redondo." The system must handle all of them. Address normalization uses AI, not regex. The agent is responsible for interpreting what the user means and constructing a proper lookup, regardless of how the input was formatted. This principle extends beyond addresses: any user input that needs to map to a system call should be interpreted by the agent, not parsed by rigid rules.

New
ARCH-001 P1 Early
Prompt drives reasoning, persisted state drives continuity

The prompt is the brain. It detects tensions, decides what to say. But the prompt cannot remember between sessions or share what it knows with other systems.

The architecture is: prompt reasons → structured output extracts state → state persists to database → next turn, saved state is injected back as context. The agent never re-derives what it already concluded. It reads its own prior state and builds on it.

Without this separation: every turn re-reads the entire conversation and re-concludes from scratch (fragile, inconsistent). With it: the agent picks up exactly where it left off, even across sessions, even when the conversation history is truncated.

New
ARCH-002 P1 Early
State is extracted, not inferred

Every exchange, the agent outputs structured state: archetype, confidence, emotional state, tensions, data captured (tagged), dimensions remaining, scenarios, rules satisfied. This is not logging. This IS the state. The clarity card reads it. The scenario engine reads it. The checklist reads it. Analytics reads it.

If the state only lives inside the prompt's reasoning, nothing else can see it. Extracting it into structured output makes the agent's understanding legible to humans and machines simultaneously.

New
ARCH-003 P1 Early
Cross-session continuity: the agent remembers

When a user returns, the system loads their saved state and injects it as context: "Here's your session: Maria Chen, Cash-Flow Manager, tension between payment and kitchen, ceiling $2,200, rejected $50k option, preferred the $30k compromise." The agent picks up where it left off. No re-introduction, no re-asking questions already answered. Returning feels like continuation, not a restart.

ARCH-004 P1 Early
Structured state is human-debuggable

Because the agent's state is extracted as structured data (not hidden inside a prompt's chain of thought), a human can inspect it at any point: "What does the agent think the user knows? What tensions has it detected? What's it planning to do next?" If the agent behaves unexpectedly, you can read the state and find exactly where the model went wrong. This is the glass box. It's not just a demo feature. It's how the system is debugged, evaluated, and improved. Every annotation David makes is a correction to the state model, not just feedback on the output.

New
ARCH-005 P1 Early
State accumulates, prompt reasons, output delivers

Three layers, separated:

  • State layer (Convex): What the agent knows. Persisted, queryable, shared across surfaces and sessions. Grows with each exchange. Never lost.
  • Reasoning layer (prompt + LLM): How the agent thinks. Tension detection, emotional gating, the decision of what to say. Stateless per call, but receives the accumulated state as input.
  • Delivery layer (message + UI): What the user sees. Conversation, clarity card, scenarios. Reads from state. Renders the reasoning's output. The three surfaces are three views of the same state.

If you change the state (user edits clarity card), the reasoning layer re-runs with the new state. If you change the reasoning (new prompt version), the state remains intact. If you change the delivery (new UI), neither state nor reasoning are affected. These layers are independent.

New
ARCH-006 P1 Early
Six refinance dimensions with explicit state transitions

The agent tracks six dimensions, each with a state:

DimensionWhat it isStates
RateInterest rate targetopen (not discussed), locked (user decided, with value + reason in their words), eliminated (ruled out)
TermLoan length
Max PaymentMonthly ceiling
Cash OutEquity access amount
TimelineHow long staying
ProgramConventional, FHA, VA, etc.

The agent's job is to move dimensions from open → locked through conversation. Each transition needs a reason in the user's words. Tensions happen when locking one dimension conflicts with another. Elimination happens when a priority choice removes an option.

New
ARCH-007 P1 Early
Prior state fed back each turn

After each response, the agent's full structured output (dimensions, clarity card, detected state) is saved and sent back as context on the next turn. The agent reads its own prior conclusions and builds on them. It does not re-derive from conversation history. The mental model accumulates and evolves, rather than being reconstructed from scratch each exchange.

New
ARCH-008 P1 Early
Clarity card: 3 sections, 7 categories, 4 colors

Three sections with seven categories mapped in:

SectionContainsColors
Today (facts)Property facts. Agent assumptions (dimmed, unconfirmed).Purple #6B35E4
What Matters (the user's world)Motivation (their words). Preferences. Constraints. Tradeoffs accepted.Coral #FE5F22, Lavender #B3A7B7
What's Next (where it's going)Scenario options with status. Advisor flags (tensions, risks). What's still open.Green #2C841D

No "surprises" category. Agent routes each discovery to the right section: new fact to Situation, preference shift to What Matters, new direction to Directions.

New
ARCH-009 P1 Early
Dialectic: rejection is the most valuable signal

When a user rejects a scenario or says they don't like something, that is the most valuable data in the conversation. The agent must ask WHY.

Look for contradictions between what they said before and what they're rejecting now. Name the contradiction gently: "Earlier you said you wanted X, but this scenario gives you X and you don't like it. What's the piece I'm missing?"

Each contradiction reveals a hidden constraint or priority they haven't articulated yet. The agent's job is to name it back to them: "It sounds like there's a limit to how much time you'd trade for lower payments. Where's that line?"

The goal is to reach the moment where the agent can say: "Based on everything, here's what I think matters most to you: [synthesis]. Is that right?" That is when dimensions collapse and scenarios become personal.

Rejection is refinement, not failure. Every "no" gets you closer.

New
ARCH-010 P1 Early
Clarity card routing: each field has one owner, no duplicates

The clarity card has strict routing rules. Each piece of information goes in exactly one place:

FieldWhat goes hereWhat does NOT go here
situationProperty facts from data: name, address, value, equity, rate, payment, sqftUser preferences, agent deductions, open dimensions
motivationA direct quote of why they're here, in their exact wordsParaphrased goals, agent summaries
what_mattersThings the USER explicitly said they care aboutProperty facts, agent deductions, anything already in motivation
what_we_setAssumptions the agent made that the user hasn't confirmedConfirmed facts, user statements
directionsNamed scenario options the agent has presentedOpen dimensions, property facts, preferences
advisor_flagsTensions or risks the agent detectedFacts, preferences, open dimensions
whats_still_openQuestions the agent needs answered to progressOpen dimensions (those live in the dimension pills)

Prohibitions:

  • Open dimensions (Rate, Term, etc.) are tracked in the dimension model, not in the card sections.
  • Never repeat the same information across two fields. Say it once.
  • If unsure where something goes, leave it out. An empty field is better than a wrong one.
New
TEST-015 P1 Early
Agent must know when a lookup was attempted and failed

When the system attempts a property lookup and gets no results, the agent must be told explicitly that the lookup failed. Without this signal, the agent assumes it's still waiting and stalls ("please hold on for a moment").

With the signal, the agent responds per the rules: "I wasn't able to pull up details for that address. Want to double-check it, or we can work with general numbers?" No technical language, no "something went wrong," just a choice that keeps the door open.

This applies to any system action the agent triggers: if it failed, tell the agent it failed so it can respond honestly instead of pretending to wait.

New