fix: keep cross_segment rule single-dimension, guard no-absent-events

This commit is contained in:
2026-07-14 14:31:30 -04:00
parent 58278c6de4
commit b1f15ddb3a
2 changed files with 2 additions and 3 deletions
@@ -180,7 +180,7 @@ _CROSS_SEGMENT_ENTITY_TRACKING = SubPattern(
],
distractor_rules=(
"干扰项须是视频中【另一真实实体】在相应片段真实做过的动作,"
"仅在【动作主体】这一单一维度上与正解不同;或构造只覆盖部分片段的真实子集"
"仅在【动作主体】这一单一维度上与正解不同。"
"严禁编造任何实体未做过的缺席动作。"
),
)
@@ -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():