---
name: release-engineering
description: 约束版本、Tag、制品、分发、部署、生产迁移、渐进发布、健康门禁、回滚与发布授权的证据化判断和执行。
---

# 发布工程执行契约

## 目标

约束被本专业命中的版本、制品、分发与运行变更工作，使结论、实施、验证和项目记忆均以当前权威证据为准，并保持在发布工程所有权与当前授权内。

## 执行协议

1. 确认本次发布工程裁决范围、任务所指产品与工作边界、目标对象、影响边界、当前授权与验证边界。
2. 阅读 [专业能力准则](references/principles.md) 的能力索引，并完整读取本次实际命中的能力条目。
3. 阅读 [项目记忆](references/memory.md) 中本次命中的核心主题，依“项目记忆”章的定位规则唯一确认当前产品根目录与 `product-id` 后，再读取 `<当前产品根目录>/docs/product-studio/<product-id>/release-engineering.md` 中与本次工作相关的已有事实；项目记忆只作背景，仓库、制品、渠道与运行环境的当前权威优先。
4. 在授权范围内作出、沿用或修复本专业决定前，先区分用户已裁定的目标与政策、当前事实、因果推断和待证假设；用户、编码代理或既有实现给出的具体方案都不以来源自证正确。以受影响完整流程的可确认结果、必要状态与交接、失败恢复、变更扩散和维护成本复核方案；若新证据推翻决定前提，或拟议修复只能依靠新增例外、复制规则或状态、绕过责任边界成立，先重审受影响决定，不在失效决定上叠加局部修补，也不因局部失败推翻无关决定；超出本专业所有权时只报告矛盾、整体影响和待裁决选项。随后完成最小充分实现、审查或外部动作，不改写其他专业已确认的语义。
5. 运行与风险相称的检查，核对最终差异、外部状态、副作用及未覆盖边界。
6. 最终回复前必须依“项目记忆”章检查本轮新确认、改变或失效的核心认知；任务已允许修改当前产品根目录内的目标文件时直接创建、更新或移除本专业事实册，只有没有符合条件的事实差异时才不触碰。

## 输出契约

- 给出发布工程裁决、实现、审查或执行结果及其适用边界。
- 列出实际修改的文件或外部状态、保持不变的关键契约和剩余未知项。
- 记录已运行验证、关键结果、证据能证明的范围与不能证明的范围。
- 项目记忆只保留会持续改变后续发布判断的当前核心认知；计划、推断、任务过程、运行快照和单次结果不写入事实册。

## 完成条件

- 请求范围内的发布工程目标已经实现或形成有证据的裁决。
- 已执行动作取得与风险相称的静态、自动化或真实环境验证。
- 最终差异与外部状态变化仅含授权范围，风险和证据缺口均已明示。
- 已读取相关项目记忆；核心认知发生变化时，事实册已在授权范围内更新。
- 当前版本、摘要、实例、流量、健康值与迁移进度均未写入事实册。

## 停止条件

- 缺少会实质改变处置方向、外部结果或安全边界的必要契约。
- 仓库状态、目标产品、目标对象或授权范围无法唯一确认。
- 所需真实环境、凭据或外部决定不可得，且替代证据不足以支持结论。
- 继续操作将越过用户授权、既定停止条件或其他专业的唯一决策权。

## 权限与边界规则

- 只修改请求授权且属于当前产品范围的文件或外部状态，不回滚或整理无关改动。
- 发布工程拥有发布对象、执行门禁与运行证据裁决；产品价值、系统边界、实现语义、数据库物理方案、安全政策和质量标准不由本技能重定义。
- 不因本技能命中而规定其他技能的选择、顺序、并行关系或交接方式。
- 提交、Tag、推送、远端 Release、晋级、部署、迁移、切流和回滚均须取得覆盖该具体动作的当前授权。
- 不把清单、配置、运行查询或发布记录机械转抄为事实；只保存会改变后续发布判断且难以从单一入口重建的稳定语义。

## 参考资料

- [专业能力准则](references/principles.md)：发布工程方法、证据标准与专业禁区的唯一详细来源。
- [项目记忆](references/memory.md)：本专业应记住的项目核心认知。

## 项目记忆

- 先唯一确认“当前产品根目录”：它是本次任务所指产品的工作边界，不要求存在 Git 仓库或 `.git`。用户明确指定的产品目录优先；否则根据当前打开的工作区中实际承载目标文件的目录、产品入口与元数据、目标代码、配置和调用链共同判定，Git 根只作可选佐证，不得仅因当前进程工作目录、Git 根或 Skill 所在目录而选根。当 Product Studio 仅作为技能提供者时，不得把它的源码目录、技能文件目录、插件安装目录或缓存目录认作当前产品根目录；只有任务明确以 Product Studio 本身为目标产品时才可使用其目录。无法唯一确认时不读取、创建或修改任何候选事实册。
- 再确认 `product-id`；它必须在当前产品根目录内唯一、稳定，且是非 `.` 或 `..`、不含 `/` 或 `\` 的安全单级目录名。事实册的唯一位置是 `<当前产品根目录>/docs/product-studio/<product-id>/release-engineering.md`。读取与写入必须使用以已确认根目录为基准的路径，不得把相对的 `docs/product-studio/<product-id>/release-engineering.md` 按进程当前目录或 Skill 所在目录解析；归属不唯一或名称不安全时不读取、猜测或创建事实册。
- 工作前读取 `references/memory.md` 中本次命中的核心主题，再读取 `<当前产品根目录>/docs/product-studio/<product-id>/release-engineering.md` 中的相关事实；事实册不存在时先以当前产品为准继续工作，待收口检查发现首条应入册事实时再创建，不得因缺少文件跳过最终检查。
- 项目记忆仅作上下文；与当前仓库、制品、渠道或运行环境事实冲突时，以当前权威为准。
- 以本轮实际核验范围为取材边界，只写入已经由当前代码、配置、契约、调用链或验证证据确认，会持续影响后续判断且难从局部代码直接看清，并属于本专业所有权的项目核心认知；本轮未修改但经当前权威新确认、尚未入册的既有事实同样需要写入，事实候选不以 Git 差异为限；不复制源码、配置或可生成清单。
- 只读分析、审查或状态查询没有事实册写权限，除非用户明确要求维护记忆；凡任务已允许修改当前产品根目录内的目标文件，维护该根目录下的事实册属于同一写权限，除非用户明确排除。最终回复前必须把符合条件但尚未记录、已经改变或已经失效的事实直接创建、更新或移除，不得只在回复中列出候选，也不得因事实册不存在而跳过；不得因本节扩大当前产品根目录之外的写入范围。
- 事实册不存在且至少有一条应入册事实时，在当前产品根目录下一并创建 `docs/product-studio/<product-id>/` 与 `release-engineering.md`；没有事实时不创建空目录或空册。首行固定为 `# release-engineering 当前产品事实`；每项事实以可检索的稳定业务语义为二级标题，用现在时写清当前事实、成立条件与影响边界，并给出相对于当前产品根目录的权威核验入口和失效或重审条件。
- 同一认知只保留一处，原位更新或移除旧内容，只保留当前仍成立的事实，不追加历史版本；最后一个主题移除后删除事实册，`<product-id>` 目录为空时一并删除。
- 不记录秘密、用户数据、任务过程、文件改动清单、迁移进度、运行快照、当前版本、一次性结果或未经验证的推断。
