Files
Scott KarpandClaude Fable 5.1 8e4f94c66f 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>
2026-10-04 17:44:02 +00:00

202 lines
4.2 KiB
JSON

{
"ref": "Bereishit 34:22",
"book": "bereishit",
"chapter": 34,
"verse": 22,
"text_hebrew": "אַךְ־בְּ֠זֹאת יֵאֹ֨תוּ לָ֤נוּ הָאֲנָשִׁים֙ לָשֶׁ֣בֶת אִתָּ֔נוּ לִהְי֖וֹת לְעַ֣ם אֶחָ֑ד בְּהִמּ֥וֹל לָ֨נוּ֙ כָּל־זָכָ֔ר כַּאֲשֶׁ֖ר הֵ֥ם נִמֹּלִֽים ׃",
"words": [
{
"position": 1,
"text": "אַךְ",
"consonants": "אך",
"lemma": "389",
"morph": "HTa",
"teamim": []
},
{
"position": 2,
"text": "בְּ֠זֹאת",
"consonants": "בזאת",
"lemma": "2063",
"morph": "HR/Pdxfs",
"teamim": [
"telisha_gedola"
],
"prefix": "ב"
},
{
"position": 3,
"text": "יֵאֹ֨תוּ",
"consonants": "יאתו",
"lemma": "225",
"morph": "HVNi3mp",
"teamim": [
"qadma"
],
"shoresh": "אות"
},
{
"position": 4,
"text": "לָ֤נוּ",
"consonants": "לנו",
"lemma": "l",
"morph": "HR/Sp1cp",
"teamim": [
"mahapakh"
]
},
{
"position": 5,
"text": "הָאֲנָשִׁים֙",
"consonants": "האנשים",
"lemma": "376",
"morph": "HTd/Ncmpa",
"teamim": [
"pashta"
],
"prefix": "ה",
"shoresh": "איש"
},
{
"position": 6,
"text": "לָשֶׁ֣בֶת",
"consonants": "לשבת",
"lemma": "3427",
"morph": "HR/Vqc",
"teamim": [
"munach"
],
"prefix": "ל",
"shoresh": "ישב"
},
{
"position": 7,
"text": "אִתָּ֔נוּ",
"consonants": "אתנו",
"lemma": "854",
"morph": "HR/Sp1cp",
"teamim": [
"zaqef_qatan"
]
},
{
"position": 8,
"text": "לִהְי֖וֹת",
"consonants": "להיות",
"lemma": "1961",
"morph": "HR/Vqc",
"teamim": [
"tipcha"
],
"prefix": "ל",
"shoresh": "היה"
},
{
"position": 9,
"text": "לְעַ֣ם",
"consonants": "לעם",
"lemma": "5971 a",
"morph": "HR/Ncmsa",
"teamim": [
"munach"
],
"prefix": "ל",
"shoresh": "עמם"
},
{
"position": 10,
"text": "אֶחָ֑ד",
"consonants": "אחד",
"lemma": "259",
"morph": "HAcmsa",
"teamim": [
"etnachta"
],
"shoresh": "אחד"
},
{
"position": 11,
"text": "בְּהִמּ֥וֹל",
"consonants": "בהמול",
"lemma": "4135 a",
"morph": "HR/VNc",
"teamim": [
"mercha"
],
"prefix": "ב",
"shoresh": "מול"
},
{
"position": 12,
"text": "לָ֨נוּ֙",
"consonants": "לנו",
"lemma": "l",
"morph": "HR/Sp1cp",
"teamim": [
"qadma",
"pashta"
]
},
{
"position": 13,
"text": "כָּל",
"consonants": "כל",
"lemma": "3605",
"morph": "HNcmsc",
"teamim": [],
"shoresh": "כלל"
},
{
"position": 14,
"text": "זָכָ֔ר",
"consonants": "זכר",
"lemma": "2145",
"morph": "HAamsa",
"teamim": [
"zaqef_qatan"
],
"shoresh": "זכר"
},
{
"position": 15,
"text": "כַּאֲשֶׁ֖ר",
"consonants": "כאשר",
"lemma": "834 d",
"morph": "HR/Tr",
"teamim": [
"tipcha"
],
"prefix": "כ"
},
{
"position": 16,
"text": "הֵ֥ם",
"consonants": "הם",
"lemma": "1992",
"morph": "HPp3mp",
"teamim": [
"mercha"
]
},
{
"position": 17,
"text": "נִמֹּלִֽים",
"consonants": "נמלים",
"lemma": "4135 a",
"morph": "HVNrmpa",
"teamim": [
"meteg_siluq"
],
"shoresh": "מול"
}
],
"smikhut": [
{
"position": 13,
"construct": "כָּל",
"construct_consonants": "כל",
"absolute": "זָכָ֔ר",
"absolute_consonants": "זכר"
}
]
}