diff --git a/CLAUDE.md b/CLAUDE.md index 6c9b3df5..733d9140 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -60,13 +60,14 @@ 主工作区(本目录,`master` 检出)只作**合并落点与共享状态载体**,一切开发/设计改动不得直接发生在主工作区: 1. **开工**:每个任务批次先建独立 worktree 分支再动手:`git worktree add ../g-plan2-<任务名> -b <任务分支>`。所有代码/文档/数值改动与验证跑测都在 worktree 内进行(注意:未跟踪文件不会出现在新 worktree,需手工搬运) -2. **收尾**:验证全绿(冒烟 + 场景探针)后,在主工作区 `git merge --no-ff <任务分支>` 落回 master,然后 `git worktree remove` + 删分支;合并前先看 active.md 尾部台账,避免与并行会话撞号/漏捎带 +2. **收尾**:迭代 loop 批次在验证全绿(冒烟 + 场景探针;冒烟挂迭代开发完成后的出口/落籍闸)后,在主工作区 `git merge --no-ff <任务分支>` 落回 master,然后 `git worktree remove` + 删分支;合并前先看 active.md 尾部台账,避免与并行会话撞号/漏捎带。非 loop 批次收口跑闸与否按「测试执行两入口铁规」(见硬性红线):默认不跑,用户点名或当场问 3. **豁免面(仅这两处允许主工作区直改)**:根目录 `active.md`(会话收口)与 `.zcode/`(钩子配置)——其余一律走 worktree;主工作区 `git commit` 会被钩子直接拦截 4. 本铁律由 PreToolUse 钩子 `.zcode/hooks/worktree-guard.sh` 强制兜底;钩子只约束 agent 侧,用户本人手工改动不受限 ## 硬性红线(勿违反) - **worktree 铁律**:主工作区禁止直接改动与提交(细则见上节;并行会话各占 worktree 互不踩踏) +- **测试执行两入口铁规(2026-10-02 用户立规)**:测试类执行——冒烟测试、单元测试(tests/run_all)、模拟验证(MC/verifier/调参批量工具)、场景探针等一切跑游戏的验证调用——只有两个触发入口:①**迭代 loop 开发**(冒烟挂迭代开发完成后的出口/落籍闸,loop 内过程性验证属开发工作本身);②**用户主动点名**。除此之外(问答/调研/文档/审查/零散小改等短小会话)一律零测试,不得擅自调用任何测试;确需测试支撑结论时先请示,以静态阅读/推理作答并注明未跑测 - **中间产物吸收即死(2026-10-01 立规)**:中间文档(批任务书/机检报告/调研审计报告/模拟读数/迭代计划书/目检清单)寿命=迭代寿命——结论先吸收进正主文档、未决项先迁 `design/gdd/06-待办清单.md` 或 roadmap,然后文件即删,且永不提交 git;活文档=唯一事实源,git=变更记录。细则见 `design/dev/doc-conventions.md` 第 11 节 - **数值单一事实源**:玩法数值只存 `data/tables/`(.tres),经 `ConfigDB` autoload 类型化单点读取;禁止数值字面量与自建 `load()` 表路径