用途:将一次 autoresearch 会话产生的杂乱分支,整理为按逻辑变更划分的独立分支,便于审查。每个分支都从 merge-base 开始。
主要能力与流程:
- 分析与分组:读取 .auto/log.jsonl(旧版 autoresearch.jsonl),只保留 kept 实验;读取 .auto/prompt.md(旧版 autoresearch.md)获取上下文;用 git rev-parse <short_hash> 展开短哈希;用 git merge-base HEAD main 取 merge-base;对每个 kept 提交取 diff stat(首个用 $BASE..<commit>,后续用 <prev_kept>..<commit>)。分组时保持应用顺序,组间不得触碰同一文件(否则合并为一组),注意跨文件依赖并标注或合并,每组保持小而聚焦,数量不固定。分组方案需先呈现给用户并等待批准。
- 写入 groups.json 并运行:包含 base、trunk、final_tree、goal、groups 等字段;last_commit 必须是完整哈希;组间不得共享文件,脚本会校验。随后执行 bash <SKILL_DIR>/finalize.sh /tmp/groups.json。脚本从 merge-base 为每组创建分支,校验并集与原分支一致,并打印分支、清理命令及 .auto/ideas.md(旧版 autoresearch.ideas.md)中的想法。创建失败会回滚;校验失败以非零退出但保留分支。
- 报告:说明创建的分支及内容、整体指标改进(基线到最佳),并展示脚本输出的清理命令。
适用场景:需要把实验分支整理为可审查的独立分支时。
限制与边界情况:仅 1 个 kept 实验时一个分支即可;组间文件重叠时脚本报错并指出文件,需合并后重试;分支上的非实验提交应跳过,只处理 jsonl 中的 kept 实验。具体安装方式与更多配置暂未提供。