L1: the shoresh is read from the lexicon, not guessed (tablet 34)

L1's `shoresh` field was derived by stripping a prefix letter and a
suffix letter from the consonants and keeping the first three. וַיַּרְא
"and he saw" was engraved as ירא ("fear"); ויהי as יהי; שמים as שמ;
מזבח as מזב; הבאתי as בא. And parse_prefixes took a word's morphology
from the LAST morph segment, which for a suffixed word is the pronominal
suffix — so every suffixed noun and verb in Torah (לבבך, נפשך) was
classed as a suffix and written with no shoresh at all.

Every WLC word already carries its lemma, and the OSHB lexical index
files each lemma under its Brown-Driver-Briggs root (terumah §E2 named
BDB + Strong's as the root lexicon and marked it "needs consolidation").
scripts/build_l1.py now reads the root from that filing:

  main    the lemma is a root            23,750 words   וירא → ראה
  sub     filed under a root             31,066 words   מזבח → זבח
  single  stands alone in the lexicon     2,671 words   משה → משה
  none    no etymology recorded → absent  3,002 words   יוסף, מצרים
  particles, pronouns → absent, as before 19,493 words  את, אשר, כי

57,487 words carry a shoresh (was 51,836); 1,378 unique roots (was
2,608 fragments). Roots are written as the lexicon writes them — two
letters (בן), three, or more (שמאל).

WHAT CHANGED IN THE EDUT: only `shoresh`. Verified file by file — with
that one field removed, all 5,853 verse files are byte-identical to the
previous L1. Text, consonants, lemma, morph, te'amim, prefix, ketiv/
qere, large and small letters: untouched. The old builder, run against
the same morphhb checkout, reproduces the old hash exactly; the new
builder is deterministic (two runs, one hash).

  L1 SHA-256  99bbd07a…4ea377  →  156b1d27…d8c9d5
  sources     morphhb 3d15126 · HebrewLexicon 21c9add
              (recorded in l1/build_report.json)

Moved together, because they pin the hash or the count:
vav_pipeline L1Reader @l1_expected_hash · shoresh-engine Luchot.Firmware
(hash, uniqueRootCount) + Spec · azazel_processor goral._L1_INTEGRITY_HASH
· KOHEN.md / KOHEN_PROMPT.md gate · l1/README.md (new "Roots" section) ·
README.md (second quarry) · AGENTS.md · root_meanings.pl comment.
The Doorpost manifest is not touched; its hash does not move.

Note for the kohen: the goral's seed inherits the L1 hash, so lots cast
after this commit are cast from a different seed than the azazel
records already in L3. Those records are history and stand as written.

All five suites on the new L1: Elixir 461/0 (seeds 0 42 191243) ·
Haskell 55/0 · Prolog 6 suites exit 0 (swipl 9.2.2) · korban 222 passed
1 skipped · azazel 125 passed. Four images built; full local stack
(real engine binary, PostgreSQL 16 with SSL, migrations) answers
Bereishit 1:4 with ר-א-ה, health healthy, 6 interpretations in L3,
0 write failures.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Scott KarpandClaude Fable 5.1 committed 2026-10-04 17:44:02 +00:00
1 parent 6d3411fcfa
commit 8e4f94c66f
5846 files changed
+45816 -39402

No files matched your search

+7 -9
View File
@@ -64,7 +64,7 @@
"teamim": [
"revia"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 7,
@@ -86,7 +86,7 @@
"pashta"
],
"prefix": "ו",
"shoresh": "אהר"
"shoresh": "אהרן"
},
{
"position": 9,
@@ -96,8 +96,7 @@
"morph": "HNp",
"teamim": [
"munach"
],
"shoresh": "נדב"
]
},
{
"position": 10,
@@ -108,8 +107,7 @@
"teamim": [
"zaqef_qatan"
],
"prefix": "ו",
"shoresh": "אבי"
"prefix": "ו"
},
{
"position": 11,
@@ -133,7 +131,7 @@
"munach"
],
"prefix": "מ",
"shoresh": "זקנ"
"shoresh": "זקן"
},
{
"position": 13,
@@ -144,7 +142,7 @@
"teamim": [
"etnachta"
],
"shoresh": "ישר"
"shoresh": "שרה"
},
{
"position": 14,
@@ -156,7 +154,7 @@
"tipcha"
],
"prefix": "ו",
"shoresh": "השת"
"shoresh": "שחה"
},
{
"position": 15,
+8 -7
View File
@@ -15,7 +15,7 @@
"zaqef_gadol"
],
"prefix": "ו",
"shoresh": "ראו"
"shoresh": "ראה"
},
{
"position": 2,
@@ -47,7 +47,7 @@
"teamim": [
"etnachta"
],
"shoresh": "ישר"
"shoresh": "שרה"
},
{
"position": 5,
@@ -68,7 +68,8 @@
"morph": "HNcfdc/Sp3ms",
"teamim": [
"revia"
]
],
"shoresh": "רגל"
},
{
"position": 7,
@@ -80,7 +81,7 @@
"pashta"
],
"prefix": "כ",
"shoresh": "מעש"
"shoresh": "עשה"
},
{
"position": 8,
@@ -91,7 +92,7 @@
"teamim": [
"munach"
],
"shoresh": "לבנ"
"shoresh": "לבן"
},
{
"position": 9,
@@ -103,7 +104,7 @@
"zaqef_qatan"
],
"prefix": "ה",
"shoresh": "ספי"
"shoresh": "ספיר"
},
{
"position": 10,
@@ -127,7 +128,7 @@
"tipcha"
],
"prefix": "ה",
"shoresh": "שמ"
"shoresh": "שמה"
},
{
"position": 12,
+7 -6
View File
@@ -23,7 +23,7 @@
"teamim": [
"pashta"
],
"shoresh": "אצי"
"shoresh": "אצל"
},
{
"position": 3,
@@ -34,7 +34,7 @@
"teamim": [
"munach"
],
"shoresh": "בני"
"shoresh": "בן"
},
{
"position": 4,
@@ -45,7 +45,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "ישר"
"shoresh": "שרה"
},
{
"position": 5,
@@ -76,7 +76,8 @@
"morph": "HNcbsc/Sp3ms",
"teamim": [
"etnachta"
]
],
"shoresh": "יד"
},
{
"position": 8,
@@ -89,7 +90,7 @@
"pashta"
],
"prefix": "ו",
"shoresh": "חזו"
"shoresh": "חזה"
},
{
"position": 9,
@@ -134,7 +135,7 @@
"meteg_siluq"
],
"prefix": "ו",
"shoresh": "שתו"
"shoresh": "שתה"
}
],
"smikhut": [
+9 -7
View File
@@ -26,7 +26,7 @@
"teamim": [
"geresh"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 3,
@@ -77,7 +77,8 @@
"teamim": [
"tipcha"
],
"prefix": "ה"
"prefix": "ה",
"shoresh": "הרר"
},
{
"position": 8,
@@ -110,7 +111,7 @@
"qadma"
],
"prefix": "ו",
"shoresh": "אתנ"
"shoresh": "נתן"
},
{
"position": 11,
@@ -139,7 +140,7 @@
"teamim": [
"munach"
],
"shoresh": "לחת"
"shoresh": "לוח"
},
{
"position": 14,
@@ -163,7 +164,7 @@
"pashta"
],
"prefix": "וה",
"shoresh": "תור"
"shoresh": "ירה"
},
{
"position": 16,
@@ -175,7 +176,7 @@
"zaqef_qatan"
],
"prefix": "וה",
"shoresh": "מצו"
"shoresh": "צוה"
},
{
"position": 17,
@@ -207,7 +208,8 @@
"teamim": [
"meteg_siluq"
],
"prefix": "ל"
"prefix": "ל",
"shoresh": "ירה"
}
],
"smikhut": [
+6 -6
View File
@@ -15,7 +15,7 @@
"munach"
],
"prefix": "ו",
"shoresh": "יקם"
"shoresh": "קום"
},
{
"position": 2,
@@ -37,8 +37,7 @@
"teamim": [
"tipcha"
],
"prefix": "ו",
"shoresh": "יהו"
"prefix": "ו"
},
{
"position": 4,
@@ -48,7 +47,8 @@
"morph": "HVprmsc/Sp3ms",
"teamim": [
"etnachta"
]
],
"shoresh": "שרת"
},
{
"position": 5,
@@ -60,7 +60,7 @@
"mercha"
],
"prefix": "ו",
"shoresh": "יעל"
"shoresh": "עלה"
},
{
"position": 6,
@@ -90,7 +90,7 @@
"teamim": [
"mercha"
],
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 9,
+5 -6
View File
@@ -24,7 +24,7 @@
"mahapakh"
],
"prefix": "ה",
"shoresh": "זקנ"
"shoresh": "זקן"
},
{
"position": 3,
@@ -44,7 +44,7 @@
"lemma": "3427",
"morph": "HVqv2mp",
"teamim": [],
"shoresh": "שבו"
"shoresh": "ישב"
},
{
"position": 5,
@@ -126,7 +126,7 @@
"teamim": [
"mahapakh"
],
"shoresh": "אהר"
"shoresh": "אהרן"
},
{
"position": 13,
@@ -137,8 +137,7 @@
"teamim": [
"pashta"
],
"prefix": "ו",
"shoresh": "חור"
"prefix": "ו"
},
{
"position": 14,
@@ -189,7 +188,7 @@
"teamim": [
"mercha"
],
"shoresh": "יגש"
"shoresh": "נגש"
},
{
"position": 19,
+4 -4
View File
@@ -15,7 +15,7 @@
"mercha"
],
"prefix": "ו",
"shoresh": "יעל"
"shoresh": "עלה"
},
{
"position": 2,
@@ -46,7 +46,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 5,
@@ -58,7 +58,7 @@
"mercha"
],
"prefix": "ו",
"shoresh": "יכס"
"shoresh": "כסה"
},
{
"position": 6,
@@ -90,7 +90,7 @@
"meteg_siluq"
],
"prefix": "ה",
"shoresh": "הר"
"shoresh": "הרר"
}
]
}
+9 -8
View File
@@ -24,7 +24,7 @@
"lemma": "3519",
"morph": "HNcbsc",
"teamim": [],
"shoresh": "כבו"
"shoresh": "כבד"
},
{
"position": 3,
@@ -35,7 +35,7 @@
"teamim": [
"pashta"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 4,
@@ -54,7 +54,7 @@
"teamim": [
"munach"
],
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 6,
@@ -65,7 +65,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "סינ"
"shoresh": "סיני"
},
{
"position": 7,
@@ -76,7 +76,8 @@
"teamim": [
"mercha"
],
"prefix": "ו"
"prefix": "ו",
"shoresh": "כסה"
},
{
"position": 8,
@@ -99,7 +100,7 @@
"teamim": [
"munach"
],
"shoresh": "ששת"
"shoresh": "שדש"
},
{
"position": 10,
@@ -110,7 +111,7 @@
"teamim": [
"etnachta"
],
"shoresh": "ימ"
"shoresh": "יום"
},
{
"position": 11,
@@ -165,7 +166,7 @@
"tipcha"
],
"prefix": "ה",
"shoresh": "שבי"
"shoresh": "שבע"
},
{
"position": 16,
+8 -8
View File
@@ -15,7 +15,7 @@
"pashta"
],
"prefix": "ו",
"shoresh": "מרא"
"shoresh": "ראה"
},
{
"position": 2,
@@ -26,7 +26,7 @@
"teamim": [
"munach"
],
"shoresh": "כבו"
"shoresh": "כבד"
},
{
"position": 3,
@@ -37,7 +37,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 4,
@@ -49,7 +49,7 @@
"mercha"
],
"prefix": "כ",
"shoresh": "אש"
"shoresh": "אנש"
},
{
"position": 5,
@@ -84,7 +84,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 8,
@@ -96,7 +96,7 @@
"tipcha"
],
"prefix": "ל",
"shoresh": "עינ"
"shoresh": "עין"
},
{
"position": 9,
@@ -107,7 +107,7 @@
"teamim": [
"mercha"
],
"shoresh": "בני"
"shoresh": "בן"
},
{
"position": 10,
@@ -118,7 +118,7 @@
"teamim": [
"meteg_siluq"
],
"shoresh": "ישר"
"shoresh": "שרה"
}
],
"smikhut": [
+8 -8
View File
@@ -15,7 +15,7 @@
"mercha"
],
"prefix": "ו",
"shoresh": "יבא"
"shoresh": "בוא"
},
{
"position": 2,
@@ -62,7 +62,7 @@
"munach"
],
"prefix": "ו",
"shoresh": "יעל"
"shoresh": "עלה"
},
{
"position": 6,
@@ -82,7 +82,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 8,
@@ -94,7 +94,7 @@
"mahapakh"
],
"prefix": "ו",
"shoresh": "יהי"
"shoresh": "היה"
},
{
"position": 9,
@@ -117,7 +117,7 @@
"zaqef_qatan"
],
"prefix": "ב",
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 11,
@@ -128,7 +128,7 @@
"teamim": [
"munach"
],
"shoresh": "ארב"
"shoresh": "רבע"
},
{
"position": 12,
@@ -151,7 +151,7 @@
"tipcha"
],
"prefix": "ו",
"shoresh": "ארב"
"shoresh": "רבע"
},
{
"position": 14,
@@ -162,7 +162,7 @@
"teamim": [
"meteg_siluq"
],
"shoresh": "ליל"
"shoresh": "לילה"
}
],
"smikhut": [
+6 -5
View File
@@ -37,7 +37,8 @@
"teamim": [
"pashta"
],
"prefix": "ל"
"prefix": "ל",
"shoresh": "בדד"
},
{
"position": 4,
@@ -56,7 +57,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 6,
@@ -88,7 +89,7 @@
"teamim": [
"etnachta"
],
"shoresh": "גשו"
"shoresh": "נגש"
},
{
"position": 9,
@@ -100,7 +101,7 @@
"zaqef_gadol"
],
"prefix": "וה",
"shoresh": "עם"
"shoresh": "עמם"
},
{
"position": 10,
@@ -121,7 +122,7 @@
"teamim": [
"tipcha"
],
"shoresh": "עלו"
"shoresh": "עלה"
},
{
"position": 12,
+11 -11
View File
@@ -15,7 +15,7 @@
"munach"
],
"prefix": "ו",
"shoresh": "יבא"
"shoresh": "בוא"
},
{
"position": 2,
@@ -50,7 +50,7 @@
"pashta"
],
"prefix": "ל",
"shoresh": "עם"
"shoresh": "עמם"
},
{
"position": 5,
@@ -69,7 +69,7 @@
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 7,
@@ -91,7 +91,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 9,
@@ -111,7 +111,7 @@
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 11,
@@ -123,7 +123,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "משפ"
"shoresh": "שפט"
},
{
"position": 12,
@@ -135,7 +135,7 @@
"qadma"
],
"prefix": "ו",
"shoresh": "יען"
"shoresh": "ענה"
},
{
"position": 13,
@@ -144,7 +144,7 @@
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 14,
@@ -156,7 +156,7 @@
"geresh"
],
"prefix": "ה",
"shoresh": "עם"
"shoresh": "עמם"
},
{
"position": 15,
@@ -200,7 +200,7 @@
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 19,
@@ -242,7 +242,7 @@
"teamim": [
"tipcha"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 23,
+9 -9
View File
@@ -45,7 +45,7 @@
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 5,
@@ -67,7 +67,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 7,
@@ -103,7 +103,7 @@
"mercha"
],
"prefix": "ו",
"shoresh": "יבן"
"shoresh": "בנה"
},
{
"position": 10,
@@ -114,7 +114,7 @@
"teamim": [
"tipcha"
],
"shoresh": "מזב"
"shoresh": "זבח"
},
{
"position": 11,
@@ -136,7 +136,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "הר"
"shoresh": "הרר"
},
{
"position": 13,
@@ -148,7 +148,7 @@
"mahapakh"
],
"prefix": "ו",
"shoresh": "שת"
"shoresh": "שנה"
},
{
"position": 14,
@@ -170,7 +170,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "מצב"
"shoresh": "נצב"
},
{
"position": 16,
@@ -182,7 +182,7 @@
"mercha"
],
"prefix": "ל",
"shoresh": "שנ"
"shoresh": "שנה"
},
{
"position": 17,
@@ -215,7 +215,7 @@
"teamim": [
"meteg_siluq"
],
"shoresh": "ישר"
"shoresh": "שרה"
}
],
"smikhut": [
+7 -7
View File
@@ -47,7 +47,7 @@
"teamim": [
"munach"
],
"shoresh": "בני"
"shoresh": "בן"
},
{
"position": 5,
@@ -58,7 +58,7 @@
"teamim": [
"zaqef_qatan"
],
"shoresh": "ישר"
"shoresh": "שרה"
},
{
"position": 6,
@@ -71,7 +71,7 @@
"tipcha"
],
"prefix": "ו",
"shoresh": "עלו"
"shoresh": "עלה"
},
{
"position": 7,
@@ -82,7 +82,7 @@
"teamim": [
"etnachta"
],
"shoresh": "עלת"
"shoresh": "עלה"
},
{
"position": 8,
@@ -117,7 +117,7 @@
"teamim": [
"tevir"
],
"shoresh": "שלמ"
"shoresh": "שלם"
},
{
"position": 11,
@@ -129,7 +129,7 @@
"tipcha"
],
"prefix": "ל",
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 12,
@@ -140,7 +140,7 @@
"teamim": [
"meteg_siluq"
],
"shoresh": "פר"
"shoresh": "פרר"
}
],
"smikhut": [
+6 -6
View File
@@ -15,7 +15,7 @@
"mahapakh"
],
"prefix": "ו",
"shoresh": "יקח"
"shoresh": "לקח"
},
{
"position": 2,
@@ -37,7 +37,7 @@
"teamim": [
"munach"
],
"shoresh": "חצי"
"shoresh": "חצה"
},
{
"position": 4,
@@ -61,7 +61,7 @@
"tipcha"
],
"prefix": "ו",
"shoresh": "ישם"
"shoresh": "שום"
},
{
"position": 6,
@@ -73,7 +73,7 @@
"etnachta"
],
"prefix": "ב",
"shoresh": "אגנ"
"shoresh": "אגן"
},
{
"position": 7,
@@ -85,7 +85,7 @@
"munach"
],
"prefix": "ו",
"shoresh": "חצי"
"shoresh": "חצה"
},
{
"position": 8,
@@ -128,7 +128,7 @@
"meteg_siluq"
],
"prefix": "ה",
"shoresh": "מזב"
"shoresh": "זבח"
}
],
"smikhut": [
+6 -6
View File
@@ -15,7 +15,7 @@
"pashta"
],
"prefix": "ו",
"shoresh": "יקח"
"shoresh": "לקח"
},
{
"position": 2,
@@ -38,7 +38,7 @@
"zaqef_qatan"
],
"prefix": "ה",
"shoresh": "ברי"
"shoresh": "ברה"
},
{
"position": 4,
@@ -62,7 +62,7 @@
"munach"
],
"prefix": "ב",
"shoresh": "אזנ"
"shoresh": "אזן"
},
{
"position": 6,
@@ -74,7 +74,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "עם"
"shoresh": "עמם"
},
{
"position": 7,
@@ -98,7 +98,7 @@
"teamim": [
"tevir"
],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 9,
@@ -128,7 +128,7 @@
"teamim": [
"tipcha"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 12,
+5 -5
View File
@@ -15,7 +15,7 @@
"mahapakh"
],
"prefix": "ו",
"shoresh": "יקח"
"shoresh": "לקח"
},
{
"position": 2,
@@ -78,7 +78,7 @@
"etnachta"
],
"prefix": "ה",
"shoresh": "עם"
"shoresh": "עמם"
},
{
"position": 8,
@@ -123,7 +123,7 @@
"pashta"
],
"prefix": "ה",
"shoresh": "ברי"
"shoresh": "ברה"
},
{
"position": 12,
@@ -155,7 +155,7 @@
"teamim": [
"pashta"
],
"shoresh": "יהו"
"shoresh": "הוה"
},
{
"position": 15,
@@ -184,7 +184,7 @@
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כל"
"shoresh": "כלל"
},
{
"position": 18,
+6 -8
View File
@@ -15,7 +15,7 @@
"mercha"
],
"prefix": "ו",
"shoresh": "יעל"
"shoresh": "עלה"
},
{
"position": 2,
@@ -38,7 +38,7 @@
"etnachta"
],
"prefix": "ו",
"shoresh": "אהר"
"shoresh": "אהרן"
},
{
"position": 4,
@@ -48,8 +48,7 @@
"morph": "HNp",
"teamim": [
"pashta"
],
"shoresh": "נדב"
]
},
{
"position": 5,
@@ -60,8 +59,7 @@
"teamim": [
"zaqef_qatan"
],
"prefix": "ו",
"shoresh": "אבי"
"prefix": "ו"
},
{
"position": 6,
@@ -85,7 +83,7 @@
"mercha"
],
"prefix": "מ",
"shoresh": "זקנ"
"shoresh": "זקן"
},
{
"position": 8,
@@ -96,7 +94,7 @@
"teamim": [
"meteg_siluq"
],
"shoresh": "ישר"
"shoresh": "שרה"
}
],
"smikhut": [