Files
codex-app-server/cloud/skills/software-engineering
host a433460343 audit: unify audit-of-audit sampling rule (gap 2)
Single sampling rule; track 3 (#244) is authoritative for WHO is
mandatory, track 5 (#238) for HOW the rest are drawn:

- Mandatory (1.0): golden-task records + rebuild / refreeze /
  escalation records + third-failure near-complete still-failed
  cases (mandatory_triggers, full list per case). Track 3's old
  deterministic every-10th ordinary rule is removed (it drew zero
  from batches under 10 ordinary records and was predictable);
  track 5's old narrow mandatory list is expanded with golden /
  refreeze / escalate. blocked_quota stays non-mandatory.
- Random tiers: normal 0.10, critical-path 0.50, seed required
  and recorded, ceil so a non-empty group is never rounded to
  zero. 0.10/0.50 are TEST DEFAULTS, not approved production
  values; production rates remain a user decision.
- One pass, no double counting: mandatory records leave the
  random pools before drawing; a multi-trigger record (e.g.
  golden + rebuild) is sampled once with all triggers listed,
  and its correction follows the (original, corrected) verdict
  pair, never the trigger list.
- cloud/audit_pushback.py::select_audit_sample is now only a
  record-shaped adapter over cloud/audit_sampling.py::select_sample
  (seed required, retired reason names critical_path-for-kinds
  and periodic_sample removed); AUDIT_SAMPLE_EVERY_NTH deleted.
- Correction: original never mutated, correction appended,
  corrector != signer enforced in audit_sampling when both names
  are supplied; gate effect pinned (correction to pass never
  unblocks by itself -- schedule/cancel-and-rerun, blocked until
  a new passing re-audit; correction to fail re-blocks at once).
  Track 3 / track 5 retrigger vocabularies documented as synonyms.
- Skill text (tightening 3 item 2 + correction paragraph)
  rewritten to the unified rule; new test file pins the
  boundaries (mandatory union, dedup, ceil incl. the 9-record
  case, seed reproducibility, golden-set construction under both
  sample vocabularies, adapter order/non-mutation, correction
  preservation on both tracks).
2026-11-03 02:49:25 +00:00
..

software-engineering 技能包说明

本文件是源码包的导航与装机说明,不是技能规则本身。 规则只在 SKILL.md 里,改规则只改 SKILL.md;本文件不复述 门禁、角色细则与校验规则,复述就会漂移。

版本与状态以 SKILL.md 文首为准:v0.2,2026-10-30,草稿; 其文首自述未提 PR、未部署生产、未改任何生产代码。 本文件只补说明,不改规则、不合并、不部署。

用途

面向“从零做一款软件、尤其是要同时做 web、macOS、Windows、 iOS、Android 多个客户端”的任务:按产品规划、产品设计、架构契约、 多客户端并行开发、联调测试、验收的顺序,用协调员任务派生角色线程 推进,契约冻结后各客户端只在自己目录内开发,最后走评审合并与用户验收。

用与不用的判定只在 SKILL.md 的“何时用 / 何时不用”两节, 本文件不另立标准。只做单文件小改动、只问概念时不用本技能, 这是 SKILL.md 的原话指向,不是本文件的补充规则。

包内文件一览

源码位置是 cloud/skills/software-engineering/,包内文件如下:

  • SKILL.md:唯一规则权威,含正文与文末附录随附版。
  • README.md:本文件,导航与装机说明,不进入租户。
  • CHANGELOG.md:变更时间线,见下文“与 CHANGELOG 的分工”。
  • templates/roles/:附录的 9 个编辑源,见下文“附录溯源”。
  • tools/check_appendix.py:附录校验脚本,只校验,不改 SKILL.md。

SKILL.md 章节结构(只列名,不复述规则)

正文节:

  • 何时用 / 何时不用
  • 核心原则(协调员和所有角色线程都必须遵守)
  • 阶段 DAG(不是所有线程同时开,是按门禁、分阶段开)
  • 门禁表
  • 接单选型:协调员第一件事是问,不是写代码
  • 角色线程矩阵
  • 协调员派生子任务的必填字段
  • 待办机制(不依赖提示词注入)
  • 契约冻结与变更协议
  • 目录与分支规则
  • GitHub 保证(每线程一分支、一 PR、一合并门),下含分支、 PR 交付、合并门、合并方式与合并记录、发布与回滚、 安全六个小节
  • 测试与验收
  • 失败、续跑与成本
  • 诚实边界:原生客户端
  • 校验(协调员每过一个门禁自查一次)

附录节:

  • 附录:角色模板(播种随附版),下含 9 章附录角色, 每章标题注明其来源文件,见下文“附录溯源”。

附录溯源

附录 9 章的编辑源在 templates/roles/ 下,文件与章一一对应:

00-coordinator.md、01-product-manager.md、02-architect.md、 03-designer.md、04-client-developer.md、05-backend.md、 06-qa.md、07-acceptance.md、08-shared-core.md。

校验入口(仓库根目录执行):

python3 cloud/skills/software-engineering/tools/check_appendix.py

该脚本默认校验模式逐章比对源与附录;--emit 模式只把拼接后 的附录规范形式打印到标准输出,供编辑者起草参考,绝不是可直接 覆盖 SKILL.md 的字节补丁。校验的规范形式、允许差异与失败条件 以脚本注释为准,本文件不另抄一份;补齐的时间线见 CHANGELOG.md。 任一侧改动都应先被校验拦住,而不是悄悄漂移:改附录先改源, 再按技能轨重发附录,脚本本身不替编辑者改 SKILL.md。

播种行为

装机路径(SKILL.md 文首原话指向):

  • 源码位置:cloud/skills/software-engineering/SKILL.md
  • 播种后租户内位置:<codex-home>/skills/software-engineering/SKILL.md

播种实现是 cloud/skill_seed.py,本段只是其摘要,冲突以实现 与测试为准:

  • 只复制各技能的 SKILL.md 一个文件;README.md、CHANGELOG.md、 templates/、tools/ 均不进入租户目录。
  • 目标缺失则复制;目标与源码相同则不动;目标已被租户改动 (内容不同)则绝不覆盖,记入 skills_skipped_differ 并原样保留。
  • 包内某技能目录缺 SKILL.md 时跳过,不凭空捏造。
  • 因此租户任务内只能看到 SKILL.md 随附的附录全文,附录仍是 租户侧的权威版本;本文件与附录源只在源码包一侧可见。

删除行为按现行实现写,不按设想写:租户已删 SKILL.md 会在 下次播种时重建(missing 即复制)。删除保留机制见 tombstone 设计, 行为以 skill_seed 实现为准。

与 CHANGELOG 的分工

同一说明只落一处,本文件与 CHANGELOG.md 不复制粘贴同一份说明:

  • README.md(本文件):包是干什么的、文件都在哪、从哪验证、 播种后租户能看到什么。回答“怎么找到、怎么核对”。
  • CHANGELOG.md:何时补了什么、此前缺什么、缺的那段历史是否 可追溯。回答“这包经历了什么变化”。此前 v0.1 → v0.2 的 5 个 P0 缺口明细因当时无此文件而无法从本文件追溯,CHANGELOG.md 开篇已明说不编造那段历史;2026-10-31 起的附录溯源补齐条目 记在那里,不重复抄到本文件。
  • SKILL.md:规则本身,唯一权威。
  • tools/check_appendix.py 的注释:校验的规范形式权威。
  • cloud/skill_seed.py 及其测试:播种行为权威。

改规则改 SKILL.md,改溯源记录改 CHANGELOG.md,改校验规则 改脚本注释与对应测试;本文件只在导航、路径或分工本身变化时才改。

已知边界

  • 本轨只补说明:不改 SKILL.md 正文语义,不改任何规则, 不改播种行为,不合并,不部署。
  • 租户已删 SKILL.md 会重播种,见上文“播种行为”;删除保留 未落地为实现,不以本文件声称已实现。
  • 附录分隔符不统一的现状与校验处理见 CHANGELOG.md 与脚本注释, 本文件不另行规定、不强行统一 SKILL.md。
  • SKILL.md 正文还提到 templates/artifacts/ 下的模板名 (PRD 大纲、接单问卷、验收清单);本包 templates/ 目前只有 roles/,artifacts 模板不在本轨补齐范围,本文件不声称它们已存在, 引用状态以 SKILL.md 原文为准。
  • 播种落盘与 skills/list 发现已验证;任务内模型实际调用技能 尚未验证,本文件不声称已验证(见 cloud/skill_seed.py 的 honest boundary 注记)。