Files
bikoret/l1/torah/index.json
T
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

242 lines
4.2 KiB
JSON

{
"name": "Torah",
"source": "Westminster Leningrad Codex (morphhb)",
"books": [
{
"book": "bereishit",
"osis_id": "Gen",
"chapters": 50,
"verses": 1533,
"words": 20612,
"chapter_verse_counts": {
"1": 31,
"2": 25,
"3": 24,
"4": 26,
"5": 32,
"6": 22,
"7": 24,
"8": 22,
"9": 29,
"10": 32,
"11": 32,
"12": 20,
"13": 18,
"14": 24,
"15": 21,
"16": 16,
"17": 27,
"18": 33,
"19": 38,
"20": 18,
"21": 34,
"22": 24,
"23": 20,
"24": 67,
"25": 34,
"26": 35,
"27": 46,
"28": 22,
"29": 35,
"30": 43,
"31": 54,
"32": 33,
"33": 20,
"34": 31,
"35": 29,
"36": 43,
"37": 36,
"38": 30,
"39": 23,
"40": 23,
"41": 57,
"42": 38,
"43": 34,
"44": 34,
"45": 28,
"46": 34,
"47": 31,
"48": 22,
"49": 33,
"50": 26
}
},
{
"book": "shemot",
"osis_id": "Exod",
"chapters": 40,
"verses": 1213,
"words": 16713,
"chapter_verse_counts": {
"1": 22,
"2": 25,
"3": 22,
"4": 31,
"5": 23,
"6": 30,
"7": 29,
"8": 28,
"9": 35,
"10": 29,
"11": 10,
"12": 51,
"13": 22,
"14": 31,
"15": 27,
"16": 36,
"17": 16,
"18": 27,
"19": 25,
"20": 26,
"21": 37,
"22": 30,
"23": 33,
"24": 18,
"25": 40,
"26": 37,
"27": 21,
"28": 43,
"29": 46,
"30": 38,
"31": 18,
"32": 35,
"33": 23,
"34": 35,
"35": 35,
"36": 38,
"37": 29,
"38": 31,
"39": 43,
"40": 38
}
},
{
"book": "vayikra",
"osis_id": "Lev",
"chapters": 27,
"verses": 859,
"words": 11950,
"chapter_verse_counts": {
"1": 17,
"2": 16,
"3": 17,
"4": 35,
"5": 26,
"6": 23,
"7": 38,
"8": 36,
"9": 24,
"10": 20,
"11": 47,
"12": 8,
"13": 59,
"14": 57,
"15": 33,
"16": 34,
"17": 16,
"18": 30,
"19": 37,
"20": 27,
"21": 24,
"22": 33,
"23": 44,
"24": 23,
"25": 55,
"26": 46,
"27": 34
}
},
{
"book": "bamidbar",
"osis_id": "Num",
"chapters": 36,
"verses": 1289,
"words": 16413,
"chapter_verse_counts": {
"1": 54,
"2": 34,
"3": 51,
"4": 49,
"5": 31,
"6": 27,
"7": 89,
"8": 26,
"9": 23,
"10": 36,
"11": 35,
"12": 16,
"13": 33,
"14": 45,
"15": 41,
"16": 35,
"17": 28,
"18": 32,
"19": 22,
"20": 29,
"21": 35,
"22": 41,
"23": 30,
"24": 25,
"25": 19,
"26": 65,
"27": 23,
"28": 31,
"29": 39,
"30": 17,
"31": 54,
"32": 42,
"33": 56,
"34": 29,
"35": 34,
"36": 13
}
},
{
"book": "devarim",
"osis_id": "Deut",
"chapters": 34,
"verses": 959,
"words": 14294,
"chapter_verse_counts": {
"1": 46,
"2": 37,
"3": 29,
"4": 49,
"5": 33,
"6": 25,
"7": 26,
"8": 20,
"9": 29,
"10": 22,
"11": 32,
"12": 31,
"13": 19,
"14": 29,
"15": 23,
"16": 22,
"17": 20,
"18": 22,
"19": 21,
"20": 20,
"21": 23,
"22": 29,
"23": 26,
"24": 22,
"25": 19,
"26": 19,
"27": 26,
"28": 69,
"29": 28,
"30": 20,
"31": 30,
"32": 52,
"33": 29,
"34": 12
}
}
],
"total_chapters": 187,
"total_verses": 5853,
"total_words": 79982,
"unique_roots": 1378
}