Completes the Phase 5 curriculum-era lane checklist alongside 5.1.
English-substrate domain lanes (5.4–5.7) — extend the proven
english_fluency_ood pattern with new vocabulary domains. Same
13-construction realizer, same grammatical_coverage rubric, new
triples. All four lanes land at 100% on both splits:
5.4 elementary_mathematics_ood 117/117 public + 39/39 holdouts
domains: arithmetic, set, geometry | holdout: probability
5.5 foundational_physics_ood 117/117 + 39/39
domains: mechanics, electricity, thermodynamics | holdout: optics
5.6 foundational_biology_ood 117/117 + 39/39
domains: cell, organism, ecosystem | holdout: genetics
5.7 classical_literature_ood 117/117 + 39/39
domains: epic, tragedy, lyric | holdout: comedy
New-language lanes (5.2 Hebrew, 5.3 Koine Greek) — scoped honestly to
v1 = C01 only, script + length rubric. The realizer's
tense/aspect/quantifier/negation logic in generate/templates.py is
English-only; C02-C13 in HE/GRC requires Hebrew/Greek morphology +
rhetorical templates, named explicitly in each lane's gaps.md as the
v2 unblock path. v1 measures what infrastructure exists:
5.2 hebrew_fluency 3/3 (predicate-subject-object assembly,
Hebrew script gate)
5.3 koine_greek_fluency 3/3 (subject-object-predicate assembly,
Greek script gate)
Lane scaffolds follow the established pattern: contract.md, runner.py,
__init__.py, gaps.md, public/v1/cases.jsonl, dev/cases.jsonl,
holdouts/v1/cases.jsonl (5.4–5.7 only; HE/GRC holdouts deferred to v2
when vocabulary expands).
Generators + scorers:
scripts/generate_phase5_domain_lanes.py — 5.4–5.7 case emit
scripts/scaffold_phase5_domain_lanes.py — 5.4–5.7 contracts/runners
scripts/generate_phase5_language_lanes.py — 5.2/5.3 case emit
scripts/score_phase5_holdouts.py — parallel holdouts scoring
via multiprocessing.Pool
(mirrors the parallel-eval
pattern from evals/parallel.py)
Lanes are wired into core eval --list automatically through the
framework's lane discovery; parallel sweeps via bash background jobs
(one process per lane).
Regression clean: smoke 54, runtime 19, teaching 17, packs 6,
cognition 57, algebra 132. Cognition eval 100% across all metrics.
2.7 KiB
Hebrew fluency — gaps
v1 (current)
- Construction coverage: C01 only (simple declarative).
- Word order: verb-second (predicate-subject-object), via
generate.articulation._assembleforlanguage == "he". - Grounding: through
ChatRuntime.chat()withframe_pack="he". - Rubric: script + length only (surface contains Hebrew script AND length ≤ max_words). Lexeme-level subject/predicate/object slot matching is not gated at v1 — the runtime currently folds multi-token Hebrew input to a single lexeme through articulation (a known limitation, see v2 below).
v2 unblock path — Hebrew construction coverage
To extend to C02–C13 (negation, tense, aspect, quantification, relative clause, etc.), the realizer needs Hebrew analogues of the English-only modules:
-
Hebrew morphology — analogue of
generate/morphology.py. At minimum: verb conjugation (qal, piel, hifil binyanim), past tense (qatal), imperfect (yiqtol), participles, plural agreement. -
Hebrew predicate display map — analogue of
_PREDICATE_DISPLAYingenerate/templates.pymapping seed-pack predicates to surface forms. -
Hebrew rhetorical templates — analogue of
_MOVE_TEMPLATES. Verb-second order changes the slotting; placement of function words ("furthermore", "in contrast") needs Hebrew renderings. -
Hebrew negation marker —
לֹאplacement before the verb (predicate-first position), not the Englishdoes not <verb>pattern. -
Hebrew quantifiers —
כל(all),יש(some/exists), etc., with appropriate gender + number agreement to the subject. -
Lexeme-level slot grounding — the HE runtime pipeline currently produces a single-lexeme articulation (e.g. surface
'דבר דבר'regardless of multi-word Hebrew input). v2 needs the grounding + planning layers to preserve distinct subject/predicate/object slots through articulation so the rubric can check lexeme presence per slot, not just script presence.
Out of scope for this lane
- Pointed/unpointed text policy (nikkud). Lexicon entries are currently unpointed. Whether to render pointed surfaces is a pack-level decision, not a fluency decision.
- Right-to-left text rendering in tools/UI. This lane scores the string; rendering is downstream concern.
- Modern Hebrew vs. Biblical Hebrew register. Seed pack is cognition-tier Biblical Hebrew; modern register expansion is a separate pack.
Related
- ADR-0020 (Rust parity sequencing) — language-track work is independent of the Rust parity track.
- Phase 5.1 (
english_fluency_ood) — same harness shape; full 13-construction coverage because English realizer infrastructure already exists.