From ac72b232c55d0f2c91fbe1fa122961974bbad5fe Mon Sep 17 00:00:00 2001 From: zizi Date: Sun, 19 Jul 2026 15:53:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E5=8C=96=E9=87=8C=E7=A8=8B=E7=A2=91=E5=81=A5?= =?UTF-8?q?=E5=BA=B7=E6=A3=80=E6=9F=A5=E8=AF=AF=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/parse-book/scripts/parse_health.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.claude/skills/parse-book/scripts/parse_health.py b/.claude/skills/parse-book/scripts/parse_health.py index b9a051c..574398f 100644 --- a/.claude/skills/parse-book/scripts/parse_health.py +++ b/.claude/skills/parse-book/scripts/parse_health.py @@ -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 ' ✓'}")