From a68f38609df584045a89ad26b252da74ad20c88f Mon Sep 17 00:00:00 2001 From: m3taversal Date: Tue, 7 Apr 2026 01:01:12 +0100 Subject: [PATCH] fix: add date_errors to substantive fixer tag routing date_errors was evaluated but never routed to any fixer, leaving PRs stuck permanently. Now classified as FIXABLE with targeted prompt guidance. Co-Authored-By: Claude Opus 4.6 (1M context) --- ops/pipeline-v2/lib/substantive_fixer.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ops/pipeline-v2/lib/substantive_fixer.py b/ops/pipeline-v2/lib/substantive_fixer.py index 386b6bc44..6b7e8caf8 100644 --- a/ops/pipeline-v2/lib/substantive_fixer.py +++ b/ops/pipeline-v2/lib/substantive_fixer.py @@ -29,7 +29,7 @@ from .llm import openrouter_call logger = logging.getLogger("pipeline.substantive_fixer") # Issue type routing -FIXABLE_TAGS = {"confidence_miscalibration", "title_overclaims", "scope_error", "frontmatter_schema"} +FIXABLE_TAGS = {"confidence_miscalibration", "title_overclaims", "scope_error", "frontmatter_schema", "date_errors"} CONVERTIBLE_TAGS = {"near_duplicate"} UNFIXABLE_TAGS = {"factual_discrepancy"} @@ -78,6 +78,8 @@ def _build_fix_prompt( issue_descriptions.append("TITLE: Reviewer says the title asserts more than the evidence supports.") elif tag == "scope_error": issue_descriptions.append("SCOPE: Reviewer says the claim needs explicit scope qualification.") + elif tag == "date_errors": + issue_descriptions.append("DATES: Reviewer flagged incorrect, missing, or inconsistent dates in the claim. Check created dates, event dates cited in the body, and any temporal claims against the source material.") elif tag == "near_duplicate": issue_descriptions.append("DUPLICATE: Reviewer says this substantially duplicates an existing claim.")