devx 车道 PM 立单(会话 session_01GX3sL71LFq8m2usg6VqTSE),来自 #5579 实施报告的建议,查重零命中(单源/single-source/字符类 检索仅两条无关命中)。未指派,交分诊定级。
现状
字节纪律的字符类今天存在两处手抄:
该族漂移今天已经付了两次:#5577(自扫字符类缺 \x7f,门禁侧早已纳入)与 #5579(危害论证只搬了对 NUL 成立的那条)。#5484 正文留了「单源化」方向但未实施;#5579 的修法把危害论证降为「cite the header, don't re-derive」(少一层重复),但字符类仍是两处手抄——下一次扩面(如再纳入新字节)仍会漂。
建议(#5579 dev 提案,PM 认为方向成立)
做成门禁断言而非 codegen:在 check-nul-bytes.mjs --self-test 里加一条,断言 .claude/agents/os-dev.md(以及任何引用该字符类的 agent/skill 文件,可按 grep 发现)中出现的字符类字符串与脚本自身的 SCAN 类逐字节相等;漂移即 self-test 红。
理由:
边界
关联
#5484(单源化方向的留档处)、#5577(字符类漂移第一例)、#5579(危害论证漂移 + 本提案出处)、#5157/#5460/#5461/#5479(扫描面演进史)。
devx 车道 PM 立单(会话
session_01GX3sL71LFq8m2usg6VqTSE),来自 #5579 实施报告的建议,查重零命中(单源/single-source/字符类检索仅两条无关命中)。未指派,交分诊定级。现状
字节纪律的字符类今天存在两处手抄:
scripts/check-nul-bytes.mjs的 SCAN 正则(权威侧,check:nul-bytes 只扫 NUL(0x00)—— 0x01-0x08 等控制字节不在扫描面,#5140 实测一个 0x01 会从 NUL-only 修复下溜走 #5157/chore(scripts): the raw-byte gate scans the whole C0 control set, not only NUL (#5157) #5461/chore(scripts): 门禁扫描面纳入 DEL(0x7f),并转义 login.ts / register.ts 各一枚裸字节 (#5460) #5479 逐步扩到 C0+DEL);.claude/agents/os-dev.md「Byte discipline」段的自扫命令行(指令侧)。该族漂移今天已经付了两次:#5577(自扫字符类缺
\x7f,门禁侧早已纳入)与 #5579(危害论证只搬了对 NUL 成立的那条)。#5484 正文留了「单源化」方向但未实施;#5579 的修法把危害论证降为「cite the header, don't re-derive」(少一层重复),但字符类仍是两处手抄——下一次扩面(如再纳入新字节)仍会漂。建议(#5579 dev 提案,PM 认为方向成立)
做成门禁断言而非 codegen:在
check-nul-bytes.mjs --self-test里加一条,断言.claude/agents/os-dev.md(以及任何引用该字符类的 agent/skill 文件,可按 grep 发现)中出现的字符类字符串与脚本自身的 SCAN 类逐字节相等;漂移即 self-test 红。理由:
边界
scripts/check-nul-bytes.mjs(os-dev.md「Byte discipline」段陈述的危害只对 NUL 成立,却写成对整个字节类成立 —— agent 自扫命中后可据此把 CI 红判成误报 #5579 那单明确划为不动的一侧,故单开);关联
#5484(单源化方向的留档处)、#5577(字符类漂移第一例)、#5579(危害论证漂移 + 本提案出处)、#5157/#5460/#5461/#5479(扫描面演进史)。