diff --git a/project-management/PJ2026-01/specs/PJ2026-010601-controlled-release.md b/project-management/PJ2026-01/specs/PJ2026-010601-controlled-release.md index 083a6c2b..dc0a8062 100644 --- a/project-management/PJ2026-01/specs/PJ2026-010601-controlled-release.md +++ b/project-management/PJ2026-01/specs/PJ2026-010601-controlled-release.md @@ -152,6 +152,11 @@ L2 与 L3 发布必须使用 `plan -> 人工审阅 -> trigger` 的受控手动 - 与 Argo 和 promotion 使用同一 GitOps authority; - Source mirror 只用于读取 source commit,不得代替 GitOps authority; - catalog 无法读取、来源不一致或落后于已部署 revision 时,停止触发并返回重新 plan 的只读引导。 +- 发布范围基线必须来自 catalog source: + - 调用方省略 `base commit` 时,必须使用恢复出的 `catalogSourceCommitId`; + - 禁止静默回退到 `source commit` 的 parent; + - 显式 `base commit` 只覆盖请求范围诊断,输出必须同时披露 catalog source 和两者是否对齐; + - 缺少有效 catalog source 时必须保持只读并 fail closed,不得猜测 parent 或创建 PipelineRun。 范围相对 owning YAML 声明的发布意图扩大时,`plan` 必须明确列出新增项。操作者应先修正源码、配置或 planner,使范围回到预期后重新生成计划;不得通过确认参数、白名单、忽略 warning 或扩大资源预算继续触发。