iter52-卡4:迭代52卡④(封印印记法阵化): 着色器参数化绘制换代(环带+十字+环外光圈,半径夹cell_px/2,ui_kit六常量含SEAL_HALO_FRAC补注入源)+seal_mark_layer子件+CellUnit seal_on/fog联动+棋盘侧贴图路径三处退役(seal_mark.png只余战末蜡封)+board_shot_probe封印取证(三关环径0.826全落±1px,英雄格中心非黑); 含产出物三份/审计报告/master归并两笔/收尾笔; 验收档中; 验收审计总判定通过

This commit is contained in:
DKChan committed 2026-11-05 03:04:21 +08:00
1 parent 67024cb9ec
commit 122cdeb3d8
28 files changed
+581 -133

No files matched your search

+18 -4
View File
@@ -185,6 +185,7 @@ def capability_rows():
def check_capability_rows(cap_tables, suites, funcs, cards):
total = 0
names = []
referenced = set()
suite_by_base = {}
for rel in suites:
suite_by_base.setdefault(Path(rel).name, []).append(rel)
@@ -207,13 +208,25 @@ def check_capability_rows(cap_tables, suites, funcs, cards):
red(README.relative_to(REPO), no, "能力行结构",
"「%s」行格数不足或空列(%s)" % (name[:16], "/".join(empty) or "列数"))
continue
referenced.update(m.group(1) for m in CASE_RE.finditer(short("代表用例")))
if "条件闸" in short("代表用例"):
continue
check_cases(no, name, short("代表用例"), suite_by_base, funcs, cards)
check_entry(no, name, short("真实入口"), funcs, cards)
if total == 0:
selfcheck.append("能力表零数据行")
return names
return names, referenced
def check_suite_coverage(suites, referenced):
"""链式锚反向覆盖(test-conventions §8.3 退役对账):run_all.gd manifest 的每个套件
必须被 ≥1 个能力行「代表用例」引用——断言(尾缀挂卡/挂套件)→套件→能力行→系统文档
的链条中,套件未接能力行=卡片退役后验收意图断链(营地图批先例)。"""
missing = [rel for rel in suites if Path(rel).name not in referenced]
for rel in sorted(missing):
red(README.relative_to(REPO), 1, "链式锚",
"套件 %s 未被任何能力行「代表用例」引用——断言→套件→能力行→系统文档链条断环" % rel)
return missing
def check_cases(no, name, cell, suite_by_base, funcs, cards):
@@ -323,7 +336,8 @@ def main():
funcs = product_funcs()
if not funcs:
selfcheck.append("产品码零 `func`")
names = check_capability_rows(cap_tables, suites, funcs, cards_corpus())
names, referenced = check_capability_rows(cap_tables, suites, funcs, cards_corpus())
missing_suites = check_suite_coverage(suites, referenced)
check_coverage(cov_tables, names)
if selfcheck:
@@ -331,9 +345,9 @@ def main():
for s in selfcheck:
print(" ! " + s)
print("| ── 能力审计:系统文档 %d 篇 · 能力行 %d · 套件 %d · 覆盖域表 %d 行 · 红项 %d"
print("| ── 能力审计:系统文档 %d 篇 · 能力行 %d · 套件 %d · 覆盖域表 %d 行 · 链断套件 %d · 红项 %d"
% (len(system_docs()), len(names), len(suites),
sum(len(r) for _, r in cov_tables), len(reds)))
sum(len(r) for _, r in cov_tables), len(missing_suites), len(reds)))
for path, line, check, msg in reds:
print(" ✗ [%s] %s:%d %s" % (check, path, line, msg))
if selfcheck: