文档(P0① 死路径销号): art-bible §1.4 冻结记录与 art-status-checklist P0 样张行删除已丢失的冻结样张路径(artwork/mockups/sample-batch-v3-final-2026-09-30.png),按用户 2026-10-28 裁乙改留「产物原件已丢失、未入 git」、不给指路,机检报告凭据(git 提交 7a847c7)保留;待办清单「美术资产链路审计两项 P0」条目收窄为 P0② 主角棋盘小人像素管线重产(美术面,归美术设计段),改动面与状态同步收窄
This commit is contained in:
1 parent
fd2d5702f0
commit
cb3f6f353c
5 files changed
+37
-18
No files matched your search
+29
-10
@@ -52,6 +52,8 @@ LEDGER_RULE_DATE = (2026, 10, 21)
|
||||
LEDGER_HEADING_RE = re.compile(r"^#{2,4}\s*.*(验收对照表|改动[—\-]验收)")
|
||||
LEDGER_REQUIRED = ("需求点", "改动", "验收测试", "真实入口")
|
||||
LEDGER_PROOF_MARKS = ("撤销", "证明")
|
||||
BINDING_RULE_DATE = (2026, 10, 28) # req-card §8:换代为判据绑定面列,撤销/变异证明列同日禁列
|
||||
BANNED_PROOF_MARKS = ("撤销证明", "变异证明")
|
||||
AUDIT_MARK = "验收审计"
|
||||
|
||||
DATE_RE = re.compile(r"\d{4}-\d{2}-\d{2}")
|
||||
@@ -451,7 +453,7 @@ def card_date(path):
|
||||
return tuple(int(x) for x in found[-1].split("-"))
|
||||
|
||||
|
||||
def check_ledger(text, path, issues):
|
||||
def check_ledger(text, path, when, issues):
|
||||
"""C3 改动—验收对照表结构检查(生效 2026-10-21)。
|
||||
|
||||
只查:对照表节在不在、表头有没有五个必需列、有没有数据行、必填格空不空。
|
||||
@@ -491,13 +493,29 @@ def check_ledger(text, path, issues):
|
||||
"缺「%s」列" % name))
|
||||
return
|
||||
idx[name] = hit
|
||||
proof_hit = next((k for k, cell in enumerate(header)
|
||||
if any(mark in cell for mark in LEDGER_PROOF_MARKS)), None)
|
||||
if proof_hit is None:
|
||||
issues.append((str(path), header_line, "验收对照表缺列",
|
||||
"缺「撤销证明」列"))
|
||||
return
|
||||
idx["证明"] = proof_hit
|
||||
banned = next((cell for cell in header
|
||||
if any(mark in cell for mark in BANNED_PROOF_MARKS)), None)
|
||||
binding_hit = next((k for k, cell in enumerate(header)
|
||||
if "判据绑定面" in cell), None)
|
||||
if when >= BINDING_RULE_DATE:
|
||||
if banned is not None:
|
||||
issues.append((str(path), header_line, "验收对照表禁列",
|
||||
"「%s」列已随 2026-10-24/28 两裁禁列(req-card §8.4,"
|
||||
"验收断言绑真实入口+判据绑定面)" % banned))
|
||||
return
|
||||
if binding_hit is None:
|
||||
issues.append((str(path), header_line, "验收对照表缺列",
|
||||
"缺「判据绑定面」列(2026-10-28 判据口径换代,req-card §8)"))
|
||||
return
|
||||
idx["绑定面"] = binding_hit
|
||||
else:
|
||||
proof_hit = next((k for k, cell in enumerate(header)
|
||||
if any(mark in cell for mark in LEDGER_PROOF_MARKS)), None)
|
||||
if proof_hit is None:
|
||||
issues.append((str(path), header_line, "验收对照表缺列",
|
||||
"缺「撤销证明」列"))
|
||||
return
|
||||
idx["证明"] = proof_hit
|
||||
|
||||
rows = 0
|
||||
for i in range(header_line, len(lines)):
|
||||
@@ -531,7 +549,8 @@ def check_cards(root, issues):
|
||||
C1 判据:「关联文档同步面」表内,目标格指向 design/ 或根规则文件、而义务格仍写
|
||||
「随批」者红(2026-10-17 req-card §6 改口径后,这类点只能列 reports/ 反哺点清单)。
|
||||
C2 判据:全文既无「设计事实源」也无「唯一事实源」者红(两种写法都与库内实态对齐)。
|
||||
C3 判据:有「改动—验收对照表」节;表头含需求点/改动/验收测试/真实入口/证明列;
|
||||
C3 判据:有「改动—验收对照表」节;表头含需求点/改动/验收测试/真实入口+证明列
|
||||
(2026-10-28 起换代为「判据绑定面」列,并禁「撤销证明/变异证明」列);
|
||||
至少一行;必填格非空;全文含「验收审计」声明。语义覆盖不在此判。
|
||||
"""
|
||||
dirn = root / CARD_DIR
|
||||
@@ -550,7 +569,7 @@ def check_cards(root, issues):
|
||||
"须含「设计事实源」或「唯一事实源」声明句(req-card §2 三选一,"
|
||||
"GDD 节+版本号/样张+art-bible 版本/工程形态证据指认)"))
|
||||
if when >= LEDGER_RULE_DATE:
|
||||
check_ledger(text, path, issues)
|
||||
check_ledger(text, path, when, issues)
|
||||
if AUDIT_MARK not in text:
|
||||
issues.append((str(path), 1, "独立验收审计未声明",
|
||||
"须在卡内写明独立验收审计入口与报告文件(2026-10-21 起,"
|
||||
|
||||
Reference in new issue
Block a user