Architecture
Laboratoire — HadithRank V1
Sur cette page
Portage de l'algorithme HadithRank / IntegrityCalculator d'Ikram Hawramani (MIT License with Algorithm Attribution) : https://hawramani.com/mathematical-hadith-verification-with-information-theory-the-hadithrank-algorithm/
Ce que c'est#
Un modèle probabiliste exploratoire qui propage une « intégrité » (LI) dans l'arbre des isnads d'un hadith :
- combinaison parallèle des voies indépendantes (noisy-OR) :
1 − ∏(1 − LIᵢ); - atténuation série à chaque maillon :
× fidélité(nœud); - la source ne s'atténue pas (vérité = 1.0) ;
- une fidélité personnalisée supérieure au coefficient de décroissance est ignorée (plafond = « loi de la nature »).
Le score n'est pas un pourcentage d'authenticité (ṣiḥḥa). C'est un indicateur de robustesse structurelle de la tradition, sensible au coefficient de décroissance choisi.
Ce que ça n'est pas#
- Pas un jugement de ṣiḥḥa / ḥasan / ḍaʿīf.
- Pas un substitut à la critique des narrateurs, à l'analyse de la ʿilla ou de la shudhūdh.
- Le coefficient 0,6 est un calibrage de l'auteur, pas une constante dérivée.
Isolement base de données#
Migration supabase/migrations/20260829150000_add_labs_hadithrank.sql —
strictement additive et isolée :
| Objet | Schéma | Rôle |
|---|---|---|
labs.hadithrank_grade_fidelity | labs | barème grade_tier → fidélité |
labs.hadithrank_narrator_override | labs | fidélité manuelle sourcée par narrateur |
labs.hadithrank_run | labs | historique des calculs |
public.labs_hadithrank_grade_fidelity() | public | pont PostgREST (lecture seule) |
public.labs_hadithrank_narrator_overrides() | public | pont PostgREST (lecture seule) |
public.labs_hadithrank_hadith_chains(bigint) | public | chaînes d'un hadith + grades (lecture seule) |
Aucune table, colonne, enum, vue, fonction ou politique métier n'est
modifiée. Les trois fonctions public.labs_hadithrank_* ne sont là que parce
que PostgREST n'expose par défaut que public ; si labs est ajouté aux
« Exposed schemas » du projet Supabase, elles deviennent superflues.
Code#
src/features/labs/hadithrank/integrity-calculator.ts— portage fidèle, fonction pure.src/features/labs/hadithrank/model.ts— construction / annotation de l'arbre (fusion surnarrator_id, mapping grade → fidélité).src/features/labs/components/HadithRankCalculator.tsx— page interactive (mode texte libre + mode corpus, curseur de décroissance).src/app/[locale]/labs/hadithrank/page.tsx— route.
Tests#
npm run test:hadithrank — reproduit les trois exemples numériques de
l'article (52,89 % / 41,42 % / 30,198 %, tolérance 1e-3), vérifie le
plafonnement des fidélités custom, la monotonie vis-à-vis du decay, et
l'isolement de la migration.