From 04a4b52113943b53dcd85154841236e7b3bb641a Mon Sep 17 00:00:00 2001 From: Sochen Date: Mon, 9 Mar 2026 04:12:45 +0000 Subject: [PATCH] fix: deduplicate 66 plural GUIDs for homograph nouns Homographs (same nikkud form, different meanings) had identical plurals_guid values. Regenerated unique GUIDs by including meaning in the hash. Also updated build-time fallback to use meaning. Co-Authored-By: Claude Opus 4.6 --- apkg_builder.py | 2 +- data/words.json | 134 ++++++++++++++++++++++++------------------------ 2 files changed, 68 insertions(+), 68 deletions(-) diff --git a/apkg_builder.py b/apkg_builder.py index a69b72b..74dd182 100644 --- a/apkg_builder.py +++ b/apkg_builder.py @@ -1490,7 +1490,7 @@ def build_plural_deck( # GUID from noun_inflection note_guid_raw = noun_inflection.get("plurals_guid") - note_guid = note_guid_raw if note_guid_raw else genanki.guid_for("plural", singular) + note_guid = note_guid_raw if note_guid_raw else genanki.guid_for("plural", singular, meaning) # Audio tags sg_audio = "" diff --git a/data/words.json b/data/words.json index e608fbe..f2499c9 100644 --- a/data/words.json +++ b/data/words.json @@ -743,7 +743,7 @@ "confusables_guid": null, "examples": null, "noun_inflection": { - "plurals_guid": "L-l91@zwDR", + "plurals_guid": "i{Gff{ZA1{", "singular": { "nikkud": "אֲבֵדָה", "ktiv_male": "אבדה" @@ -5733,7 +5733,7 @@ "confusables_guid": "PU=ml;M0Ug", "examples": null, "noun_inflection": { - "plurals_guid": "kP=}.2jSCK", + "plurals_guid": "OLV*B*C@EI", "singular": { "nikkud": "אֹדֶם", "ktiv_male": "אדם" @@ -9760,7 +9760,7 @@ "confusables_guid": "Nmgbl3Oquv", "examples": null, "noun_inflection": { - "plurals_guid": "c|%f[v^!Sm6U04", "examples": null, "noun_inflection": { - "plurals_guid": "APioAYb.l,", + "plurals_guid": "cYEFjwwM9E", "singular": { "nikkud": "אָח", "ktiv_male": "אח" @@ -39031,7 +39031,7 @@ "confusables_guid": "vZ{MZo$n_r", "examples": null, "noun_inflection": { - "plurals_guid": "jBsy,hL%3J", + "plurals_guid": "L6Ij-ROJM{", "singular": { "nikkud": "בַּד", "ktiv_male": "בד" @@ -41983,7 +41983,7 @@ "rejected_count": 0 }, "noun_inflection": { - "plurals_guid": "q0@Y}r2tUK", + "plurals_guid": "u&nJe^(aEG", "singular": { "nikkud": "בְּהֵמָה", "ktiv_male": "בהמה" @@ -50539,7 +50539,7 @@ "confusables_guid": "L#PdOm~X9L", "examples": null, "noun_inflection": { - "plurals_guid": "BN-691Yf(#", + "plurals_guid": "E}dWBmKtY0", "singular": { "nikkud": "בִּירָה", "ktiv_male": "בירה" @@ -63810,7 +63810,7 @@ "confusables_guid": null, "examples": null, "noun_inflection": { - "plurals_guid": "lf?tVv-^^b", + "plurals_guid": "HIHex.rR^8", "singular": { "nikkud": "בְּרֵרָה", "ktiv_male": "בררה" @@ -74464,7 +74464,7 @@ "confusables_guid": "Nb8o-(Qfo4", "examples": null, "noun_inflection": { - "plurals_guid": "n`>h;=YlQc", + "plurals_guid": "GwA<_?RCJk", "singular": { "nikkud": "גִּיל", "ktiv_male": "גיל" @@ -83334,7 +83334,7 @@ "confusables_guid": null, "examples": null, "noun_inflection": { - "plurals_guid": "H/#-ltVNvB", + "plurals_guid": "w=]6{v&V.h", "singular": { "nikkud": "גֵּרוּי", "ktiv_male": "גרוי" @@ -101091,7 +101091,7 @@ "confusables_guid": "jWi/>;ik5p", "examples": null, "noun_inflection": { - "plurals_guid": "D~-7pLlA9F", + "plurals_guid": "x[AU#o?UX_", "singular": { "nikkud": "דְּרוֹר", "ktiv_male": "דרור" @@ -103679,7 +103679,7 @@ "confusables_guid": "QFYq{gu^q*", "examples": null, "noun_inflection": { - "plurals_guid": "xz~JEk:x=>", + "plurals_guid": "E&U?]bt;65", "singular": { "nikkud": "הֶגֶה", "ktiv_male": "הגה" @@ -104752,7 +104752,7 @@ "confusables_guid": "Q;P.X.L^c=", "examples": null, "noun_inflection": { - "plurals_guid": "L%N~9nE@Gn", + "plurals_guid": "bjD_k$OVUC", "singular": { "nikkud": "הָדָר", "ktiv_male": "הדר" @@ -126400,7 +126400,7 @@ "confusables_guid": "jC9EIp.$NF", "examples": null, "noun_inflection": { - "plurals_guid": "OZ~xp@NL]}", + "plurals_guid": "E1lhDS@f/>", "singular": { "nikkud": "זִקּוּק", "ktiv_male": "זקוק" @@ -127691,7 +127691,7 @@ "rejected_count": 0 }, "noun_inflection": { - "plurals_guid": "daVTBj&>;n", + "plurals_guid": "FuTg;<(Ny>", "singular": { "nikkud": "אֶזְרָח", "ktiv_male": "אזרח" @@ -137959,7 +137959,7 @@ "confusables_guid": "yZi)>Nz-L", "singular": { "nikkud": "חוֹזֶה", "ktiv_male": "חוזה" @@ -139450,7 +139450,7 @@ "confusables_guid": "rv,[EZax[*", "examples": null, "noun_inflection": { - "plurals_guid": "q^-Q?thHQ~", + "plurals_guid": "l!l3w]?&/!", "singular": { "nikkud": "חִזּוּר", "ktiv_male": "חזור" @@ -140099,7 +140099,7 @@ "rejected_count": 0 }, "noun_inflection": { - "plurals_guid": "qg3Iqr;Rd6", + "plurals_guid": "J0qqr@FR.Q", "singular": { "nikkud": "חַזֶּרֶת", "ktiv_male": "חזרת" @@ -140513,7 +140513,7 @@ "confusables_guid": "lG37:|Z", "singular": { "nikkud": "יָד", "ktiv_male": "יד" @@ -200864,7 +200864,7 @@ "confusables_guid": "l`ze>P9n!s", "examples": null, "noun_inflection": { - "plurals_guid": "I|~*+Pg/O3", + "plurals_guid": "l6qF%YRVMC", "singular": { "nikkud": "יְצוּר", "ktiv_male": "יצור" @@ -203958,7 +203958,7 @@ "confusables_guid": "nPPP}%*yl:", "examples": null, "noun_inflection": { - "plurals_guid": "cIm=%:M#@f", + "plurals_guid": "P57e`Rkvaj", "singular": { "nikkud": "יַרְקָן", "ktiv_male": "ירקן" @@ -207863,7 +207863,7 @@ "confusables_guid": "pJpo_mPM~3", "examples": null, "noun_inflection": { - "plurals_guid": "qxa3ABrI]r", + "plurals_guid": "jXk{}):]nB", "singular": { "nikkud": "יֶתֶר", "ktiv_male": "יתר" @@ -213888,7 +213888,7 @@ "confusables_guid": "kdVST6`gw|", "examples": null, "noun_inflection": { - "plurals_guid": "L%x8b,~rv:", + "plurals_guid": "mi!%5~tUS<", "singular": { "nikkud": "כּוֹנָן", "ktiv_male": "כונן" @@ -215592,7 +215592,7 @@ "confusables_guid": "G,ed/BG5%5", "examples": null, "noun_inflection": { - "plurals_guid": "SaZOfR?KM", + "plurals_guid": "kQ*H]pX.5ukUeB>", "examples": null, "noun_inflection": { - "plurals_guid": "b{-cc?5EI{", + "plurals_guid": "e0=z=#RCp2", "singular": { "nikkud": "סְפִיקָה", "ktiv_male": "ספיקה" @@ -336802,7 +336802,7 @@ "confusables_guid": "w(]H-8I*7o", "examples": null, "noun_inflection": { - "plurals_guid": "vMINbrqPnD", + "plurals_guid": "mt)U$AXG@a", "singular": { "nikkud": "סֶרֶן", "ktiv_male": "סרן" @@ -344327,7 +344327,7 @@ "confusables_guid": "c@w:Q}", "examples": null, "noun_inflection": { - "plurals_guid": "fP<&TN&Gxz", + "plurals_guid": "kYZ^g@:AuF", "singular": { "nikkud": "נְפִיצוּת", "ktiv_male": "נפיצות" @@ -385459,7 +385459,7 @@ "confusables_guid": null, "examples": null, "noun_inflection": { - "plurals_guid": "f`7i{xBUw.", + "plurals_guid": "LNyT%]S46h[z", "singular": { "nikkud": "קֶצֶף", "ktiv_male": "קצף" @@ -451713,7 +451713,7 @@ "confusables_guid": "k7l1@7cvv+", "examples": null, "noun_inflection": { - "plurals_guid": "vHm+wC1_?;", + "plurals_guid": "e5]mD[dXE)", "singular": { "nikkud": "קְצִיצָה", "ktiv_male": "קציצה" @@ -456324,7 +456324,7 @@ "confusables_guid": "v.axD}p01F", "examples": null, "noun_inflection": { - "plurals_guid": "gq8]=t?{xy", + "plurals_guid": "PphCysWdan", "singular": { "nikkud": "קֶרֶן", "ktiv_male": "קרן" @@ -461904,7 +461904,7 @@ "confusables_guid": "c-n`~^RAF-", "examples": null, "noun_inflection": { - "plurals_guid": "yt$Nlf_]Fi", + "plurals_guid": "rH%p;e*$*V", "singular": { "nikkud": "בְּרֵאשִׁית", "ktiv_male": "בראשית" @@ -468374,7 +468374,7 @@ "confusables_guid": "v9g2/c@z-1", "examples": null, "noun_inflection": { - "plurals_guid": "Q>+3,K8Rit", + "plurals_guid": "NfpZXw25zZ", "singular": { "nikkud": "רֶוַח", "ktiv_male": "רוח" @@ -505195,7 +505195,7 @@ "rejected_count": 0 }, "noun_inflection": { - "plurals_guid": "f9kM[;2sd$", + "plurals_guid": "sZtL{eWTt", "singular": { "nikkud": "שִׂיחַ", "ktiv_male": "שיח" @@ -518087,7 +518087,7 @@ "rejected_count": 0 }, "noun_inflection": { - "plurals_guid": "jnash^7wS9", + "plurals_guid": "J)8@2OrGH(", "singular": { "nikkud": "שָׁמַיִם", "ktiv_male": "שמים" @@ -524169,7 +524169,7 @@ "confusables_guid": "xKz2J9zW{<", "examples": null, "noun_inflection": { - "plurals_guid": "L}*jV?fF07", + "plurals_guid": "g=TJ`N9*9|", "singular": { "nikkud": "שִׁנּוּן", "ktiv_male": "שנון" @@ -527756,7 +527756,7 @@ "rejected_count": 0 }, "noun_inflection": { - "plurals_guid": "bpX3e*{c),", + "plurals_guid": "k=R#^{027Z", "singular": { "nikkud": "שָׂפָה", "ktiv_male": "שפה" @@ -534209,7 +534209,7 @@ "confusables_guid": null, "examples": null, "noun_inflection": { - "plurals_guid": "z8W[l6xsgx", + "plurals_guid": "N2MrU>{S:2", "singular": { "nikkud": "שִׂרְטוּט", "ktiv_male": "שרטוט" @@ -546305,7 +546305,7 @@ "confusables_guid": "Q_xM/kn5c&", "examples": null, "noun_inflection": { - "plurals_guid": "i6eLHNEZOj", + "plurals_guid": "b%2.!vhKCd", "singular": { "nikkud": "תֹּם", "ktiv_male": "תם"