# software-engineering 技能 CHANGELOG ## 说明 本文件新建于 2026-10-31(附录溯源一轨)。此前 SKILL.md 正文(v0.2, 2026-10-30)已引用同目录 `CHANGELOG.md`,但包内并无此文件,因此 v0.1 → v0.2 的 5 个 P0 缺口明细无法从本文件追溯,本文件不编造 那段历史;以下只记录 2026-10-31 起可核实、可复查的条目。 ## 2026-10-31:附录溯源补齐(SKILL.md 未动,零语义改动) 此前缺失:SKILL.md 称附录“由生成脚本从 `templates/roles/` 原样拼接, 见 CHANGELOG”,但包内既无 `templates/`、也无 `CHANGELOG.md`、更无 生成脚本,附录 9 章内容不可验——附录与源不一致时无从发现。 本次补齐: - 新增 `templates/roles/` 下 9 个编辑源文件(`00-coordinator.md` 至 `08-shared-core.md`),内容由现行 v0.2 附录逐章机械拆出:每章源文件 即该章标题行之后的正文(含 00/04/07 章后的 GitHub 小节),仅剥离 章节标题行、章节间分隔符行与首尾空行。SKILL.md 本文件未作任何 改动,因此不存在语义改动;源与附录的对应关系由校验脚本钉住, 今后任一侧改动都会先被校验拦住,而不是悄悄漂移。 - 新增 `tools/check_appendix.py`(仅标准库,不改 SKILL.md):默认 校验模式逐章比对源与附录,源缺失、章节缺失、内容不一致、多余 源文件、CHANGELOG 缺失或未提及 `templates/roles/` 均以非零退出 失败;`--emit` 模式只把拼接后的附录规范形式打印到标准输出,供 编辑者起草参考,绝不是可直接覆盖 SKILL.md 的字节补丁(分隔符与 空行见脚本注释的允许差异清单)。 - 新增 `cloud/tests/test_skill_appendix_provenance.py`:钉住源与附录 一致、源缺失即失败、脚本 `--emit` 输出与源一致。 播种行为不变:`cloud/skill_seed.py` 只复制各技能的 `SKILL.md` 一个 文件,`templates/`、`tools/`、`CHANGELOG.md` 均不进入租户目录(该行 为已由 `test_skill_seed_pinning.py` 钉住,见其“仅复制 SKILL.md”一 项)。因此源文件进技能包不改变租户可见内容:租户任务内仍只能 看到 SKILL.md 随附的附录全文,附录仍是租户侧的权威版本。 ## 已知边界(未改行为,另起设计时再动) - 租户已删 `SKILL.md` 会在下次播种时重建(missing 即复制),这是 现有播种语义,不是删除保留;要保留删除需 tombstone 设计,须另 起一轨,不在本条目悄悄改播种行为。 - 校验的允许差异只有三项:章节标题行本身、至多一枚章节间分隔符 行、标题与章末的空行。现行 SKILL.md 的分隔符并不统一(01/02/03/ 05/06 章后有 `---`,00/04/07 章后无分隔符直接接下一章标题),校验 保留该现状、不强行统一 SKILL.md。 ## 未动项 - SKILL.md 同样引用的同目录 `README.md`(装机路径)未在本条目处理, 仍缺失;本条目只补附录溯源,不扩大范围。 ## 集成基底 v0.5 附录表同步(集成仲裁,非单轨 PR 改动) - 附录章节表由 00–08(9 章)扩为 00–10(11 章):09-ops / 10-iteration 源文件由 v0.5 附录章节机械拆出(与 #217 同款方法, 章节正文逐字取自附录 canonical 形);09/10 章节标题的“,v0.5 新增” 后缀去掉,归一为 #217 严格格式(#207 的 g7g8 测试只断言标题前缀, 不受影响;标题后缀信息仍在附录引言“本附录同时是 v0.5 版的一部分”)。 - 00–08 源文件同步为 v0.5 附录现状:v0.3/v0.4/v0.5 把正文改动同步进 附录章节后,源文件仍停在 v0.2 版,校验在 00/02/04/06/07/08 共 6 处 失配;方向定为源跟随附录(附录是租户侧权威版本,且任务规则禁止 以 v0.2 文本覆盖 v0.5),不是附录退回 v0.2。分隔符现状同步为 01/02/03/05/06/09 章后有 `---`。 - 校验脚本与两份附录测试的 EXPECTED_IDS 同步扩为 11 章;#214 的 “仅复制 SKILL.md”结论不受影响(播种行为未改)。 ## #244 审计段落向 v0.5 的移植(集成时做,移植准备轨 #258 的 §1–§3 为准) - A 矩阵行:插入 QA 行之后、验收行之前(v0.5 矩阵行本身不动)。 - B 主节:插在“失败、续跑与成本”节末、“诚实边界”节首之前; 引言移植警告按 R1 改写为移植注;“与已有回路的关系”按 v0.5 实际回路对齐(G7、全自动在本文件已有定义,注意句相应改写, 全自动下执行人字段口径见集成摘要:full-auto-executor + installation id,签字人与执行人仍须不同);B2、B3 全并, 唯收紧三末段“验收失败导致的推倒要先通知用户”整段停下 (全自动四类回头问用户未含此情形,须用户拍板 (a)/(b),移植轨 不擅自选);B4 QA 全链路整段停下(跨端版与 v0.5 跨视口口径正面 冲突,须视口版重写后再移植);C 只插审计项,QA 项随 B4 停下。 - D 附录章:落为 11-auditor(v0.5 已有 09-ops / 10-iteration, 编号顺延),标题用严格格式,源文件为 `templates/roles/11-auditor.md`(正文与 #258 的 09-auditor 同源); 校验表同步扩为 12 章。§4 的 templates/artifacts 删引用决策 未在集成基底执行(仍待用户拍板),SKILL.md 内 6 处引用原样保留。 ## 集成注(code-to10-integration,#258 段) 以下两节原样引自 #258 提交的 CHANGELOG 条目,记录该提交本身的工作; 其中“09-auditor”源文件在本基底的章节表里编号为 11-auditor(v0.5 表 00–08 + 09-ops + 10-iteration + 11-auditor),内容与 11-auditor 源文件 逐字节一致,故 #258 的 09-auditor.md 未重复落盘;#244 向 v0.5 的实际 移植已在本基底的 #244 段完成,与该提交“未移植”的自述不冲突。 ## 2026-10-31:#244 向 v0.3 / v0.4 / v0.5 的移植准备(未移植) - 新增 `TRANSPLANT-PREP-244.md`:#244 新增段落(+459 行) 向 v0.3、v0.4、v0.5 三份文本的逐段移植 diff 准备、 锚点行号、合并 / 移植注 / 停下三档分级、章节号对应表、 templates/artifacts 二选一决策、草稿同步清单。 本轨不改 v0.3 / v0.4 / v0.5 文本,不声称已移植。 - 新增 `tools/check_transplant.py`:移植检查脚本 (锚点检查、草稿移植、移植后检查三模式,见该文件说明)。 - templates/artifacts 决策(本轨定为删引用,见准备文档): SKILL.md 正文 6 处 `templates/artifacts/` 引用在移植时删除 或改写为正文内联结构,不补模板文件进包、不改播种规则。 本轨不改 SKILL.md 正文,故 6 处引用在本轨包内仍在, 移植检查脚本的移植后检查会把残留引用报为未完成。 ## 已知边界(未改行为,另起设计时再动) - 租户已删 `SKILL.md` 会在下次播种时重建(missing 即复制), 这是现有播种语义,不是删除保留;要保留删除需 tombstone 设计,须另起一轨,不在本条目悄悄改播种行为。 - 校验的允许差异只有三项:章节标题行本身、至多一枚章节间 分隔符行、标题与章末的空行。现行 SKILL.md 的分隔符并不 统一(01/02/03/05/06/08 章后有 `---`,00/04/07 章后无分隔符 直接接下一章标题),校验保留该现状、不强行统一 SKILL.md。 - #244 文本里的“第 1 轨硬门禁”“第 4 轨账本”指审计加固 轨内部的轨号,不是本批“各项指标 9 分以上”的第 1–4 项; 本批第 2 项 attempts-hook、第 3 项 shell 白名单与之无关, 不得混淆(见准备文档)。