diff --git a/scripts/verify_m5a_closure.py b/scripts/verify_m5a_closure.py index 10b7346..d43486b 100644 --- a/scripts/verify_m5a_closure.py +++ b/scripts/verify_m5a_closure.py @@ -324,6 +324,16 @@ def verify_tmp_hygiene(): else: detail.append('M5a 自身转储已全部删除: %s' % ', '.join(M5A_OWN_DUMP_GONE)) + # 5.1b 防「洗白」回归门禁:WS_KEPT 白名单里**永远不许**出现 M5a 自身链路的条目。 + # 上一轮 QC #2 的实质问题不是「目录没删」,而是「用放宽门禁(塞白名单)迁就残留产物」—— + # 本项把该教训固化成机械判据,任何人再往白名单里加 m5a 自身产物即 FAIL。 + own_kept = sorted(k for k in WS_KEPT if 'm5a' in k.lower()) + if own_kept: + problems.append('M5a 自身链路产物被错误登记进 WS_KEPT 白名单(反向门禁不许洗白,须删除并迁至 projects/pbls/docs/02-develop/): %s' + % ', '.join(own_kept)) + else: + detail.append('WS_KEPT 白名单中无 M5a 自身链路条目(防洗白回归门禁成立)') + # 5.2 文件类一次性产物:命中模式 → 必须在白名单(且白名单写明引用文档) hit_files, kept_files = [], [] for f in files: