From b1f15ddb3af42a66d20df0c6302743024930b1e2 Mon Sep 17 00:00:00 2001 From: iomgaa Date: Tue, 14 Jul 2026 14:31:30 -0400 Subject: [PATCH] fix: keep cross_segment rule single-dimension, guard no-absent-events --- app/question_gen/strategy_action_recognition.py | 2 +- tests/unit/test_ar_sub_pattern_counterfactual.py | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/question_gen/strategy_action_recognition.py b/app/question_gen/strategy_action_recognition.py index b116153..59c14d9 100644 --- a/app/question_gen/strategy_action_recognition.py +++ b/app/question_gen/strategy_action_recognition.py @@ -180,7 +180,7 @@ _CROSS_SEGMENT_ENTITY_TRACKING = SubPattern( ], distractor_rules=( "干扰项须是视频中【另一真实实体】在相应片段真实做过的动作," - "仅在【动作主体】这一单一维度上与正解不同;或构造只覆盖部分片段的真实子集。" + "仅在【动作主体】这一单一维度上与正解不同。" "严禁编造任何实体未做过的缺席动作。" ), ) diff --git a/tests/unit/test_ar_sub_pattern_counterfactual.py b/tests/unit/test_ar_sub_pattern_counterfactual.py index c0f5997..7444e25 100644 --- a/tests/unit/test_ar_sub_pattern_counterfactual.py +++ b/tests/unit/test_ar_sub_pattern_counterfactual.py @@ -2,14 +2,13 @@ from app.question_gen.strategy_action_recognition import AR_SUB_PATTERNS -_REQUIRED = ["真实", "单一维度"] # 每个 distractor_rules 都需强调 grounded + 单维 - def test_all_sub_patterns_enforce_single_dimension_counterfactual(): for sp in AR_SUB_PATTERNS: rules = sp.distractor_rules assert "真实" in rules, sp.name # 干扰项须真实发生 assert ("单一维度" in rules or "只在" in rules or "仅在" in rules), sp.name + assert ("缺席" in rules or "未出现" in rules or "凭空" in rules), sp.name def test_sub_pattern_count_unchanged():