diff --git a/evaluation/scoring-regressions.json b/evaluation/scoring-regressions.json index 82663f684..7fe30610d 100644 --- a/evaluation/scoring-regressions.json +++ b/evaluation/scoring-regressions.json @@ -21777,6 +21777,264 @@ "expected_metrics": { "stable_unique_record_count": 0 } -} +}, + { + "id": "forbidden-term-longer-label-is-not-error", + "category": "format-normalization", + "root_cause": "forbidden_phrase_substring_collision", + "failure_mode": "false-negative", + "case": { + "url": "https://example.test/news", + "task_kind": "body", + "required_facts": [ + { + "alternatives": [ + "Latest news" + ] + } + ], + "forbidden_any": [ + "Not Found" + ], + "acceptance_contract": { + "version": 1, + "schema": "named_link", + "minimum_records": 1, + "hosts": [ + "example.test" + ], + "entry_path": "/story/[^/]+" + } + }, + "artifact": "Latest news\n[Story](https://example.test/story/one)\n[Page Not FoundExtra](https://example.test/column)", + "ok": true, + "expected_task_pass": true, + "expected_metrics": { + "forbidden_hits": [] + } + }, + { + "id": "forbidden-term-complete-phrase-still-fails", + "category": "format-normalization", + "root_cause": "forbidden_phrase_substring_collision", + "failure_mode": "false-positive", + "case": { + "url": "https://example.test/news", + "task_kind": "body", + "required_facts": [ + { + "alternatives": [ + "Latest news" + ] + } + ], + "forbidden_any": [ + "Not Found" + ], + "acceptance_contract": { + "version": 1, + "schema": "named_link", + "minimum_records": 1, + "hosts": [ + "example.test" + ], + "entry_path": "/story/[^/]+" + } + }, + "artifact": "Latest news\n[Story](https://example.test/story/one)\nPage Not Found.", + "ok": true, + "expected_task_pass": false, + "expected_metrics": { + "forbidden_hits": [ + "Not Found" + ] + } + }, + { + "id": "forbidden-term-prefixed-word-is-not-error", + "category": "format-normalization", + "root_cause": "forbidden_phrase_substring_collision", + "failure_mode": "false-negative", + "case": { + "url": "https://example.test/news", + "task_kind": "body", + "required_facts": [ + { + "alternatives": [ + "Latest news" + ] + } + ], + "forbidden_any": [ + "Not Found" + ], + "acceptance_contract": { + "version": 1, + "schema": "named_link", + "minimum_records": 1, + "hosts": [ + "example.test" + ], + "entry_path": "/story/[^/]+" + } + }, + "artifact": "Latest news\n[Story](https://example.test/story/one)\nLatestNot Found", + "ok": true, + "expected_task_pass": true, + "expected_metrics": { + "forbidden_hits": [] + } + }, + { + "id": "named-caption-owned-by-link", + "category": "structured-extraction", + "root_cause": "scoped_markdown_caption_ownership", + "failure_mode": "false-negative", + "case": { + "url": "https://example.test/shows", + "task_kind": "body", + "acceptance_contract": { + "version": 1, + "schema": "named_link", + "minimum_records": 1, + "hosts": [ + "example.test" + ], + "entry_path": "/series/[^/]+", + "name_validation": "nonempty", + "entry_scope": { + "html_selector": "main a:has(p)", + "markdown_label_pattern": "(?s)
\\s*(?P