From 188c5650c0bae97e7c09896d477d542ebcee183e Mon Sep 17 00:00:00 2001 From: tukuaiai Date: Tue, 2 Jun 2026 15:02:48 +0800 Subject: [PATCH] docs: architecture - add baseline revocation record --- docs/README.md | 2 +- docs/references/README.md | 4 +- ...modern-enterprise-architecture-template.md | 580 +++++++++++++----- 3 files changed, 434 insertions(+), 152 deletions(-) diff --git a/docs/README.md b/docs/README.md index 2f54ec2..f71b23b 100644 --- a/docs/README.md +++ b/docs/README.md @@ -62,7 +62,7 @@ - [项目架构模板](./references/project-architecture-template.md) - 常见项目结构、架构设计原则、最低门禁和检查清单。 - [通用 Python 项目骨架](./references/python-project-skeleton.md) - Python 应用、服务、脚本工具和库项目的通用骨架。 - [企业级架构模板](./references/enterprise-architecture-template.md) - 中大型工程组织、平台工程和多产品线参考模型。 -- [现代企业数字化平台架构](./references/modern-enterprise-architecture-template.md) - 面向领域产品网络、微服务容器 GitOps 边界、AI 原生能力、微调治理、AI 事件响应、内部平台、数据产品、供应链安全、FinOps 成本治理、版本治理、版本控制面、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线发布证据、基线兼容性总账、基线采纳总账、基线支持矩阵、基线发布列车、基线符合性声明、外部标准版本锁定、可执行标准、执行控制面、门禁决策、RACI 决策权、可靠性分级、仓库拓扑、迁移弃用、审计证据、联邦治理和行业对标矩阵的完整说明文档。 +- [现代企业数字化平台架构](./references/modern-enterprise-architecture-template.md) - 面向领域产品网络、微服务容器 GitOps 边界、AI 原生能力、微调治理、AI 事件响应、内部平台、数据产品、供应链安全、FinOps 成本治理、版本治理、版本控制面、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线发布证据、基线兼容性总账、基线采纳总账、基线支持矩阵、基线发布列车、基线符合性声明、外部标准版本锁定、可执行标准、执行控制面、门禁决策、RACI 决策权、可靠性分级、仓库拓扑、迁移弃用、审计证据、联邦治理和行业对标矩阵的完整说明文档。 - [Dataset First 数据服务](./references/dataset-first-data-service.md) - 数据服务模板。 - [代码组织](./references/code-organization.md) - 模块化、命名、注释、格式化、文档和工具。 - [开发经验](./references/development-experience.md) - 编码规范、架构原则和常见基础设施经验。 diff --git a/docs/references/README.md b/docs/references/README.md index a0bb2c6..683feeb 100644 --- a/docs/references/README.md +++ b/docs/references/README.md @@ -14,7 +14,7 @@ | [项目架构模板](project-architecture-template.md) | 常见项目结构、架构设计原则、最低门禁和检查清单。 | | [通用 Python 项目骨架](python-project-skeleton.md) | Python 应用、服务、脚本工具和库项目的通用骨架。 | | [企业级 Monorepo / Multi-repo 架构模板](enterprise-architecture-template.md) | 中大型工程组织、平台工程和多产品线参考模型。 | -| [现代企业数字化平台架构](modern-enterprise-architecture-template.md) | 面向领域产品网络、微服务容器 GitOps 边界、AI 原生能力、微调治理、AI 事件响应、内部平台、数据产品、供应链安全、FinOps 成本治理、版本治理、版本控制面、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线发布证据、基线兼容性总账、基线采纳总账、基线支持矩阵、基线发布列车、基线符合性声明、外部标准版本锁定、可执行标准、执行控制面、门禁决策、RACI 决策权、可靠性分级、仓库拓扑、迁移弃用、审计证据、联邦治理和行业对标矩阵的完整说明文档。 | +| [现代企业数字化平台架构](modern-enterprise-architecture-template.md) | 面向领域产品网络、微服务容器 GitOps 边界、AI 原生能力、微调治理、AI 事件响应、内部平台、数据产品、供应链安全、FinOps 成本治理、版本治理、版本控制面、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线发布证据、基线兼容性总账、基线采纳总账、基线支持矩阵、基线发布列车、基线符合性声明、外部标准版本锁定、可执行标准、执行控制面、门禁决策、RACI 决策权、可靠性分级、仓库拓扑、迁移弃用、审计证据、联邦治理和行业对标矩阵的完整说明文档。 | | [Dataset First 数据服务结构](dataset-first-data-service.md) | 以 dataset、contract、registry、runtime 为核心的数据服务模板。 | | [代码组织](code-organization.md) | 模块化、命名、注释、格式化、文档和工具。 | | [开发经验](development-experience.md) | 变量名、文件结构、编码规范、架构原则和常见基础设施经验。 | @@ -33,7 +33,7 @@ - [项目架构模板](project-architecture-template.md) - 常见项目结构、架构设计原则、最低门禁和检查清单。 - [通用 Python 项目骨架](python-project-skeleton.md) - Python 应用、服务、脚本工具和库项目的通用骨架。 - [企业级 Monorepo / Multi-repo 架构模板](enterprise-architecture-template.md) - 中大型工程组织、平台工程和多产品线参考模型。 -- [现代企业数字化平台架构](modern-enterprise-architecture-template.md) - 面向领域产品网络、微服务容器 GitOps 边界、AI 原生能力、微调治理、AI 事件响应、内部平台、数据产品、供应链安全、FinOps 成本治理、版本治理、版本控制面、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线发布证据、基线兼容性总账、基线采纳总账、基线支持矩阵、基线发布列车、基线符合性声明、外部标准版本锁定、可执行标准、执行控制面、门禁决策、RACI 决策权、可靠性分级、仓库拓扑、迁移弃用、审计证据、联邦治理和行业对标矩阵的完整说明文档。 +- [现代企业数字化平台架构](modern-enterprise-architecture-template.md) - 面向领域产品网络、微服务容器 GitOps 边界、AI 原生能力、微调治理、AI 事件响应、内部平台、数据产品、供应链安全、FinOps 成本治理、版本治理、版本控制面、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线发布证据、基线兼容性总账、基线采纳总账、基线支持矩阵、基线发布列车、基线符合性声明、外部标准版本锁定、可执行标准、执行控制面、门禁决策、RACI 决策权、可靠性分级、仓库拓扑、迁移弃用、审计证据、联邦治理和行业对标矩阵的完整说明文档。 - [Dataset First 数据服务结构](dataset-first-data-service.md) - 以 dataset、contract、registry、runtime 为核心的数据服务模板。 - [代码组织](code-organization.md) - 模块化、命名、注释、格式化、文档和工具。 - [开发经验](development-experience.md) - 变量名、文件结构、编码规范、架构原则和常见基础设施经验。 diff --git a/docs/references/modern-enterprise-architecture-template.md b/docs/references/modern-enterprise-architecture-template.md index 2079b5d..1718a16 100644 --- a/docs/references/modern-enterprise-architecture-template.md +++ b/docs/references/modern-enterprise-architecture-template.md @@ -1,10 +1,10 @@ # 现代企业数字化平台架构说明文档 -**文档版本**:V2.49 +**文档版本**:V2.50 **适用对象**:企业管理层、产品负责人、架构师、研发负责人、数据负责人、平台团队、安全合规团队 **适用范围**:中大型企业数字化平台建设、业务系统重构、平台工程建设、数据产品化、组织协同机制设计 **文档定位**:本文件用于说明现代企业数字化平台的总体架构、核心组成、团队职责、治理机制、技术原则和落地路径。 -**专项修订**:V2.49 在 V2.48 基础上新增基线发布事务回执,把提交前检查、工作树状态、源 commit、签名 tag、远端 ref、push 结果、tag 保护、禁推资产排除和发布后验证绑定成原子证据,避免基线只在文档中声明发布但没有真实远端发布事实。 +**专项修订**:V2.50 在 V2.49 基础上新增基线撤销与隔离记录,把错误发布、签名泄露、证据污染、远端保护失效、禁推资产误入和关键门禁误放行后的隔离、通知、恢复、风险接受和审计归档绑定成可执行闭环。 --- @@ -53,7 +53,7 @@ | 版本 | 状态 | 说明 | | ---- | ---- | ---- | -| `V2.49` | `Baseline Candidate` | 用作可执行企业标准起点;包含机器可读版本清单、控制项覆盖清单、82 组 starter kit schema/example、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、证据新鲜度、例外放行、break-glass、季度复核、仓库变更控制、远端保护漂移整改、控制证据映射、审计导出清单、审计导出自动化、控制评估报告、架构基线变更记录、架构决策记录、AI 证据账本、微调运行证据、AI 事件响应 playbook、OSCAL 交换映射、POA&M 整改计划、企业架构风险登记、审计导出门禁、审计导出完整性清单、审计导出 provenance statement、审计导出签名策略、审计导出签名验签回执、严格 schema 模式、访问复核、密钥轮换、漏洞修复、事故复盘、可靠性、数据治理、AI 运行、GitOps 安全、供应链证据链一致性和自动化校验入口 | +| `V2.50` | `Baseline Candidate` | 用作可执行企业标准起点;包含机器可读版本清单、控制项覆盖清单、83 组 starter kit schema/example、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、证据新鲜度、例外放行、break-glass、季度复核、仓库变更控制、远端保护漂移整改、控制证据映射、审计导出清单、审计导出自动化、控制评估报告、架构基线变更记录、架构决策记录、AI 证据账本、微调运行证据、AI 事件响应 playbook、OSCAL 交换映射、POA&M 整改计划、企业架构风险登记、审计导出门禁、审计导出完整性清单、审计导出 provenance statement、审计导出签名策略、审计导出签名验签回执、严格 schema 模式、访问复核、密钥轮换、漏洞修复、事故复盘、可靠性、数据治理、AI 运行、GitOps 安全、供应链证据链一致性和自动化校验入口 | ### 0.3 变更分级 @@ -116,6 +116,8 @@ V2.48 起,企业级基线还必须形成 `baseline-gate-execution-report.yaml` V2.49 起,企业级基线还必须形成 `baseline-publish-transaction.yaml`。它不是替代 Git 或发布证据包,而是证明这次基线发布事务的提交前状态、提交对象、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后校验来自同一个不可变发布事实。 +V2.50 起,企业级基线还必须形成 `baseline-revocation-record.yaml`。它不是替代回滚验证或事故复盘,而是证明已发布基线在发现严重发布错误、签名泄露、证据污染、远端保护失效或禁推资产误入时,能够被隔离、撤销、通知、恢复和归档。 + 推荐发布检查: ```bash @@ -158,6 +160,7 @@ git diff --check | 证据追踪图 | `baseline-evidence-trace-graph.yaml` 必须证明关键证据节点、摘要、依赖、下游使用和状态一致 | 证据对象各自存在但互相引用旧摘要、发布证据没有覆盖会审裁决、审计导出使用了过期节点 | | 门禁执行报告 | `baseline-gate-execution-report.yaml` 必须证明门禁命令、runner 镜像、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策一致 | release gate 有放行结论但没有执行明细、策略包漂移、输入摘要不一致、规则未运行、重放失败或执行结果与最终决策不一致 | | 发布事务回执 | `baseline-publish-transaction.yaml` 必须证明提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 结果、tag 保护、禁推资产排除和发布后验证一致 | 文档声称已发布但远端没有 ref、tag 未签名、push 失败、工作树脏、禁推资产进入远端或发布后验证未执行 | +| 撤销隔离记录 | `baseline-revocation-record.yaml` 必须证明撤销触发条件、隔离范围、受影响引用、通知对象、恢复目标、风险接受、审计归档和状态回写一致 | 坏基线已发布但无法撤销、签名泄露后仍被引用、禁推资产误入远端后没有隔离证据或下游继续采用 | | 发布列车 | `baseline-release-train.yaml` 必须绑定候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁和依赖证据 | 临时发版、绕过冻结窗口、无通知升级、黑窗期间发布非紧急变更 | | 通知确认 | `baseline-notification-ledger.yaml` 必须绑定通知对象、渠道、送达、确认、异议、例外和冻结前完成状态 | 冻结前关键消费者未确认、通知失败无补发、异议未关闭或无风险接受 | | 回滚验证 | `baseline-rollback-verification.yaml` 必须绑定上一基线、回滚目标、Git/tag/GitOps revision、审计导出恢复、烟测结果和验证时效 | 只写回滚计划、上一基线不可检出、GitOps revision 不存在、审计导出无法恢复或验证过期 | @@ -262,12 +265,13 @@ git diff --check | `V2.47` | 2026-06-02 | Minor | 补齐基线证据追踪图、跨证据依赖、摘要一致性、下游消费和断链阻断 | | `V2.48` | 2026-06-02 | Minor | 补齐基线门禁执行报告、门禁命令、策略包、输入摘要、逐条规则结果、退出码和可重放执行证明 | | `V2.49` | 2026-06-02 | Minor | 补齐基线发布事务回执、提交前检查、签名 tag、远端 ref、push 回执、保护规则和发布后验证 | +| `V2.50` | 2026-06-02 | Minor | 补齐基线撤销与隔离记录、撤销触发、隔离范围、恢复目标、通知确认、风险接受和审计归档 | -### 0.8 V2.49 可执行企业标准路线图 +### 0.8 V2.50 可执行企业标准路线图 -V2.0 已将 V1.9 的文档化基线转化为第一批可执行资产。V2.1 继续把字段约束、示例一致性和远程 CI 门禁补强为可执行口径。V2.2 把主文档最小验证包中的 API、事件、AI 工具、RAG、微调、GitOps、catalog 和 scorecard 纳入 schema/example 校验。V2.3 继续把发布证据、供应链证明、治理例外、兼容性报告和 GitOps 漂移报告纳入机器可校验基线。V2.4 把当前版本、发布状态、starter kit pair 清单、pair 数量和索引同步要求固化到机器可读版本清单中。V2.5 把可靠性等级、RTO/RPO、数据保留与访问审计、AI 预算与降级、GitOps 运行安全和供应链 source/vulnerability/scorecard 证据提升为 starter kit 强制字段。V2.6 增加控制项覆盖清单,把关键企业控制要求映射到 schema 字段、example 和 checker 规则,避免“文档说有控制、机器无法证明控制存在”。V2.7 启用严格 schema 模式,要求 starter kit 所有对象节点声明 `additionalProperties=false`,并由 checker 阻断未知字段。V2.8 补齐扩展字段策略、Feature Flag / Kill Switch、AI 威胁模型、运行血缘和平台产品指标。V2.9 继续把隐私工程、租户边界、恢复演练、Policy as Code 测试、GenAI 可观测性和 FinOps 成本分摊补成可执行证据。V2.10 把访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度纳入控制目录,避免生产安全运营只停留在“有制度、有人看、事后补”的弱证据状态。V2.11 把每个控制项到证据路径、状态、新鲜度和审计导出包的关系纳入总账,避免审计时只能逐段翻文档、不能一键证明控制覆盖。V2.12 增加审计导出自动化命令,把版本、控制目录、证据映射、导出清单、脚本和关键制品哈希生成可交付审计包。V2.13 增加控制评估报告,把证据包进一步闭环到控制结果、发现项、整改、剩余风险和签署状态。V2.14 增加架构基线变更记录,把基线升级的影响分析、审批、验证命令和回滚路径纳入可执行证据。V2.15 增加 OSCAL 交换映射和导出摘要,把内部控制证据映射到 catalog、component-definition、system-security-plan、assessment-results 和 POA&M 视图。V2.16 增加审计导出门禁,把导出包生成、JSON/Markdown/OSCAL 输出和关键不变量校验纳入 `make test`。V2.17 增加审计导出完整性清单,把生成物 SHA-256、源制品哈希和防篡改校验纳入审计包。V2.18 增加审计导出 provenance statement,把生成物 subject、构建定义、源码提交和源证据依赖纳入可追溯证明。V2.19 增加审计导出签名策略,把 provenance payload 摘要、签名方式、验签命令和外部签名交接纳入门禁。V2.20 增加审计导出签名验签回执,把外部签名完成后的 bundle 摘要、证书身份、OIDC issuer、透明日志和验签结果纳入证据链。V2.21 增加 POA&M 整改计划,把控制发现项、责任人、整改行动、里程碑、证据、签署和 OSCAL POA&M 输出纳入闭环。V2.22 增加企业架构风险登记,把风险、控制项、POA&M、缓解行动、残余风险、复审和审计导出风险视图纳入闭环。V2.23 增加架构决策记录,把 ADR 上下文、备选方案、取舍、决策、关联控制项、风险、POA&M、复审和基线变更绑定纳入闭环。V2.24 增加 AI 事件响应 playbook,把幻觉爆发、工具循环、RAG 索引污染、供应商中断、成本异常、检测、遏制、降级、回滚和复盘纳入闭环。V2.25 增加 AI 证据账本,把模型、Prompt、RAG、工具、评估、威胁模型、观测、事件响应、数据使用、审批、留存和复审纳入 AI 产品级证据闭环。V2.26 增加微调运行证据,把训练数据授权、数据准备、实验追踪、评估、模型登记、审批、灰度发布、监控和退役纳入 AI 微调审计闭环。V2.27 增加仓库变更控制,把 CODEOWNERS、受保护分支、PR 审查、必需检查、签名提交、禁止直推、发布 tag 保护、远端保护状态验证、漂移整改、POA&M 和风险登记纳入版本基线保护。V2.28 增加企业执行控制面,把合规等级、门禁决策、证据新鲜度、例外放行、break-glass、季度复核和退出标准变成统一执行协议。V2.29 增加外部标准版本锁定与升级策略,避免把未稳定标准、实验性语义约定或外部规范变更直接带入生产基线。V2.30 增加版本控制面,把基线 ID、发布通道、tag、源 commit、兼容窗口、冻结策略和回滚入口固化为发布不变量。V2.31 增加基线发布证据包,把晋级决策、冻结复核、漂移检查、不可变引用、审计摘要和回滚验证固化为发布证据。V2.32 增加基线兼容性总账,把消费者影响、迁移窗口、弃用截止、例外状态和未迁移风险固化为版本门禁证据。V2.33 增加基线采纳总账,把领域、平台、数据、AI 和生产资产对基线的采用状态、逾期治理和例外整改固化为组织级版本证据。V2.34 增加基线支持矩阵,把旧基线支持状态、维护窗口、安全补丁窗口、EOL 和最低可接受基线固化为版本生命周期门禁。V2.35 增加基线发布列车,把候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁入口固化为版本发布节奏门禁。V2.36 增加资产级基线符合性声明,把资产自声明、证据绑定、例外、复核和采纳总账回写固化为资产级版本证据。V2.37 增加基线制品清单,把源文档、schema、示例、控制项、证据模板、脚本、生成物和外部引用固化为可摘要、可签名、可复现的版本物料清单。V2.38 增加基线验证环境锁定,把校验命令、工具版本、runner 镜像、策略包、schema validator 和验签工具固化为可复现门禁。V2.39 增加基线通知确认总账,把发布列车中的通知计划升级为可审计的送达、确认、异议和例外证据。V2.40 增加基线回滚验证记录,把上一基线检出、GitOps revision 恢复、审计导出恢复和烟测结果升级为独立证据。V2.41 增加基线例外总账,把分散例外、到期、风险接受、POA&M 和冻结阻断收敛为统一审计证据。V2.42 增加基线就绪评分卡,把硬门禁、评分维度、证据摘要和 baseline/frozen 判定统一到最终准入证据。V2.43 增加基线生命周期状态机,把允许迁移、禁止迁移、状态回写、迁移审批和回滚入口统一到状态转换证据。V2.44 增加基线状态对账报告,把状态机、版本控制面、发布证据、支持矩阵、采纳总账和审计导出的状态字段统一对账。V2.45 增加基线 EOL 退役证书,把旧基线生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断固化为退役证据。V2.46 增加基线会审裁决记录,把会审范围、证据核验、投票签署、反对意见、条件动作和最终裁决固化为独立会审证据。V2.47 增加基线证据追踪图,把跨证据依赖、摘要一致性、下游消费和断链阻断固化为可校验证据图。V2.48 增加基线门禁执行报告,把执行命令、策略包、输入摘要、规则结果、退出码和重放证明固化为 release gate 的可审计运行证据。V2.49 增加基线发布事务回执,把提交、签名 tag、远端 ref、push 回执、保护规则和发布后验证固化为版本发布事实。后续 `V2.x` 迭代应继续补充示例仓库,并把平台、catalog、GitOps 和审计系统连接起来。 +V2.0 已将 V1.9 的文档化基线转化为第一批可执行资产。V2.1 继续把字段约束、示例一致性和远程 CI 门禁补强为可执行口径。V2.2 把主文档最小验证包中的 API、事件、AI 工具、RAG、微调、GitOps、catalog 和 scorecard 纳入 schema/example 校验。V2.3 继续把发布证据、供应链证明、治理例外、兼容性报告和 GitOps 漂移报告纳入机器可校验基线。V2.4 把当前版本、发布状态、starter kit pair 清单、pair 数量和索引同步要求固化到机器可读版本清单中。V2.5 把可靠性等级、RTO/RPO、数据保留与访问审计、AI 预算与降级、GitOps 运行安全和供应链 source/vulnerability/scorecard 证据提升为 starter kit 强制字段。V2.6 增加控制项覆盖清单,把关键企业控制要求映射到 schema 字段、example 和 checker 规则,避免“文档说有控制、机器无法证明控制存在”。V2.7 启用严格 schema 模式,要求 starter kit 所有对象节点声明 `additionalProperties=false`,并由 checker 阻断未知字段。V2.8 补齐扩展字段策略、Feature Flag / Kill Switch、AI 威胁模型、运行血缘和平台产品指标。V2.9 继续把隐私工程、租户边界、恢复演练、Policy as Code 测试、GenAI 可观测性和 FinOps 成本分摊补成可执行证据。V2.10 把访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度纳入控制目录,避免生产安全运营只停留在“有制度、有人看、事后补”的弱证据状态。V2.11 把每个控制项到证据路径、状态、新鲜度和审计导出包的关系纳入总账,避免审计时只能逐段翻文档、不能一键证明控制覆盖。V2.12 增加审计导出自动化命令,把版本、控制目录、证据映射、导出清单、脚本和关键制品哈希生成可交付审计包。V2.13 增加控制评估报告,把证据包进一步闭环到控制结果、发现项、整改、剩余风险和签署状态。V2.14 增加架构基线变更记录,把基线升级的影响分析、审批、验证命令和回滚路径纳入可执行证据。V2.15 增加 OSCAL 交换映射和导出摘要,把内部控制证据映射到 catalog、component-definition、system-security-plan、assessment-results 和 POA&M 视图。V2.16 增加审计导出门禁,把导出包生成、JSON/Markdown/OSCAL 输出和关键不变量校验纳入 `make test`。V2.17 增加审计导出完整性清单,把生成物 SHA-256、源制品哈希和防篡改校验纳入审计包。V2.18 增加审计导出 provenance statement,把生成物 subject、构建定义、源码提交和源证据依赖纳入可追溯证明。V2.19 增加审计导出签名策略,把 provenance payload 摘要、签名方式、验签命令和外部签名交接纳入门禁。V2.20 增加审计导出签名验签回执,把外部签名完成后的 bundle 摘要、证书身份、OIDC issuer、透明日志和验签结果纳入证据链。V2.21 增加 POA&M 整改计划,把控制发现项、责任人、整改行动、里程碑、证据、签署和 OSCAL POA&M 输出纳入闭环。V2.22 增加企业架构风险登记,把风险、控制项、POA&M、缓解行动、残余风险、复审和审计导出风险视图纳入闭环。V2.23 增加架构决策记录,把 ADR 上下文、备选方案、取舍、决策、关联控制项、风险、POA&M、复审和基线变更绑定纳入闭环。V2.24 增加 AI 事件响应 playbook,把幻觉爆发、工具循环、RAG 索引污染、供应商中断、成本异常、检测、遏制、降级、回滚和复盘纳入闭环。V2.25 增加 AI 证据账本,把模型、Prompt、RAG、工具、评估、威胁模型、观测、事件响应、数据使用、审批、留存和复审纳入 AI 产品级证据闭环。V2.26 增加微调运行证据,把训练数据授权、数据准备、实验追踪、评估、模型登记、审批、灰度发布、监控和退役纳入 AI 微调审计闭环。V2.27 增加仓库变更控制,把 CODEOWNERS、受保护分支、PR 审查、必需检查、签名提交、禁止直推、发布 tag 保护、远端保护状态验证、漂移整改、POA&M 和风险登记纳入版本基线保护。V2.28 增加企业执行控制面,把合规等级、门禁决策、证据新鲜度、例外放行、break-glass、季度复核和退出标准变成统一执行协议。V2.29 增加外部标准版本锁定与升级策略,避免把未稳定标准、实验性语义约定或外部规范变更直接带入生产基线。V2.30 增加版本控制面,把基线 ID、发布通道、tag、源 commit、兼容窗口、冻结策略和回滚入口固化为发布不变量。V2.31 增加基线发布证据包,把晋级决策、冻结复核、漂移检查、不可变引用、审计摘要和回滚验证固化为发布证据。V2.32 增加基线兼容性总账,把消费者影响、迁移窗口、弃用截止、例外状态和未迁移风险固化为版本门禁证据。V2.33 增加基线采纳总账,把领域、平台、数据、AI 和生产资产对基线的采用状态、逾期治理和例外整改固化为组织级版本证据。V2.34 增加基线支持矩阵,把旧基线支持状态、维护窗口、安全补丁窗口、EOL 和最低可接受基线固化为版本生命周期门禁。V2.35 增加基线发布列车,把候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁入口固化为版本发布节奏门禁。V2.36 增加资产级基线符合性声明,把资产自声明、证据绑定、例外、复核和采纳总账回写固化为资产级版本证据。V2.37 增加基线制品清单,把源文档、schema、示例、控制项、证据模板、脚本、生成物和外部引用固化为可摘要、可签名、可复现的版本物料清单。V2.38 增加基线验证环境锁定,把校验命令、工具版本、runner 镜像、策略包、schema validator 和验签工具固化为可复现门禁。V2.39 增加基线通知确认总账,把发布列车中的通知计划升级为可审计的送达、确认、异议和例外证据。V2.40 增加基线回滚验证记录,把上一基线检出、GitOps revision 恢复、审计导出恢复和烟测结果升级为独立证据。V2.41 增加基线例外总账,把分散例外、到期、风险接受、POA&M 和冻结阻断收敛为统一审计证据。V2.42 增加基线就绪评分卡,把硬门禁、评分维度、证据摘要和 baseline/frozen 判定统一到最终准入证据。V2.43 增加基线生命周期状态机,把允许迁移、禁止迁移、状态回写、迁移审批和回滚入口统一到状态转换证据。V2.44 增加基线状态对账报告,把状态机、版本控制面、发布证据、支持矩阵、采纳总账和审计导出的状态字段统一对账。V2.45 增加基线 EOL 退役证书,把旧基线生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断固化为退役证据。V2.46 增加基线会审裁决记录,把会审范围、证据核验、投票签署、反对意见、条件动作和最终裁决固化为独立会审证据。V2.47 增加基线证据追踪图,把跨证据依赖、摘要一致性、下游消费和断链阻断固化为可校验证据图。V2.48 增加基线门禁执行报告,把执行命令、策略包、输入摘要、规则结果、退出码和重放证明固化为 release gate 的可审计运行证据。V2.49 增加基线发布事务回执,把提交、签名 tag、远端 ref、push 回执、保护规则和发布后验证固化为版本发布事实。V2.50 增加基线撤销与隔离记录,把坏基线的隔离、撤销、通知、恢复目标、风险接受和审计归档固化为版本事故控制证据。后续 `V2.x` 迭代应继续补充示例仓库,并把平台、catalog、GitOps 和审计系统连接起来。 -V2.49 起点包括: +V2.50 起点包括: 1. 真相源字段矩阵:明确 `domain.yaml`、`service.yaml`、`ai-product.yaml`、`data-product.yaml`、catalog、GitOps 和 runtime 的字段权威。 2. 契约模板:提供服务、领域、数据产品、AI 产品、Agent 工具、RAG、微调、GitOps 和生产就绪模板。 @@ -277,7 +281,7 @@ V2.49 起点包括: 6. 可靠性分级:补齐 Tier-1 / Tier-2 / Tier-3、RTO、RPO、灾备演练、错误预算和 on-call 升级路径。 7. 迁移与弃用:定义旧系统绞杀迁移、API 版本弃用、数据产品兼容、AI 模型退役和平台能力下线流程。 8. 验证包:提供 `make test`、schema 校验、示例仓库和审计证据清单,证明标准可以落地执行。 -9. Starter Kit:提供 `内部 starter kit` 下的 82 组 schema/example、嵌套字段校验、格式校验、可靠性、数据治理、AI 运行、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、仓库变更控制、远端保护漂移整改、AI 证据账本、微调运行证据、AI 事件响应 playbook、GitOps 安全、架构决策记录、风险登记、证据链验真字段和示例跨文件一致性检查。 +9. Starter Kit:提供 `内部 starter kit` 下的 83 组 schema/example、嵌套字段校验、格式校验、可靠性、数据治理、AI 运行、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、仓库变更控制、远端保护漂移整改、AI 证据账本、微调运行证据、AI 事件响应 playbook、GitOps 安全、架构决策记录、风险登记、证据链验真字段和示例跨文件一致性检查。 10. 版本清单:提供 `内部版本清单`,让当前版本、发布状态、pair 清单和索引同步进入 CI 校验。 11. 控制项覆盖清单:提供 `内部控制项覆盖清单`,让关键控制项到 schema、example 和 checker 的证据链进入 CI 校验。 12. 严格 schema 模式:starter kit 的对象 schema 必须声明 `additionalProperties=false`,新增字段必须先进入契约、示例和 checker 证据链。 @@ -339,6 +343,7 @@ V2.49 起点包括: 68. 基线证据追踪图:新增 `baseline-evidence-trace-graph.yaml`,把证据节点、依赖边、摘要、状态、下游消费和断链阻断纳入基线晋级门禁。 69. 基线门禁执行报告:新增 `baseline-gate-execution-report.yaml`,把门禁执行命令、runner、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策纳入基线晋级门禁。 70. 基线发布事务回执:新增 `baseline-publish-transaction.yaml`,把提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证纳入基线发布门禁。 +71. 基线撤销与隔离记录:新增 `baseline-revocation-record.yaml`,把撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档纳入版本事故控制门禁。 --- @@ -3451,7 +3456,7 @@ runbook: rollback: docs/rollback.md ``` -V2.49 starter kit 还提供以下可执行契约模板: +V2.50 starter kit 还提供以下可执行契约模板: 1. `api-contract.yaml`:API producer、consumer、auth、版本和兼容策略。 2. `event-contract.yaml`:事件 topic、schema、幂等键、投递语义和消费者。 @@ -3524,6 +3529,7 @@ V2.49 starter kit 还提供以下可执行契约模板: 69. `baseline-evidence-trace-graph.yaml`:基线证据节点、依赖边、摘要一致性、下游消费、状态传播和断链阻断证明。 70. `baseline-gate-execution-report.yaml`:基线门禁命令、runner 镜像、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策证明。 71. `baseline-publish-transaction.yaml`:基线提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证证明。 +72. `baseline-revocation-record.yaml`:基线撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档证明。 ### 10.10.3 自动化门禁映射 @@ -3541,6 +3547,7 @@ V2.49 starter kit 还提供以下可执行契约模板: | 发布 | GitOps diff、策略准入、资源配额、SLO 和 runbook 校验 | GitOps overlay、catalog、service.yaml、发布证据 | 无 owner、无 runbook、无 digest、资源未声明 | | 基线发布 | 晋级决策、冻结复核、漂移检查、不可变引用、签名验签和回滚验证 | `baseline-release-evidence.yaml`、`version-governance.yaml`、审计导出、Git tag | 无晋级证据、tag 与 commit 不一致、漂移复核缺失、回滚未验证 | | 基线发布事务 | 提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证 | `baseline-publish-transaction.yaml`、Git remote refs、repository protection、release evidence、version governance | 未完成 push、远端 ref 不存在、tag 未签名、工作树脏、保护规则失效、禁推资产进入远端或发布后验证失败 | +| 基线撤销隔离 | 撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档 | `baseline-revocation-record.yaml`、support matrix、adoption ledger、publish transaction、release evidence、risk register | 坏基线无法隔离、签名泄露后仍允许采用、禁推资产误入后无通知、恢复目标未验证或审计归档缺失 | | 基线证据追踪 | 证据节点、依赖边、摘要一致性、下游消费和断链阻断 | `baseline-evidence-trace-graph.yaml`、发布证据、状态对账、审计导出、会审裁决 | 必需节点缺失、摘要不一致、依赖断链、下游引用旧证据或存在未消费关键证据 | | 基线门禁执行 | 门禁命令、runner 镜像、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策 | `baseline-gate-execution-report.yaml`、`release-gate-decision.yaml`、`control-plane.yaml`、`baseline-verification-lock.yaml` | 规则未执行、输入摘要不一致、策略包漂移、重放失败、退出码异常或最终决策与执行结果不一致 | | 基线兼容 | 消费者影响、迁移窗口、弃用截止、未迁移对象和例外闭环 | `baseline-compatibility-ledger.yaml`、API/Event/Data/AI 兼容性报告、catalog | breaking change 无消费者清单、迁移到期仍未完成、例外无到期或 POA&M | @@ -3619,7 +3626,7 @@ V2.49 starter kit 还提供以下可执行契约模板: 可执行企业标准不能只证明“字段存在”,还要证明关键控制项确实被 schema、example 和 checker 覆盖。 -V2.6 起,控制项覆盖清单由以下文件维护;V2.7 起,严格 schema 控制项进入同一清单;V2.8 起,扩展策略、发布开关、AI 威胁模型、运行血缘和平台产品指标也进入同一清单;V2.9 起,隐私影响评估、租户隔离、恢复演练、策略测试、GenAI 观测和成本分摊证据也进入同一清单;V2.10 起,访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度也进入同一清单;V2.11 起,控制证据映射和审计导出清单也进入同一清单;V2.12 起,审计导出自动化命令也进入同一清单;V2.13 起,控制评估报告也进入同一清单;V2.14 起,架构基线变更记录也进入同一清单;V2.15 起,OSCAL 交换映射也进入同一清单;V2.16 起,审计导出门禁也进入同一清单;V2.17 起,审计导出完整性清单也进入同一清单;V2.18 起,审计导出 provenance statement 也进入同一清单;V2.19 起,审计导出签名策略也进入同一清单;V2.20 起,审计导出签名验签回执也进入同一清单;V2.21 起,POA&M 整改计划也进入同一清单;V2.22 起,企业架构风险登记也进入同一清单;V2.23 起,架构决策记录也进入同一清单;V2.24 起,AI 事件响应 playbook 也进入同一清单;V2.25 起,AI 证据账本也进入同一清单;V2.26 起,微调运行证据也进入同一清单;V2.27 起,仓库变更控制和远端保护漂移整改也进入同一清单;V2.28 起,合规等级、执行控制面和门禁决策也进入同一清单;V2.29 起,外部标准版本锁定和升级门禁也进入同一清单;V2.30 起,版本控制面和基线发布不变量也进入同一清单;V2.31 起,基线发布证据包、晋级决策、冻结复核和版本漂移复核也进入同一清单;V2.32 起,基线兼容性总账、消费者迁移和未迁移风险闭环也进入同一清单;V2.33 起,基线采纳总账、组织采纳状态、逾期整改和例外闭环也进入同一清单;V2.34 起,基线支持矩阵、维护窗口、安全补丁、EOL 和最低可接受基线也进入同一清单;V2.35 起,基线发布列车、候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁也进入同一清单;V2.36 起,资产级基线符合性声明、资产自声明、证据绑定、例外和采纳总账回写也进入同一清单;V2.37 起,基线制品清单、源制品摘要、必需性、签名状态、导出关系和未登记制品阻断也进入同一清单;V2.38 起,基线验证环境锁定、校验命令、runner 镜像、工具版本、策略包、validator 和验签工具也进入同一清单;V2.39 起,基线通知确认总账、通知对象、送达回执、影响确认、异议、例外和冻结前完成状态也进入同一清单;V2.40 起,基线回滚验证记录、上一基线检出、GitOps revision 恢复、审计导出恢复、烟测结果和验证时效也进入同一清单;V2.41 起,基线例外总账、例外来源聚合、风险接受、POA&M、过期阻断和冻结准入也进入同一清单;V2.42 起,基线就绪评分卡、硬门禁、评分维度、证据绑定和最终准入判定也进入同一清单;V2.43 起,基线生命周期状态机、允许迁移、禁止迁移、迁移审批、状态回写和迁移审计证据也进入同一清单;V2.44 起,基线状态对账报告、跨账本状态一致性、状态漂移阻断和审计导出状态回写也进入同一清单;V2.45 起,基线 EOL 退役证书、生产引用清零、迁移关闭、例外清零和新采用阻断也进入同一清单;V2.46 起,基线会审裁决记录、证据核验、投票签署、反对意见、条件动作和最终裁决也进入同一清单;V2.47 起,基线证据追踪图、证据节点依赖、摘要一致性、下游消费和断链阻断也进入同一清单;V2.48 起,基线门禁执行报告、门禁命令、runner、策略包、schema 包、输入摘要、规则结果、退出码和重放结果也进入同一清单;V2.49 起,基线发布事务回执、提交前检查、干净工作树、签名 tag、远端 ref、push 回执、保护规则和发布后验证也进入同一清单: +V2.6 起,控制项覆盖清单由以下文件维护;V2.7 起,严格 schema 控制项进入同一清单;V2.8 起,扩展策略、发布开关、AI 威胁模型、运行血缘和平台产品指标也进入同一清单;V2.9 起,隐私影响评估、租户隔离、恢复演练、策略测试、GenAI 观测和成本分摊证据也进入同一清单;V2.10 起,访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度也进入同一清单;V2.11 起,控制证据映射和审计导出清单也进入同一清单;V2.12 起,审计导出自动化命令也进入同一清单;V2.13 起,控制评估报告也进入同一清单;V2.14 起,架构基线变更记录也进入同一清单;V2.15 起,OSCAL 交换映射也进入同一清单;V2.16 起,审计导出门禁也进入同一清单;V2.17 起,审计导出完整性清单也进入同一清单;V2.18 起,审计导出 provenance statement 也进入同一清单;V2.19 起,审计导出签名策略也进入同一清单;V2.20 起,审计导出签名验签回执也进入同一清单;V2.21 起,POA&M 整改计划也进入同一清单;V2.22 起,企业架构风险登记也进入同一清单;V2.23 起,架构决策记录也进入同一清单;V2.24 起,AI 事件响应 playbook 也进入同一清单;V2.25 起,AI 证据账本也进入同一清单;V2.26 起,微调运行证据也进入同一清单;V2.27 起,仓库变更控制和远端保护漂移整改也进入同一清单;V2.28 起,合规等级、执行控制面和门禁决策也进入同一清单;V2.29 起,外部标准版本锁定和升级门禁也进入同一清单;V2.30 起,版本控制面和基线发布不变量也进入同一清单;V2.31 起,基线发布证据包、晋级决策、冻结复核和版本漂移复核也进入同一清单;V2.32 起,基线兼容性总账、消费者迁移和未迁移风险闭环也进入同一清单;V2.33 起,基线采纳总账、组织采纳状态、逾期整改和例外闭环也进入同一清单;V2.34 起,基线支持矩阵、维护窗口、安全补丁、EOL 和最低可接受基线也进入同一清单;V2.35 起,基线发布列车、候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁也进入同一清单;V2.36 起,资产级基线符合性声明、资产自声明、证据绑定、例外和采纳总账回写也进入同一清单;V2.37 起,基线制品清单、源制品摘要、必需性、签名状态、导出关系和未登记制品阻断也进入同一清单;V2.38 起,基线验证环境锁定、校验命令、runner 镜像、工具版本、策略包、validator 和验签工具也进入同一清单;V2.39 起,基线通知确认总账、通知对象、送达回执、影响确认、异议、例外和冻结前完成状态也进入同一清单;V2.40 起,基线回滚验证记录、上一基线检出、GitOps revision 恢复、审计导出恢复、烟测结果和验证时效也进入同一清单;V2.41 起,基线例外总账、例外来源聚合、风险接受、POA&M、过期阻断和冻结准入也进入同一清单;V2.42 起,基线就绪评分卡、硬门禁、评分维度、证据绑定和最终准入判定也进入同一清单;V2.43 起,基线生命周期状态机、允许迁移、禁止迁移、迁移审批、状态回写和迁移审计证据也进入同一清单;V2.44 起,基线状态对账报告、跨账本状态一致性、状态漂移阻断和审计导出状态回写也进入同一清单;V2.45 起,基线 EOL 退役证书、生产引用清零、迁移关闭、例外清零和新采用阻断也进入同一清单;V2.46 起,基线会审裁决记录、证据核验、投票签署、反对意见、条件动作和最终裁决也进入同一清单;V2.47 起,基线证据追踪图、证据节点依赖、摘要一致性、下游消费和断链阻断也进入同一清单;V2.48 起,基线门禁执行报告、门禁命令、runner、策略包、schema 包、输入摘要、规则结果、退出码和重放结果也进入同一清单;V2.49 起,基线发布事务回执、提交前检查、干净工作树、签名 tag、远端 ref、push 回执、保护规则和发布后验证也进入同一清单;V2.50 起,基线撤销与隔离记录、撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受和审计归档也进入同一清单: ```text 内部控制项覆盖清单 @@ -3968,16 +3975,16 @@ standards: ```yaml versionGovernance: - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 releaseChannel: candidate status: Baseline Candidate owner: architecture-governance-board sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate tagSigned: true effectiveFrom: 2026-06-02 - supersedes: V2.48 + supersedes: V2.49 compatibility: changeLevel: minor backwardCompatible: true @@ -3993,6 +4000,7 @@ versionGovernance: evidenceTraceGraph: governance/evidence/baselines/baseline-evidence-trace-graph.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml + revocationRecord: governance/evidence/baselines/baseline-revocation-record.yaml compatibilityLedger: governance/evidence/compatibility/baseline-compatibility-ledger.yaml adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml @@ -4019,9 +4027,9 @@ versionGovernance: - open-critical-findings-zero emergencyPatchAllowed: true rollback: - previousBaseline: V2.48 + previousBaseline: V2.49 rollbackCommit: - rollbackTag: architecture/v2.48-candidate + rollbackTag: architecture/v2.49-candidate rollbackGuide: governance/evidence/baseline-changes/baseline-change-record.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml ``` @@ -4031,14 +4039,14 @@ versionGovernance: 1. `documentVersion` 必须等于主文档版本、版本清单版本和审计导出版本。 2. `baselineId` 一经发布不得复用;同一 `baselineId` 不得指向不同 commit。 3. `releaseTag` 必须指向 `sourceCommit`,生产级基线必须使用签名 tag。 -4. `releaseChannel=baseline` 或 `frozen` 时,必须有 `release-gate-decision.yaml`、基线生命周期状态机、基线状态对账报告、基线证据追踪图、基线门禁执行报告、基线发布事务回执、基线验证环境锁、基线制品清单、基线就绪评分卡、基线会审裁决记录、基线例外总账、通知确认总账、回滚验证记录和审计导出清单。 +4. `releaseChannel=baseline` 或 `frozen` 时,必须有 `release-gate-decision.yaml`、基线生命周期状态机、基线状态对账报告、基线证据追踪图、基线门禁执行报告、基线发布事务回执、基线撤销与隔离记录、基线验证环境锁、基线制品清单、基线就绪评分卡、基线会审裁决记录、基线例外总账、通知确认总账、回滚验证记录和审计导出清单。 5. `changeLevel=major` 或 `breaking` 时,必须引用 ADR、迁移计划、弃用策略和消费者影响分析。 6. `compatibilityWindow` 到期后,未迁移消费者必须转入例外、POA&M 或风险接受记录。 7. 回滚不能只写“回退上一版”,必须指向可 checkout 的 commit、tag、GitOps revision 或制品 digest。 可执行验收标准: -1. 任意基线都能从 `version-governance.yaml` 追溯到源 commit、release tag、版本清单、基线生命周期状态机、基线状态对账报告、基线证据追踪图、基线门禁执行报告、基线发布事务回执、基线就绪评分卡、基线会审裁决记录、基线例外总账、通知确认总账、回滚验证记录、验证环境锁、基线制品清单、EOL 退役证书和审计导出。 +1. 任意基线都能从 `version-governance.yaml` 追溯到源 commit、release tag、版本清单、基线生命周期状态机、基线状态对账报告、基线证据追踪图、基线门禁执行报告、基线发布事务回执、基线撤销与隔离记录、基线就绪评分卡、基线会审裁决记录、基线例外总账、通知确认总账、回滚验证记录、验证环境锁、基线制品清单、EOL 退役证书和审计导出。 2. 任意冻结基线都能证明没有被直接修改;后续变更只能通过补丁或新基线替代。 3. 任意 breaking change 都能找到兼容窗口、消费者清单、迁移说明和回滚入口。 4. 任意 emergency patch 都能找到事故或安全编号、补丁范围、事后复盘和补齐证据。 @@ -4049,9 +4057,9 @@ versionGovernance: ```yaml baselineReleaseEvidence: - evidenceId: bre-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + evidenceId: bre-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board promotion: fromChannel: candidate @@ -4065,7 +4073,7 @@ baselineReleaseEvidence: decidedAt: 2026-06-02T10:30:00+08:00 immutableRefs: sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate tagSignatureVerified: true publishTransactionDigest: sha256: auditExportDigest: sha256: @@ -4074,6 +4082,7 @@ baselineReleaseEvidence: stateReconciliationDigest: sha256: evidenceTraceGraphDigest: sha256: gateExecutionReportDigest: sha256: + revocationRecordDigest: sha256: eolRetirementCertificateDigest: sha256: reviewBoardDecisionDigest: sha256: artifactInventoryDigest: sha256: @@ -4093,6 +4102,8 @@ baselineReleaseEvidence: gateExecutionReplayPasses: true publishTransactionRemoteRefsMatch: true publishTransactionPostVerificationPasses: true + revocationRecordRequiredWhenRevoked: true + revokedBaselineIsBlockedForNewAdoption: true eolRetirementCertificateRequiredWhenEol: true reviewBoardDecisionSigned: true reviewBoardQuorumMet: true @@ -4118,6 +4129,7 @@ baselineReleaseEvidence: - governance/evidence/baselines/baseline-evidence-trace-graph.yaml - governance/evidence/baselines/baseline-gate-execution-report.yaml - governance/evidence/baselines/baseline-publish-transaction.yaml + - governance/evidence/baselines/baseline-revocation-record.yaml - governance/evidence/baselines/baseline-eol-retirement-certificate.yaml - governance/evidence/baselines/baseline-review-board-decision.yaml - governance/evidence/verification/baseline-verification-lock.yaml @@ -4149,8 +4161,8 @@ baselineReleaseEvidence: expiringWithinDays: 14 rollback: verified: true - previousBaseline: V2.48 - rollbackTag: architecture/v2.48-candidate + previousBaseline: V2.49 + rollbackTag: architecture/v2.49-candidate rollbackGuide: governance/evidence/baseline-changes/baseline-change-record.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml verification: @@ -4170,12 +4182,14 @@ baselineReleaseEvidence: | `candidate -> baseline` | `baseline-lifecycle-state-machine.yaml`、`baseline-state-reconciliation-report.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-publish-transaction.yaml`、`baseline-release-evidence.yaml`、基线就绪评分卡、基线会审裁决记录、版本控制面、验证环境锁、审计导出、控制覆盖、远端 ref、push 回执和 tag 验签通过 | 状态机未允许迁移、状态对账失败、证据追踪图断链、门禁执行报告失败或不可重放、发布事务缺失、远端 ref 不匹配、push 失败、缺少证据包、就绪评分卡未通过、会审裁决缺失或未签署、验证环境未锁定、tag 漂移、控制覆盖不一致 | | `baseline -> frozen` | 状态机允许迁移、冻结复核、开放关键发现为 0、就绪评分达到 frozen 阈值、会审裁决同意冻结、例外总账无过期阻断、独立回滚验证和审计导出摘要一致 | 状态机禁止迁移、仍有 critical/high 风险、就绪评分不足、会审反对意见未关闭、证据过期、例外过期、阻断例外未关闭、回滚未验证 | | `baseline -> emergency-patch` | 事故或安全编号、补丁范围、最小影响分析、补齐证据期限和复盘 owner | 无事故编号、补丁长期化、事后未补 ADR 或复盘 | +| `baseline/frozen -> quarantined` | `baseline-revocation-record.yaml`、撤销触发、隔离范围、受影响引用、通知确认、恢复目标和风险接受 | 无撤销记录、签名或证据污染未隔离、通知对象未知、恢复目标未验证 | +| `quarantined -> revoked` | 撤销裁决、生产引用清零、采纳阻断、支持矩阵更新、审计归档和替代基线计划 | 隔离后仍被采用、无替代路径、审计归档缺失或风险接受缺失 | | `superseded -> eol` | `baseline-eol-retirement-certificate.yaml`、支持矩阵 EOL 到期、生产引用清零、采纳总账关闭、例外清零和审计证据归档 | 仍有生产引用、未迁移对象无风险接受、EOL 证书缺失、审计归档缺失、新采用未阻断 | 执行规则: 1. `baseline-release-evidence.yaml` 必须追加写入,不得覆盖历史基线证据。 -2. `immutableRefs.sourceCommit`、`releaseTag`、发布事务摘要、生命周期状态机摘要、状态对账报告摘要、证据追踪图摘要、门禁执行报告摘要、EOL 退役证书摘要、会审裁决摘要、验证环境锁摘要、基线制品清单摘要、基线就绪评分卡摘要、基线例外总账摘要、审计导出摘要和控制覆盖摘要必须来自同一基线。 +2. `immutableRefs.sourceCommit`、`releaseTag`、发布事务摘要、撤销隔离摘要、生命周期状态机摘要、状态对账报告摘要、证据追踪图摘要、门禁执行报告摘要、EOL 退役证书摘要、会审裁决摘要、验证环境锁摘要、基线制品清单摘要、基线就绪评分卡摘要、基线例外总账摘要、审计导出摘要和控制覆盖摘要必须来自同一基线。 3. 任意禁推本地资产出现在远端树中,`forbiddenLocalAssetsAbsentFromRemote` 必须为 `false`,并阻断基线晋级。 4. `frozen` 晋级必须先完成状态对账、漂移复核、基线就绪评分卡、基线会审裁决和基线例外总账复核;如果存在状态冲突、关键漂移、评分不足、未关闭反对意见、过期例外或阻断例外,只能创建 POA&M 或风险接受,不能冻结。 5. 回滚验证必须指向 `baseline-rollback-verification.yaml`,并证明上一基线 tag、commit、GitOps revision、审计导出和烟测结果有效,不能只写自然语言说明。 @@ -4183,7 +4197,7 @@ baselineReleaseEvidence: 可执行验收标准: 1. 任意基线晋级都能找到一份对应的 `baseline-release-evidence.yaml`。 -2. 任意证据包都能证明版本清单、生命周期状态机、状态对账报告、证据追踪图、门禁执行报告、基线发布事务回执、EOL 退役证书、会审裁决记录、验证环境锁、基线制品清单、基线就绪评分卡、基线例外总账、控制覆盖、标准基线和审计导出摘要一致。 +2. 任意证据包都能证明版本清单、生命周期状态机、状态对账报告、证据追踪图、门禁执行报告、基线发布事务回执、基线撤销与隔离记录、EOL 退役证书、会审裁决记录、验证环境锁、基线制品清单、基线就绪评分卡、基线例外总账、控制覆盖、标准基线和审计导出摘要一致。 3. 任意冻结基线都能证明开放关键发现为 0、就绪评分达到 frozen 阈值、过期阻断例外为 0,会审反对意见已经关闭,且回滚路径已经验证。 4. 任意审计人员都能从证据包直接定位 source commit、release tag、验签结果和验证命令。 @@ -4193,9 +4207,9 @@ baselineReleaseEvidence: ```yaml baselineCompatibilityLedger: - ledgerId: bcl-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + ledgerId: bcl-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board change: changeLevel: minor @@ -4283,9 +4297,9 @@ baselineCompatibilityLedger: ```yaml baselineAdoptionLedger: - ledgerId: bal-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + ledgerId: bal-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board scope: requiredBy: 2026-10-01 @@ -4315,7 +4329,7 @@ baselineAdoptionLedger: - target: domain:order owner: team-order currentBaseline: V2.35 - targetBaseline: V2.49 + targetBaseline: V2.50 conformanceProfile: standard-prod gateLevel: L3 adoptionStatus: in-progress @@ -4324,11 +4338,11 @@ baselineAdoptionLedger: - domains/order/domain.yaml - governance/evidence/conformance/order-domain-baseline-claim.yaml - governance/control-plane/version-governance.yaml - - governance/evidence/control-assessments/order-domain-v249.yaml + - governance/evidence/control-assessments/order-domain-v250.yaml - target: ai-product:customer-service-agent owner: team-support-ai - currentBaseline: V2.49 - targetBaseline: V2.49 + currentBaseline: V2.50 + targetBaseline: V2.50 conformanceProfile: regulated-ai-prod gateLevel: L4 adoptionStatus: adopted @@ -4340,8 +4354,8 @@ baselineAdoptionLedger: - governance/control-plane/release-gate-decision.yaml - target: platform-golden-path:microservice owner: platform-team - currentBaseline: V2.49 - targetBaseline: V2.49 + currentBaseline: V2.50 + targetBaseline: V2.50 conformanceProfile: standard-prod gateLevel: L2 adoptionStatus: adopted @@ -4349,7 +4363,7 @@ baselineAdoptionLedger: evidence: - platform/golden-paths/microservice/template.yaml - governance/evidence/conformance/microservice-golden-path-baseline-claim.yaml - - governance/evidence/platform/microservice-golden-path-v249.yaml + - governance/evidence/platform/microservice-golden-path-v250.yaml exceptions: active: - id: ex-adoption-2026-001 @@ -4400,16 +4414,16 @@ baselineAdoptionLedger: ```yaml baselineSupportMatrix: - matrixId: bsm-20260602-mea-v249 + matrixId: bsm-20260602-mea-v250 owner: architecture-governance-board - currentBaseline: V2.49 + currentBaseline: V2.50 minimumAcceptedBaselines: L2: V2.31 L3: V2.35 - L4: V2.49 + L4: V2.50 baselines: - - version: V2.49 - baselineId: mea-v2.49-20260602 + - version: V2.50 + baselineId: mea-v2.50-20260602 channel: candidate supportState: active supportFrom: 2026-06-02 @@ -4438,7 +4452,7 @@ baselineSupportMatrix: allowedForNewProjects: false allowedGateLevels: - L2 - migrationTarget: V2.49 + migrationTarget: V2.50 - version: V2.31 baselineId: mea-v2.31-20260602 channel: superseded @@ -4449,7 +4463,7 @@ baselineSupportMatrix: allowedForNewProjects: false allowedGateLevels: - L2 - migrationTarget: V2.49 + migrationTarget: V2.50 exceptions: active: - id: ex-support-2026-001 @@ -4503,7 +4517,7 @@ baselineReleaseTrain: owner: architecture-governance-board cadence: quarterly timezone: Asia/Shanghai - currentBaseline: V2.49 + currentBaseline: V2.50 trainWindow: proposalCutoff: 2026-06-10 candidateStart: 2026-06-17 @@ -4561,12 +4575,12 @@ baselineReleaseTrain: - signature-receipt - adoption-ledger plannedBaselines: - - version: V2.49 - baselineId: mea-v2.49-20260602 + - version: V2.50 + baselineId: mea-v2.50-20260602 releaseChannel: candidate targetChannel: baseline sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate requiredLedgers: - governance/evidence/baselines/baseline-lifecycle-state-machine.yaml - governance/evidence/baselines/baseline-state-reconciliation-report.yaml @@ -4650,7 +4664,7 @@ baselineReleaseTrain: ```yaml baselineConformanceClaim: - claimId: bcc-20260602-order-command-service-v249 + claimId: bcc-20260602-order-command-service-v250 asset: id: service:order-command-service type: service @@ -4659,8 +4673,8 @@ baselineConformanceClaim: sourceRoot: domains/order/services/order-command-service catalogRef: catalog/components/order-command-service.yaml claimedBaseline: - version: V2.49 - baselineId: mea-v2.49-20260602 + version: V2.50 + baselineId: mea-v2.50-20260602 releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml @@ -4688,7 +4702,7 @@ baselineConformanceClaim: - infra/gitops/environments/prod/order/order-command-service/kustomization.yaml - governance/evidence/drift/order-command-service-drift.yaml controls: - - governance/evidence/control-assessments/order-command-service-v249.yaml + - governance/evidence/control-assessments/order-command-service-v250.yaml - governance/control-plane/release-gate-decision.yaml supplyChain: - governance/evidence/supply-chain/order-command-service-attestation.yaml @@ -4732,12 +4746,12 @@ baselineConformanceClaim: ```yaml baselineArtifactInventory: - inventoryId: bai-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + inventoryId: bai-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate generatedAt: 2026-06-02T12:00:00+08:00 digestAlgorithm: sha256 scope: @@ -4885,12 +4899,12 @@ baselineArtifactInventory: ```yaml baselineVerificationLock: - lockId: bvl-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + lockId: bvl-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate generatedAt: 2026-06-02T12:15:00+08:00 runner: type: container @@ -4996,9 +5010,9 @@ baselineVerificationLock: ```yaml baselineNotificationLedger: - ledgerId: bnl-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + ledgerId: bnl-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml compatibilityLedger: governance/evidence/compatibility/baseline-compatibility-ledger.yaml @@ -5132,19 +5146,19 @@ baselineNotificationLedger: ```yaml baselineRollbackVerification: - verificationId: brv-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + verificationId: brv-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board currentBaseline: - version: V2.49 - releaseTag: architecture/v2.49-candidate + version: V2.50 + releaseTag: architecture/v2.50-candidate sourceCommit: releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml rollbackTarget: - version: V2.45 - baselineId: mea-v2.45-20260602 - releaseTag: architecture/v2.45-candidate + version: V2.49 + baselineId: mea-v2.49-20260602 + releaseTag: architecture/v2.49-candidate sourceCommit: supportState: active supportMatrix: governance/evidence/support/baseline-support-matrix.yaml @@ -5156,7 +5170,7 @@ baselineRollbackVerification: - platform-sre-reviewer checks: - checkId: git-tag-checkout - command: git checkout architecture/v2.45-candidate + command: git checkout architecture/v2.49-candidate expectedResult: pass result: pass evidenceDigest: sha256: @@ -5237,9 +5251,9 @@ POA&M 中的例外统一收敛到同一份基线证据,回答“哪些例外 ```yaml baselineExceptionLedger: - ledgerId: bel-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + ledgerId: bel-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board generatedAt: 2026-06-02T13:30:00+08:00 linkedEvidence: @@ -5356,9 +5370,9 @@ baselineExceptionLedger: ```yaml baselineReadinessScorecard: - scorecardId: brs-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + scorecardId: brs-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board generatedAt: 2026-06-02T14:00:00+08:00 scoringPolicy: @@ -5502,16 +5516,16 @@ baselineReadinessScorecard: ```yaml baselineLifecycleStateMachine: - machineId: blsm-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + machineId: blsm-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board generatedAt: 2026-06-02T14:30:00+08:00 currentState: state: candidate enteredAt: 2026-06-02T14:30:00+08:00 source: governance/control-plane/version-governance.yaml - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate sourceCommit: states: - state: draft @@ -5534,6 +5548,14 @@ baselineLifecycleStateMachine: terminal: false productionAllowed: controlled-only description: 安全、合规或生产事故紧急补丁通道。 + - state: quarantined + terminal: false + productionAllowed: false + description: 基线存在严重发布、签名、证据或远端保护风险,已被隔离等待裁决。 + - state: revoked + terminal: true + productionAllowed: false + description: 基线已撤销,不得新建、冻结、发布、采用或继续用于生产。 - state: superseded terminal: false productionAllowed: existing-assets-only @@ -5647,6 +5669,65 @@ baselineLifecycleStateMachine: sideEffects: - merge-patch-evidence - update-release-evidence + - from: baseline + to: quarantined + requiredEvidence: + - baseline-revocation-record + - affected-reference-inventory + - notification-ledger-updated + - rollback-or-replacement-target + approvers: + - architecture-governance-board + - security-lead + - audit-lead + sideEffects: + - block-new-adoption + - pause-release-train + - update-support-state + - from: frozen + to: quarantined + requiredEvidence: + - baseline-revocation-record + - audit-export-quarantine-note + - affected-reference-inventory + - notification-ledger-updated + approvers: + - architecture-governance-board + - security-lead + - audit-lead + sideEffects: + - block-new-adoption + - freeze-evidence-retention + - update-support-state + - from: quarantined + to: baseline + requiredEvidence: + - revocation-clearance-approved + - regression-gates-pass + - state-reconciliation-pass + - review-board-decision + approvers: + - architecture-governance-board + - security-lead + sideEffects: + - restore-adoption-if-approved + - update-support-state + - from: quarantined + to: revoked + requiredEvidence: + - baseline-revocation-record + - production-reference-zero-or-risk-accepted + - replacement-baseline-plan + - audit-evidence-archived + approvers: + - architecture-governance-board + - platform-lead + - security-lead + - audit-lead + sideEffects: + - permanently-block-new-adoption + - archive-revoked-baseline + - require-successor-baseline - from: superseded to: eol requiredEvidence: @@ -5686,6 +5767,15 @@ baselineLifecycleStateMachine: - from: eol to: baseline reason: EOL 基线不可复活,必须创建新 baseline ID。 + - from: revoked + to: baseline + reason: 已撤销基线不可复活,必须创建新 baseline ID。 + - from: revoked + to: frozen + reason: 已撤销基线不可冻结,必须创建新 baseline ID。 + - from: quarantined + to: frozen + reason: 隔离基线不能直接冻结;必须先解除隔离回到 baseline。 transitionAttempts: - transitionId: blsm-transition-20260602-001 from: candidate @@ -5701,6 +5791,7 @@ baselineLifecycleStateMachine: evidenceTraceGraph: governance/evidence/baselines/baseline-evidence-trace-graph.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml + revocationRecord: governance/evidence/baselines/baseline-revocation-record.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml @@ -5727,6 +5818,8 @@ baselineLifecycleStateMachine: | `baseline` | 已批准执行基线 | 允许 | | `frozen` | 冻结审计或规模化推广口径 | 允许,但只能补丁或替代 | | `emergency-patch` | 紧急补丁状态 | 受控允许 | +| `quarantined` | 已隔离,等待撤销、恢复或替代裁决 | 禁止 | +| `revoked` | 已撤销,不得继续引用 | 禁止 | | `superseded` | 被新基线替代 | 仅存量迁移期 | | `eol` | 停止支持 | 禁止 | @@ -5737,19 +5830,21 @@ baselineLifecycleStateMachine: 3. 每次迁移必须写入 `transitionAttempts`,记录 `from`、`to`、请求人、批准人、证据路径、决策、状态回写和失败原因。 4. `currentState.state` 必须与 `version-governance.yaml` 的 `releaseChannel/status`、`baseline-release-evidence.yaml` 的晋级决策和 `baseline-support-matrix.yaml` 的支持状态一致。 5. `candidate -> baseline` 不能缺少就绪评分卡、证据追踪图、门禁执行报告、发布事务回执、验证环境锁、制品清单、例外总账、回滚验证、会审裁决和 release gate 决策。 -6. `baseline -> frozen` 必须证明冻结窗口开启、就绪评分达到 frozen 阈值、证据追踪图闭合、门禁执行报告可重放、发布事务远端 ref 和保护规则已锁定、通知确认完成、过期例外为 0、回滚验证未过期、会审裁决同意冻结且审计导出可验签。 +6. `baseline -> frozen` 必须证明冻结窗口开启、就绪评分达到 frozen 阈值、证据追踪图闭合、门禁执行报告可重放、发布事务远端 ref 和保护规则已锁定、撤销隔离记录没有阻断状态、通知确认完成、过期例外为 0、回滚验证未过期、会审裁决同意冻结且审计导出可验签。 7. `emergency-patch` 只能用于安全、合规或生产事故,必须有事故编号、补丁范围、回滚验证、事后复盘 owner 和补证期限。 8. `eol` 为终态,不允许重新进入 `baseline`;需要重新启用时必须生成新 baseline ID、发布证据和状态机。 9. `superseded -> eol` 必须引用 `baseline-eol-retirement-certificate.yaml`、`baseline-review-board-decision.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml` 和 `baseline-publish-transaction.yaml`,证明生产引用清零、迁移关闭、例外清零、审计归档、新采用阻断、退役裁决、门禁执行、发布事实和证据归档链路已经完成。 +10. `baseline/frozen -> quarantined` 与 `quarantined -> revoked` 必须引用 `baseline-revocation-record.yaml`,证明撤销触发、隔离范围、受影响引用、恢复目标、通知确认、风险接受和审计归档已经闭环。 可执行验收标准: 1. 任意基线状态都能从状态机查到当前状态、进入时间、来源 commit、release tag 和回写目标。 2. 任意状态迁移都能证明它在 `allowedTransitions` 中,且不在 `forbiddenTransitions` 中。 3. 任意失败、拒绝或被阻断的迁移都能留下 `transitionAttempts`,并能追溯到缺失证据或硬门禁失败。 -4. 任意审计人员都能直接判断当前基线是否只是候选、已经 baseline、已经 frozen、已被替代还是 EOL。 +4. 任意审计人员都能直接判断当前基线是否只是候选、已经 baseline、已经 frozen、已隔离、已撤销、已被替代还是 EOL。 5. 任意状态漂移都会被门禁阻断:状态机、版本控制面、发布证据、支持矩阵和采纳总账不能出现互相矛盾的状态。 6. 任意 EOL 状态都能证明它不是只在支持矩阵中被标记,而是已经完成退役证书、生产阻断和审计归档。 +7. 任意撤销状态都能证明它不是只在会议中决定,而是已经完成隔离、通知、采纳阻断、恢复或替代裁决和审计归档。 ### 10.10.22 基线状态对账报告 @@ -5759,16 +5854,16 @@ baselineLifecycleStateMachine: ```yaml baselineStateReconciliationReport: - reportId: bsr-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + reportId: bsr-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board generatedAt: 2026-06-02T14:45:00+08:00 expectedState: lifecycleState: candidate - documentVersion: V2.49 - baselineId: mea-v2.49-20260602 - releaseTag: architecture/v2.49-candidate + documentVersion: V2.50 + baselineId: mea-v2.50-20260602 + releaseTag: architecture/v2.50-candidate sourceCommit: inputs: lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml @@ -5777,6 +5872,7 @@ baselineStateReconciliationReport: evidenceTraceGraph: governance/evidence/baselines/baseline-evidence-trace-graph.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml + revocationRecord: governance/evidence/baselines/baseline-revocation-record.yaml reviewBoardDecision: governance/evidence/baselines/baseline-review-board-decision.yaml releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml @@ -5789,39 +5885,39 @@ baselineStateReconciliationReport: observedState: lifecycleStateMachine: lifecycleState: candidate - documentVersion: V2.49 - baselineId: mea-v2.49-20260602 - releaseTag: architecture/v2.49-candidate + documentVersion: V2.50 + baselineId: mea-v2.50-20260602 + releaseTag: architecture/v2.50-candidate sourceCommit: status: match versionGovernance: releaseChannel: candidate status: Baseline Candidate - documentVersion: V2.49 - baselineId: mea-v2.49-20260602 - releaseTag: architecture/v2.49-candidate + documentVersion: V2.50 + baselineId: mea-v2.50-20260602 + releaseTag: architecture/v2.50-candidate sourceCommit: status: match releaseEvidence: promotionFrom: candidate promotionTo: baseline - documentVersion: V2.49 - baselineId: mea-v2.49-20260602 - releaseTag: architecture/v2.49-candidate + documentVersion: V2.50 + baselineId: mea-v2.50-20260602 + releaseTag: architecture/v2.50-candidate status: match evidenceTraceGraph: - graphId: betg-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + graphId: betg-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 requiredNodesMissing: 0 digestMismatches: 0 danglingEdges: 0 staleConsumers: 0 status: match gateExecutionReport: - reportId: bger-20260602-mea-v249-candidate-to-baseline - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + reportId: bger-20260602-mea-v250-candidate-to-baseline + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 result: pass rulesExecuted: 12 blockingFailures: 0 @@ -5829,26 +5925,36 @@ baselineStateReconciliationReport: decisionMatchesExecution: true status: match publishTransaction: - transactionId: bpt-20260602-mea-v249-candidate - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + transactionId: bpt-20260602-mea-v250-candidate + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate remoteRefVerified: true protectedRefsVerified: true forbiddenLocalAssetsAbsentFromRemote: true postPublishVerification: pass status: match + revocationRecord: + revocationId: not-applicable + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 + currentDisposition: not-revoked + quarantineRequired: false + revoked: false + affectedReferences: 0 + newAdoptionBlocked: false + status: not-applicable reviewBoardDecision: meetingScope: candidate-to-baseline - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 decision: approve-baseline quorumMet: true openDissentingOpinions: 0 status: match supportMatrix: - currentBaseline: V2.49 + currentBaseline: V2.50 supportState: active channel: candidate status: match @@ -5857,24 +5963,24 @@ baselineStateReconciliationReport: requiredForCurrentTransition: false status: not-applicable releaseTrain: - currentBaseline: V2.49 - plannedBaseline: V2.49 + currentBaseline: V2.50 + plannedBaseline: V2.50 releaseChannel: candidate targetChannel: baseline status: match adoptionLedger: - targetBaseline: V2.49 + targetBaseline: V2.50 unknownTargets: 0 overdueTargets: 0 status: match conformanceClaims: - claimedBaseline: V2.49 + claimedBaseline: V2.50 expiredClaims: 0 lowerThanMinimumAcceptedBaseline: 0 status: match auditExportManifest: - documentVersion: V2.49 - baselineId: mea-v2.49-20260602 + documentVersion: V2.50 + baselineId: mea-v2.50-20260602 exportDigest: sha256: status: match driftFindings: @@ -5917,12 +6023,12 @@ baselineStateReconciliationReport: 执行规则: 1. `baseline-state-reconciliation-report.yaml` 必须在 `candidate -> baseline`、`baseline -> frozen`、`baseline -> emergency-patch`、`baseline -> superseded` 和 `superseded -> eol` 前生成。 -2. 对账输入至少覆盖生命周期状态机、版本控制面、发布证据包、证据追踪图、门禁执行报告、发布事务回执、会审裁决记录、发布列车、支持矩阵、EOL 退役证书、采纳总账、符合性声明、制品清单、验证锁和审计导出清单。 +2. 对账输入至少覆盖生命周期状态机、版本控制面、发布证据包、证据追踪图、门禁执行报告、发布事务回执、撤销隔离记录、会审裁决记录、发布列车、支持矩阵、EOL 退役证书、采纳总账、符合性声明、制品清单、验证锁和审计导出清单。 3. `baselineId`、`documentVersion`、`releaseTag`、`sourceCommit` 和生命周期状态在任何权威账本中不一致时,必须阻断晋级。 4. `releaseEvidence` 允许声明目标状态,例如 `candidate -> baseline`,但必须同时能证明当前状态仍来自状态机,不能把目标状态误当当前状态。 5. `writeBack` 必须证明状态迁移后的版本控制面、支持矩阵、EOL 退役证书、发布证据摘要、采纳总账和审计导出清单已经更新。 6. 对账报告本身必须进入发布证据包摘要和审计导出包,不能只作为临时检查日志。 -7. 任何 `conflict`、`missing`、`stale`、证据追踪图断链、门禁执行报告失败、重放失败、发布事务失败、远端 ref 不匹配、保护规则缺失或 critical/high drift 都必须进入 release gate 阻断、POA&M 或风险接受,不能被就绪总分覆盖。 +7. 任何 `conflict`、`missing`、`stale`、证据追踪图断链、门禁执行报告失败、重放失败、发布事务失败、撤销隔离状态冲突、远端 ref 不匹配、保护规则缺失或 critical/high drift 都必须进入 release gate 阻断、POA&M 或风险接受,不能被就绪总分覆盖。 可执行验收标准: @@ -5931,6 +6037,7 @@ baselineStateReconciliationReport: 3. 任意发布证据包都能找到状态对账报告摘要,证明晋级判断使用的是同一组状态事实。 4. 任意审计导出都能证明导出的状态与版本控制面、状态机和支持矩阵一致。 5. 任意状态回写失败都会阻断下一次晋级,直到重新生成受影响账本和对账报告。 +6. 任意撤销、隔离或恢复裁决都能在状态对账报告中看到当前 disposition、受影响引用数、采纳阻断状态和审计归档状态。 ### 10.10.23 基线 EOL 退役证书 @@ -5940,11 +6047,11 @@ baselineStateReconciliationReport: ```yaml baselineEolRetirementCertificate: - certificateId: berc-20260602-mea-v248-to-v249 - retiredBaselineId: mea-v2.48-20260602 - retiredDocumentVersion: V2.48 - successorBaselineId: mea-v2.49-20260602 - successorDocumentVersion: V2.49 + certificateId: berc-20260602-mea-v249-to-v250 + retiredBaselineId: mea-v2.49-20260602 + retiredDocumentVersion: V2.49 + successorBaselineId: mea-v2.50-20260602 + successorDocumentVersion: V2.50 owner: architecture-governance-board issuedAt: 2026-06-02T16:30:00+08:00 eolEffectiveAt: 2026-09-01T00:00:00+08:00 @@ -5954,6 +6061,7 @@ baselineEolRetirementCertificate: evidenceTraceGraph: governance/evidence/baselines/baseline-evidence-trace-graph.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml + revocationRecord: governance/evidence/baselines/baseline-revocation-record.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml compatibilityLedger: governance/evidence/compatibility/baseline-compatibility-ledger.yaml @@ -6014,7 +6122,7 @@ baselineEolRetirementCertificate: runtimeDriftAlertEnabled: true evidenceRetention: archived: true - archiveLocation: governance/archive/baselines/mea-v2.48-20260602/ + archiveLocation: governance/archive/baselines/mea-v2.49-20260602/ retainedUntil: 2031-09-01 auditExportDigest: sha256: provenanceDigest: sha256: @@ -6085,9 +6193,9 @@ baselineEolRetirementCertificate: ```yaml baselineReviewBoardDecision: - decisionId: brbd-20260602-mea-v249-candidate-to-baseline - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + decisionId: brbd-20260602-mea-v250-candidate-to-baseline + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 meetingScope: candidate-to-baseline requestedBy: architecture-governance-board chairedBy: chief-architect @@ -6128,6 +6236,10 @@ baselineReviewBoardDecision: path: governance/evidence/baselines/baseline-publish-transaction.yaml digest: sha256: result: pass + revocationRecord: + path: governance/evidence/baselines/baseline-revocation-record.yaml + digest: sha256: + result: not-applicable readinessScorecard: path: governance/evidence/baselines/baseline-readiness-scorecard.yaml digest: sha256: @@ -6219,6 +6331,8 @@ baselineReviewBoardDecision: | ---- | ---- | ------------ | | `approve-baseline` | 同意进入 baseline | 是 | | `approve-frozen` | 同意进入 frozen | 是 | +| `approve-quarantine` | 同意隔离基线 | 只允许进入 quarantined | +| `approve-revocation` | 同意撤销基线 | 只允许进入 revoked | | `approve-with-condition` | 条件同意,必须有动作、owner 和到期日 | 视阻断范围而定 | | `defer` | 暂缓,等待补证或复审 | 否 | | `reject` | 拒绝晋级 | 否 | @@ -6226,7 +6340,7 @@ baselineReviewBoardDecision: 执行规则: -1. `candidate -> baseline`、`baseline -> frozen`、`baseline -> emergency-patch`、`baseline/frozen -> superseded` 和 `superseded -> eol` 前必须形成会审裁决记录。 +1. `candidate -> baseline`、`baseline -> frozen`、`baseline -> emergency-patch`、`baseline/frozen -> superseded`、`baseline/frozen -> quarantined`、`quarantined -> revoked` 和 `superseded -> eol` 前必须形成会审裁决记录。 2. 强制角色未投票、`quorumMet=false`、开放反对意见大于 0、必需证据核验失败或裁决过期,必须阻断晋级。 3. `approve-with-condition` 必须列出 `requiredActions`、owner、到期时间、阻断范围和补证路径;没有这些字段时不得放行。 4. 任何反对意见不得只停留在会议纪要中,必须进入 `dissentingOpinions`,并关闭、转风险接受、转 POA&M 或转必需动作。 @@ -6248,9 +6362,9 @@ baselineReviewBoardDecision: ```yaml baselineEvidenceTraceGraph: - graphId: betg-20260602-mea-v249 - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + graphId: betg-20260602-mea-v250 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: architecture-governance-board generatedAt: 2026-06-02T18:10:00+08:00 graphDigest: @@ -6261,7 +6375,7 @@ baselineEvidenceTraceGraph: releaseChannel: candidate lifecycleState: candidate sourceCommit: - releaseTag: architecture/v2.49-candidate + releaseTag: architecture/v2.50-candidate tagSignatureVerified: true nodes: - id: baseline-evidence-trace-graph @@ -6343,6 +6457,22 @@ baselineEvidenceTraceGraph: - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest + - id: baseline-revocation-record + type: revocation-record + path: governance/evidence/baselines/baseline-revocation-record.yaml + digest: sha256: + producer: architecture-governance-board + requiredFor: + - baseline-to-frozen + - baseline-to-quarantined + - frozen-to-quarantined + - quarantined-to-revoked + status: not-applicable + consumedBy: + - baseline-release-evidence + - baseline-review-board-decision + - baseline-state-reconciliation-report + - audit-export-manifest - id: baseline-review-board-decision type: review-decision path: governance/evidence/baselines/baseline-review-board-decision.yaml @@ -6458,6 +6588,11 @@ baselineEvidenceTraceGraph: relation: records-publish-transaction-digest digestReferenceMatches: true blocking: true + - from: baseline-release-evidence + to: baseline-revocation-record + relation: records-revocation-disposition + digestReferenceMatches: true + blocking: true - from: baseline-review-board-decision to: baseline-release-evidence relation: reviews @@ -6473,6 +6608,11 @@ baselineEvidenceTraceGraph: relation: reviews-publish-transaction digestReferenceMatches: true blocking: true + - from: baseline-review-board-decision + to: baseline-revocation-record + relation: reviews-revocation-disposition + digestReferenceMatches: true + blocking: true - from: baseline-state-reconciliation-report to: baseline-review-board-decision relation: reconciles-decision-state @@ -6488,6 +6628,11 @@ baselineEvidenceTraceGraph: relation: reconciles-publish-transaction-state digestReferenceMatches: true blocking: true + - from: baseline-state-reconciliation-report + to: baseline-revocation-record + relation: reconciles-revocation-state + digestReferenceMatches: true + blocking: true - from: audit-export-manifest to: baseline-release-evidence relation: exports @@ -6517,6 +6662,7 @@ baselineEvidenceTraceGraph: - baseline-evidence-trace-graph - baseline-gate-execution-report - baseline-publish-transaction + - baseline-revocation-record - baseline-readiness-scorecard - baseline-notification-ledger - baseline-exception-ledger @@ -6524,6 +6670,33 @@ baselineEvidenceTraceGraph: - baseline-rollback-verification - audit-export-signature-receipt result: not-ready + baseline-to-quarantined: + requiredNodes: + - baseline-evidence-trace-graph + - baseline-revocation-record + - baseline-state-reconciliation-report + - baseline-review-board-decision + - baseline-notification-ledger + - audit-export-manifest + result: not-applicable + frozen-to-quarantined: + requiredNodes: + - baseline-evidence-trace-graph + - baseline-revocation-record + - baseline-state-reconciliation-report + - baseline-review-board-decision + - baseline-notification-ledger + - audit-export-manifest + result: not-applicable + quarantined-to-revoked: + requiredNodes: + - baseline-evidence-trace-graph + - baseline-revocation-record + - baseline-state-reconciliation-report + - baseline-review-board-decision + - baseline-rollback-verification + - audit-export-manifest + result: not-applicable invariants: requiredNodesPresent: true noDanglingEdges: true @@ -6537,6 +6710,8 @@ baselineEvidenceTraceGraph: gateExecutionReplayPasses: true publishTransactionRemoteRefsMatch: true publishTransactionPostVerificationPasses: true + revocationRecordBlocksNewAdoptionWhenRevoked: true + revocationRecordArchivedWhenClosed: true findings: critical: [] high: [] @@ -6567,7 +6742,7 @@ baselineEvidenceTraceGraph: 1. `candidate -> baseline`、`baseline -> frozen`、`baseline -> emergency-patch`、`baseline/frozen -> superseded` 和 `superseded -> eol` 前必须生成证据追踪图。 2. `baseline-release-evidence.yaml` 和证据追踪图互相引用时,必须使用 `digestScope=exclude-self-digest-and-signature` 的非循环摘要口径;禁止把最终签名字段纳入自身摘要。 -3. 所有阻断型证据节点必须进入 `nodes` 和 `coverage.requiredTransitions`;生产基线的发布事务回执必须作为独立节点出现,不能只出现在自然语言验收清单里。 +3. 所有阻断型证据节点必须进入 `nodes` 和 `coverage.requiredTransitions`;生产基线的发布事务回执和撤销隔离记录必须作为独立节点出现,不能只出现在自然语言验收清单里。 4. 任意 `missing`、`stale`、`digest-mismatch`、`dangling` 或 `orphaned` 的必需节点都必须阻断对应状态迁移。 5. `audit-export-manifest.yaml`、`audit-export-provenance.yaml` 和签名验签回执必须记录证据追踪图摘要,证明审计包导出的是同一张证据图。 6. 证据追踪图不能只检查文件存在;必须检查 baseline ID、documentVersion、sourceCommit、releaseTag、digest、freshness 和下游消费关系。 @@ -6589,9 +6764,9 @@ baselineEvidenceTraceGraph: ```yaml baselineGateExecutionReport: - reportId: bger-20260602-mea-v249-candidate-to-baseline - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + reportId: bger-20260602-mea-v250-candidate-to-baseline + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: governance-platform generatedAt: 2026-06-02T18:40:00+08:00 execution: @@ -6704,9 +6879,9 @@ baselineGateExecutionReport: ```yaml baselinePublishTransaction: - transactionId: bpt-20260602-mea-v249-candidate - baselineId: mea-v2.49-20260602 - documentVersion: V2.49 + transactionId: bpt-20260602-mea-v250-candidate + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 owner: release-engineering startedAt: 2026-06-02T19:10:00+08:00 completedAt: 2026-06-02T19:20:00+08:00 @@ -6732,7 +6907,7 @@ baselinePublishTransaction: - docs/README.md - docs/references/README.md tag: - name: architecture/v2.49-candidate + name: architecture/v2.50-candidate targetCommit: signed: true signatureVerified: true @@ -6743,7 +6918,7 @@ baselinePublishTransaction: branchRef: refs/heads/develop branchRefBefore: branchRefAfter: - tagRef: refs/tags/architecture/v2.49-candidate + tagRef: refs/tags/architecture/v2.50-candidate pushResult: pass remoteRefVerified: true protection: @@ -6759,7 +6934,7 @@ baselinePublishTransaction: postPublishVerification: commands: - git ls-remote --heads origin develop - - git ls-remote --tags origin architecture/v2.49-candidate + - git ls-remote --tags origin architecture/v2.50-candidate - make test result: pass decision: @@ -6801,6 +6976,107 @@ baselinePublishTransaction: 4. 任意远端保护规则漂移都能进入 release gate 阻断、POA&M 或风险接受,不能靠人工口头确认放行。 5. 任意版本声明为已发布时,都能用 `git ls-remote`、tag 验签和门禁重放证实该声明不是本地文档状态。 +### 10.10.28 基线撤销与隔离记录 + +`baseline-revocation-record.yaml` 是已发布基线发生严重发布错误后的撤销与隔离证据。它不替代回滚验证、事故复盘或风险登记; +它负责证明坏基线已经被隔离、撤销或恢复,并且受影响引用、通知对象、恢复目标、风险接受、状态回写和审计归档都闭环。 + +```yaml +baselineRevocationRecord: + revocationId: brr-20260602-mea-v250-001 + baselineId: mea-v2.50-20260602 + documentVersion: V2.50 + owner: architecture-governance-board + openedAt: 2026-06-02T20:10:00+08:00 + currentDisposition: not-revoked + trigger: + type: none + detectedBy: release-engineering + detectedAt: null + severity: none + reason: 当前基线未触发撤销;本记录用于证明撤销门禁存在并可执行。 + immutableRefs: + sourceCommit: + releaseTag: architecture/v2.50-candidate + publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml + releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml + quarantine: + required: false + startedAt: null + blockedNewAdoption: false + blockedGitopsPromotion: false + blockedPlatformScaffolds: false + blockedCatalogRegistration: false + affectedReferences: + catalog: 0 + gitops: 0 + runtime: 0 + conformanceClaims: 0 + decision: + result: not-revoked + decidedBy: architecture-governance-board + reviewBoardDecision: governance/evidence/baselines/baseline-review-board-decision.yaml + riskAcceptanceRequired: false + poamRefs: [] + recovery: + targetType: none + rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml + replacementBaseline: null + recoverySmokeTest: not-applicable + productionReferencePolicy: allow-current-baseline + communications: + notificationLedger: governance/evidence/communications/baseline-notification-ledger.yaml + requiredOwnersNotified: true + objectionsOpen: 0 + writeBack: + lifecycleStateMachineUpdated: true + stateReconciliationUpdated: true + supportMatrixUpdated: true + adoptionLedgerUpdated: true + releaseTrainPaused: false + auditExportManifestUpdated: true + evidenceRetention: + archived: true + archiveLocation: governance/archive/baselines/mea-v2.50-20260602/revocation/ + retainedUntil: 2031-06-02 + gates: + blockIfQuarantineRequiredAndNotStarted: true + blockIfNewAdoptionNotBlockedWhenRevoked: true + blockIfAffectedReferencesUnknown: true + blockIfRecoveryTargetMissing: true + blockIfAuditArchiveMissing: true +``` + +撤销处置状态只能使用以下值: + +| 状态 | 含义 | 是否阻断 | +| ---- | ---- | -------- | +| `not-revoked` | 基线未触发撤销,记录证明撤销门禁已存在 | 否 | +| `quarantine-required` | 已发现严重风险,需要立即隔离 | 是 | +| `quarantined` | 已隔离,等待恢复或撤销裁决 | 是 | +| `revoked` | 已撤销,不得继续采用或发布 | 是 | +| `restored` | 隔离后经复核恢复为可用基线 | 否,但必须有复核证据 | +| `superseded-by-replacement` | 通过替代基线关闭撤销事件 | 否,但旧基线不得新采用 | +| `false-positive` | 误报,经会审确认无撤销必要 | 否,但必须保留判断证据 | + +执行规则: + +1. 已发布基线出现签名密钥泄露、tag 指向错误、source commit 错配、证据污染、禁推资产进入远端、门禁误放行或远端保护失效时,必须生成或更新 `baseline-revocation-record.yaml`。 +2. 进入 `quarantined` 或 `revoked` 前,必须阻断新采用、GitOps 晋级、平台脚手架和 catalog 注册;否则不能把撤销处置标记为完成。 +3. `affectedReferences` 必须同时来自 catalog、GitOps、runtime inventory 和资产侧符合性声明,不能只依赖中央台账。 +4. 撤销恢复只能走 `restored`、`superseded-by-replacement` 或新 baseline;不得通过直接修改旧 tag、旧 commit 或旧审计导出包恢复。 +5. 撤销记录必须进入状态机、状态对账报告、发布证据包、证据追踪图、会审裁决、支持矩阵、采纳总账和审计导出包。 +6. 任意撤销都必须通知受影响 owner;未确认、异议或风险接受必须进入通知总账、例外总账、POA&M 或风险登记。 +7. 撤销关闭后必须保留审计归档;归档缺失时,`release-gate-decision.yaml` 不得允许后续 frozen、EOL 或替代基线关闭。 + +可执行验收标准: + +1. 任意已发布基线都能证明是否触发撤销;没有触发时也能看到 `not-revoked` 的处置记录。 +2. 任意已隔离或已撤销基线都能证明新采用已阻断、受影响引用已盘点、owner 已通知、恢复目标已验证。 +3. 任意撤销恢复都能证明它不是改旧 tag 或口头恢复,而是通过回滚验证、替代基线、会审裁决和状态回写完成。 +4. 任意审计人员都能从撤销记录追到发布事务、发布证据、状态对账、通知确认、风险接受和审计归档。 +5. 任意签名泄露、证据污染或禁推资产误入远端都不能只靠删除文件解决;必须留下撤销与隔离记录。 + ## 10.11 仓库拓扑剖面 目录结构可以按企业规模、团队自治程度和合规要求裁剪,但真相源边界不能裁剪。仓库拓扑的选择应先看 ownership、变更频率、权限隔离、发布节奏和审计要求,而不是看团队偏好的 Git 管理方式。 @@ -6908,7 +7184,7 @@ baselinePublishTransaction: starter kit 校验命令 ``` -该命令是仓库内零依赖 starter gate,用于校验版本清单、控制项覆盖清单、82 组示例的 JSON Schema 子集、YAML 示例、嵌套必填字段、格式约束、数值阈值、严格 schema 模式、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、仓库变更控制、远端保护漂移整改、访问复核、密钥轮换、漏洞修复、事故复盘、证据新鲜度、AI 证据账本、微调运行证据、AI 事件响应 playbook、控制证据映射、审计导出清单、审计导出自动化命令、控制评估报告、架构基线变更记录、架构决策记录、OSCAL 交换映射、POA&M 整改计划、企业架构风险登记、审计导出门禁、审计导出完整性清单、审计导出 provenance statement、审计导出签名策略、审计导出签名验签回执、未知字段阻断、证据链字段和示例间一致性。企业生产落地时应优先接入成熟校验器,例如 JSON Schema draft 2020-12 validator、YAML parser、OpenAPI / AsyncAPI checker、OPA / Cedar / Kyverno policy test、SLSA / Sigstore verifier、OpenTelemetry collector、OpenCost / FOCUS 工具链、IAM / Secret 管理系统、漏洞管理平台、事故管理系统、OSCAL 工具链和 GitOps diff 工具;本仓库脚本只作为 starter kit 的最小可执行证明。 +该命令是仓库内零依赖 starter gate,用于校验版本清单、控制项覆盖清单、83 组示例的 JSON Schema 子集、YAML 示例、嵌套必填字段、格式约束、数值阈值、严格 schema 模式、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、仓库变更控制、远端保护漂移整改、访问复核、密钥轮换、漏洞修复、事故复盘、证据新鲜度、AI 证据账本、微调运行证据、AI 事件响应 playbook、控制证据映射、审计导出清单、审计导出自动化命令、控制评估报告、架构基线变更记录、架构决策记录、OSCAL 交换映射、POA&M 整改计划、企业架构风险登记、审计导出门禁、审计导出完整性清单、审计导出 provenance statement、审计导出签名策略、审计导出签名验签回执、未知字段阻断、证据链字段和示例间一致性。企业生产落地时应优先接入成熟校验器,例如 JSON Schema draft 2020-12 validator、YAML parser、OpenAPI / AsyncAPI checker、OPA / Cedar / Kyverno policy test、SLSA / Sigstore verifier、OpenTelemetry collector、OpenCost / FOCUS 工具链、IAM / Secret 管理系统、漏洞管理平台、事故管理系统、OSCAL 工具链和 GitOps diff 工具;本仓库脚本只作为 starter kit 的最小可执行证明。 审计导出包由以下命令生成: @@ -6960,6 +7236,7 @@ governance/evidence/baselines/{baseline-state-reconciliation-report}.yaml governance/evidence/baselines/{baseline-evidence-trace-graph}.yaml governance/evidence/baselines/{baseline-gate-execution-report}.yaml governance/evidence/baselines/{baseline-publish-transaction}.yaml +governance/evidence/baselines/{baseline-revocation-record}.yaml governance/evidence/baselines/{baseline-eol-retirement-certificate}.yaml governance/evidence/baselines/{baseline-review-board-decision}.yaml governance/evidence/verification/{baseline-verification-lock}.yaml @@ -7053,6 +7330,7 @@ starter kit 校验命令 37. 基线证据追踪图、证据节点、依赖边、摘要一致性、下游消费、孤儿证据和断链阻断检查。 38. 基线门禁执行报告、门禁命令、runner 镜像、策略包、schema 包、输入摘要、规则结果、退出码、重放结果和最终决策一致性检查。 39. 基线发布事务回执、提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证检查。 +40. 基线撤销与隔离记录、撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档检查。 ### 10.13.2 审计证据索引 @@ -7092,6 +7370,7 @@ starter kit 校验命令 | 基线证据追踪图证据 | 证据节点、依赖边、摘要一致性、下游消费、孤儿证据、断链阻断和审计导出包含状态 | 治理团队、平台团队、安全团队和审计团队 | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | | 基线门禁执行证据 | 门禁命令、runner 镜像、策略包、schema 包、输入摘要、规则结果、退出码、重放结果和最终决策 | 治理团队、平台团队、安全团队和审计团队 | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | | 基线发布事务证据 | 提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证 | 治理团队、平台团队、安全团队、发布工程团队和审计团队 | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | +| 基线撤销隔离证据 | 撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档 | 治理团队、平台团队、安全团队、发布工程团队、SRE 和审计团队 | 覆盖每次企业基线隔离、恢复、撤销和误报关闭 | | 例外证据 | 例外申请、风险接受、到期复审、关闭记录 | 治理团队 | 例外关闭后继续保留一个审计周期 | `governance/evidence/audit-evidence-index.md` 应至少记录: @@ -7614,6 +7893,7 @@ infra/gitops/environments/prod/example/example-service/kustomization.yaml 31. 所有企业级基线都有证据追踪图,能证明关键证据节点、摘要、依赖边、下游消费和断链阻断状态。 32. 所有企业级基线都有门禁执行报告,能证明 release gate 的命令、runner、策略包、输入摘要、规则结果、退出码、重放结果和最终决策一致。 33. 所有企业级基线都有发布事务回执,能证明 source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证一致。 +34. 所有企业级基线都有撤销与隔离记录,能证明坏基线能被隔离、阻断新采用、通知受影响 owner、选择恢复目标、完成风险接受并归档审计证据。 --- @@ -7655,6 +7935,7 @@ infra/gitops/environments/prod/example/example-service/kustomization.yaml | 证据链断裂 | 单个证据文件都存在,但摘要互相引用旧值、关键证据没有被 release gate 消费或审计导出缺少追踪图 | 用基线证据追踪图绑定证据节点、依赖边、摘要一致性、下游消费和断链阻断 | | 门禁伪执行 | release gate 写了 pass,但实际命令、策略包、输入摘要、规则结果、退出码或重放记录缺失 | 用基线门禁执行报告绑定执行命令、runner、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策 | | 发布事务空心化 | 文档声明基线已发布,但远端 ref、签名 tag、push 回执、保护规则或禁推资产排除没有证据 | 用基线发布事务回执绑定 source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证 | +| 撤销隔离缺失 | 已发布基线发现签名泄露、远端保护漂移、证据污染或错误 tag 后,没有隔离状态、受影响引用、通知和恢复目标 | 用基线撤销与隔离记录绑定触发、隔离范围、通知确认、阻断新采用、恢复目标、风险接受和审计归档 | --- @@ -7706,6 +7987,7 @@ infra/gitops/environments/prod/example/example-service/kustomization.yaml 30. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明证据追踪图闭合,且没有缺失节点、摘要不一致、断边、孤儿证据或下游旧引用。 31. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明门禁执行报告可重放,且执行命令、runner、策略包、输入摘要、规则结果、退出码和最终决策一致。 32. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明发布事务已经完成,且 source commit、签名 tag、远端 ref、push 回执、保护规则和发布后验证一致。 +33. 任意基线隔离、恢复、撤销和误报关闭都能证明触发原因、影响范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档一致。 --- @@ -7736,7 +8018,7 @@ infra/gitops/environments/prod/example/example-service/kustomization.yaml | 对标来源 | 关键结论 | 本文档落点 | | -------- | -------- | ---------- | -| Semantic Versioning / Conventional Commits / Keep a Changelog | 版本号、提交语义和变更记录必须表达兼容性、影响面和升级意图 | 增加 `version-governance.yaml`、`baseline-lifecycle-state-machine.yaml`、`baseline-state-reconciliation-report.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-publish-transaction.yaml`、`baseline-eol-retirement-certificate.yaml`、`baseline-review-board-decision.yaml`、`baseline-readiness-scorecard.yaml`、`baseline-rollback-verification.yaml`、`baseline-notification-ledger.yaml`、`baseline-verification-lock.yaml`、`baseline-artifact-inventory.yaml`、`baseline-conformance-claim.yaml`、`baseline-release-train.yaml`、`baseline-support-matrix.yaml`、`baseline-compatibility-ledger.yaml`、发布通道、生命周期状态机、状态对账、证据追踪图、门禁执行报告、发布事务回执、EOL 退役证据、会审裁决证据、基线不变量、就绪评分、回滚验证、通知确认、验证锁、制品清单、资产声明、发布节奏、支持窗口、兼容窗口、消费者迁移和回滚入口 | +| Semantic Versioning / Conventional Commits / Keep a Changelog | 版本号、提交语义和变更记录必须表达兼容性、影响面、撤销状态和升级意图 | 增加 `version-governance.yaml`、`baseline-lifecycle-state-machine.yaml`、`baseline-state-reconciliation-report.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-publish-transaction.yaml`、`baseline-revocation-record.yaml`、`baseline-eol-retirement-certificate.yaml`、`baseline-review-board-decision.yaml`、`baseline-readiness-scorecard.yaml`、`baseline-rollback-verification.yaml`、`baseline-notification-ledger.yaml`、`baseline-verification-lock.yaml`、`baseline-artifact-inventory.yaml`、`baseline-conformance-claim.yaml`、`baseline-release-train.yaml`、`baseline-support-matrix.yaml`、`baseline-compatibility-ledger.yaml`、发布通道、生命周期状态机、状态对账、证据追踪图、门禁执行报告、发布事务回执、撤销隔离记录、EOL 退役证据、会审裁决证据、基线不变量、就绪评分、回滚验证、通知确认、验证锁、制品清单、资产声明、发布节奏、支持窗口、兼容窗口、消费者迁移和回滚入口 | | DORA 2025 | AI 辅助交付必须与组织能力、平台能力和可度量交付质量一起治理 | 补齐 AI 指标、Platform PM、认知负载和 AI 发布门禁 | | CNCF Platform Engineering Maturity Model | 平台工程成熟度核心是自助、产品化、治理和可度量能力 | 保留 Developer Portal、Golden Path、平台产品契约和平台指标 | | Team Topologies | 降低团队认知负载是平台团队存在的核心理由之一 | 增加认知负载度量、Platform PM 和平台用户研究 | @@ -7758,10 +8040,10 @@ infra/gitops/environments/prod/example/example-service/kustomization.yaml | Kubernetes Multi-tenancy / ResourceQuota | 多团队或多租户 Kubernetes 需要 namespace、配额、网络隔离和准入策略配合 | 增加 `tenant-boundary.yaml`、ResourceQuota、NetworkPolicy 默认拒绝和准入策略证据 | | NIST Cybersecurity Framework 2.0 | 企业安全运营需要把识别、保护、检测、响应和恢复连接成证据闭环 | 增加访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度控制项 | | NIST SP 800-61 | 事件响应需要准备、检测分析、遏制恢复和事后活动闭环 | 增加 `incident-postmortem.yaml`、纠正行动、runbook 更新和门禁反哺 | -| NIST OSCAL / NIST SP 800-128 | 安全和合规控制应尽量使用机器可读目录、实施状态、评估结果、配置变更控制和证据包组织 | 增加 `control-evidence-map.yaml`、`audit-export-manifest.yaml`、`control-assessment-report.yaml`、`baseline-change-record.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-publish-transaction.yaml`、`oscal-export-profile.yaml` 和审计导出证据 | +| NIST OSCAL / NIST SP 800-128 | 安全和合规控制应尽量使用机器可读目录、实施状态、评估结果、配置变更控制和证据包组织 | 增加 `control-evidence-map.yaml`、`audit-export-manifest.yaml`、`control-assessment-report.yaml`、`baseline-change-record.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-publish-transaction.yaml`、`baseline-revocation-record.yaml`、`oscal-export-profile.yaml` 和审计导出证据 | | Kubernetes Secrets | Kubernetes Secret 需要加密、访问控制、轮换和外部密钥系统配合 | 增加 `secrets-rotation-evidence.yaml`、KMS、轮换和泄露扫描证据 | | CISA KEV Catalog | 已知被利用漏洞需要优先、限期、可证明地处置 | 增加 `vulnerability-remediation-evidence.yaml`、KEV 状态、修复 SLA 和残余风险 | -| SLSA / SBOM / Sigstore | 现代供应链安全必须证明构建来源、依赖、产物和签名验签链路 | 增加 SBOM、provenance、签名、验签、证据追踪图、门禁执行报告、发布事务回执和发布准入 | +| SLSA / SBOM / Sigstore | 现代供应链安全必须证明构建来源、依赖、产物、签名验签链路和坏基线撤销链路 | 增加 SBOM、provenance、签名、验签、证据追踪图、门禁执行报告、发布事务回执、撤销隔离记录和发布准入 | | NIST SSDF / CISA Secure by Design | 安全应前移到需求、设计、编码、构建、测试、发布和响应全链路 | 增加安全开发证据、威胁建模和安全准入材料 | | NIST AI RMF Critical Infrastructure Profile Concept Note | 高风险、关键基础设施相关 AI 场景需要更强的生命周期风险管理和可追溯实践 | 将关键基础设施 AI 相关资料纳入标准基线观察项,不直接当作稳定强制门禁 | | FinOps Framework / FOCUS / OpenCost | 成本治理需要统一成本语义、分摊、优化和持续运营 | 增加 `cost-allocation-evidence.yaml`、FinOps 运行机制、成本分摊证据和 AI 单任务成本指标 |