From 01bfa97783b314c63f1020d37305e187acf51259 Mon Sep 17 00:00:00 2001 From: NODA1 System Date: Sat, 21 Feb 2026 12:51:33 +0100 Subject: [PATCH] agromatrix: tighten numeric source contract guard --- services/router/main.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/services/router/main.py b/services/router/main.py index b5ac1fe2..aa83a826 100644 --- a/services/router/main.py +++ b/services/router/main.py @@ -338,12 +338,12 @@ def _numeric_contract_present(text: str) -> bool: has_explicit_source = any( re.search(pattern, low) is not None for pattern in ( - r"\bsheet\s*[:#]?\s*[a-z0-9_]+", - r"\brow\s*[:#]?\s*\d+", - r"\bрядок\s*[:#]?\s*\d+", - r"\bлист\s*[:#]?\s*[a-zа-я0-9_]+", - r"\bcell\s*[:#]?\s*[a-z]+\d+", - r"\bкомірк[а-я]*\s*[:#]?\s*[a-zа-я]+\d+", + r"\bsheet(?:\s*[:#]\s*[a-z0-9_]+|\s+[a-z0-9_]+![a-z]+\d+)", + r"\brow\s*[:#]\s*\d+", + r"\bрядок\s*[:#]\s*\d+", + r"\bлист(?:\s*[:#]\s*[a-zа-я0-9_]+|\s+[a-zа-я0-9_]+![a-zа-я]+\d+)", + r"\bcell\s*[:#]\s*[a-z]+\d+", + r"\bкомірк[а-я]*\s*[:#]\s*[a-zа-я]+\d+", r"\bsource\s*[:#]", r"\bджерел[оа]\s*[:#]", )