ISNAD Scientific Platform

Documentation Center
V1 · Référence officielle

Architecture

Laboratoire — HadithRank V1

2 min de lectureMis à jour le 29 octobre 2026
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 :

ObjetSchémaRôle
labs.hadithrank_grade_fidelitylabsbarème grade_tier → fidélité
labs.hadithrank_narrator_overridelabsfidélité manuelle sourcée par narrateur
labs.hadithrank_runlabshistorique des calculs
public.labs_hadithrank_grade_fidelity()publicpont PostgREST (lecture seule)
public.labs_hadithrank_narrator_overrides()publicpont PostgREST (lecture seule)
public.labs_hadithrank_hadith_chains(bigint)publicchaî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 sur narrator_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.