📝 docs(main_loop): keep archive contract tool-neutral

This commit is contained in:
csh 2026-05-28 09:02:26 +08:00
parent e87be183bc
commit c48354e0cb
2 changed files with 8 additions and 6 deletions

View File

@ -228,10 +228,10 @@ python {{PLAYBOOK_SCRIPTS}}/main_loop.py finish \
### Plan 完成归档契约
- 归档指按当前项目约定创建可回溯的交付记录;如项目使用 Git
归档必须是一次 Git 提交commit不是仅更新 memory 或回复摘要
- 归档指按当前项目约定创建可回溯的交付记录;具体机制由项目本地规则
或用户指令定义
- `main_loop.py finish -status done` 只负责写回机器状态,不代表 Plan
已完成交付
已完成交付memory 更新或回复摘要也不等同于归档
- Plan `done` 后必须完成当前 Plan 变更的归档/提交,然后才能继续领取下一个
Plan归档方式由项目约定决定
- 收尾顺序:

View File

@ -185,9 +185,9 @@ class SyncTemplatesPlaceholdersTests(unittest.TestCase):
"归档指按当前项目约定创建可回溯的交付记录",
rules_template,
)
self.assertIn("如项目使用 Git", rules_template)
self.assertIn("Git 提交commit", rules_template)
self.assertIn("不是仅更新 memory 或回复摘要", rules_template)
self.assertIn("具体机制由项目本地规则", rules_template)
self.assertIn("或用户指令定义", rules_template)
self.assertIn("memory 更新或回复摘要也不等同于归档", rules_template)
self.assertIn(
"`main_loop.py finish -status done` 只负责写回机器状态",
rules_template,
@ -206,6 +206,8 @@ class SyncTemplatesPlaceholdersTests(unittest.TestCase):
self.assertIn("允许存在其他 session 的未归档改动", rules_template)
self.assertIn("当前 Plan 无遗留差异", rules_template)
self.assertIn("状态已写回,交付未完成", rules_template)
self.assertNotIn("如项目使用 Git", rules_template)
self.assertNotIn("Git 提交", rules_template)
self.assertNotIn("git status", rules_template)
self.assertNotIn("git commit", rules_template)
self.assertNotIn("git worktree", rules_template)