修复: 避免结构化里程碑健康检查误报

This commit is contained in:
zizi 2026-07-19 15:53:48 +08:00
parent 3b427854ab
commit ac72b232c5

View File

@ -136,8 +136,10 @@ def sec_health(conn):
for v in (fields or {}).values():
if not isinstance(v, list):
continue
bodies = [pref_re.sub("", str(x)) for x in v]
n_tail += sum(1 for x in v if tail_re.search(str(x).rstrip()))
# 演变历程现在是结构化对象数组;只扫描字符串数组,避免 dict 的 repr 末尾 `}` 被误报为残渣。
text_values = [x for x in v if isinstance(x, str)]
bodies = [pref_re.sub("", x) for x in text_values]
n_tail += sum(1 for x in text_values if tail_re.search(x.rstrip()))
n_pref += sum(1 for i, a in enumerate(bodies) if len(a) > 80 and any(
j != i and b.startswith(a) and len(b) > len(a) for j, b in enumerate(bodies)))
lines.append(f" 升格卡尾部残渣:{n_tail}{' ⚠' if n_tail else ' ✓'}")