feat(m5a): [M5a] QC#1/#2/#3/#4 收口——V5 口径回正(.scratch_m5a 移出 WS_KEPT、重回 M5A_OWN_DUMP_GONE 反向门禁)+ 新增 5.1b 防洗白回归门禁 + README V5 行同步;工作空间根 .scratch_m5a/ 已整目录删除,git 证据迁 projects/pbls/docs/02-develop/m5a-git-closure-evidence-raw.txt [bmCibtswYxMYaH0KBh6aX]

This commit is contained in:
agent.develop 2026-09-22 21:15:34 +08:00
parent 6e38e548af
commit be1c9778c8

View File

@ -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: