From eb15ab315e18faf6b372ba59b0afa1f9f3b4d3ef Mon Sep 17 00:00:00 2001 From: iomgaa Date: Thu, 9 Jul 2026 05:08:05 -0400 Subject: [PATCH] =?UTF-8?q?fix(config):=20=5FVIDEO=5FMME=5FTASK=5FTYPE=5FC?= =?UTF-8?q?OUNT=2011=E2=86=9212=EF=BC=8CVideo-MME=20=E5=AE=9E=E9=99=85?= =?UTF-8?q?=E6=9C=89=2012=20=E7=A7=8D=E9=A2=98=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- app/harness/config.py | 4 ++-- tests/unit/test_harness_config.py | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/app/harness/config.py b/app/harness/config.py index 8fdc065..d0ba2e3 100644 --- a/app/harness/config.py +++ b/app/harness/config.py @@ -20,8 +20,8 @@ _VALID_SKILL_MODES = {"auto", "manual", "none"} _VALID_SKILL_UPDATE_MODES = {"patch", "rewrite"} _PATH_FIELDS = {"workspace_dir", "store_dir"} -# Video-MME 的任务类型数量:验证池每类至少保底 eval_min_per_class 题,共 11 类。 -_VIDEO_MME_TASK_TYPE_COUNT = 11 +# Video-MME 的任务类型数量:验证池每类至少保底 eval_min_per_class 题,共 12 类。 +_VIDEO_MME_TASK_TYPE_COUNT = 12 # .env 工程配置字段映射(环境变量名 → RunConfig 字段名)。 # 仅路径类工程配置走 .env,科研实验参数走 YAML。 diff --git a/tests/unit/test_harness_config.py b/tests/unit/test_harness_config.py index 2d01d10..555cb79 100644 --- a/tests/unit/test_harness_config.py +++ b/tests/unit/test_harness_config.py @@ -568,28 +568,35 @@ class TestValSizeFloor: """val_size >= eval_min_per_class * 11 的下限校验。""" def test_val_size_below_floor_rejected(self) -> None: - """val_size < eval_min_per_class * 11 应抛出 ValueError。 + """val_size < eval_min_per_class * 12 应抛出 ValueError。 - eval_min_per_class=3 → 下限 = 3 * 11 = 33,val_size=30 不足。 + eval_min_per_class=3 → 下限 = 3 * 12 = 36,val_size=30 不足。 """ cfg = _make_config(eval_min_per_class=3, val_size=30) with pytest.raises(ValueError, match="val_size"): _validate(cfg) def test_val_size_at_floor_accepted(self) -> None: - """val_size == eval_min_per_class * 11 应通过。""" - cfg = _make_config(eval_min_per_class=3, val_size=33) + """val_size == eval_min_per_class * 12 应通过。""" + cfg = _make_config(eval_min_per_class=3, val_size=36) _validate(cfg) def test_val_size_above_floor_accepted(self) -> None: - """val_size > eval_min_per_class * 11 应通过。""" + """val_size > eval_min_per_class * 12 应通过。""" cfg = _make_config(eval_min_per_class=2, val_size=100) _validate(cfg) def test_default_yaml_values_satisfy_floor(self) -> None: """default.yaml 的默认值(val_size=30, eval_min_per_class=2)应满足下限。 - 下限 = 2 * 11 = 22,val_size=30 >= 22,通过。 + 下限 = 2 * 12 = 24,val_size=30 >= 24,通过。 """ cfg = _make_config() _validate(cfg) # 不应抛出异常 + + +def test_video_mme_task_type_count_is_12(): + """Video-MME 实际有 12 种题型,常量必须与之一致。""" + from app.harness.config import _VIDEO_MME_TASK_TYPE_COUNT + + assert _VIDEO_MME_TASK_TYPE_COUNT == 12