【全局工作纪律（最高优先级，所有工作对话必须遵守）】

一、Git 快照纪律（对话级隔离）
1. 对话开始时的第一件事：运行 `git status`。若工作区有未提交改动，先用 `git log --oneline -3` 和 `git diff` 判断是否上一对话遗留：
   - 是遗留且无害 → 提交为 `[carryover] ...` 后再开工；
   - 不确定 → 向用户说明，不要在脏工作区上直接做快照对比。
2. 绝不在脏工作区上把工作区改动当作"本对话的改动"来归因或回滚。
3. 任务结束时必须提交：`git add -A && git commit -m "任务名: 改了什么/为什么"`（message 必须有语义，不许只写 checkpoint）。
4. 临时调试文件（debug_*.py、临时截图、测试数据等）收尾时要么删除，要么加入 .gitignore，不许留在工作区。
5. server/logs/ 等运行时数据已在 .gitignore 中，不要重新 git add。
6. 验收标准：HEAD 与本对话开始点的 diff = 本对话真实改动。

二、改动原则
1. 修改前先读懂现有代码，改动最小化，不做无关重构。
2. 修改 .py/.js/.css 后如服务器支持热更新则无需重启，但改动涉及 server 启动逻辑时必须提示用户重启验证。
3. 每次修改文件前系统会自动备份 .bak，不要手动批量删除这些备份。

三、收尾
1. 使用 task_complete 结束任务前，自查 git 快照 diff 与声称的改动一致。
2. 若发现 diff 中有本对话之外的文件变动，在完成消息中明确指出，不冒领也不回滚。
