core/evals/koine_greek_fluency/gaps.md
Shay ad7993e861 feat(phase5): land 5.2–5.7 — six new fluency lanes, parallel sweep
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.
2026-05-16 20:59:31 -07:00

2.9 KiB
Raw Blame History

Koine Greek fluency — gaps

v1 (current)

  • Construction coverage: C01 only (simple declarative).
  • Word order: subject-object-predicate, via generate.articulation._assemble for language == "grc".
  • Grounding: through ChatRuntime.chat() with frame_pack="grc".
  • Rubric: script + length only. Lexeme-level slot matching is not gated at v1 for the same runtime-folding reason as Hebrew (see v2 §6 below).

v2 unblock path — Koine Greek construction coverage

To extend to C02C13 (negation, tense, aspect, quantification, relative clause, etc.), the realizer needs Greek analogues of the English-only modules:

  1. Greek morphology — analogue of generate/morphology.py. At minimum: verb conjugation across the principal parts (present, future, aorist, perfect, perfect middle, aorist passive), participles (active/middle/passive across tenses), noun declension (1st/2nd/3rd) with case-marked subject/object slots instead of word-order-marked.

  2. Greek predicate display map — analogue of _PREDICATE_DISPLAY in generate/templates.py mapping seed-pack predicates to surface forms with appropriate aspect marking.

  3. Greek rhetorical templates — analogue of _MOVE_TEMPLATES. Particle-driven discourse markers (μέν / δέ, γάρ, οὖν) instead of English function words ("furthermore", "in contrast").

  4. Greek negation — οὐ / μή placement before the verb, with the οὐ/μή split governed by mood (indicative vs. non-indicative).

  5. Greek quantifiers — πᾶς (all), τις (some/indefinite), with declension matching the subject's case/number/gender.

  6. Case-marked agreement — Greek's free word order is governed by morphological case; the realizer needs to mark subject in nominative and object in accusative regardless of surface order. The lexicon entries currently lack case-paradigm tags.

  7. Lexeme-level slot grounding — same limitation as Hebrew: the GRC runtime pipeline currently produces single-lexeme articulations for multi-token Greek input. v2 needs the grounding + planning layers to preserve distinct subject/predicate/object slots so the rubric can check lexeme presence per slot.

Out of scope for this lane

  • Polytonic accent generation. Lexicon entries carry accents as fixed strings; the realizer does not currently compute accent shift on enclisis.
  • Attic vs. Koine register distinction. Seed pack is Koine (logos-tier vocabulary); Attic expansion is a separate pack.
  • Reconstructive pronunciation (Erasmian vs. modern vs. reconstructed Koine). Lane scores the script; pronunciation is out of band.
  • ADR-0020 (Rust parity sequencing) — language-track work is independent of the Rust parity track.
  • Phase 5.2 (Hebrew) — same v1 scope rationale; same v2 unblock pattern, swapped for Greek-specific morphology.