Version: 1.0 | Status: Implementation-Ready — Gear 1
Scope: Receives a ConstraintReport (from Constraint Detection Skill) and translates it into audience-appropriate output — plain English for borrowers, structured deal memo for advisors, and a clean JSON payload for downstream systems. Nova is the voice of the Clarity Engine. It speaks three languages: human, professional, and machine.
Confidential: PreFi, Inc. / Purpose Technology, Inc. d/b/a Purlend
Every upstream skill produces data. Nova produces understanding.
The Constraint Detection Skill tells the system what is wrong. Nova tells the borrower what it means, what to do about it, and why they still have a path forward. For the loan officer, Nova tells them exactly where the deal stands and what to do next. For the system, Nova emits clean structured output that feeds CRM, workflow automation, and re-engagement triggers.
Nova is the "Always Approved" philosophy made visible. It never leads with denial. It always leads with what is possible. It always ends with a next step.
Nova produces three output modes:
| Mode | Audience | Format | Purpose |
|---|---|---|---|
BORROWER | Borrower / co-borrower | Plain English narrative | Clarity, confidence, action |
ADVISOR | Loan officer / advisor | Structured deal memo | Actionable deal intelligence |
SYSTEM | BIX / CRM / automation | JSON payload | Workflow triggers, data handoff |
Nova does NOT:
Invoke this skill when:
ConstraintReport has been produced by the Constraint Detection SkillRequired input: ConstraintReport object (from Constraint Detection Skill v1.0+)
Required parameter: output_mode — one of BORROWER, ADVISOR, SYSTEM, or ALL
**If ConstraintReport is absent:** return NOVA_BLOCKED — ConstraintReport required and specify what is missing.
**If output_mode is absent:** default to ALL — produce all three output modes.
Stage 1 — Validate input
Stage 2 — Extract core signals from ConstraintReport
Stage 3 — Determine output mode(s) to generate
Stage 4 — Apply jargon translation table (BORROWER mode)
Stage 5 — Generate BorrowerBrief (BORROWER mode)
Stage 6 — Generate QuickWinCards (BORROWER mode)
Stage 7 — Generate OpportunityCards (BORROWER mode)
Stage 8 — Generate AdvisorSummary (ADVISOR mode)
Stage 9 — Generate DealSnapshot (ADVISOR mode)
Stage 10 — Generate ExplanationPayload (SYSTEM mode)
Stage 11 — Quality gate — verify all forbidden patterns absent
Stage 12 — Emit NovaOutput
Run stages relevant to the requested output mode. Always run Stage 11 regardless of mode.
Before generating any output, extract and hold these signals from the ConstraintReport:
blocking_count = ConstraintReport.summary.blocking_count
elevated_count = ConstraintReport.summary.elevated_count
quick_wins = ConstraintReport.summary.quick_wins [list]
progress_score = ConstraintReport.progress_components.progress_score
progress_signal = ConstraintReport.summary.progress_signal
programs_eligible = count of programs in ConstraintReport with eligibility != INELIGIBLE
best_program = Priority 1 program from ProgramEvaluationQueue (carried in ConstraintReport)
veteran_flag = from BorrowerProfile carried context
always_approved_triggers = ConstraintReport.summary.always_approved_triggers [list]
opportunity_register = ConstraintReport.opportunity_register [list]
cost_map = ConstraintReport.cost_map [list]
blocking_constraints = [c for c in ConstraintReport.constraints where severity = BLOCKING]
elevated_constraints = [c for c in ConstraintReport.constraints where severity = ELEVATED]
cost_constraints = [c for c in ConstraintReport.constraints where severity = COST]
opportunity_constraints= [c for c in ConstraintReport.constraints where severity = OPPORTUNITY]
watch_constraints = [c for c in ConstraintReport.constraints where severity = WATCH]
Apply this table for all BORROWER-mode output. Every technical term must be replaced or defined on first use. Never use the left-column term alone in borrower output.
| Technical Term | Borrower-Facing Language |
|---|---|
| DTI | "the share of your monthly income that goes toward debt payments" |
| LTV | "how much of the home's value you're borrowing" |
| PMI | "private mortgage insurance" (spell out on first use; "PMI" acceptable after) |
| MIP | "FHA mortgage insurance" (define on first use) |
| UFMIP | "FHA upfront insurance fee" |
| VA Funding Fee | "VA one-time funding fee" |
| PITIA / PITI | "your total monthly housing payment" |
| Revolving utilization | "how much of your credit card limits you're currently using" |
| Residual income | "the money left over each month after all bills are paid" |
| Rapid Rescore | "an expedited credit update your lender can request" |
| Credit tier | "your credit score range" |
| Conventional loan | "conventional loan" — no jargon, always lowercase modifier |
| VA loan | "VA loan" — acceptable as-is |
| FHA loan | "FHA loan" — acceptable as-is |
| DSCR | never use in borrower output |
| LLPA | never use in borrower output |
| AUS | never use in borrower output |
| GMI | never use in borrower output |
| ConstraintReport | never mention |
| Clarity Engine | never mention |
| AlwaysApproved | never mention |
| Nova | never mention |
| progress_score | "your readiness score" |
| BorrowerProfile | never mention |
| ProgramEvaluationQueue | never mention |
The BorrowerBrief is a three-section narrative in plain English. It is the primary borrower-facing output. It answers three questions every borrower has: Where am I? What's standing in my way? What do I do next?
Opening tone rule: ALWAYS lead with what IS available. Never open with a problem.
Template logic:
IF programs_eligible >= 2:
"You currently qualify for [N] home loan programs — [program names in plain English]."
IF programs_eligible = 1:
"You currently qualify for a [program name] — and that's a strong path forward."
IF programs_eligible = 0:
"You're not quite there yet for a standard loan today — but there's a clear path,
and we're going to map it out for you."
THEN:
IF veteran_flag = true AND VA is best_program:
Highlight VA advantage explicitly:
"The best option for you right now is a VA loan — and it comes with real advantages.
[Insert: no down payment, no private mortgage insurance, competitive rate.]"
THEN:
Progress signal sentence:
STRONG → "You're in excellent shape. Here's a quick look at what we're working with."
MODERATE → "You're on a solid path. Here are a few things worth knowing."
DEVELOPING → "There's some meaningful work ahead — and you have a clear plan to get there."
ACTION → "You're building your path to homeownership. Here's where to start."
THEN:
Readiness score (displayed as plain text — not a probability):
"Your readiness score is [X]% — [progress_signal phrase]."
Note: progress_score × 100, rounded to nearest whole number.
Example: 0.714 → "Your readiness score is 71% — you're on a solid path."
FORBIDDEN: "You have a 71% chance of approval." Never express as probability.
Present constraints in plain English, grouped by type. Order: BLOCKING → QUICK WINS → COST → OPPORTUNITY → WATCH.
BLOCKING items:
For each blocking_constraint:
"[Plain English description of what the constraint is]
[What specifically needs to happen to resolve it — dollar amount or action]
[If QUICK_WIN: label it as "⚡ Quick win — this can be resolved fast."]"
QUICK WIN callout (if any exist):
"The good news: [count] of these can be resolved quickly.
[For each quick win: brief action + expected impact]"
COST items (if any):
"A few things worth knowing about the cost of each option:"
For each cost_constraint:
"[Program name]: [plain English description] adds $[monthly_cost]/month,
which comes to about $[lifetime_cost] over the life of the loan.
[Plain English context of what eliminates or reduces this cost.]"
OPPORTUNITY items (if any):
"There are also some real opportunities here:"
For each opportunity_constraint:
"[Plain English description of the opportunity and what it unlocks]"
WATCH items:
"A few things we're keeping an eye on — no action needed right now, but we want you aware:"
For each watch_constraint (keep brief — one sentence each):
"[Plain English description]"
One single recommended action. Not a list. One action, clearly stated, with the chain of events that follows.
Selection logic:
IF quick_wins is non-empty:
Lead with the highest-impact quick win
ELSE IF blocking_count > 0:
Lead with the most impactful blocking constraint resolution
ELSE IF opportunity_register is non-empty:
Lead with the highest-value opportunity
ELSE:
Lead with best cost reduction action
Format:
"The single best thing you can do right now is [plain English action].
Here's why it matters: [plain English explanation of the impact].
After that: [what the chain of events looks like — next 30/60/90 days]."
IF always_approved_triggers is non-empty:
"One more thing: [re-engagement date context in plain English].
We'll be in touch [N months before the trigger date] to make sure you're ready."
For each constraint marked quick_win = true in the ConstraintReport, generate a QuickWinCard. These are short, action-oriented, designed to be displayed as callout cards in a UI.
QuickWinCard format:
Title: "⚡ Quick Win: [Plain English name]"
Action: "[Single sentence — what to do]"
Impact: "[Single sentence — what improves and by how much]"
Timeline: "[Estimated time to take effect]"
Example — C-03 HIGH_REVOLVING_UTILIZATION:
Title: "⚡ Quick Win: Pay Down Your Credit Cards"
Action: "Pay down $4,900 across your credit cards to bring your usage under 30% of your limits."
Impact: "This could improve your credit score by 15–40 points, potentially unlocking better loan rates."
Timeline: "Score update in approximately 30–60 days."
Example — D-01 small debt payoff:
Title: "⚡ Quick Win: Pay Off One Small Debt"
Action: "Paying off just $3.15/month worth of qualifying debt brings your debt-to-income ratio within limits."
Impact: "This clears the last hurdle for a conventional loan approval under automated underwriting."
Timeline: "Effective immediately upon payoff and verification."
For each entry in opportunity_register, generate an OpportunityCard. These explain timing-based opportunities.
OpportunityCard format:
Title: "🟢 Opportunity: [Plain English name]"
What it means: "[One sentence — what changes and why]"
When: "[Plain English timeline]"
What to do: "[Single action — mark calendar, plan closing timing, etc.]"
Example — T-01 DEBT_EXCLUSION_OPPORTUNITY:
Title: "🟢 Opportunity: One Payment Drops Off in 4 Months"
What it means: "Your auto loan has fewer than 10 payments left, which means it won't count against your debt calculations in 4 months."
When: "4 months from today — [re-engagement month/year if available]"
What to do: "If timing allows, planning your closing after this date gives you more flexibility on loan options."
Example — T-02 CREDIT_IMPROVEMENT_TIMELINE:
Title: "🟢 Opportunity: Score Boost Within Reach"
What it means: "Paying down your credit cards could meaningfully improve your credit score."
When: "Approximately 30–60 days after the paydown."
What to do: "Ask your loan officer about requesting an expedited credit update after the paydown."
The AdvisorSummary is a structured deal memo for a loan officer or advisor. No hand-holding. Full data. Action-ready.
DEAL SNAPSHOT — [Borrower Name(s)] — [Date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Progress Score: [X.XXX] — [SIGNAL]
Programs: [N] eligible — [list with priority order]
Quick Wins: [count] — [names]
Blocking: [count] constraint(s)
Elevated: [count] constraint(s)
Best Program: [Priority 1 program] — [monthly payment] | [CTC]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| ID | Constraint | Severity | Quantification | Resolution |
|-------|-------------------------------------|-----------|-------------------------------|----------------------------------------------|
| C-03 | HIGH_REVOLVING_UTILIZATION | ELEVATED | $4,900 paydown → 30% util | Pay down cards — 30-day rescore cycle |
| D-01 | DTI_EXCEEDS_PROGRAM_LIMIT | BLOCKING | Conv DU: $3.15/mo over limit | $3.15 debt reduction OR wait 4mo (T-01) |
| D-02 | DTI_ELEVATED_WATCH | WATCH | $588.93/mo headroom vs FHA | Monitor — clears at FHA AUS level |
| K-03 | CTC_MARGIN_TIGHT | WATCH | FHA margin $480.36 | Confirm all estimates; negotiate seller $$ |
| K-04 | ASSET_DOCUMENTATION_GAP | WATCH | Bank stmts / VOD required | Provide 2mo bank statements |
| I-03 | VARIABLE_INCOME_AVERAGING_RISK | WATCH | VA disability — document | VA benefit letter confirming continuance |
| I-04 | VA_RESIDUAL_INCOME_RISK | WATCH | Est. residual $3,951 >> $738 | Likely passes — full test in VA Module |
| C-02 | CREDIT_TIER_RATE_PENALTY | COST | $204.42/mo, $73,591.20 life | Score to Tier 1 (760+) for par pricing |
| PR-02 | PMI_COST_DRAG | COST | $343.54/mo, $51,874.54 life | VA eliminates; or 20% down on Conv |
| PR-03 | FHA_MIP_LIFETIME_DRAG | COST | $187.97/mo, $67,670.62 life | VA eliminates; or 10% down → 11yr MIP |
| T-01 | DEBT_EXCLUSION_OPPORTUNITY | OPPORTUNITY | AUTO off in 4mo, DTI →45.55% | Time closing after exclusion if needed |
| T-02 | CREDIT_IMPROVEMENT_TIMELINE | OPPORTUNITY | $4,900 paydown → 15-40 pts | Paydown + Rapid Rescore within 60 days |
[Quick wins marked with ⚡ in advisor action list below]
PRIORITY ACTIONS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
IMMEDIATE (this week):
1. ⚡ D-01 QUICK WIN: Identify the $3.15/mo qualifying liability. One payoff clears
Conventional DU path. Confirm which liability qualifies.
2. ⚡ C-03 QUICK WIN: Advise $4,900 revolving paydown → 30% utilization.
Request Rapid Rescore post-paydown. Timeline: 30–60 days.
3. K-04: Request 2 months bank statements + VOD. Asset docs needed.
30-DAY HORIZON:
4. C-02/PR-02: VA loan is best program — eliminates PMI ($343.54/mo) and rate
penalty. Advance VA path immediately if borrower is ready to proceed.
5. I-03/I-04: Obtain VA disability benefit letter. Confirm continuance.
Full VA residual income test in VA Module.
60-90 DAY HORIZON:
6. T-01: AUTO loan excludes in 4 months. If Conv is needed:
close after exclusion for 45.55% DTI compliance.
7. T-02: Post-Rapid Rescore, evaluate credit tier upgrade.
Tier 5 (698) → Tier 1 (760+) saves $204.42/mo, $73,591.20 lifetime on Conv.
ALWAYS APPROVED RE-ENGAGEMENT:
Trigger: [today + 3 months] — 30-day advance of AUTO exclusion event
Condition: Verify DTI improvement. Initiate Conventional evaluation if VA declined.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PROGRAM COMPARISON
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Priority Program Monthly CTC MI Note
───────────────────────────────────────────────────────────────────────────
1 VA $3,363.83 $12,750 None Best all-in cost
2 FHA $3,445.39 $27,625 $187.97/mo life CTC margin tight ($480)
3 Conventional $3,706.05 $25,500 $343.54/mo 151mo DTI 0.04% over Conv DU
DSCR INELIGIBLE — — Primary occupancy
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Advisory note: VA wins on every dimension — monthly payment, CTC, and lifetime MI cost.
The D-01 constraint affects Conventional only. VA is unblocked. FHA is unblocked.
Recommend VA path unless borrower preference dictates otherwise.
A condensed single-page version of the AdvisorSummary, designed for sharing or printing. Identical data, compressed layout.
Deal snapshot combines Deal Snapshot header + Priority Action List only.
Program comparison table omitted (covered in header).
Constraint table condensed to BLOCKING and ELEVATED only.
The ExplanationPayload is a clean JSON object for downstream systems. No prose. Schema-defined.
{
"schema_version": "nova_v1.0",
"report_id": "[from ConstraintReport.report_id]",
"deal_id": "[from ConstraintReport.deal_id]",
"borrower_id": "[from ConstraintReport.borrower_id]",
"created_at": "ISO 8601 UTC",
"nova_version": "1.0",
"signals": {
"progress_score": 0.00,
"progress_signal": "STRONG | MODERATE | DEVELOPING | ACTION",
"programs_eligible_count": 0,
"best_program": "string",
"blocking_count": 0,
"elevated_count": 0,
"quick_win_count": 0,
"has_va_advantage": false,
"has_timing_opportunity": false
},
"quick_wins": [
{
"constraint_id": "string",
"plain_english_action": "string",
"plain_english_impact": "string",
"estimated_timeline_days": 0
}
],
"blocking_plain_english": [
{
"constraint_id": "string",
"plain_english_description": "string",
"plain_english_resolution": "string"
}
],
"opportunities": [
{
"constraint_id": "string",
"plain_english_description": "string",
"unlock_date_iso": "string | null",
"re_engagement_date_iso": "string | null"
}
],
"re_engagement_triggers": [
{
"trigger_event": "string",
"trigger_date_iso": "string",
"re_engagement_date_iso": "string",
"plain_english_condition": "string"
}
],
"cost_impacts": [
{
"constraint_id": "string",
"program": "string",
"monthly_cost": 0.00,
"lifetime_cost": 0.00,
"plain_english_description": "string"
}
],
"next_step": {
"action": "string",
"rationale": "string",
"chain_of_events": "string"
}
}
Before emitting any output, verify all forbidden patterns are absent. If any are present, revise the affected section before proceeding.
NF-01: Raw technical field names used without definition
Prohibited terms in BORROWER output (standalone):
DTI, LTV, LLPA, DSCR, PITIA, PITI, GMI, AUS, UFMIP, MISMO
Exception: PMI, MIP, FHA, VA — acceptable after first-use definition
NF-02: Progress score expressed as approval probability
Prohibited: "X% chance of approval", "probability of qualifying is X%"
Required: "readiness score of X%" or "you're on a solid path"
NF-03: Opening with denial or inability
Prohibited: "You don't qualify", "You were denied", "Unfortunately you cannot"
Required: Lead with what IS available
NF-04: Specific credit score improvement guarantee
Prohibited: "Your score will improve by 40 points"
Required: "Your score could improve by 15–40 points" (range, not guarantee)
NF-05: Internal system name exposure in borrower output
Prohibited: "Clarity Engine", "AlwaysApproved", "Nova", "ConstraintReport",
"BorrowerProfile", "ProgramEvaluationQueue"
NF-06: Invented numbers
Prohibited: Any dollar amount, percentage, or date not traceable to ConstraintReport
Verify: Every figure in borrower output must be in ConstraintReport
NF-07: Loan approval guarantee
Prohibited: "You will be approved", "This loan is guaranteed"
Required: "you may qualify", "you are eligible for", "this program is available to you"
NF-08: Jargon avoidance in advisor output
Advisor output MUST use technical terms — avoid the jargon replacements.
Do not explain what DTI means to an advisor.
NF-09: Missing constraint IDs in advisor table
Every constraint in the advisor table must have its constraint ID (C-01, D-01, etc.)
NF-10: Progress score not labeled as directional
Advisor output must note: "Progress score is directional — not an approval probability."
NF-11: VA DTI hard stop referenced as blocking VA eligibility
VA has no hard DTI stop. Never present D-01 as blocking VA.
Constraint D-01 applies only to Conventional and FHA programs.
NF-12: VA residual income gross-up contamination
If I-04 is present, note that VA residual income uses net income, not grossed-up GMI.
NF-13: MIP/PMI cross-contamination
FHA MIP rules must not be mixed with Conventional PMI rules in the same explanation.
Keep program-specific MI explanation separate per program.
Input: ConstraintReport (from Constraint Detection Skill v1.0 — Marcus & Diana Webb)
WHERE YOU STAND
You qualify for three home loan programs right now — a VA loan, an FHA loan, and a conventional loan. That's a strong position to be in.
The best option for you is the VA loan. Because Marcus served, you have access to a benefit that most buyers don't: a VA loan requires no down payment, no private mortgage insurance, and offers a competitive interest rate. That combination makes it the lowest-cost path to your new home.
Your readiness score is 71% — you're on a solid path. Here's a quick look at what we're working with.
WHAT WE'RE WORKING WITH
⚡ Quick Win #1 — Pay Off One Small Debt
Your total monthly debt payments are just barely over the limit for a conventional loan under automated underwriting — by about $3 per month. Paying off even the smallest qualifying debt on your account would clear that hurdle completely. This is the easiest fix on the board.
⚡ Quick Win #2 — Pay Down Your Credit Cards
Right now, you're using about 71% of your available credit card limits. Paying down approximately $4,900 across your cards would bring that usage under 30% — which is where credit scoring models reward you most. This could improve your credit score by 15 to 40 points. After the paydown, your loan officer can request an expedited credit update to reflect the improvement quickly.
What's adding to loan costs (depending on which program you choose)
If you went with a conventional loan instead of VA, you'd pay private mortgage insurance — about $344 per month — until your loan balance falls below 80% of the home's value, which would take about 12½ years. That's roughly $51,900 over that period.
If you went with an FHA loan, you'd pay FHA mortgage insurance — about $188 per month — for the entire life of the loan. That adds up to approximately $67,700.
Your VA loan has neither of these. Zero mortgage insurance, ever. That's a meaningful advantage.
A few things we're keeping an eye on
Your FHA cash position is solid but close — there's about $480 of breathing room between what you have available and what FHA requires at closing. Not a problem today, but it's worth making sure no unexpected costs come up before closing.
We'll also need to gather some financial documents — two months of bank statements and a verification of your deposit accounts. Standard stuff, but let's get that started early.
YOUR BEST NEXT STEP
The single best thing you can do right now is move forward with the VA loan.
Here's why it matters: your VA loan is fully available to you today — no down payment, no mortgage insurance, and a lower monthly payment than either of the other options. The small issues we identified don't affect VA at all. They're relevant if you ever need to fall back to a conventional or FHA loan, but for VA, you're clear.
After that, here's what the next 90 days look like:
You've earned this benefit. Let's use it.
⚡ Quick Win: Pay Off One Small Debt
Action: Pay off a qualifying debt account to reduce your monthly debt obligations by just $3.15 or more.
Impact: This clears the last hurdle for conventional loan approval under automated underwriting.
Timeline: Effective immediately upon payoff and verification.
⚡ Quick Win: Pay Down Your Credit Cards
Action: Pay down $4,900 across your credit card accounts to bring usage below 30% of your limits.
Impact: Your credit score could improve by 15–40 points, potentially unlocking better rates on any loan.
Timeline: Score update in approximately 30–60 days after paydown.
🟢 Opportunity: One Payment Drops Off in 4 Months
What it means: Your auto loan is close to its final payments. Once it's within 10 months of payoff, it no longer counts against your monthly debt calculations — which improves your position for a conventional loan.
When: 4 months from today.
What to do: If your closing timeline is flexible, planning around this date gives you added flexibility. We'll reach out a month before this happens to revisit your options.
🟢 Opportunity: Score Boost Within Reach
What it means: Paying down your credit cards could meaningfully improve your credit score — enough to move you into a better pricing tier.
When: Approximately 30–60 days after the paydown.
What to do: After the paydown, ask your loan officer about requesting an expedited credit update.
DEAL SNAPSHOT — Marcus & Diana Webb
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Progress Score: 0.714 — MODERATE (directional — not an approval probability)
Programs: 3 eligible — VA (P1), FHA (P2), Conventional (P3)
Quick Wins: 2 — C-03 utilization paydown, D-01 micro-payoff
Blocking: 1 (D-01 — Conventional DU only; VA and FHA unaffected)
Elevated: 1 (C-03 — revolving utilization 70.83%)
Best Program: VA — $3,363.83/month | CTC $12,750 | No MI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CONSTRAINT TABLE
| ID | Constraint | Severity | Quantification | Resolution |
|---|---|---|---|---|
| D-01 | DTI_EXCEEDS_PROGRAM_LIMIT | 🔴 BLOCKING | Conv DU: $3.15/mo over 50% limit | $3.15/mo debt payoff OR T-01 wait ⚡ |
| C-03 | HIGH_REVOLVING_UTILIZATION | 🟠 ELEVATED | Util 70.83% → $4,900 paydown req | Paydown + Rapid Rescore, 30–60d ⚡ |
| D-02 | DTI_ELEVATED_WATCH | 🟡 WATCH | $588.93/mo headroom vs FHA AUS | Monitor — clears at FHA level |
| K-03 | CTC_MARGIN_TIGHT | 🟡 WATCH | FHA margin $480.36 | Confirm estimates; seller concession |
| K-04 | ASSET_DOCUMENTATION_GAP | 🟡 WATCH | Bank stmts / VOD outstanding | 2mo bank statements + VOD |
| I-03 | VARIABLE_INCOME_AVERAGING_RISK | 🟡 WATCH | VA disability benefit — continuance | VA benefit letter required |
| I-04 | VA_RESIDUAL_INCOME_RISK | 🟡 WATCH | Est. residual $3,951 >> $738 threshold | Full test in VA Module — likely passes |
| C-02 | CREDIT_TIER_RATE_PENALTY | 💰 COST | Conv: $204.42/mo, $73,591.20 lifetime | Score to 760+ for par; VA eliminates |
| PR-02 | PMI_COST_DRAG | 💰 COST | Conv: $343.54/mo, $51,874.54 lifetime | VA eliminates; 20% down; or LPMI |
| PR-03 | FHA_MIP_LIFETIME_DRAG | 💰 COST | FHA: $187.97/mo, $67,670.62 lifetime | VA eliminates; 10% down → 11yr MIP |
| T-01 | DEBT_EXCLUSION_OPPORTUNITY | 🟢 OPPORTUNITY | AUTO off in 4mo → DTI 45.55% | Time closing post-exclusion if Conv path |
| T-02 | CREDIT_IMPROVEMENT_TIMELINE | 🟢 OPPORTUNITY | $4,900 paydown → est. 15–40 pts | Paydown + Rapid Rescore |
PRIORITY ACTION LIST
IMMEDIATE (this week):
1. ⚡ D-01 QUICK WIN: Identify the qualifying liability at $3.15/mo or more.
Single payoff clears Conventional DU. Confirm which account qualifies.
2. ⚡ C-03 QUICK WIN: Advise $4,900 revolving paydown → 30% utilization.
Request Rapid Rescore post-paydown. Est. +15–40 pts. Timeline: 30–60 days.
3. K-04: Collect 2 months bank statements + VOD. Required for all programs.
4. VA PATH: Advance VA appraisal and processing. VA is unblocked — all constraints
above are Conventional/FHA-specific. VA residual prelim: $3,951/mo >> $738 threshold.
30-DAY HORIZON:
5. I-03/I-04: Obtain VA disability benefit letter. Confirm continuance for Diana's income.
Full VA residual income test runs in VA Module Skill at full underwrite.
6. K-03: Confirm all FHA closing cost estimates. $480.36 margin — any surprise
cost above this amount triggers K-01 shortfall. Negotiate seller concession buffer.
60-90 DAY HORIZON:
7. T-01: AUTO loan excludes in 4 months → DTI drops from 50.04% to 45.55%.
If Conv fallback needed, time closing after exclusion date.
8. T-02: Post-Rapid Rescore: evaluate credit tier. Tier 5 (698) → Tier 1 (760+)
saves $204.42/mo on Conventional. VA funding fee unaffected by score tier.
ALWAYS APPROVED RE-ENGAGEMENT:
Date: [today + 3 months]
Event: 30-day advance notice before AUTO loan exclusion
Condition: Confirm DTI improvement; evaluate Conventional path if VA declined
PROGRAM COMPARISON
Priority Program Loan Amount P&I Monthly CTC MI / Notes
──────────────────────────────────────────────────────────────────────────────────────
1 (Best) VA $434,137.50 $2,744.04 $3,363.83 $12,750 No MI — best all-in
2 FHA $417,302.19 $2,637.63 $3,445.39 $27,625 $187.97/mo life; margin tight
3 Conventional $412,250.00 $2,742.71 $3,706.05 $25,500 $343.54/mo PMI 151mo; D-01 blocks DU
DSCR INELIGIBLE — — — Primary occupancy — Gate 1 fail
Advisory note: VA wins on every dimension. D-01 blocks Conventional DU; does not affect VA.
FHA is viable fallback if VA path fails. DSCR ineligible (primary occupancy).
Progress score 0.714 is conservative — VA qualification is likely stronger than
score suggests because VA residual income test supersedes DTI.
{
"schema_version": "nova_v1.0",
"report_id": "CR_WEBB_20260308",
"deal_id": "DEAL_WEBB_001",
"borrower_id": "BORR_WEBB_001",
"created_at": "2026-03-08T00:00:00Z",
"nova_version": "1.0",
"signals": {
"progress_score": 0.714,
"progress_signal": "MODERATE",
"programs_eligible_count": 3,
"best_program": "VA",
"blocking_count": 1,
"elevated_count": 1,
"quick_win_count": 2,
"has_va_advantage": true,
"has_timing_opportunity": true
},
"quick_wins": [
{
"constraint_id": "D-01",
"plain_english_action": "Pay off a qualifying debt account to reduce monthly obligations by $3.15 or more.",
"plain_english_impact": "Clears the last hurdle for conventional loan approval under automated underwriting.",
"estimated_timeline_days": 1
},
{
"constraint_id": "C-03",
"plain_english_action": "Pay down $4,900 across credit card accounts to bring usage below 30% of limits.",
"plain_english_impact": "Credit score may improve 15–40 points, improving rate pricing on any program.",
"estimated_timeline_days": 45
}
],
"blocking_plain_english": [
{
"constraint_id": "D-01",
"plain_english_description": "Monthly debt payments are $3.15 over the limit for conventional automated underwriting.",
"plain_english_resolution": "Pay off the smallest qualifying debt account — or wait 4 months for auto loan to exclude."
}
],
"opportunities": [
{
"constraint_id": "T-01",
"plain_english_description": "Auto loan excludes from debt calculations in 4 months — improves conventional eligibility.",
"unlock_date_iso": null,
"re_engagement_date_iso": null
},
{
"constraint_id": "T-02",
"plain_english_description": "Credit card paydown of $4,900 could improve score 15–40 points within 30–60 days.",
"unlock_date_iso": null,
"re_engagement_date_iso": null
}
],
"re_engagement_triggers": [
{
"trigger_event": "AUTO_LOAN_EXCLUSION",
"trigger_date_iso": null,
"re_engagement_date_iso": null,
"plain_english_condition": "Auto loan reaches fewer than 10 months remaining — excluded from DTI calculations."
}
],
"cost_impacts": [
{
"constraint_id": "C-02",
"program": "CONVENTIONAL",
"monthly_cost": 204.42,
"lifetime_cost": 73591.20,
"plain_english_description": "Rate pricing penalty from credit score range — $204.42/month more than top-tier pricing."
},
{
"constraint_id": "PR-02",
"program": "CONVENTIONAL",
"monthly_cost": 343.54,
"lifetime_cost": 51874.54,
"plain_english_description": "Private mortgage insurance until loan balance reaches 78% of home value (~151 months)."
},
{
"constraint_id": "PR-03",
"program": "FHA",
"monthly_cost": 187.97,
"lifetime_cost": 67670.62,
"plain_english_description": "FHA mortgage insurance for the life of the loan — eliminated only by refinancing out of FHA."
}
],
"next_step": {
"action": "Advance VA loan — the program is fully available today with no blocking constraints.",
"rationale": "VA eliminates mortgage insurance, requires no down payment, and has the lowest monthly payment and closing costs of all eligible programs.",
"chain_of_events": "VA appraisal ordered → processing begins → full VA residual income test confirms eligibility → closing. Parallel: credit card paydown improves score for any future financing needs."
}
}
Before delivering any NovaOutput, verify each item:
BORROWER MODE:
□ NF-01: No raw technical acronyms used without definition
□ NF-02: Progress score presented as readiness score, NOT approval probability
□ NF-03: Output opens with what IS available — not denial
□ NF-04: No specific credit score improvement promised — ranges used
□ NF-05: No internal system names in borrower output
□ NF-06: Every dollar figure traceable to ConstraintReport
□ NF-07: No approval guarantee language
□ NF-11: VA DTI not presented as VA blocking constraint
□ NF-13: PMI and MIP kept separate in explanations
ADVISOR MODE:
□ NF-08: Technical terms used appropriately — no jargon avoidance
□ NF-09: Constraint IDs present in constraint table
□ NF-10: Progress score labeled as directional, not probability
□ NF-11: D-01 clearly scoped to Conventional — not blocking VA
□ NF-12: VA residual income note: net income, not grossed-up GMI
□ NF-13: MIP and PMI kept separate in program comparison
SYSTEM MODE:
□ Schema-complete: all required fields present
□ No prose in JSON values that should be structured
□ Dollar figures match ConstraintReport exactly
□ re_engagement_dates populated where ConstraintReport provides them
□ All constraint_ids traceable to ConstraintReport.constraints
ALL MODES:
□ All figures are sourced from ConstraintReport — no invented values
□ No program approval guaranteed
□ VA advantage surfaced when veteran_flag = true
| Skill | Relationship |
|---|---|
Clarity_Engine_Constraint_Detection_SKILL.md | Required input — provides ConstraintReport |
Clarity_Engine_Borrower_Profile_SKILL.md | Context carried through ConstraintReport |
Clarity_Engine_Program_Router_SKILL.md | Program data carried through ConstraintReport |
Clarity_Engine_VA_Module_SKILL.md | Downstream — I-04 escalates to full VA residual test |
Clarity_Engine_Optimization_SKILL.md | Parallel — receives ConstraintReport for scenario generation |
Clarity_Engine_Always_Approved_SKILL.md | Downstream — receives re-engagement triggers from ExplanationPayload |
Clarity Engine — Explanation Skill (Nova) v1.0 | CONFIDENTIAL — PreFi, Inc. / Purpose Technology, Inc. d/b/a Purlend