Skip to content

feat: checkpoint 时间线 + 按 run 快照备份 + 选择性回退 - #12

Open
kebold wants to merge 2 commits into
HKUST-KnowComp:mainfrom
kebold:main
Open

feat: checkpoint 时间线 + 按 run 快照备份 + 选择性回退#12
kebold wants to merge 2 commits into
HKUST-KnowComp:mainfrom
kebold:main

Conversation

@kebold

@kebold kebold commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

功能概述

  • 每次 apply 创建 post-state 检查点(graph.checkpoint..json)和按 run 的 pre-state 备份(graph.json.bak.),取代旧的单次覆盖备份,可精确撤销单次 refine
  • rollback --list 显示线性时间线(含 refined/pending 状态列);--list --by-query 按 query 分组显示版本链
  • rollback 回退到某检查点并把后续 query 标记重置为 pending
  • rollback --query 精确撤销某 query 的最后一次 refine(按 run 备份或前一检查点),不影响其他 refine
  • apply 后把已 refine 的 query 在 history 标记为完成(无记录时自动追加)
  • history mark_refined 返回变更数;iter_history 支持 BOM

设计要点

  • 检查点 = post-state 完整图快照(线性时间线,永不覆盖/删除),支持多版本对比
  • per-run 备份 = pre-state(graph.json.bak.),与 post-state 检查点配对,实现单次 refine 的精确撤销
  • rollback 是纯图状态切换 + query 标记重置,不删除任何检查点文件

测试

  • test_opencode_integration.py 新增 PYTHONPATH 修复
  • 全链路 30 passed(含上游 wiki refresh 测试)

kebold added 2 commits August 3, 2026 20:50
- 每次 apply 创建 post-state 检查点(graph.checkpoint.<seq>.json)和按 run 的 pre-state 备份(graph.json.bak.<seq>),取代旧的单次覆盖备份,可精确撤销单次 refine
- rollback --list 显示线性时间线(含 refined/pending 状态列);--list --by-query 按 query 分组显示版本链
- rollback <seq> 回退到某检查点并把后续 query 标记重置为 pending
- rollback --query <qid> 精确撤销某 query 的最后一次 refine(按 run 备份或前一检查点),不影响其他 refine
- apply 后把已 refine 的 query 在 history 标记为完成(无记录时自动追加)
- history mark_refined 返回变更数;iter_history 支持 BOM
- 上游新增 claude_skill/(Claude Code adapter)、wiki_refresh.py(apply --refresh-wiki 事务性提交图+Wiki)、assets 图片
- Reafiner → DeepRefine 改名:refine_runner 用 deeprefine 变量/deeprefine_pkl 键,codex references 重命名
- 保留本地 checkpoint 时间线功能:per-run 备份逻辑在冲突中保留,rollback --query/--by-query 完好
- SKILL_OPENCODE.md 保留本地详细描述(含 license/compatibility frontmatter)
- SKILL.md 三副本重新同步;pyproject 升 v0.2.0 含 claude_skill 打包
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant