From 88914222b6f970cee219583b4c92642c47d64134 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Mon, 26 Oct 2026 03:52:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E7=A8=8B(=E8=BD=A6=E9=81=93=E9=93=81?= =?UTF-8?q?=E5=BE=8B):=20=E8=AF=84=E4=BC=B0=E4=BA=8C=E7=BB=93=E6=9E=9C?= =?UTF-8?q?=E8=90=BD=E6=A1=A3=E2=80=94=E2=80=94=E5=AD=90=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E5=86=B7=E5=90=AF=E5=8A=A8=E5=85=A8=E8=BF=87=EF=BC=9B=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E5=AE=9E=E6=B5=8B=EF=BC=9A=E5=AD=90=E4=BB=A3=E7=90=86?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E8=B0=83=E7=94=A8=E4=B8=8D=E7=BB=8F=20ZCode?= =?UTF-8?q?=20=E5=AE=88=E5=8D=AB=E5=B1=82=EF=BC=8Cgit=20=E5=B1=82=E4=B8=BA?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E5=85=A8=E6=8F=90=E4=BA=A4=E8=80=85=E6=89=A7?= =?UTF-8?q?=E6=B3=95=E5=B1=82=EF=BC=88=E8=93=84=E6=84=8F=20--no-verify=20?= =?UTF-8?q?=E4=B8=BA=E6=AE=8B=E4=BD=99=E6=9A=B4=E9=9C=B2=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E7=99=BB=E8=AE=B0=20architecture=20=E8=BD=A6=E9=81=93=E8=8A=82?= =?UTF-8?q?=EF=BC=89=EF=BC=9B=E5=AE=88=E5=8D=AB=E6=97=97=E6=A0=87=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E6=94=B9=E6=89=AB=20-m=20=E5=89=8D=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=8C=BA=EF=BC=88=E6=B6=88=E6=81=AF=E6=8F=90=E5=8F=8A=E6=97=97?= =?UTF-8?q?=E6=A0=87=E5=90=8D=E8=AF=AF=E6=8B=A6=EF=BC=8C=E5=AE=9E=E6=B5=8B?= =?UTF-8?q?=E8=B8=A9=E4=B8=AD=E5=8D=B3=E4=BF=AE=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design/engineering/architecture/architecture.md | 2 +- reports/工程改动报告-车道铁律-2026-10-26.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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(预期)、代码提交零打扰、合回闸行为不变,记入该批实现报告。 ## 边界与遗留