Files
codex-app-server/cloud/skills/software-engineering/CHANGELOG.md
T
host c4f9199701 docs(skill): transplant prep for #244 audit additions into v0.3/v0.4/v0.5
Preparation only: no v0.3/v0.4/v0.5 text is changed, nothing is
claimed transplanted or deployed. Stacked on feat-audit-pushback
(#244, 39966bd).

- Appendix provenance 00..09: templates/roles/00-08 sources
  (byte-identical to #217) plus 09-auditor extracted from #244's
  appendix; check_appendix.py extended 00..08 -> 00..09.
  SKILL.md sole change (1 line, format-only): 09 chapter heading
  normalised to the strict source form, otherwise the #217
  checker cannot recognise the chapter. check_appendix.py passes
  on the real pack: 10 chapters match; --emit outputs 10 chapters.
- TRANSPLANT-PREP-244.md: per-paragraph transplant diffs for
  #244's +459 lines into v0.3/v0.4/v0.5 with anchors, grades
  (merge / merge+note / partial stop / full stop), chapter-number
  mapping (v0.5: 11-auditor, colliding 09-ops noted), the
  templates/artifacts delete-references decision with 6 sites and
  replacements, and the draft-sync checklist (sync itself is
  post-deployment only, not done here).
- tools/check_transplant.py: anchors / draft-apply /
  check-transplanted modes; draft-apply on the real v0.3/v0.4/v0.5
  texts passes check-transplanted (drafts in /tmp only, not
  committed). Stopped paragraphs are listed, never silently
  rewritten: v0.3 G7/full-auto sentences, v0.4 G7 sentences and
  the tighten-3 pre-rebuild confirmation, v0.5 whole QA section
  plus its checklist item and the confirmation paragraph.
- Tests: test_skill_appendix_provenance.py (00..09) and
  test_skill_transplant_prep.py; 13 new tests pass.
  Suites on this tree: cloud 1523 OK (skipped=4), top-level 105
  OK, deploy 39 OK.
2026-11-04 20:58:34 +00:00

123 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 白名单与之无关,
不得混淆(见准备文档)。