diff --git a/templates/AGENT_RULES.template.md b/templates/AGENT_RULES.template.md index 9060e73f..de38b9d3 100644 --- a/templates/AGENT_RULES.template.md +++ b/templates/AGENT_RULES.template.md @@ -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;归档方式由项目约定决定 - 收尾顺序: diff --git a/tests/test_sync_templates_placeholders.py b/tests/test_sync_templates_placeholders.py index 81897934..7ec8cb3b 100644 --- a/tests/test_sync_templates_placeholders.py +++ b/tests/test_sync_templates_placeholders.py @@ -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)