feat: close 3 more competitive gaps — recommendations engine, multi-madhab Faraid, draft will PDF

Closes 3 of the remaining 4 gaps from the competitive benchmark:

- Coverage Dashboard now has a rule-based recommendations engine
  (recommendations.js) surfacing plain-language next steps from data
  already in the app — exposed assets, missing Wassiyah, unverified
  assets, unlinked liabilities, missing insurance/Zakat setup,
  insufficient attestors, no agent assigned, no Waqf configured.

- Faraid Calculator gains a madhab selector (Shafi'i/Hanafi/Maliki/
  Hanbali) encoding the one well-documented divergence this engine's
  existing rules touch: whether radd extends to a sole-heir spouse
  (Hanafi: yes; Shafi'i/Maliki/Hanbali: no, residue unallocated).
  Ja'fari (Shia) is honestly gated as unsupported rather than silently
  computed with Sunni rules, since it's a structurally different
  classification system, not a parameter tweak. faraid.test.js grows
  from 14 to 17 cases covering the divergence and the gating.

- Wassiyah tab gains a 'Generate draft will document' button producing
  a formatted, statutory-style DRAFT will (declaration/revocation,
  executor appointment, bequest schedule, witness attestation blocks)
  via browser print-to-PDF — no new PDF dependency. Clearly watermarked
  'DRAFT — NOT EXECUTED, requires physical signing and witnessing.'
  Not a claim of legal validity, a lawyer-reviewable starting point.

The 4th gap (human-in-the-loop professional tier) remains open — out
of scope for a self-serve prevention tool. COMPETITIVE_BENCHMARK.md
updated to reflect closed/partially-closed status on each item.

Covered by e2e-gaps-round2.cjs (14/14) plus 3 new faraid.test.js cases.
Full regression: 226/226 across all suites.
This commit is contained in:
2026-08-14 12:15:54 +08:00
parent 972ad7ff68
commit 71aa4ae47c
10 changed files with 454 additions and 49 deletions
+23 -14
View File
@@ -45,21 +45,30 @@ differentiators:
- **Coverage %, genealogy tree, insurance/liabilities, asset verification** — this granularity
does not exist anywhere else in the set.
## Gaps to close
## Gaps — status
1. **No legally-filable Will output.** The single biggest gap — every commercial competitor's
core deliverable is a document that can be taken to a lawyer/court/Amanah Raya. Nur Falah
generates coverage data and "execution packets," not a notarizable legal instrument.
2. **No Zakat calculator.** Increasingly table-stakes for this category (Rafiq's core pitch),
and a natural extension of the existing Asset Registry.
3. **Single madhab assumption.** The Faraid calculator doesn't expose or let a user pick a
school of jurisprudence — Rafiq's explicit 5-school support is a credibility signal worth
matching for a global (not just Malaysia) audience.
4. **No human-in-the-loop / professional tier.** Every competitor pairs software with a lawyer
or consultant.
5. **No AI guidance layer.** Legacy Logic's "personalized report" and Rafiq's contextual
coaching both nudge users toward gaps in plain language; Nur Falah's Coverage Dashboard shows
the gap but doesn't recommend what to do about it beyond static info panels.
1. **Legally-filable Will output — partially closed.** Wassiyah tab now generates a formatted,
statutory-style DRAFT will document (declaration/revocation, executor appointment, bequest
schedule, witness attestation blocks) via a print-to-PDF flow, clearly watermarked "DRAFT —
NOT EXECUTED." This is a real time-saver for a lawyer to review and finalize, not a claim
that the app produces a legally executed document — that still requires physical signing,
witnessing, and jurisdiction-specific legal review. A fully legally-valid, notarized/filed
output remains out of scope.
2. **Zakat calculator — closed.** New per-member Zakat tab: Nisab check + 2.5% on cash, gold,
silver, business assets, and investments, minus deductible liabilities.
3. **Single madhab assumption — partially closed.** Faraid calculator now has a madhab
selector (Shafi'i/Hanafi/Maliki/Hanbali) encoding the one well-documented divergence this
engine's rules actually touch — whether radd (return of residue) extends to a sole-heir
spouse. Ja'fari (Shia) is deliberately gated as unsupported rather than silently computed
with Sunni rules, since it uses a structurally different classification system, not a
parameter tweak.
4. **No human-in-the-loop / professional tier — open.** Every competitor pairs software with a
lawyer or consultant; Nur Falah remains self-serve only.
5. **AI guidance layer — closed.** Coverage Dashboard now surfaces a rule-based
recommendations list (exposed assets, missing Wassiyah, unverified assets, unlinked
liabilities, no insurance logged, no Zakat set up, insufficient attestors, no agent
assigned, no Waqf configured) — every recommendation traces to a concrete fact already in
the app's data, not a generated guess.
## Sources