From 43fcf02c253deba62780af28a2c657a056137d23 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 5 Aug 2026 19:35:13 +0000 Subject: [PATCH] =?UTF-8?q?docs(os-dev):=20=E8=87=AA=E6=89=AB=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E7=B1=BB=E8=A1=A5=E4=B8=8A=20DEL,=E4=B8=8E=20#5460=20?= =?UTF-8?q?=E6=89=A9=E9=9D=A2=E5=90=8E=E7=9A=84=E9=97=A8=E7=A6=81=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E9=9D=A2=E5=AF=B9=E9=BD=90=20(#5484)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `.claude/agents/os-dev.md` 的 Byte discipline 段要求 dev agent 在改动涉及 控制字符时「self-scan beyond the gate」,给出的字符类却停在 #5157 时代的 扫描面(C0 减 tab/LF/CR)。#5460(PR #5479)已把 `check:nul-bytes` 的扫描 面扩到含 DEL(0x7f),该指令未跟 —— 于是它成了门禁的真子集:agent 写下一枚 0x7f,按指令自扫绿,推上去 CI 红,把本可本地一秒发现的问题推迟整个 CI 轮次, 恰好在这条指令唯一被设计来防的场景里给出假绿。 改动一行,字符类与门禁脚本头的 `[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]` 一致。 「同一事实手抄三处」的单源化根治方向留在 #5484 正文,不在本单实施。 Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01GX3sL71LFq8m2usg6VqTSE --- .claude/agents/os-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.claude/agents/os-dev.md b/.claude/agents/os-dev.md index caeec995ee..193a16a5c2 100644 --- a/.claude/agents/os-dev.md +++ b/.claude/agents/os-dev.md @@ -271,7 +271,7 @@ binary: zero matches, no signal, and the rule you just wrote becomes invisible to every agent that greps for it. Run `node scripts/check-nul-bytes.mjs` before pushing, and when your change so much as *mentions* control characters, self-scan beyond the gate -(`grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f]' `) — the gate's blind +(`grep -naP '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]' `) — the gate's blind spots are exactly where these bytes hide. The GitHub body sanitizer is the same discipline's other half: it strips `<`