wmj ad2b3c48a3 Rebuild around the real mechanism: bypass Faraid/probate entirely
Product direction clarified: Faraid/probate court adjudication is what takes
~2 years. Assets already moved out of the estate before death (via completed
Hibah, dedicated Waqf, or a legally-direct nomination channel) are never in
that queue — there's nothing for a court to adjudicate. The app's job is to
maximize what's covered by those instruments and make the death-triggered
payout fast for whatever is covered.

New:
- nonprobate.js: coverage model — classifies each Asset Registry entry by
  fast-path channel (hibah/waqf/nomination) vs exposed (faraid/probate).
- CoverageDashboard.svelte: the single number that matters — % of estate
  that bypasses Faraid entirely, with per-asset next-step suggestions.
- NominationRegistry.svelte: third fast-path channel for assets that can't
  be fully gifted/waqf'd — EPF (EPF Act 1991 s.51), Takaful/insurance
  (Insurance Act 1996 s.166), bank death-mandate, trust/nominee holding.
- DeathTrigger.svelte: the execution layer. Multi-attestor threshold +
  death certificate reference fires the trigger; generates a ready-to-file
  execution packet per covered asset, pre-filled from Hibah/Waqf/Nomination
  records. Explicitly scoped: this app cannot itself move money or transfer
  title, but removes missing-paperwork/ambiguity as a source of delay so
  institutions can act in days instead of stacking behind a probate queue.

Changed:
- HibahTracker/FamilyWaqfDesignator: now link to a specific Asset Registry
  entry so coverage can be computed; fast-path explanation added to both.
- WassiyahGenerator: explicit warning that a wassiyah does NOT bypass
  probate — it's a post-death instrument, only appropriate for the
  discretionary one-third, not a fast-track vehicle. Users were previously
  not told this distinction.
- FaraidCalculator: reframed as informational-only, showing what applies to
  whatever remains uncovered — not itself a mechanism.

e2e-fastpath.cjs: new Playwright suite covering the full mechanism
end-to-end (coverage 0%->100%, nomination, multi-attestor trigger threshold,
execution packet generation) — 16/16 passing. Original e2e-uat.cjs suite
re-verified at 32/32 with no regressions.
2026-08-13 17:21:44 +08:00

Nur Falah — Estate & Waqf Suite

Horizon 1 (Prevention Suite) + Horizon 2 (Unlock Programme, pre-pilot demo) from the Nur Falah PRDs, built as a standalone Svelte 5 + Vite PWA, styled to match the visual system of the live moslem03.falahos.my (Nur Falah Muslim Companion) app.

Modules

Module Horizon Status
Faraid Calculator 1 Shared calc core, 14 classical cases passing (src/lib/calc/faraid.test.js)
Asset Registry 1 Local-first, feeds every other module's estate total
Wassiyah Generator 1 1/3 meter, heir-exclusion block, jurisdiction-aware export
Hibah Tracker 1 Shared marad al-mawt guardrail
Family Waqf Designator 1 Built ahead of scholarly sign-off — see below
Digital Beneficial Claims 2 Pre-pilot demo only — see below

Important: two governance gates were overridden for this build

Per explicit product direction, this build proceeded past two gates stated in the project's own PRDs and review log:

  1. Family Waqf Designator (Horizon 1 PRD §8.5) is gated on scholarly sign-off. scholarly-review-log.md (in the digital-waqif docs repo) tracks OPEN-01 — whether a healthy-state waqf is subject to the one-third cap — as unresolved. This module ships anyway; the in-app copy states the open question rather than presenting invented certainty.
  2. Horizon 2 (Digital Beneficial Claims) PRD states: "No engineering work begins until Phase 0 (legal opinion + signed institutional partner agreement) is complete." No confirmation of Phase 0 completion was available. The Claims module ships as a local, non-custodial demonstration of the data model and transfer restriction only — no real legal wrapper, no institutional integration, no real claims issued. It carries a persistent in-app banner saying so.

Both are flagged here, in deploy/DEPLOY.md, and in the relevant module's source comments so this isn't silently presented as production-ready.

Development

npm install
npm run dev       # http://localhost:5173
npm run test      # classical faraid test suite
npm run build

Deploy

See deploy/DEPLOY.md. Target: moslem04.falahos.my.

S
Description
Nur Falah Horizon 1 Prevention Suite + Horizon 2 Unlock demo. Deploy target moslem04.falahos.my
Readme 1.1 MiB
Languages
Svelte 51.9%
JavaScript 47.9%
HTML 0.1%