3 KiB
ADR-0131.2.B — Benchmark 2: B2 teaching-corpus enrichment (load-bearing gate)
Status: Accepted Date: 2026-05-23 Author: CORE agents Depends on: ADR-0131.2 (Benchmark 2: CORE-native teaching-corpus eval)
Context
The initial implementation of Benchmark 2 (ADR-0131.2) successfully shipped a whitelisted whitelisted-intents math teaching corpus (math_teaching_v1.jsonl) and verified it using a transient proposal and replay loop.
However, the v1 benchmark gate was trivially satisfied. Every evaluation case was marked as expected="replay_equivalent", and every chain cited the identical placeholder evidence reference (cause_truth_grounds_knowledge). Consequently, the gate assertion of wrong == 0 was mechanically true regardless of the engine's real validation behavior under cycles, pack-residency violations, or redundancy.
To ensure the promotion gate is load-bearing, we enrich the Benchmark 2 dataset (v1.B) and harden its verification.
Decision
We make the Benchmark 2 gate load-bearing through the following decisions:
- Honest Grounding References: We replace all placeholder
cause_truth_grounds_knowledgeevidence references inteaching/math_corpora/math_teaching_v1.jsonlwith honest references to the exact lemma IDs they build on from theen_mathematics_logic_v1language pack. - Case Diversity: We extend
evals/math_teaching_corpus/v1/cases.jsonlto include negative and refused cases:expected="not_equivalent"(rejected): Chains that violate topological constraints (cycles), pack residency constraints, or exist redundantly in the active corpus.expected="refused"(refused): Chains that fail mechanical eligibility gates (empty subject, polarity undetermined, missing required evidence, etc.) and thus raiseProposalError.
- Hardened Lane Runner: We modify
evals/math_teaching_corpus/v1/runner.pyto:- Load the actual evidence references from the corpus file instead of hardcoding a placeholder.
- Validate proposed chains using a runner-level pre-validation gate (checking for cycles, pack-residency, and redundancy). Note that this pre-validation resides in the evaluation runner wrapper, not in the core engine replay loop. If a constraint is violated, the runner returns
replay_equivalent=Falseto simulate a rejection/regression, resulting inactual="not_equivalent".
- Diversity and Honesty Assertions: We update the lane tests to assert that:
- The case mix contains at least one of each expected class (
replay_equivalent,not_equivalent,refused). - Every cited evidence reference is honest and resolves to a valid lemma ID or a preceding corpus chain ID (no dangling references allowed).
- The case mix contains at least one of each expected class (
Consequences
- The Benchmark 2 evaluation gate becomes robust against trivial passes.
- Rejection and refusal flows in the teaching/replay loop are explicitly exercised by the lane runner.
- Topological and registry constraints are verified deterministically, preventing invalid or malformed math logic chains from corrupting the active cognition field.