Rejeu post-ketiv

Suite de Ketiv-Qere-impact. Décision du père du 01/09/2026 : KETIV. Quand ketiv et qeré diffèrent, la gématrie compte les lettres écrites ; le qeré n’entre pas dans le calcul. Motif retenu : cohérence de méthode — la numération esdraïque porte sur ce qui est écrit — et non le résultat obtenu.

Cette page est le tableau avant/après demandé. Tout y est reproductible : scripts/fix_ketiv_qere.py (correction), scripts/rejeu_post_ketiv.py (rejeu), scripts/lof_versets.py (LOF), scripts/tda_tanakh.py (TDA, inchangé).

0. Ce qui a été écrit en base

Versets corrigés934 (et non 942 : 942 = versets portant un mam-kq-k, dont 8 sans qeré, donc sans double comptage)
Paires ketiv/qeré résolues1045 (un verset peut en porter jusqu’à 5)
Déplacement moyen de E−60,2 · mots −1,15 par verset
Mots supprimés15 539 → 14 465 sur ces versets (−1074)

Le correctif est dans le pipeline lui-même (hebrew.resolve_ketiv_qere, étape 0b), pas seulement dans un script de rattrapage : toute réingestion produira désormais le ketiv. Deux pièges couverts, vérifiés sur les 1045 conteneurs :

  • l’ordre des deux lectures varie — 914 fois ketiv puis qeré, 129 fois l’inverse ;
  • le séparateur est parfois un maqqef et non une espace (Is 26,20 · 1 Ch 9,4) ; il est conservé, sinon le ketiv cesserait de se lier au mot suivant.

Le qeré n’est pas perdu. Chaque paire est une ligne de la table variants avec sa position de mot et l’écart qeré − ketiv. C’est ce marquage automatique qui remplace l’ancienne liste manuelle de 15 variantes (data/ketiv_qere.json, supprimée) : elle couvrait 1,4 % des cas et n’était reliée à aucun verset de la base. La route /variants/ketiv-qere la sert désormais, paginée et filtrable par livre.

Chaîne complète rejouée : colonnes dérivées, table words, alignement OSHB sur les 35 livres touchés, groupes maqqef, text_semantic, embeddings des 934.

Non-régression — tous les témoins tiennent

Gn 1,1 = 329 · Ps 118,26 = 293 · Dt 6,4 = 227 · Dt 6,5 = 378 · Nb 33,5 = 329 · Jb 31,15 = 293 · 1 R 6,12 = 1081 · Ps 118,25 = 235 · 23 206 versets · 181 tests au vert.

1. Réseau bicouche (ex-667)

avantaprès
Effectif666674

16 sortent, 24 entrent. Les 16 sorties sont exactement celles annoncées par l’analyse d’impact — dont Ps 92,16 et 2 S 22,33, déjà signalés comme artefacts.

  • Sortent : 1 S 24,9 · 2 S 22,33 · 2 S 23,8 · 1 R 5,17 · Ps 92,16 · Ps 101,5 · Ps 139,6 · Pr 28,8 · Pr 31,4 · Rt 4,5 · Qo 4,17 · Est 9,15 · Dn 7,4 · Ne 12,16 · 1 Ch 12,6 · 1 Ch 22,7
  • Entrent : Gn 30,11 · 1 S 18,9 · 2 S 22,15 · 2 S 22,51 · Is 26,20 · Is 32,15 · Jr 52,32 · Ez 21,28 · Ez 28,3 · Ez 44,3 · Za 1,4 · Ps 59,16 · Ps 71,12 · Ps 85,2 · Ps 102,24 · Pr 22,20 · Pr 23,26 · Pr 31,16 · Jb 10,20 · Jb 24,6 · Jb 30,22 · Jb 33,19 · 1 Ch 8,25 · 2 Ch 29,28

⚠️ Correction d’un chiffre publié : l’analyse d’impact annonçait « ~44 entrées ». Le rejeu en donne 24. Les sorties, elles, correspondent au verset près. Les versets listés en trop dans le rapport du 31/08 (Jr 2,15 = 636 = 2²·3·53, Ps 77,12 = 305 = 5·61, Pr 21,19 = 327 = 3·109…) ne factorisent sur le noyau sous aucune lecture : cette liste était fausse. L’effectif attendu « ~695 » tombe donc à 674.

Rappel de nomenclature : la taille de ce corpus est un artefact d’outillage. Ni 667, ni 666, ni 674 ne portent de sens.

2. Scans par verset

Scanavantaprèsverdict
H-293 (E = 293)4747inchangé
S − R = 1315759+2 : Ex 37,8 · Jb 1,10
Équipartition R = S99inchangé
Auto-référentiels1416+2 : Ps 89,18 · Pr 20,21
E_T dans le réseau de cibles00inchangé

Les quatre entrées sont exactement celles que l’analyse d’impact prévoyait sous ketiv. Aucune sortie. Les listes gelées le 31/08 peuvent être dégelées et complétées.

Note : l’équipartition était annoncée à 11 membres ; le compte réel est 9. Les deux manquants sont Jos 21,36-37, les versets vides missing_in_mam, où R = S = NULL comparait vrai par accident. Ce sont des faux membres, pas une perte.

3. Distributions agrégées — inchangées, comme prévu

Écart maximal sur le corpus entier : E mod 9 : 0,069 pt · E mod 10 : 0,103 pt. Décagone, racines digitales, distributions modulaires : rien à rejouer.

4. Mann-Whitney — réseau bicouche vs reste du Tanakh

Fonction de Ep avantp aprèsmoyenne réseau
ω (facteurs distincts)4,98·10⁻⁸⁵6,30·10⁻⁸⁷1,668 → 1,662
Ω (avec multiplicité)3,50·10⁻⁹⁹3,39·10⁻¹⁰⁰1,878 → 1,875
τ (nombre de diviseurs)1,67·10⁻¹¹⁷3,39·10⁻¹¹⁹3,602 → 3,592
φ/N9,33·10⁻¹⁶⁴1,24·10⁻¹⁶⁴0,893 → 0,894

Verdict : inchangé. Les p bougent d’un facteur ~2, dans le sens du renforcement.

⚠️ Ces p restent ce qu’ils étaient : la mesure d’une tautologie. Le réseau est défini par « E ne factorise que sur 16 premiers » ; il est donc mécaniquement pauvre en facteurs. Cf. Resultats-negatifs-fonctions-arithmetiques. Ils sont donnés ici pour montrer que la correction ne les déplace pas, non comme un résultat.

5. TDA — inchangée

scripts/tda_tanakh.py relancé tel quel (graine 20260502).

PérimètrenH1 max-persistanceentropie H1
Réseau 3D667 → 6740,4486 → 0,44543,6970 → 3,6931
Réseau 7D667 → 6740,6134 → 0,60765,2484 → 5,2653
Ancres 1-hop 3D113 → 1160,1134 → 0,11551,8886 → 1,8890
Tanakh 5000 (7D)50000,4007 → 0,41007,9690 → 7,9435

La topologie ne bouge pas. Verdict : inchangé.

6. Le 8-sigma — non rejouable en l’état

Le chiffre p = 2,34×10⁻¹⁵ (« corrélation bicouche/R_noyau sur 667 versets ») n’a aucune définition versionnée, ni dans le dépôt, ni dans les pages du wiki. Quelles variables sont corrélées, par quel test, sur quelles colonnes : rien n’est écrit.

C’est exactement le motif pour lequel le LOF a été déclassé le 31/08. La même règle doit s’appliquer : on ne peut pas rejouer ce qu’on ne sait pas reconstruire.

Ce que le rejeu apporte quand même : le périmètre exact sur lequel un tel test devra être redéfini (674 versets, composition ci-dessus) et la preuve que ce périmètre est maintenant stable et reproductible. Mais tant que la méthode n’est pas réécrite, le chiffre ne peut pas être cité — ni comme établi, ni comme « en re-validation ».

Action demandée : soit retrouver la méthode (auquel cas je la versionne et la rejoue), soit acter le déclassement comme pour le LOF.

7. LOF versionné — aucun signal

scripts/lof_versets.py, graine 20260901. Choix explicites : périmètre word_count 6–24 (5e–95e centiles, 21 060 versets), features = le vecteur 7D structurel de vector_search + E, standardisées, n_neighbors = 20.

Versetrangcentile
Ps 118,251496 / 21 0607,1e
Gn 1,1349316,6e
Dt 6,5394918,8e
Ps 118,26476522,6e
Jb 31,15728634,6e
Pr 23,26779337,0e
Dt 6,4888242,2e

Le « rang 33 sur 21 409 » n’est pas retrouvé — ce qui n’apprend rien, l’ancien calcul n’étant pas connu. Ce qui compte est ailleurs : le placebo (mêmes features, colonnes permutées indépendamment) produit LOF max = 2,42 / moyen = 1,070, contre 2,70 / 1,054 pour le réel. Le réel et le hasard ont le même profil. Un rang élevé ne dit donc rien de plus que « ce verset a une combinaison rare de ratios » — ce qui est vrai de 5 % des versets par construction.

Verdict : le LOF ne produit aucun signal. Il reste déclassé, cette fois pour une raison mesurée et non pour absence de trace. Ne pas le rouvrir sans hypothèse nouvelle.

8. Pr 23,26 — profil rapide

Le seul verset qui vaut 329 sous les deux lectures ; il entre au réseau bicouche.

תנה בני לבך לי ועיניך דרכי תרצנה — « Mon fils, donne-moi ton cœur, et que tes yeux se plaisent à mes voies. » (ketiv תרצנה)

E · F · P[329 . 95 . 5] — 329 = 7 × 47, la valeur de Gn 1,1
Mots · lettres7 · 26
R / S78 / 251 (251 = 55e premier)
Mots 5 et 7ועיניך et תרצנה valent tous deux 79 (23e premier), même EFP [79.25.7]

Ce qui tempère. E = 329 compte 54 versets ; avec 26 lettres, 7 ; avec 7 mots en plus, 3 — Pr 23,26, Ps 119,84 et Ps 119,96. La combinaison n’est donc pas unique, et Gn 1,1 a 28 lettres, pas 26 : le rapprochement porte sur E seul.

Recommandation : oui à une page Versets/, mais adossée à la seule chose solide — E = 329 stable sous les deux lectures, dans un verset qui parle de donner son cœur et de fixer les yeux sur la voie. Le doublon 79/79 et les 26 lettres sont à présenter comme observations non testées, pas comme signaux : aucun n’a de ligne de base.

9. Reste en suspens — arbitrage à demander

La convention tranche le cas où les deux lectures existent. Deux cas limites restent ouverts, non touchés par la correction (scripts/fix_ketiv_qere.py --report-lone) :

  • 8 ketiv sans qeré (écrits, non lus) — aujourd’hui comptés, ce qui est cohérent avec la convention : 2 S 13,33 · 2 S 15,21 · 2 R 5,18 · Jr 38,16 · Jr 39,12 · Jr 51,3 · Ez 48,16 · Rt 3,12.
  • 9 qeré sans ketiv (lus, non écrits) — aujourd’hui encore comptés, ce qui contredit la convention prise à la lettre : Jg 20,13 · 2 S 16,23 · 2 S 18,20 · 2 R 19,31 · 2 R 19,37 · Jr 31,38 · Jr 50,29 · Rt 3,5 · Rt 3,17.

Si « on compte ce qui est écrit », ces 9 mots ne devraient pas être comptés. Je ne l’ai pas fait de moi-même : la décision porte sur des versets entiers et prolonge la convention au-delà de sa lettre. 9 versets à trancher.

Liens