Add Modern Hebrew — second Semitic engine (Verified) - #152
Merged
Conversation
Hebrew verbs are built on triconsonantal roots across seven binyanim, cited by the unvoweled ktiv-male 3sg-masc past. The engine resolves each lemma to four mined principal parts (past/future 3sg-masc, present participle, infinitive; data/heb/parts.tsv) and derives the paradigm by regular affixation — past suffixes, future person-prefix + stem + suffix with the mater-reduction rule (ישמור→ישמרו), and present-participle gender/number — plus weak-root handling (ל״ה final-ה, ע״ו hollow, פ״נ, gutturals, hifil hireq-yod, final-ת/נ merger). A small mined-override layer (data/heb/overrides.tsv, 124 cells across 38 lemmas) patches the irregular residue. Verified against the agreement of two independent oracles — UniMorph and a kaikki.org (Wiktextract) extraction with niqqud stripped (Hebrew Wiktionary points the forms; UniMorph does not). The residual ktiv-male-vs-chaser split is excluded by the harness, leaving a 22,762-cell gold across 1,013 lemmas. Golden gate: forms 22762/22762 (100.00%), lemma coverage 1013/1013 (100.00%), 99.46% rule-derived / 0.54% overridden. Full registration: Lang::Heb, from_code he/heb/hebrew, Conjugation + build dispatch, reverse index, a 5-group serde Table (past/present/future/imperative/infinitive), PyO3 + wasm bindings, Cargo includes, correctness.py, and the CI two-oracle gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This was referenced Aug 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The second engine in the Semitic push (after Arabic #151), reusing the same principal-parts + affixation + mined-override architecture.
Approach
Hebrew verbs are triconsonantal across seven binyanim, cited by the unvoweled ktiv-male 3sg-masc past (שמר). The engine resolves each lemma to four mined principal parts (past/future 3sg-masc, present participle, infinitive) and derives the paradigm by regular affixation:
A 124-cell mined-override layer (38 lemmas) patches the irregular residue.
Verification
Two independent oracles — UniMorph ∩ a kaikki.org extraction with niqqud stripped (Hebrew Wiktionary points the forms; UniMorph doesn't). The residual ktiv-male vs chaser split is excluded by the harness, leaving a 22,762-cell gold across 1,013 lemmas.
Golden gate: forms 22762/22762 (100.00%), lemma coverage 1013/1013 (100.00%). 99.46% rule-derived, 0.54% overridden.
Registration
Lang::Heb,from_codehe/heb/hebrew,Conjugation::Heb+ build dispatch, reverse index, a 5-group serdeTable(past/present/future/imperative/infinitive), PyO3 + wasm, Cargo includes,correctness.py, CI two-oracle gate. All green: 335 lib tests, clippy-D warnings, fmt,--features python/--features wasm.Next in the family: Amharic (Beta), then Syriac/Egyptian.
🤖 Generated with Claude Code