# work8 窗108-116续跑修复记录 ## 修复前核验 - 时间:2026-07-24 01:57(Asia/Shanghai);数据库时间以 `muse-example` 返回值为准。 - 作品:work_id=8,《深空之影》,owner_user_id=1。 - 窗状态:窗107=`done`;窗108=`failed`,错误为 `retryable-clean: 跨型 different_entity 拒绝:候选名称已被底册占用:名称=神权之星`;窗109-116=`pending`。 - alias 修复前行:`id=8738, tenant_id=1, work_id=8, canonical_name=天启神国·神之宫殿, alias=神权之星, evidence_window=86, verdict_by=semantic, deleted=false, updater='', create_time=2026-07-23 05:39:35.356543, update_time=2026-07-23 05:39:35.356543`。 - owner 核验:active `muse_knowledge_draft.id=25193`,`source_type=upgrade_book`,`status=pending`,`deleted=false`,`draft_payload.type=location`,名称为 `天启神国·神之宫殿`。 - 冲突候选核验:`muse_knowledge_draft.id=10600` 为 `item/神权之星`,但 `deleted=true`、`updater=upgrade-reset`,无 active 新卡。 - 当前额度快照:窗口 `2026-07-24T00` 为 MiniMax `$1.07425302`、成功调用 `161`;策略保持 MiniMax 路由和 `$24/6000` 本地自限。 - 代码约束核验:`parse_upgrade.py` 的跨型 `different_entity` 硬拒绝保持不变。 - 同书锁键:`(1109005152, -490589832)`,来源为 `upgrade_work_lock.advisory_lock_keys(tenant=1, work=8)`。 ## 修复 SQL 仅当 alias 行、作品和 active location owner 仍完全匹配时执行;使用与升格命令相同的事务 advisory lock。SQL 原文: ```sql WITH work_lock AS ( SELECT pg_advisory_xact_lock(1109005152, -490589832) ) UPDATE example_upgrade_alias AS a SET deleted = TRUE, updater = 'manual-revoke-work8-w108', update_time = now() FROM work_lock WHERE a.id = 8738 AND a.tenant_id = 1 AND a.work_id = 8 AND a.alias = '神权之星' AND a.canonical_name = '天启神国·神之宫殿' AND a.deleted = FALSE AND EXISTS ( SELECT 1 FROM muse_knowledge_draft AS d WHERE d.tenant_id = 1 AND d.work_id = 8 AND d.source_type = 'upgrade_book' AND d.status = 'pending' AND d.deleted = FALSE AND d.draft_payload->>'type' = 'location' AND d.draft_payload->>'名称' = a.canonical_name ); ``` 原因:窗108正文将“神权之星”作为独立 `item` 使用;active alias 错误地把它映射到 `location`“天启神国·神之宫殿”。只撤销该错误 alias,不删除 location,不修改其他 alias、卡或窗状态。 ## 修复后与续跑证据 ### DB 修复后 - 执行时间:数据库 `update_time=2026-07-23 17:59:38.731682`(Asia/Shanghai 为 2026-07-24 01:59:38.731682)。 - 执行结果:DB skill 报 `OK(影响 1 行)`。 - alias 修复后行:`id=8738, tenant_id=1, work_id=8, canonical_name=天启神国·神之宫殿, alias=神权之星, evidence_window=86, verdict_by=semantic, deleted=true, updater=manual-revoke-work8-w108, create_time=2026-07-23 05:39:35.356543, update_time=2026-07-23 17:59:38.731682`。 - 保护性复核:location draft 25193 仍 `deleted=false/status=pending/revision=3`;item draft 10600 仍 `deleted=true/updater=upgrade-reset/revision=5`;`神权之星` active alias 数=0,active card 数=0。 ### 续跑 以下内容在每个窗口事务成功后追加: - 窗108:命令退出码 0;`563-565` 章事务提交为 `done`;日志为在场73、新名字17、更新卡26、LLM调用23、嵌入26。状态快照为 `108done/0failed/116total`。提交后 active 产物:alias 3、presence 1、audit 137、card_state 32;无本次运行时间点的 `upgrade-undo` 软删卡。 - 窗108候选留痕:重试提交后的即时 active draft 中未出现 `item/神权之星`;旧 draft 10600 仍为 `deleted=true/updater=upgrade-reset`。本次不人工补卡、不改其他卡,后续仅按已提交窗顺序续跑。 - 窗109:日志为 `窗109✓ (566-568章)`,在场82、新名字29、更新卡36、LLM调用18、嵌入41;DB 状态确认 `done`。该窗新增 active draft `id=25360`,类型 `item`、名称 `神权之星`,审计窗口109,补齐了上述候选的最终 active 卡。 - 窗110:第一次失败 `已知实体新信息缺少有效型:名称=阿曼芬高级议员,型=None`;内置唯一重试后第二次失败 `已知实体新信息出场章必须是列表:名称=那东西`;命令退出码1,DB 保持 `failed/retryable-clean`。110 的 active alias、presence、audit、card_state watermark、embedding 均为0,无 processing 窗。 - 最终进度:`109done/1failed/116total`;111-116 全部 `pending`,停点为110,未启动111-116。 - 最终卡/留档摘要:character 517、item 171、character_relation 144、location 86、faction 41、event 2、power_system 2;留档1489,active alias 675。 - 最终额度快照:`2026-07-24T00` 为 MiniMax `$1.37106630`、成功调用 `204`,低于 `$24/6000` 自限;原始 stderr 保留每次模型的 token/耗时记录。 - 最终异常核验:active card 同型同名重复数=0,active alias 重复数=0,963 个 active embedding 的 content_hash 全唯一;发现既有 active draft `id=24805`(item/沙皇号)仍带 `updater=upgrade-undo`,`update_time=2026-07-23 02:55:30.701594`,早于本次运行,未改动。 - 原始日志:`/private/tmp/work8-window108-resume-20260724.log`、`/private/tmp/work8-windows109-116-resume-20260724.log`;离线机械回归日志:`/private/tmp/work8-window108-preflight-20260724.log`,389项通过,未连真实 PG/网络。 - Gate A:本次未启动。