3.1 KiB
3.1 KiB
name, description, disable-model-invocation
| name | description | disable-model-invocation |
|---|---|---|
| reset-work-extraction | 全量重抽前预览或清空单本作品的 upgrade_book 派生状态,把窗口退回 pending。需要对一本书重新跑一遍作品面抽取时使用;正常按窗抽取归 extract-work-knowledge,定向修复归 repair-work-extraction,备份恢复归 backup-work-extraction。 | true |
重置作品抽取状态
何时用:某本书要全量重抽。升格是串行有状态管线,直接重跑会被旧状态卡死——窗全是 done 不再处理、判重底册装着旧代卡、旧审计行会把新软删卡错还原、别名全行唯一索引让新别名被静默吞掉。
备份与恢复归 backup-work-extraction,定向修复与存量迁移归 repair-work-extraction,正常 windows/run/status 归 extract-work-knowledge。
依赖边界
同书互斥复用 extract-work-knowledge/scripts/upgrade_work_lock.py 的 advisory lock;备份复验单向调用 backup-work-extraction/scripts/backup_upgrade_work.py,本 Skill 不复制第二份备份验证逻辑。
输入
# 只读预览
.venv/bin/python muse/content/entity/skills/ingest/reset-work-extraction/scripts/reset_upgrade_work.py --work-id 8
# 真重置
.venv/bin/python muse/content/entity/skills/ingest/reset-work-extraction/scripts/reset_upgrade_work.py \
--work-id 8 --execute --backup-dir /private/tmp/muse-upgrade-work8-before-reset \
--backup-id <manifest-backup_id> --confirmation-sha <manifest-confirmationSha>
--execute 必须同时给出 --backup-dir、--backup-id、--confirmation-sha;三者由 backup-work-extraction 的清单产出。
输出
预览输出按表列出将被软删、硬删和重置的行数统计,不写库。--execute 输出实际清理行数、窗口回退数量与单事务提交回执;任一断言失败输出失败原因并整体回滚。
数据边界
清理边界逐表核实过约束:
muse_knowledge_draft升格卡 → 软删(知识数据绝不物删,可回滚)。example_upgrade_window→ 保留窗行,仅重置status=pending。example_upgrade_alias→ 硬删本书行(全行唯一索引会让软删旧行挡住重抽 INSERT)。example_upgrade_presence、example_upgrade_card_state、example_upgrade_audit→ 硬删本书行。example_knowledge_embedding→ 软删本书升格卡的全部活向量,并覆盖旧版 reset 遗留在已软删卡上的活向量。
写入范围限于目标租户、目标作品、upgrade_book 边界;不生成新抽取内容,不提供 run/windows/status。
红线
--execute前必须持同书锁、复验备份并核对代码身份;取锁失败在任何业务 SQL 之前非零退出。- 全部清理在固定表锁顺序(输入源→派生域,派生域内保持 draft→embedding)的单事务内完成,全清或全不清。
- 知识数据只软删,不物删。
- 不得跳过
backup-work-extraction的备份直接重置。
复利合同
--execute七域清理断言通过后经propose_lesson_dedup登记example_lesson(绑 work_id / backup_id)。- 预览路径不写库、不登记 lesson。