| name | openmole-archive |
| description | mole:archive — 检查 change 完成度并归档至 openmole/changes/archive/ |
OpenMole Archive — 归档 change
何时使用
用户运行 mole:archive,当前 change 重构周期结束或需封存。
工作区解析
- 读取
openmole/config.yaml → current_change
{change_dir} = openmole/changes/{change_name}/
- 无
current_change → 停止,无活跃 change 可归档
完成度检查
{change_dir}/badsmells.md §2.0 — 不得有 未清除 / 部分残余(除非用户确认豁免)
{change_dir}/tasks.md §3 — 不得有 [ ] 未完成任务
用户确认门
若有未完成项 → 列出 BS-ID / B-Txx → 必须 询问用户是否仍归档。
归档动作
mv openmole/changes/<name> openmole/changes/archive/$(date +%Y-%m-%d)-<name>/
- 更新
.openmole-change.yaml → status: archived
openmole/config.yaml 清空 current_change
OpenMole 规约摘要(内嵌于各 Skill,非独立文件)
constitution §3 — 八项第一性原则
清晰性、一致性、可读性、复用性、可扩展性、健壮性、安全性、简洁性。
constitution §4 — 标准重构步骤
- 确认坏味道条目
- 确定测试覆盖;无覆盖则先写测试
- 运行测试 → 全绿
- 执行重构(最小 diff,对准 BS-ID)
- 回归测试 → 全绿
- 用户确认(未确认不得标记完成)
constitution §5 — 执行粒度
每次 mole:apply 仅处理一个未完成任务。
specification §4 — badsmells 条目
七字段 + §2.0 状态:未清除 / 已消除 / 部分残余。
specification §7 — 修订历史
升版时 提交版本 = git rev-parse HEAD,未提交填 —。
RED FLAGS
- 未完成仍归档且未经用户确认
- 归档后仍保留 stale 的 current_change