diff --git a/design/engineering/architecture/architecture.md b/design/engineering/architecture/architecture.md index e044f528..2c04a094 100644 --- a/design/engineering/architecture/architecture.md +++ b/design/engineering/architecture/architecture.md @@ -226,7 +226,7 @@ | **git pre-commit 钩子** | `tools/hooks/pre-commit`(版本化本体,`core.hooksPath` 挂载;在位性由 run_all_gates.sh 跑批自检——失位即红) | 直改车道闸机检:staged 不含代码面的提交,提交点现场跑 `run_all_gates.sh --docs`(秒级文本扫描),绿落地红拦;staged 含代码面时主工作区=拦(代码面唯一合法路径=worktree 批合回)、任务 worktree=跳过(归批末闸+合回闸,不打扰迭代批中间提交) | staged 文件性质+主区/worktree 判定(git-dir 与 common-dir 同一=主区) | | **worktree-guard**(ZCode PreToolUse) | `.zcode/hooks/worktree-guard.sh`(本机件,不入 git) | agent 侧车道纪律:主工作区代码面的 Edit/Write 与 staged 含代码面的 commit 拦截;`git commit --no-verify` 拦截(该旗标仅属用户);合回闸回执六况校验 | 路径性质+分支名+回执 JSON+git 图 | -取舍依据:失败代价不对称——docs 红是死链/术语/格式,下次任何跑批对基线比对必暴露、秒级修复,故文档面轻执法(commit 点闸、无回执流程);代码面红是运行时行为坏,保留「worktree+批末域闸+回执硬绑定」全套。git 层钩子对一切提交者生效(含用户手工提交,紧急出口 `--no-verify`);ZCode 层只约束 agent。 +取舍依据:失败代价不对称——docs 红是死链/术语/格式,下次任何跑批对基线比对必暴露、秒级修复,故文档面轻执法(commit 点闸、无回执流程);代码面红是运行时行为坏,保留「worktree+批末域闸+回执硬绑定」全套。git 层钩子对一切提交者生效(含用户手工提交,紧急出口 `--no-verify`);ZCode 层只约束 agent。子代理覆盖面(2026-10-26 冷启动评估实测):子代理的工具调用不经过 ZCode 层守卫(代码面 Edit 未被拦、`--no-verify` 探针未被拦)——ZCode 层实际只覆盖主会话工具调用,git 层因此是唯一覆盖一切提交者的执法层;残余暴露面=蓄意 `--no-verify`(pre-commit 族钩子被该旗标整族跳过,git 层无法自防),属故意越权而非遗忘型失误,与防遗忘的设计目标正交。 ### 三条判定硬闸现行状态 diff --git a/reports/工程改动报告-车道铁律-2026-10-26.md b/reports/工程改动报告-车道铁律-2026-10-26.md index f6e03f9d..d43a9079 100644 --- a/reports/工程改动报告-车道铁律-2026-10-26.md +++ b/reports/工程改动报告-车道铁律-2026-10-26.md @@ -35,7 +35,7 @@ ## 评估(真实任务) 1. **重量减轻(已测)**:本报告=新规后第一个真实直改提交——动作数 2(写文件→add+commit,闸自动),对照旧流程 8 动作(建 worktree→搬运→改→跑闸→冻结件核→并 master→merge→删区)。 -2. **冷启动 AI 检验(待用户开新会话)**:布置一次真实小文档改动+一次造红修红,观察冷 AI 不建 worktree、零游戏测试、红后动作收敛于修红重提。 +2. **冷启动 AI 检验(已完成——2026-10-26 用户裁以子代理代行,提示词仿当日真实批令口吻)**:全过——零 worktree、零游戏测试、零手动跑闸(闸全部由 commit 点钩子自动跑,共 3 次 2 绿 1 红)、造红被拦后读日志定位红因→清理→无扩大测试。附带真发现:代码面两处陈旧 `design/research` 注释指针(shop.tres:98、tile_palette.gd:11,见核查记录)留待工程车道。**架构发现**:子代理工具调用不经过 ZCode 守卫层(代码面 Edit 未拦、`--no-verify` 未拦)——git 层是唯一全提交者执法层,正常提交路径全被拦;残余暴露面=蓄意 `--no-verify`,已在 architecture.md 车道节登记。 3. **game/ 车道零扰回归(待下一迭代批)**:定义入库提交约 +6s(预期)、代码提交零打扰、合回闸行为不变,记入该批实现报告。 ## 边界与遗留