fix(quarantine): cluster C — drain all 27 tests, QUARANTINE now empty
Fixes span three subsystems:
math parser / OOD generator:
- Add OOD unit registry words (ingots, shards, crystals, …) to
allowed_nouns so rename_unit variants parse cleanly
- Add scarf/scarves and other -ves→-f irregulars to _PLURAL_IRREGULARS
so _canonical_unit("scarf") → "scarves" (not "scarfs")
- Add _IRREGULAR_SINGULAR dict to _singular() in ood_surface_generator
so "scarves" → "scarf" for n=1 rendering; prevents "scarve" parse error
eval lane drift:
- cold_start_grounding public cases: update 4 expected_grounding_source
values from "pack"/"oov" → "teaching" (cognition chains now cover
truth/memory/recall for DEFINITION prompts)
- gsm8k_math runner: handle fast-path graph=None (capacity/earnings
solvers return is_admitted=True with selected_graph=None)
- coverage probe report: regenerate committed JSON after parser fix
raised admission_rate and changed per_case trace hashes
- test_gsm8k_math_runner: add decoded_unarticulated / _rate to
expected metrics key set
test guards:
- test_composed_surface + test_compound_walkthrough_eval_lanes: skip
holdout-split tests when CORE_HOLDOUT_KEY unset (not a regression)
- test_en_core_action_v1_pack: EXPECTED_TOTAL 26→27, issubset check,
provenance in-check for pack that gained one inflected entry
- test_relations_chains_v1: EXPECTED_CHAIN_IDS 7→21 after seed expansion
conftest: QUARANTINE frozenset emptied — ratchet at zero.