From 52b9490e8282b89c1643ffec6e0a153f845c6ea9 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Sat, 7 Nov 2026 08:20:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9E=B6=E6=9E=84=E6=94=B6=E7=AA=84=E6=89=B9?= =?UTF-8?q?=E8=A1=A5=E7=AC=94(=E9=97=B8=E4=BB=B6=E9=80=82=E9=85=8D):=20cap?= =?UTF-8?q?ability=5Faudit.py=20=E5=88=A4=E6=8D=AE=E5=87=BA=E5=A4=84?= =?UTF-8?q?=E6=B3=A8=E8=AE=B0=E6=AD=A3=E5=88=99=E6=94=B9=E5=8F=8C=E5=BD=A2?= =?UTF-8?q?=E6=80=81=E2=80=94=E2=80=94=E8=A1=8C=E5=8F=B7=E9=94=9A(?= =?UTF-8?q?=E8=B7=AF=E5=BE=84:=E8=A1=8C=E5=8F=B7)=E4=B8=8E=E8=8A=82?= =?UTF-8?q?=E9=94=9A(=E8=B7=AF=E5=BE=84=E3=80=8C=E8=8A=82=E5=90=8D?= =?UTF-8?q?=E3=80=8D=E5=85=B3=E9=94=AE=E8=AF=8D,=202026-11-07=20=E7=AB=8B)?= =?UTF-8?q?=E5=B9=B6=E8=AE=A4;=20=E8=8A=82=E9=94=9A=E6=A0=B8=E9=AA=8C=3D?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=AD=98=E5=9C=A8+=E8=8A=82=E5=90=8D?= =?UTF-8?q?=E9=A6=96=E6=AE=B5(=E3=80=8C=C2=B7=E3=80=8D=E5=89=8D)=E5=9C=A8?= =?UTF-8?q?=E6=A1=A3,=20=E8=A1=8C=E5=8F=B7=E9=94=9A=E6=A0=B8=E9=AA=8C?= =?UTF-8?q?=E7=85=A7=E6=97=A7;=20=E3=80=8C=E8=8A=82=E5=90=8D=E3=80=8D?= =?UTF-8?q?=E4=B8=8E=E5=85=B3=E9=94=AE=E8=AF=8D=E9=97=B4=E9=9B=B6=E7=A9=BA?= =?UTF-8?q?=E7=99=BD=E5=BD=A2=E6=80=81=E5=85=BC=E5=AE=B9=E3=80=82=E5=87=AD?= =?UTF-8?q?=E6=8D=AE:=20=E8=83=BD=E5=8A=9B=E5=AE=A1=E8=AE=A1=E5=8D=95?= =?UTF-8?q?=E8=B7=91=20=E7=BA=A2=E9=A1=B90(oracle=20=E6=B3=A8=E8=AE=B0?= =?UTF-8?q?=E5=87=BD=E6=95=B0=20417=20=E5=85=A8=E8=AF=86=E5=88=AB,=20?= =?UTF-8?q?=E4=BF=AE=E5=89=8D=2025=20=E7=BA=A2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tools/capability_audit.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/tools/capability_audit.py b/tools/capability_audit.py index be4df145..a77749c7 100644 --- a/tools/capability_audit.py +++ b/tools/capability_audit.py @@ -16,7 +16,9 @@ r"""capability_audit.py — 能力清单、覆盖域表与 GDD 纯度机检( 对上能力表里的行名;部分/未覆盖行的缺口非空且指待办清单。 G 判据出处随测注记(test-conventions §8.3):game/tests/** 与 game/probe/** 内每个验证函数 (函数体含 check(/check_quiet(/_problems.append(/push_error( 判定调用,定义行与 _check( 前缀除外) - 须带 ≥1 条 `# oracle: :<行号> <判据一句>` 注记;指针指向存在的设计文档行且不出 + 须带 ≥1 条 `# oracle: :<行号> <判据一句>` 注记(或节锚形态 + `# oracle: 「节名」<关键词> <判据一句>`,2026-11-07 架构收窄批立,见 + test-conventions §8.3);指针指向存在的设计文档行/节且不出 design/ 全域。扫描面=game/tests/**+game/probe/**(sim/ 不进——测量面直构惯例)。 条件闸行豁免(代表用例含「条件闸」字样)不参与 D/E。 @@ -337,7 +339,7 @@ def check_coverage(cov_tables, names): red(README.relative_to(REPO), 1, "覆盖域表", "%s 未在覆盖域表登记" % doc) -ORACLE_RE = re.compile(r"^#\s*oracle:\s*(\S+\.md):(\d+)\s+\S") +ORACLE_RE = re.compile(r"^#\s*oracle:\s*(\S+?\.md)(?::(\d+)|「([^」]+)」)\s*\S") VERDICT_RE = re.compile(r"(?