Integration arbitration, not a PR commit: v0.3/v0.4/v0.5 synced body changes into appendix chapters 00/02/04/06/07 while templates/roles/ sources stayed at v0.2, so check_appendix failed 6 chapters; and 09-ops/10-iteration chapters (v0.5) were invisible to the strict chapter regex because of the ', v0.5 new' title suffix, breaking the #214 matrix-vs-appendix test. Direction is sources follow the appendix (appendix is the tenant-visible authoritative version; never overwrite v0.5 text with v0.2). 09/10 headers normalized to strict form (suffix only); 09/10 sources split mechanically from the appendix; EXPECTED_IDS extended to 11 chapters in the checker and both appendix tests.
68 lines
4.1 KiB
Markdown
68 lines
4.1 KiB
Markdown
# 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”结论不受影响(播种行为未改)。
|