修复(CI追绿·迭代50收尾): run29两闸红因三处——①roadmap下一步「2026-11-03 新条」措辞触发gdd_lint R3正文修订注记,改「在册」去日期式叙述 ②能力行敌方增益自体落点代表用例名实断裂(_test_enemy_buff_targets_self→_smoke_enemy_buff_targets_self,实况=实现侧_smoke定名,iter50批末核对漏检此行,卡片退役后卡在通道消失即暴露) ③capability_audit真实入口锚面结构性缺口——入口宿主在game/sim/(battle_driver/auto_player)而扫描面排除sim,卡片退役后无持久锚即红; 锚面扩入sim测量件(判据面有意放宽:被锚入口本在库内,补的是卡片死后的持久锚通道,非放水),头注与报错文案同步; 本地复核gdd_lint 0不通过+capability_audit strict红项0
This commit is contained in:
1 parent
276252fc5d
commit
6add37b68c
3 files changed
+8
-6
No files matched your search
@@ -10,8 +10,8 @@ r"""capability_audit.py — 能力清单、覆盖域表与 GDD 纯度机检(
|
||||
manifest 内且该文件有 `func 函数名(`,或该文件是 game/probe/ 下的探针件且件内有 `func 函数名(`——
|
||||
探针不进 run_all manifest,单独认探针面)或卡在(该文件名或函数名能在 reports/需求卡片*.md 中找到,
|
||||
供写卡时当场入表的计划用例锚定);两头都无=红(清单挂了无凭证义务)。
|
||||
E 真实入口可核(双通道):能力行「真实入口」的每个 `类.方法()`——产品码(game/ 除 tests//probe//sim/)
|
||||
有 `func 方法(`,或该方法名能在 reports/需求卡片*.md 中找到(计划入口同 D 口径);两头都无=红。
|
||||
E 真实入口可核(双通道):能力行「真实入口」的每个 `类.方法()`——产品码+sim 测量件(game/ 除
|
||||
tests//probe/)有 `func 方法(`,或该方法名能在 reports/需求卡片*.md 中找到(计划入口同 D 口径);两头都无=红。
|
||||
F 覆盖域表:systems 每篇一行;状态∈{已覆盖,部分覆盖,未覆盖};非未覆盖行的「能力行」非空且每项都能
|
||||
对上能力表里的行名;部分/未覆盖行的缺口非空且指待办清单。
|
||||
条件闸行豁免(代表用例含「条件闸」字样)不参与 D/E。
|
||||
@@ -121,10 +121,12 @@ def manifest():
|
||||
|
||||
|
||||
def product_funcs():
|
||||
# 「代码在」锚面=产品码(game/ 除 tests//probe/)+sim 测量件:调参测量与模拟驱动件
|
||||
# (battle_driver/auto_player 等)是合法的真实入口宿主,卡片退役后其入口只能锚代码面。
|
||||
names = set()
|
||||
for p in (REPO / "game").rglob("*.gd"):
|
||||
rel = p.relative_to(REPO).as_posix()
|
||||
if rel.startswith(("game/tests/", "game/probe/", "game/sim/")):
|
||||
if rel.startswith(("game/tests/", "game/probe/")):
|
||||
continue
|
||||
names.update(re.findall(r"^(?:static\s+)?func\s+([A-Za-z_]\w*)\s*\(", read(p), re.M))
|
||||
return names
|
||||
@@ -251,7 +253,7 @@ def check_entry(no, name, cell, funcs, cards):
|
||||
for _, method in tokens:
|
||||
if method not in funcs and not (cards and method in cards):
|
||||
red(README.relative_to(REPO), no, "真实入口",
|
||||
"「%s」方法 %s() 无凭证——产品码无定义且需求卡片未载" % (name[:16], method))
|
||||
"「%s」方法 %s() 无凭证——产品码与 sim 测量件无定义且需求卡片未载" % (name[:16], method))
|
||||
|
||||
|
||||
def check_coverage(cov_tables, names):
|
||||
|
||||
Reference in new issue
Block a user