背景
当前 source-regression tests / banner filters / forbidden-token lists / comment filters 大量直接 grep 中文字面(e.g. `"ensure all 5 daemons"`、`"需-maintainer-决策"`、`"## 🤖"` + 后续中文段标题)。一旦把面向人的文案切换到英文(或反之),所有这些检测会:
- 假绿(检测目标找不到了,跳过)
- 假红(detector 期望的字面不在新语言里)
初步 grep:~52 处 NL-anchored detection site(只统计了几个高频 token)。
目标
把"程序检测"和"人类文案"解耦,使中英文一键切换不影响:
- 共识引擎(marker / sentinel / truth-table)
- daemon/controller 守恒(allowlist / forbidden-token / lifecycle 边界)
- Phase 0/9 fixed-point 检测
- Comment / banner 识别
不可动
- marker 词表(`SOLVER_DONE`/`META_JUDGE_DONE`/...)— 已经 language-agnostic
- sentinel `⟦AI:AUTO-LOOP⟧` — 已经 language-agnostic
- 真值表 / Phase routing / 3/3 unanimous
可以砍 / 替换
- `test_ensure_project_rules_fixed_points.py` 字面断言中文段标题 → 改断言 marker token / heading ID / 结构 anchor
- banner filter `## 🤖` + 中文文字 → 改纯 emoji prefix(已经 emoji-only 可工作)+ 用 sentinel 做权威识别
- forbidden token list `"ensure all 6 daemons"` → 改抽象 invariant ID(e.g. `DAEMON_COUNT_DRIFT`)
- 中文 banner role 推断(reviewer/judge/...)→ 改 marker role suffix 推断
验证标准
- 全部 skill 文档可切换到 English(或反之)而不破 behavior test / source-regression test
- 共识引擎语义零变更
- detection 覆盖率不降
- Token 总量大致不变(目标是 detection-loose-coupling,不是减量)
Phase 9 framing
- minimal: 逐 detection site 把中文字面改成 marker / token / emoji / heading-id anchor,不引入新抽象
- structural: 引入 `DetectionInvariantV1`(invariant_id + canonical anchor list,language-agnostic),所有 detector 通过 invariant_id 查
- delete: 删除不必要 detection,改靠 schema / exit code / marker 推断;只保留 invariant 必须的最小集
⟦AI:AUTO-LOOP⟧
背景
当前 source-regression tests / banner filters / forbidden-token lists / comment filters 大量直接 grep 中文字面(e.g. `"ensure all 5 daemons"`、`"需-maintainer-决策"`、`"## 🤖"` + 后续中文段标题)。一旦把面向人的文案切换到英文(或反之),所有这些检测会:
初步 grep:~52 处 NL-anchored detection site(只统计了几个高频 token)。
目标
把"程序检测"和"人类文案"解耦,使中英文一键切换不影响:
不可动
可以砍 / 替换
验证标准
Phase 9 framing
⟦AI:AUTO-LOOP⟧