清理"思维链泄漏"类文案——死设计会话引用((决策 N)、审计码、草稿 §N、T4/P-I 阶段标签)、PR/栈视角("这个 PR 加了…")、变更叙述("以前/不再/旧版/这版")、评审对白("评审中否了…")、控制流叙述、含糊推迟("大概够用/应该够了")、夹带的工作语言残留。触发:审阅/清理注释、JSDoc、docs、AGENTS.md、CHANGELOG、i18n 文案里读起来像推理过程泄露的文字。
Recursos
1Instal·la
npx skillscat add muselinn/musepi/musepi-trim-cot-leakage Instal·la des del registre de SkillsCat.
SKILL.md
清理思维链泄漏
思维链泄漏是视角停留在写作会话、而不是仓库现状的文案:引用了只有那次会话才看
得见的产物,叙述"变更"而不是"状态",或在对一个早已离开的评审者辩解。修复从来不是
只删——一段文字带有事实分句时,把每个事实改写成在 HEAD 上成立的说法,再删掉周围的
转写;一个事实分句都不带的(审计码、控制流叙述)直接整段删。必读背景:skill://musepi-prose-standard 持有本 skill 套用的完整命题规则。这是指导,不是脚本。
唯一检验
对每个可疑段落问:一个只读 HEAD(仓库现状 + git 历史)的读者,能否解开每个引用、
验证每个论断? 不能 → 把存活的实情改写成仓库视角的说法,删掉其余。能 → 不是泄漏,
无论多像历史——但"可解析"只过本 skill 的杠:在现状面上(README、docs、JSDoc)可
解析的变更故事仍是变更叙述,按分类 3 归位。
分类
- 死设计会话引用 ——
(决策 7)、(审计 C2)、设计 §4.7、方案 §1.4、阶段标签
(T4、W3、P-I)、"设计台账"、"(B 裁定)"。该决策有已提交的归属者就按名和路径
引用,否则删掉引用并把事实分句改写成独立成立。 - PR/栈视角 —— "这个栈里后面的 PR"、"本 PR 新增"、"上一个 commit"。写已落地的
机制或扩展点;未竟工作移到TODO标记或 issue。 - 变更叙述与版本戳 —— "以前/不再/旧的 X"、"这版/v1/今天/现在"(与过去对比)。
写当前行为;已修复的回归写成现在时反事实("没有 X 就会发生 Y"),绝不写成仓库
历史("以前会 Y")。 - 评审对白 —— "评审中否了:"、"评审者确认了"、草稿序号("本 note 的 v5")、
轮次归属。把存活的决定与理由写成普通事实,删掉谁在何时说的。 - 向评审者自辩 —— "这转换是安全的——它只是…"、"这是对的因为…"。一条注释自证
其正确,是在跟评审者说话,不是在跟维护者说话。写出让代码安全的那个不变量,或
代码已自明就整条删。 - 复述与推导转写 —— 控制流叙述("先 X 再 Y")、测试走查、显然分支的证明。
删;只留非显然的契约或不变量。 - 含糊与计划残留 —— "暂时大概没问题"、"应该够了"、没有标记的推迟。提升为
TODO/FIXME或写成实际边界;删掉含糊本身。 - 写作语言残留 —— 中英混排里的工作语言碎片(
端、设计稿、---- 私有 ----
分隔符)。翻译或删除。
什么不算泄漏(保留)
- issue 引用 ——
#1234、TODO(name):、issue #N owns the follow-up在 HEAD
上可解析,任何面都保留,包括 README。 - 已合并 PR 引用 —— 在 CHANGELOG 和 postmortem 里是佐证(CHANGELOG 本来就是
变更史)。docs/现状文不引 PR 号。 - 抑制理由 —— biome/oxlint-disable 的 reason、coverage-ignore 理由、空 catch
的解释是必需文案:修正假理由,绝不删。 - 现在时反事实回归钉 —— "没有 X,Y 就发生"、"naive 的 X 会…"。
- 实测边界 ——
(实测: 512 层嵌套 ≈ 0.15s);"实测"这个词是有载重的。 - 运行时新旧对象 —— "旧连接排空后新连接才接受"是运行期生命周期,不是变更历史。
- 仓库外的按设计引用 —— RFC 9110 §10.1.5、Figma 框名;§-禁令针对未提交的内部
草稿,不针对外部标准或自有 §-编号的已提交文档。 - 项目语态与体裁形式 —— "我们"作为项目语态。
工作流
- 范围:先要求明确 scope,不推断全仓;
musepi-prose-standard定义排除项——
不动vendor/、node_modules/、录制产物/快照(录制输出保留原声)。 - 先只读审计:跑 recall batteries(带
--hidden
搜.omp/、.agents/、docs),再对每个命中做语义判断。batteries 是探针不是定义,
所以还要不带模式通读范围内最密的文案(模块 JSDoc、README、docs、prompt .md)。 - 按归属者修:生成的目录 → 改生成器再重生成(
models.json改scripts/generate-models.ts后bun run gen:models);i18n 域文件 → zh/en 同步改;
模型可见字符串 → 措辞即行为,走 snapshot 支撑的变更而不是悄悄改写。 - 删之前列命题(
skill://musepi-prose-standard),并查过度修正陷阱
(examples):把义务改成背书、把假设说成已发布功能、
删掉真事实、丢掉来源——都是要防的。 - 验证:重跑 batteries,期望只剩正当保留;确认每个留下的引用在 HEAD 可解析;
对触碰的面跑相关门禁(bun check、相关测试、bun run gen:models若动目录)。