From d743b0a27457819f3136577144556c1bc63913f1 Mon Sep 17 00:00:00 2001 From: hmo Date: Tue, 14 Jul 2026 02:28:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E8=87=AA=E6=A3=80:=20?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=8D=95=E5=85=83=E6=A0=BC=E2=9D=8C=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=20+=20TODO=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增正则扫描表格中❌状态单元格 - 8个缺口写入checklist_gaps.jsonl - 可被self_todo_executor消费 - 与annotations解析互补,全量覆盖 --- gateway/scripts/checklist_audit.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gateway/scripts/checklist_audit.py b/gateway/scripts/checklist_audit.py index 3ea4f5f..358efb7 100644 --- a/gateway/scripts/checklist_audit.py +++ b/gateway/scripts/checklist_audit.py @@ -26,6 +26,17 @@ def extract_annotations(path): for line in lines: if line.startswith("#"): current_section = line.strip() + # Check for ❌ in table cells (e.g. | R01 | ... | ... | ... | ... | ❌ 未修复 |) + for m in re.finditer(r'\|\s*❌\s*([^|]*?)\s*\|', line): + cell_content = "❌ " + m.group(1).strip() + status = "fail" + results.append({ + "annotation": cell_content, + "status": status, + "section": current_section, + "source": os.path.basename(path), + "in_table": True, + }) for m in re.finditer(r'', line): anno = m.group(1) # Determine status