From c8a1bb483f83956d59a762dcce3f9b537ab7f792 Mon Sep 17 00:00:00 2001 From: zizi Date: Thu, 16 Jul 2026 01:41:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E6=9E=B6:=20undo=5Fwindow=20=E5=88=A0?= =?UTF-8?q?=E5=88=9D=E5=8D=A1=E5=90=8C=E6=AD=A5=E6=B8=85=E5=8D=A1=E6=B0=B4?= =?UTF-8?q?=E4=BD=8D=E8=A1=8C(fable=E5=A4=8D=E9=AA=8C431=E5=83=B5=E5=B0=B8?= =?UTF-8?q?=E8=A1=8C=E5=AE=9E=E8=AF=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/skills/parse-book/scripts/parse_upgrade.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.claude/skills/parse-book/scripts/parse_upgrade.py b/.claude/skills/parse-book/scripts/parse_upgrade.py index 0d50a1b..c2756f4 100644 --- a/.claude/skills/parse-book/scripts/parse_upgrade.py +++ b/.claude/skills/parse-book/scripts/parse_upgrade.py @@ -490,6 +490,9 @@ def undo_window(conn, work_id, win_no): (TENANT, work_id, SOURCE_TYPE)).fetchall(): if payload.get("来源") == f"升格@窗{win_no}": conn.execute("UPDATE muse_knowledge_draft SET deleted=TRUE WHERE id=%s", (did,)) + # 同步清卡水位行(fable 复验实证:深空回滚删 400+ 初卡后 card_state 僵尸行 + # 残留,按 draft JOIN 不过滤 deleted 的查询会捞出僵尸卡) + conn.execute("DELETE FROM example_upgrade_card_state WHERE draft_id=%s", (did,)) continue tag, changed = f"[窗{win_no}] ", False for k, v in list(payload.get("字段", {}).items()):