Underwriting Decision Register

Sooner · Closing Fee Financing · updated 2026-06-08 · the single place to make calls

Status. All 13 decided (2026-06-08). Six were ratified with a change to what I first proposed (D1, D3, D5, D7, D8, D9) — D1 simplified to re-weight + visible override (no cap), and confirmed employer/recourse as a legitimate sum-of-parts. Reply by number to change anything; otherwise these are the build contract, and the next step is the D12 shared-module + engine build.
0awaiting your call 6ratified as-is 6ratified with change 1done

1 · The 13 decisions

Each consolidates several review findings. Severity is the worst finding inside it. D1 is open; the rest are decided.

D1 critical Make the score honest — re-weight + expose the override (no cap) Ratified · changed
IssueSooner gives each applicant a score out of 100, but that score can read 85 for an applicant we are going to reject. The decision function runs early branches (weak-employer + weak-recourse → decline; thin-file → committee; etc.) BEFORE it reaches the score's own approval line, so the published score can sit at 85 next to a 'declined' with nothing visibly connecting them. Two of the most decision-relevant factors are also underweight: employment stability is 15% (tenure 5 + employer 10) and re-leasing is 10%, while affordability alone is 40%. And the category weights sum to 105, so a published '10%' really contributes 9.5%.
Suggested fixSIMPLIFIED (founder 2026-06-08) — the multiplicative capacity-cap is DROPPED; the score stays an additive sum-of-parts (tenure + seniority + employer + recourse are distinct, legitimate signals, NOT double-counted). Three changes: (1) RE-WEIGHT the key levers — A17.5 B15 C10 D7.5 E7.5 F5 G5 H15 I5 J12.5 (employment stability C+J 15%→22.5%, re-leasing H 10%→15%); sums to 100. (2) EXPOSE THE OVERRIDE as a published DECISION RULES layer (DR1–DRn), a sibling to the gates — for gate-passing files these route the band (approve/committee/manual/decline) with a published reason code (e.g. DR1 weak-employer+weak-recourse→decline, DR2 the D5 recourse rescue); the score is relabelled 'creditworthiness if the gates pass,' shown alongside the band + reason. (3) Weights sum to 100, not 105. True-veto cases are caught by the gates + DR1, so no cap.
Why it mattersThe score stops reading 90 for a reject — partly because the weak levers now carry more weight, fully because the reject reason is published (a result reads 'Score 82 · declined · DR1: weak employer + weak recourse'). Keeps the intuitive sum-of-parts model; nothing about who gets approved changes much; the number becomes trustworthy to put in front of a lender, regulator, or auditor — exactly like a 780 credit score still declined for income (the score isn't lying, the rule is published).
Decision✓ Ratified + weights FINAL (2026-06-08): A17.5 B15 C10 D7.5 E7.5 F5 G5 H15 I5 J12.5 (no swap). Simpler design: re-weight + the VISIBLE Decision Rules layer + weights-to-100; cap dropped; employer/recourse confirmed as legitimate sum-of-parts. UAE Residency held at 7.5% (flight-risk on a visa-linked 60mo product) and captured as a 3-year STEP BAND (12mo→35, 24mo→55, 36mo→85, 60mo→100) rather than more raw weight, to avoid double-counting rootedness already in tenure + credit.
D2 medium Smooth the score bands (remove cliffs) Ratified
IssueScores use 4-rung step bands, so a 0.1% move can swing ~20 points and two different inputs can score identically (a dead zone). Borrowers can game a threshold.
Suggested fixPiecewise-linear interpolation between published breakpoints; the two tier-lookup factors stay discrete; publish both endpoints per band.
Why it mattersCliffs and dead zones are indefensible under scrutiny and invite gaming. Smooth, published bands are table-stakes for a credible score.
Decision✓ Ratified 2026-06-08 — build as specced.
D3 medium Thin-file credit → assume average-to-good (recourse offsets it) Ratified · changed
IssueA borrower with no credit history (thin file) has no track record to score on the credit factor. The question is whether to penalise that or not.
Suggested fixAssume AVERAGE-TO-GOOD repayment (substitute ≈70 on the credit factor) because the property re-lease recourse offsets the unknown history. Do NOT penalise thin files to a conservative low. The recourse ceiling (D1) still independently caps files in weak re-lease communities, so a thin file in a thin re-lease market does not get a free pass.
Why it mattersSooner is not an unsecured lender — the master-lease recourse is the backstop, so an absent credit history is not the same risk it is for an unsecured product. Penalising thin files would reject creditworthy first-time buyers and new-to-country professionals for no good reason.
Decision✓ Ratified WITH CHANGE — thin-file credit factor = average-to-good (≈70), justified by property recourse (reversed from the conservative-35 proposal).
D4 medium Discount volatile income Ratified
IssueAdditional and commission income currently flow into the score and DBR at face value — the most-optimistic default.
Suggested fixBase salary 100%, rental income from a registered lease 70%, all other additional/commission 50%. The income floor is tested on base salary alone.
Why it mattersVolatile income at face value lets one good year qualify a file base salary cannot carry over 60 months. A registered lease is more stable than commission, hence 70%.
Decision✓ Ratified 2026-06-08 — build as specced (100 / 70 / 50).
D5 high Commission-only ineligible · recourse rescue gated on the hard gates only Ratified · changed
IssueTwo questions: can commission-only earners qualify, and can a strong re-lease community rescue a weak-employer file in a high DBR band?
Suggested fix(a) Commission-ONLY income is INELIGIBLE — an applicant must have base salary; the broker-rescue path is removed entirely (update everywhere). (b) A strong-recourse community CAN rescue a weak-employer file in the worst DBR band, with NO extra affordability floor, as long as every hard gate passes (notably DBR < 50%). The 60-month stress gates (D6) are the backstop, not a second DBR line.
Why it mattersCommission-only income is too volatile to carry a 60-month obligation, so it is excluded at the door rather than haircut. For everyone else, the hard 50% DBR gate IS the affordability line — if a file clears it, strong recourse is allowed to carry a weak employer; recourse exists precisely to support otherwise-marginal files that still pass the gates.
Decision✓ Ratified WITH CHANGE — commission-only ineligible everywhere; recourse rescue gated only on the hard gates (DBR < 50%), no separate 45% floor (reversed from the proposed floor).
D6 high 60-month affordability stress gates Ratified
IssueAffordability is tested once at origination with no stress over the 5-year term; a minimum-income borrower at the DBR ceiling has zero buffer for a shock.
Suggested fixA hard savings-buffer gate (≥3 months), a stressed-DBR check routing to committee, and a thin-affordability-corner committee step.
Why it mattersA 60-month tenor with no stress test is the classic consumer-lending blind spot. This puts an explicit margin of safety on the files most likely to break.
Decision✓ Ratified 2026-06-08 — build as specced.
D7 medium Path-to-acceptance — budget AND location Ratified · changed
IssueAn affordability or community miss driven by the borrower’s controllable choices (budget, or which area they buy in) is currently flat-declined, telling them nothing actionable.
Suggested fixFORMALISED 2026-06-08 as a first-class HARD vs SOFT reject taxonomy (§3.9). Every gate and Decision Rule carries rejectType: HARD = about WHO the applicant is, immutable (residency, age, credit, employer, sub-floor income) → dead-end; SOFT = about WHAT they chose, changeable (budget/price, area/community, property type) → counter-offer. Mixed gates (DBR, income) test ‘would a cheaper property or different area clear this, holding the applicant fixed?’. Soft → three levers: (1) BUDGET — back-solve the DBR ceiling to the max price + fee (‘you qualify up to AED X’); (2) LOCATION — return the eligible areas where the same profile qualifies; (3) DELEVERAGE — if existing debt drives the DBR fail and savings can settle it while keeping the 3-month buffer (savings ≥ debtToSettle + reserve), offer ‘settle AED Z of debt to qualify’ (AA07-PATH). PRECEDENCE: hard dominates — if any hard reject fires, the soft counter-offer is SUPPRESSED (no false hope to a credit-declined applicant).
Why it mattersFor the things Sooner controls (budget AND where they buy) a counter-offer is a conversion lever — turn a dead-end no into a smaller or relocated yes. Making hard/soft a property of every gate (not a separate pass) means the path is computed automatically, and the hard-dominates rule prevents fair-lending hazards (don’t offer a cheaper home to someone declined on credit).
Decision✓ Ratified + EXTENDED + FORMALISED — path-to-acceptance covers budget and location, now structured as rejectType on every gate/rule with hard-dominates precedence (your call confirmed).
D8 critical Recourse ranking on actual DLD rental lease data Ratified · changed
IssueThe community recourse ranking — which drives the whole recovery thesis — used DLD SALES volume as a proxy for RENTAL re-lease depth, and rewarded high gross yield monotonically even though high yield often signals oversupply.
Suggested fixRebuild on Sooner’s ACTUAL lease-level DLD rental data: every new lease + ~50% of renewals, with price, duration, unit type, beds, building/sub-community and location. Depth = actual new-lease registration volume per (community × unit-type × beds); achievable rent = the actual median registered lease price; turnover/void proxies from lease duration + renewal gaps. Make the high-yield penalty CONDITIONAL (mark down high yield only when depth is also thin or supply heavy). Calibrate in stages against realised re-lease count (10 / 30 / 50), adding our own measured void days as we operate. Caveat: renewals are ~50% under-registered, so the data over-weights tenant TURNOVER vs stable renewals — fine for measuring re-lease depth, noted for occupancy/stability.
Why it mattersRe-leasing IS the recourse; if the ranking mis-ranks which communities re-lease well, the recovery and LGD numbers under the whole product are wrong. Using actual rental lease records (not sales, not a paid vendor) makes the ranking near-direct and auditable.
Decision✓ Confirmed + ENRICHED — depth and rent now come from actual DLD rental lease records (richer than the proxy I assumed); conditional yield; staged calibration; renewal-underregistration caveat baked in.
D9 medium Recovery is void-driven — never evict a paying party Ratified · changed
IssueThe earlier spec was going to score owner-occupied, vacant, and tenanted units with different recovery, including a haircut on tenanted units. Under Sooner’s actual model that is backwards.
Suggested fixReframe to a VOID-DRIVEN recovery model. Sooner NEVER evicts a paying party — not a paying tenant, not a paying owner-occupier; eviction happens ONLY on non-payment. A unit is vacant only when it is bought vacant (and being leased) or a tenant leaves before a replacement is found. The recovery cost is therefore the re-lease VOID (days to re-lease at a competitive price), which Sooner minimises by pricing competitively. A paying sitting tenant is a GOOD recovery case (cash flow continues, no void) — drop the tenanted haircut. Model recovery on void duration (informed by the DLD rental data in D8), not on occupancy type.
Why it mattersThe earlier haircut assumed a tenanted unit was a problem; under Sooner’s model it is the opposite — a paying occupant means uninterrupted recovery. The only real recovery cost is the vacancy gap, and the competitive-pricing incentive keeps it short. Modelling the void correctly is what makes the LGD honest.
Decision✓ Reframed — void-driven recovery; never evict a paying party; no tenanted haircut; minimise void via competitive pricing.
D10 high Fair-lending monitoring pack Ratified
IssueYour hard declines map almost 1:1 onto nationality in Dubai, so a neutral rule can produce a disparate outcome — and you capture no demographic data, so you cannot test for it.
Suggested fixMonitoring-only, hard-walled demographic capture; adverse-action reason codes; a quarterly disparate-impact test; champion-challenger validation from day one.
Why it mattersAn SPV/warehouse funder inherits your conduct risk and will demand proof you are not redlining. Cheapest item to fix pre-launch — wiring, not policy.
Decision✓ Ratified 2026-06-08 — build the monitoring pack.
D11 medium BNPL / PDPL posture Ratified
IssuePhantom BNPL debt that does not report to the bureau can understate DBR; PDPL governs storing the Lean open-banking data.
Suggested fixLean bank-statement parse as the primary detection layer, backstopped by the mandatory bureau pull, borrower self-declaration, and a continuous monitor; PDPL handled by a consent gate + retention policy.
Why it mattersUnderestimating debt service is a direct credit risk; PDPL non-compliance is a regulatory and funder risk.
Decision✓ Ratified 2026-06-08 — this posture is enough.
D12 high Engine parity — build after ratification Ratified
IssueEverything above is render-only on the reference page; the live engine still takes community tier as a typed input and still hard-declines weak employers — the opposite of the re-baselined model.
Suggested fixExtract one shared underwriting module the page renders from and the engine + forms import, with a CI parity gate forcing them to agree.
Why it mattersUntil this lands, the page and the engine can drift and the re-baselined model is not actually in production. It is the structural close on most engine findings at once.
Decision✓ Ratified 2026-06-08 — build the shared module + engine wiring AFTER all open questions are ratified.
D13 high Legal sign-offs Done
IssueThe flat-on-principal premium + early-termination schedule needed a Shariah confirmation (Forward Ijara, actual-loss not riba); PDPL on the Lean connection needed a consent/retention design.
Suggested fixCounsel confirmation on the Ijara framing + a PDPL consent/retention design.
Why it mattersShariah and regulatory exposures that gate a customer-facing launch.
Decision✓ Done 2026-06-08 — legal sign-offs complete.

2 · Already settled this session

You answered these earlier; they are reframed/resolved and pending build. Flag any you want to reopen.

P4 / P5“Predatory equity-stripping” and “bundle inverts price”Refuted with the OID math — 53.4% ROE, buyer keeps freehold + equity; Sooner is paid by seller + bank, not by repricing the buyer.
F-c“Expensive credit on a sunk cost”Reframed — the appreciation offset (~+5%/yr) plus avoided rent exceeds the premium; APR-in-isolation is the wrong lens for a one-time entry cost.
F-dNo early-exit / refinance pathResolved — a declining early-termination schedule exists (6%→1% + 6-month floor), Shariah-framed as actual-loss compensation.
F-eOwner-occupier displacementReframed — eviction is non-payment-only; owner keeps equity and regains control on recovery (see D9).
F-gProduct necessityValidated — the alternatives (personal loan breaches DBR, credit card costs more, waiting forgoes appreciation) are strictly worse or blocked.
G-d / G-jClosing-fee 6–11% range + AED 50k floorResolved — 6–11% is correct (finance the actual invoiced fee); floor lowered 50k → 30k.
G-fRent caps on recoveryMoot — eviction is non-payment-only; rent caps only bind a performing tenant, which the product never removes.
G-e / G-h / G-iDBR opacity, age check, thin-file bypassSpecced — DBR from primitives; age tested at maturity; thin-file set by the bureau pull. Build with D12.
L5“LGD low” with no expected-loss modelResolved — the Expected-Loss model is built (HTML + Excel); reconciled to a 1%/yr net provision.
S-fEmployer tiering vs 2026 researchApplied — public energy/healthcare → top tier, Big Tech split local vs remote (commission-only now ineligible per D5).
R-h / Gov-gConcentration / multi-lessee riskResolved — a full concentration policy exists, reconciled to the community-tiering data; encode as code in the shared module.
Gov-fEngine vs spec inconsistencyReconciled — the page is canonical; the named community row wins over the master-level aggregate.
P7Cost benchmarkAddressed — the rent-vs-buy calculator is the benchmark surface.

3 · Where to look (artifact map)

Cleaned up — the v1 review (wrong product premise) is archived. Three live surfaces remain, plus the products.

This file — Decision RegisterYour action surface. Make calls here. 2026-06-08-underwriting-decision-register.html
Issue catalog (review board v2)All 60 findings with severity, full issue/fix/disposition. Reference for detail.
Resolution contractCode-level change specs (the exact edits). Reference for “what gets built.”
Live reference siteThe customer/funder-facing underwriting model. sooner-mini-apps/apps/underwriting-criteria
Expected-Loss modelsooner-mini-apps/apps/el-model + Sooner EL Model.xlsx
Key Facts StatementSooner Key Facts Statement.docx
Archived (dead)v1 review, wrong premise — docs/reviews/archive/2026-06-04-*

Sooner · Underwriting Decision Register · updated 2026-06-08 · supersedes the scattered open/planned states on the review board. Confident. Direct. Minimal.