# ADR-0131.2 — Benchmark 2: CORE-native teaching-corpus eval (lane gate) **Status:** Accepted **Date:** 2026-05-23 **Author:** CORE agents + reviewers **Depends on:** ADR-0131 (composite math promotion gate), ADR-0064 (cross-pack teaching) --- ## Context ADR-0131 establishes a composite expert-promotion gate for the `mathematics_logic` domain, superseding the GSM8K-coverage gate with three architecture-aligned benchmarks. This decision document addresses the design and implementation of **Benchmark 2 (teaching-corpus math eval)**. The purpose of this benchmark is to ensure that the CORE-native teaching/replay loop is internally consistent and capable of carrying mathematical knowledge end-to-end (propose → ratify → replay-equivalent) without regressing existing cognition capabilities. ADR-0064 serves as structural precedent by introducing the multi-corpus, pack-residency validation rules, allowing the system to isolate different domains into their own vocabulary packs (e.g., binding math chains specifically to `en_mathematics_logic_v1` or `en_arithmetic_v1`). ## Decision We establish the Benchmark 2 eval lane substrate: 1. **New Math Teaching Corpus**: A hand-curated dataset `teaching/math_corpora/math_teaching_v1.jsonl` containing 30 mathematical logic chains in propose-shape (`DiscoveryCandidate`). The chains are ratification-ready, meaning they contain valid connectives, intents, polarities, and evidence pointers. 2. **Evaluative Bounded Domain**: The corpus lemmas are strictly restricted to the `en_mathematics_logic_v1` language pack. This ensures that the math domain is orthogonal to the core cognition domain (`en_core_cognition_v1`). 3. **Transient Replay Loop Validation**: We implement an evaluation runner `evals/math_teaching_corpus/v1/runner.py` that dynamically registers the math corpus spec, runs candidate proposals through `propose_from_candidate`, checks for regression against the public cognition split, and ratifies them via `accept_proposal` into a transient math corpus. 4. **Deterministic Report Writeback**: The runner emits a deterministic `report.json` reporting the status of each case. 5. **Strict Pass Criterion**: - `correct_rate == 1.0` (all cases must be proposed, verified as replay-equivalent, and ratified successfully). - `wrong == 0` (no case may fail the replay gate or raise errors). ## Consequences - The teaching/replay loop is validated as a robust vehicle for mathematical logic relations. - Pack-residency rules (ADR-0064) prevent cross-domain leakage; math logic terms are validated to belong strictly to `en_mathematics_logic_v1` and are ignored by the cognition split. - Benchmark 2 provides the internal consistency gate for mathematical logic, clearing the way for Benchmark 3 (bounded-grammar word-problem set) and the composite gate integration.