# 现代企业数字化平台架构说明文档 **文档版本**:V2.98 **适用对象**:企业管理层、产品负责人、架构师、研发负责人、数据负责人、平台团队、安全合规团队 **适用范围**:中大型企业数字化平台建设、业务系统重构、平台工程建设、数据产品化、组织协同机制设计 **文档定位**:本文件用于说明现代企业数字化平台的总体架构、核心组成、团队职责、治理机制、技术原则和落地路径。 **专项修订**:V2.98 在 V2.97 基础上补齐 AI 系统监管分类与影响评估总账,明确 AI 产品、Agent、RAG、微调模型和模型供应商接入必须具备适用法规分类、风险等级、人工监督、日志、技术文档、后市场监测和合规义务映射。 --- ## 0. 文档版本控制与发布治理 本文件从 V1.6 起按企业架构基线文档管理。版本号不是装饰字段,而是用于控制“哪些内容已经形成基线、哪些仍在评审、哪些变更会影响团队执行”的治理入口。 版本治理目标: 1. 让管理层、架构组、平台团队、领域团队、数据团队、安全团队和 AI 团队引用同一份基线。 2. 让每次架构升级都有变更范围、影响面、审批责任和验证证据。 3. 避免文档持续堆内容但没有稳定版本,导致执行团队不知道该按哪一版落地。 4. 为后续把蓝图升级为可执行企业标准、模板、契约和自动化门禁保留演进路径。 ### 0.1 版本语义 | 版本形态 | 含义 | 使用条件 | | -------- | ---- | -------- | | `V0.x` | 研究草案版 | 用于概念探索、资料整理和内部讨论,不作为企业执行基线 | | `V1.x` | 正式蓝图迭代版 | 架构原则、分层、职责边界和治理方向已经稳定,可用于方案评审和试点规划 | | `V1.x.y` | 勘误和补丁版 | 只修正文案、链接、格式、局部示例或不改变执行含义的小问题 | | `V2.x` | 可执行企业标准版 | 必须具备模板、契约、门禁、RACI、自动化校验和落地 starter kit | | `V3.0` | 组织级规模化运营版 | 已与平台门户、catalog、GitOps、成本、审计和运行指标形成闭环 | 版本升级规则: 1. 只改错别字、格式、链接和引用,不提升主版本,可使用补丁记录。 2. 新增章节、职责边界、治理要求、技术基线或路线图,提升当前主版本的小版本。 3. 改变目录真相源、团队职责、发布准入、风险等级或运行边界,必须提升小版本并记录影响面。 4. 改变执行模型、组织模型、平台边界或兼容策略,必须进入架构评审并形成 ADR。 5. 升级到 `V2.0` 前,必须证明本文档不只是说明文,而是能被仓库模板、机器契约和 CI 门禁执行。 ### 0.2 发布状态 | 状态 | 含义 | 允许动作 | | ---- | ---- | -------- | | `Draft` | 草案,内容仍在探索 | 可频繁修改,但不得作为执行口径 | | `Review` | 评审中,内容需要架构组和相关 owner 确认 | 允许修改,但必须保留评审意见和待决问题 | | `Baseline Candidate` | 基线候选,已具备执行口径但仍待正式会审确认 | 可用于试点和评审,不应用作冻结审计口径 | | `Baseline` | 已形成基线,可作为试点或项目规划依据 | 只能通过受控变更更新 | | `Frozen` | 冻结基线,通常用于招标、审计、监管或大规模推广 | 除勘误和安全修复外不得直接修改 | | `Superseded` | 已被新版本替代 | 只保留引用和迁移说明,不再作为新项目依据 | | `EOL` | 已停止支持并完成退役 | 禁止新建和生产继续使用,只保留审计归档 | 当前版本状态: | 版本 | 状态 | 说明 | | ---- | ---- | ---- | | `V2.98` | `Baseline Candidate` | 用作可执行企业标准起点;包含机器可读版本清单、控制项覆盖清单、128 组 starter kit schema/example、基线版本策略、发布通道、兼容性与冻结控制总账、V2.69 至 V2.92 控制覆盖追溯、公开文档与本地私有可执行资产边界、企业内部命令 URI、证据保证等级、证据采信规则、不可采信证据阻断、证据保证等级在晋级矩阵、制品清单、starter gate 与审计导出中的消费链闭合、基线门禁负例测试、AI 系统监管分类与影响评估、故障注入、期望失败证据、fail-closed 覆盖、基线生产变更、发布编排、变更冲突与失败恢复总账、基线事故、问题、纠正行动与复发防止总账、基线数据产品质量、契约违约、运行血缘与可观测性总账、基线工程质量、测试证据、缺陷与发布验证总账、基线人员能力、培训、职责履职与职责分离总账、基线业务结果、价值实现与组合收益总账、基线价值流、关键旅程与端到端流程总账、基线架构视图、运行拓扑与依赖影响总账、基线质量属性、架构驱动与权衡决策总账、基线架构原则、约束、反模式与例外执行总账、基线安全配置、加固姿态与配置漂移修复总账、基线漏洞、暴露面与修复验证总账、基线威胁建模、攻击面与安全风险总账、基线容量、性能、弹性伸缩与成本效率总账、基线服务可靠性、SLO、错误预算与可观测性总账、基线备份、恢复、灾备与可恢复性验证总账、基线密码材料、密钥、证书与秘密生命周期总账、基线资产关键性、数据分类与风险分级总账、基线身份权限、特权访问与工作负载身份总账、基线处理活动、个人数据清单与 RoPA 覆盖总账、基线隐私权利请求、同意偏好与合法基础执行总账、基线记录留存、法律保全与可防御删除总账、基线监管与合规义务可追溯总账、基线运营韧性与重要业务服务影响容忍总账、基线第三方与关键供应商风险总账、基线数据驻留与跨境处理总账、基线共享责任与继承控制总账、基线独立控制保证抽样总账、基线连续控制监测总账、基线运行时准入决策总账、基线运行时准入回执、基线长期验签回执、基线证据不可变归档回执、干净环境基线重建回执、私有制品托管交接清单、审计导出排除清单、本地私有制品边界、基线迁移执行回执、基线迁移工作单、基线消费锁定文件、基线准入执行策略、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、证据新鲜度、例外放行、break-glass、季度复核、仓库变更控制、远端保护漂移整改、控制证据映射、审计导出清单、审计导出自动化、控制评估报告、架构基线变更记录、架构决策记录、AI 证据账本、AI 系统监管分类与影响评估总账、微调运行证据、AI 事件响应 playbook、OSCAL 交换映射、POA&M 整改计划、企业架构风险登记、审计导出门禁、审计导出完整性清单、审计导出 provenance statement、审计导出签名策略、审计导出签名验签回执、严格 schema 模式、威胁建模、攻击面管理、安全风险治理、访问复核、密钥轮换、漏洞修复、事故复盘、可靠性、性能、容量、成本效率、数据治理、AI 运行、GitOps 安全、供应链证据链一致性和自动化校验入口 | ### 0.3 变更分级 | 变更级别 | 典型内容 | 审批要求 | 版本影响 | | -------- | -------- | -------- | -------- | | `Editorial` | 错别字、排版、链接、术语统一 | 文档 owner 自审 | 不提升主版本,可记录补丁 | | `Minor` | 新增示例、补充说明、局部增强,不改变团队职责 | 文档 owner 和相关章节 owner 确认 | 提升 `V1.x` 或记录补丁 | | `Major` | 新增架构层、治理门禁、组织职责、发布流程或运行边界 | 架构组、平台、数据、安全、AI 或受影响领域 owner 评审 | 提升 `V1.x` | | `Breaking` | 改变真相源、团队职责、契约兼容、发布准入或迁移路径 | 企业架构评审;必须有 ADR、迁移计划和弃用策略 | 进入下一主版本或明确迁移版本 | ### 0.4 版本发布证据 每次提升版本前,至少保留以下证据: 1. 变更摘要:说明新增、修改、删除和废弃内容。 2. 影响范围:列出受影响的架构层、目录、团队、契约、门禁和落地流程。 3. 决策记录:重大变更必须链接 ADR 或评审记录。 4. 版本清单:同步更新 `本地私有版本清单`,并让 CI 校验版本、状态、pair 数量、控制项数量和索引提及。 5. 控制覆盖:同步更新 `本地私有控制项覆盖清单`,并让 CI 校验控制项到 schema、example 和 checker 证据链。 6. 索引同步:同步更新 `docs/README.md`、`docs/references/README.md`、`metadata/taxonomy.yml` 和 AI 引用语料入口。 7. 链接校验:仓库内 Markdown 链接和锚点必须通过检查。 8. 格式校验:Markdown lint 和文档结构检查必须通过。 9. 回滚入口:保留上一版本引用、Git commit 或变更记录,保证可以回退到上一基线。 V2.31 起,生产基线发布还必须形成 `baseline-release-evidence.yaml`。它不是普通 release note,而是晋级、冻结和复核的证据包,用于证明当前基线与版本控制面、控制覆盖、标准基线、审计导出和远端保护状态一致。 V2.32 起,任何 `Major`、`Breaking` 或带迁移窗口的 `Minor` 基线还必须形成 `baseline-compatibility-ledger.yaml`。它用于证明消费者影响已经识别,迁移状态可以跟踪,未迁移对象已经进入例外、POA&M 或风险接受。 V2.33 起,企业级基线还必须形成 `baseline-adoption-ledger.yaml`。它用于证明哪些领域、平台、数据产品、AI 产品、GitOps 环境和生产资产已经采用当前基线,哪些仍在迁移、逾期、例外或整改。 V2.34 起,企业级基线还必须形成 `baseline-support-matrix.yaml`。它用于证明每条历史基线处于 active、maintenance、security-only、frozen、superseded 还是 eol,哪些门禁等级仍允许使用,安全补丁窗口何时结束,以及旧基线是否必须迁移或退役。 V2.35 起,企业级基线还必须形成 `baseline-release-train.yaml`。它用于证明基线发布不再是临时动作,而是具备候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁入口和发布节奏的受控列车。 V2.36 起,纳入企业基线治理的资产还必须形成 `baseline-conformance-claim.yaml`。它用于证明单个领域、服务、数据产品、AI 产品、平台能力或 GitOps 环境声明采用哪条基线、由谁签署、证据在哪里、例外何时到期,以及这条声明如何汇总到组织级采纳总账。 V2.37 起,企业级基线还必须形成 `baseline-artifact-inventory.yaml`。它用于证明当前基线到底包含哪些源文档、schema、示例、控制项、证据模板、脚本、生成物和外部引用,并为每个制品记录路径、类型、摘要、owner、必需性、签名状态和导出关系。 V2.38 起,企业级基线还必须形成 `baseline-verification-lock.yaml`。它用于证明当前基线由哪些命令、工具版本、runner 镜像、策略包、schema validator、签名验签工具和审计导出生成环境验证,避免同一源制品因为工具链漂移产生不同门禁结果。 V2.39 起,企业级基线还必须形成 `baseline-notification-ledger.yaml`。它用于证明哪些领域 owner、平台 owner、数据产品 owner、AI 产品 owner、GitOps 环境 owner 和审计/安全相关方在冻结前收到通知,是否确认影响,是否提出异议,以及未确认对象是否已有例外、POA&M 或风险接受。 V2.40 起,企业级基线还必须形成 `baseline-rollback-verification.yaml`。它用于证明上一基线、回滚目标 tag/commit、GitOps revision、审计导出恢复、关键烟测和验证时效已经被实际检查,避免“有回滚说明但无法恢复”的空心化基线。 V2.41 起,企业级基线还必须形成 `baseline-exception-ledger.yaml`。它不是替代单项 `policy-exception.yaml`,而是把兼容性、采纳、支持矩阵、通知确认、回滚验证、门禁决策、执行控制面和风险登记中的例外聚合为基线级总账,用于证明哪些例外仍有效、哪些已经过期、哪些会阻断冻结、哪些已经有风险接受和 POA&M。 V2.42 起,企业级基线还必须形成 `baseline-readiness-scorecard.yaml`。它不是替代发布证据包,而是把发布证据包中分散的硬门禁和评分维度汇总成最终就绪判定,用于回答“这条基线现在是否可以进入 baseline 或 frozen,而不是只看每个局部证据是否存在”。 V2.43 起,企业级基线还必须形成 `baseline-lifecycle-state-machine.yaml`。它不是替代版本控制面或发布证据包,而是把每次状态迁移的允许路径、禁止路径、前置证据、审批责任、回写对象和回滚入口固化为状态机,用于避免基线状态被人工口头解释或跨系统漂移。 V2.44 起,企业级基线还必须形成 `baseline-state-reconciliation-report.yaml`。它不是替代生命周期状态机,而是把状态机、版本控制面、发布证据、支持矩阵、发布列车、采纳总账、符合性声明和审计导出中的状态字段做交叉对账,用于证明“各账本都在说同一个版本状态”。 V2.45 起,企业级基线还必须形成 `baseline-eol-retirement-certificate.yaml`。它不是替代支持矩阵,而是证明某条旧基线进入 EOL 前,生产引用已经清零,采纳和迁移总账已经关闭,未迁移例外已经清零或完成风险接受,审计证据已经归档,新采用已经被平台、catalog 和 GitOps 阻断。 V2.46 起,企业级基线还必须形成 `baseline-review-board-decision.yaml`。它不是替代就绪评分卡或发布证据包,而是证明架构、平台、安全、数据、AI、SRE、FinOps 和审计相关 owner 已经对晋级证据做过独立会审,反对意见和条件放行已经进入整改、POA&M 或风险接受,最终裁决具备签署、有效期和复核入口。 V2.47 起,企业级基线还必须形成 `baseline-evidence-trace-graph.yaml`。它不是替代状态对账或审计导出,而是把所有关键证据的路径、摘要、来源、依赖、下游消费、状态和阻断条件编成一张证据图,用于证明 release gate 看到的是同一组证据事实。 V2.48 起,企业级基线还必须形成 `baseline-gate-execution-report.yaml`。它不是替代门禁决策,而是证明门禁命令、runner、策略包、schema 包、输入摘要、规则结果、退出码、重放结果和最终决策来自同一次可复现执行,避免“写了 pass,但没有跑”的空心化放行。 V2.97 起,企业级基线还必须形成 `baseline-gate-negative-test-suite.yaml`。它不是替代 `baseline-gate-execution-report.yaml`,而是证明 release gate、starter gate、审计导出、运行时准入和状态迁移阻断规则在错误输入、过期证据、摘要漂移、签名缺失、私有资产误入、例外过期和证据保证等级不足时会 fail-closed,避免只证明好样例通过、却无法证明坏样例被拒绝。 V2.98 起,企业级基线还必须形成 `baseline-ai-system-regulatory-impact-ledger.yaml`。它不是替代 AI 产品契约、AI 证据账本、DPIA、监管义务总账或风险登记,而是把每个 AI 系统的用途、部署角色、适用司法辖区、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度义务、后市场监测、供应商责任和合规缺口纳入统一证据链;任何高风险 AI 无分类、无人工监督、无日志、无技术文档、无后市场监测、无义务映射或未关闭合规缺口,都必须阻断 baseline/frozen 晋级。 V2.49 起,企业级基线还必须形成 `baseline-publish-transaction.yaml`。它不是替代 Git 或发布证据包,而是证明这次基线发布事务的提交前状态、提交对象、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后校验来自同一个不可变发布事实。 V2.50 起,企业级基线还必须形成 `baseline-revocation-record.yaml`。它不是替代回滚验证或事故复盘,而是证明已发布基线在发现严重发布错误、签名泄露、证据污染、远端保护失效或禁推资产误入时,能够被隔离、撤销、通知、恢复和归档。 V2.51 起,企业级基线还必须形成 `baseline-enforcement-policy.yaml`。它不是替代支持矩阵、采纳总账或符合性声明,而是把这些账本转成 release gate、GitOps、catalog 和 Golden Path 能直接执行的准入策略,证明低于最低基线、撤销/EOL 基线、无资产声明或过期例外不会被继续采用。 V2.52 起,纳入企业基线治理的资产还必须形成 `baseline-consumption-lock.yaml`。它不是替代符合性声明,而是把资产实际消费的基线固定到 baseline ID、source commit、release tag 和关键证据摘要,禁止项目只写 `V2.x` 这种浮动版本声明。 V2.53 起,纳入企业基线治理的资产迁移还必须形成 `baseline-migration-work-order.yaml`。它不是替代采纳总账,而是把每个资产从当前基线迁移到目标基线的执行步骤、依赖、GitOps 变更、消费锁更新、验收证据和回滚动作变成可追踪工单。 V2.54 起,完成基线迁移的资产还必须形成 `baseline-migration-execution-receipt.yaml`。它不是替代迁移工作单,而是证明工作单中的每一步已经由谁、在什么环境、用哪些命令执行,执行前后摘要如何变化,验收日志和回滚验证是否真实存在。 V2.55 起,所有被声明为本地、私有、生成或禁推的可执行资产还必须形成 `baseline-local-artifact-boundary.yaml`。它不是替代制品清单或发布事务回执,而是证明这些资产为什么不进入远程、如何验证、摘要如何留存、哪些命令证明未被跟踪或推送。 V2.56 起,正式审计导出还必须形成 `audit-export-exclusion-manifest.yaml`。它不是替代审计导出清单,而是证明哪些原文允许进入审计包,哪些本地私有资产只保留摘要和边界证据,哪些内容必须从签名 payload 中排除。 V2.57 起,所有不进入公开远端的可执行资产还必须形成 `private-artifact-escrow-manifest.yaml`。它不是放宽禁推边界,而是证明这些资产已经进入私有制品库、私有 registry 或证据托管区,具备不可变摘要、访问控制、留存期限、取回命令和恢复验证。 V2.58 起,企业级基线还必须形成 `baseline-clean-room-reconstruction-receipt.yaml`。它不是替代验证锁、制品清单或私有托管清单,而是证明一台没有个人工作区残留的干净 runner,可以从远端不可变 commit、私有托管制品和锁定工具链重建同一套基线、审计导出和门禁结果。 V2.59 起,企业级基线还必须形成 `baseline-evidence-archive-receipt.yaml`。它不是替代审计导出或干净环境重建,而是证明关键证据已经进入不可变留存库,具备对象锁、WORM、防删除、legal hold、访问日志、留存到期和恢复演练证据。 V2.60 起,企业级基线还必须形成 `baseline-signature-ltv-receipt.yaml`。它不是替代签名验签回执,而是证明签名材料具备长期验证能力:验证时间点、证书链、OIDC 身份、透明日志 inclusion proof、signed entry timestamp、RFC3161 TSA、撤销状态、工具版本和归档位置都能被独立复核。 V2.61 起,企业级基线还必须形成 `baseline-runtime-admission-receipt.yaml`。它不是替代发布门禁或 GitOps diff,而是证明生产运行入口已经实际执行准入策略:Kubernetes admission、策略引擎、镜像 digest、签名验签、provenance、SBOM、基线消费锁、撤销/EOL 阻断、例外到期和拒绝样例都能被独立复核。 V2.62 起,企业级基线还必须形成 `baseline-runtime-admission-decision-ledger.yaml`。它不是替代运行时准入回执,而是把每一次 allow / deny 决策的 Kubernetes audit requestUID、admission webhook、策略规则、PolicyReport、OPA decision log、actor、namespace、工作负载、镜像 digest 和原始日志摘要固化为逐条证据。 V2.63 起,企业级基线还必须形成 `baseline-continuous-control-monitoring-ledger.yaml`。它不是替代发布证据、门禁执行或状态对账,而是证明关键控制项在发布之后仍被持续监测:指标、日志、告警规则、监测窗口、owner、处置工单、漂移关闭和证据新鲜度都能被独立复核。 V2.64 起,企业级基线还必须形成 `baseline-control-assurance-sampling-ledger.yaml`。它不是替代连续控制监测或控制评估报告,而是证明关键控制已经被独立评估人按可复现抽样计划执行设计有效性和运行有效性测试:控制总体、样本方法、样本证据、发现项、整改、残余风险、签署和 OSCAL Assessment Results 都能被审计复核。 V2.95 起,企业级基线还必须形成 `baseline-evidence-assurance-classification.yaml`。它不是替代证据追踪图、控制保证抽样或审计导出,而是给每个关键证据节点标注保证等级、采信状态、生成方式、来源独立性、完整性证明、新鲜度窗口和可重放要求,证明 gate 使用的是足以支撑当前风险等级的证据,而不是仅仅“有一个文件”。 V2.65 起,企业级基线还必须形成 `baseline-control-inheritance-ledger.yaml`。它不是替代 RACI 或控制面,而是证明哪些控制由平台、云服务商、第三方、领域团队或资产消费者承担,哪些控制可以继承,继承条件是什么,消费者仍需完成哪些配置义务,以及继承失效时如何转入例外、POA&M 或阻断。 V2.66 起,企业级基线还必须形成 `baseline-data-residency-transfer-ledger.yaml`。它不是替代隐私影响评估或数据处理清单,而是证明每类数据在存储、处理、备份、日志、向量索引、模型供应商和人工支持链路中的实际位置,跨区域或跨境传输使用什么机制,补充保护措施是否生效,子处理方是否批准,以及区域漂移、出境机制缺失或删除传播失败时如何阻断。 V2.67 起,企业级基线还必须形成 `baseline-third-party-risk-ledger.yaml`。它不是替代采购台账、供应商清单或合同归档,而是证明关键供应商、ICT 服务商、SaaS、云平台、模型供应商、外包方和子处理方的关键性、服务范围、数据类别、合同控制、DPA / SLA、审计权、保证报告、集中度、退出计划、替代路径、连续性、事件状态和开放发现项均已进入统一阻断证据。 V2.68 起,企业级基线还必须形成 `baseline-operational-resilience-ledger.yaml`。它不是替代 SLO、RTO/RPO、恢复演练或第三方风险总账,而是证明企业已经识别重要业务服务,定义影响容忍,完成业务影响分析和端到端依赖映射,并通过严重但合理场景测试证明服务、数据、AI、平台、人员、供应商和沟通机制能把实际影响控制在容忍边界内。 V2.69 起,企业级基线还必须形成 `baseline-regulatory-obligation-ledger.yaml`。它不是替代控制面、控制证据映射、风险登记或法务合规台账,而是证明每条适用监管义务、标准要求、客户合同义务和内部政策要求已经映射到控制目标、控制项、适用资产、责任 owner、证据路径、例外、POA&M、监管变更监测和发布门禁。 V2.70 起,企业级基线还必须形成 `baseline-records-retention-legal-hold-ledger.yaml`。它不是替代数据处理清单、审计日志策略、证据归档回执或法务案件系统,而是证明每类企业记录都有留存排期、义务来源、司法辖区、owner、legal hold 支持、删除资格、删除传播、备份处置、向量索引处置、保全解除和可防御删除回执。 V2.71 起,企业级基线还必须形成 `baseline-privacy-rights-consent-ledger.yaml`。它不是替代 DPIA、隐私政策、同意管理平台或 DSAR 工单系统,而是证明每个处理目的都有合法基础、同意状态和偏好传播均可追溯,主体访问、更正、删除、限制、携带、反对、opt-out 和自动化决策复核请求均按 SLA 闭环,AI、数据产品、营销、向量索引和第三方下游处理不会在撤回同意、缺失合法基础或权利请求逾期时继续执行。 V2.72 起,企业级基线还必须形成 `baseline-processing-activity-inventory-ledger.yaml`。它不是替代 RoPA、数据目录、CMDB、DPIA、数据产品契约或同意管理平台,而是证明所有个人数据处理活动、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、合法基础、DPIA、AI 用途和第三方下游处理都已经进入统一覆盖总账;任何未入账处理活动、未知个人数据类别、无 owner 活动或发现扫描未闭环都必须阻断 baseline/frozen 晋级。 V2.73 起,企业级基线还必须形成 `baseline-identity-entitlement-access-ledger.yaml`。它不是替代 IAM、IdP、PAM、Kubernetes RBAC、Cloud IAM、SCIM、HRIS 或访问复核报告,而是证明所有人类身份、服务账号、工作负载身份、特权角色、JML 事件、MFA、PAM/JIT、break-glass、最小权限、孤儿账号、过期权限和运行时身份绑定已经进入统一权限总账;任何未知身份、无 owner 服务账号、离职账号未撤销、特权访问无审批或无 MFA、break-glass 未关闭、工作负载身份漂移或过期权限未清理都必须阻断 baseline/frozen 晋级。 V2.74 起,企业级基线还必须形成 `baseline-asset-criticality-classification-ledger.yaml`。它不是替代 catalog、CMDB、数据目录、AI 产品目录、风险登记、SLO、conformance profile 或隐私/AI 影响评估,而是证明每个受治理资产已经有 owner、业务关键性、SLO Tier、L3/L4 合规等级、CIA 影响、数据敏感度、监管暴露、AI 风险等级、互联网暴露、第三方关键性和复核状态;任何未知资产、无 owner、未知数据分类、CIA 影响缺失、关键资产低估、L3/L4 与 conformance profile 不一致、AI 风险低估或分级复核过期都必须阻断 baseline/frozen 晋级。 V2.75 起,企业级基线还必须形成 `baseline-cryptographic-secrets-key-certificate-ledger.yaml`。它不是替代 KMS、HSM、Vault、cert-manager、CA、Secret Manager、CI 签名系统、TLS 扫描器或 secrets rotation evidence,而是证明所有生产密码材料、密钥、证书、token、数据库凭据、webhook secret、签名密钥和工作负载密钥已经有 owner、用途、托管位置、算法、强度、轮换周期、过期时间、吊销路径、泄露响应和访问边界;任何未知密码材料、无 owner、明文存放、弱算法、过期证书、轮换超期、吊销路径缺失、泄露未关闭或签名密钥托管不清都必须阻断 baseline/frozen 晋级。 V2.76 起,企业级基线还必须形成 `baseline-backup-restore-disaster-recovery-ledger.yaml`。它不是替代备份平台、对象锁、灾备系统、恢复演练记录、SRE runbook、运营韧性总账或记录留存总账,而是证明所有 L3/L4 关键系统、数据库、对象存储、配置仓库、消息队列、向量索引和审计证据都有 owner、备份策略、不可变或离线副本、跨区域/跨账号隔离、加密、保留、恢复步骤、最近成功恢复演练、RTO/RPO 结果、完整性校验和勒索隔离证明;任何关键资产无备份、无不可变副本、恢复演练超期、RTO/RPO 失败、备份不可读、恢复权限不受控或勒索隔离不可证明都必须阻断 baseline/frozen 晋级。 V2.77 起,企业级基线还必须形成 `baseline-service-reliability-slo-error-budget-observability-ledger.yaml`。它不是替代服务契约、监控平台、日志平台、Tracing、SRE runbook、事故复盘或连续控制监测总账,而是证明所有 L3/L4 生产服务、关键用户旅程、外部 API、异步处理链路、AI/数据依赖和平台能力都有 owner、SLI/SLO、错误预算、告警规则、on-call、升级路径、runbook、合成探测、指标/日志/链路覆盖、仪表盘、降级策略和错误预算消耗记录;任何关键服务无 SLO、SLI 不可测、错误预算超支未冻结风险变更、关键告警无人接、可观测性缺口、runbook 缺失或合成探测不覆盖用户旅程都必须阻断 baseline/frozen 晋级。 V2.78 起,企业级基线还必须形成 `baseline-capacity-performance-cost-efficiency-ledger.yaml`。它不是替代压测报告、APM、Kubernetes 配额、自动扩缩容配置、FinOps 报表、OpenCost、FOCUS 数据集或成本分摊证据,而是证明所有 L3/L4 生产服务、关键用户旅程、数据/AI 工作负载、队列、数据库、缓存、批处理和平台共享能力都有 owner、容量预测、性能基准、压测结果、资源 requests/limits、弹性伸缩策略、预算、单位经济、成本分摊、异常成本处置和优化行动;任何关键服务无容量模型、压测过期、p95/p99 退化、资源未声明、HPA/VPA/KEDA 缺失、队列积压不可解释、数据库容量不足、预算超支无审批、单位成本不可解释或成本异常未关闭都必须阻断 baseline/frozen 晋级。 V2.79 起,企业级基线还必须形成 `baseline-threat-model-attack-surface-risk-ledger.yaml`。它不是替代 AI 威胁模型、漏洞扫描、渗透测试、安全评审、资产分级或风险登记,而是证明所有 L3/L4 服务、API、事件、数据产品、AI 产品、GitOps 入口、平台共享能力和关键第三方接入都有 owner、信任边界、数据流、攻击面、滥用场景、STRIDE/LINDDUN/OWASP 控制映射、安全测试证据、剩余风险、POA&M 或风险接受;任何关键资产无威胁模型、模型过期、互联网暴露未知、信任边界未画清、高风险数据流无缓解、关键滥用场景未关闭、安全测试缺失、剩余风险未签署或威胁模型未进入 release gate 都必须阻断 baseline/frozen 晋级。 V2.80 起,企业级基线还必须形成 `baseline-vulnerability-exposure-remediation-ledger.yaml`。它不是替代漏洞扫描器、SBOM、VEX/CSAF、SCA、容器扫描、IaC 扫描、云安全态势管理、外部攻击面管理或单项漏洞修复证据,而是证明所有 L3/L4 服务、容器镜像、依赖、基础镜像、IaC、Kubernetes 配置、云资源、外部暴露入口、API、AI 工具和第三方接入都有漏洞发现、可利用性判断、业务暴露、owner、修复 SLA、补丁或缓解动作、复测证据、例外、POA&M 或风险接受;任何 critical/KEV 漏洞未关闭、互联网暴露 high 漏洞未关闭、扫描覆盖缺口、复测缺失、例外过期、VEX/CSAF 状态缺失或漏洞总账未进入 release gate 都必须阻断 baseline/frozen 晋级。 V2.81 起,企业级基线还必须形成 `baseline-secure-configuration-posture-drift-ledger.yaml`。它不是替代 CIS Benchmark、SCAP、CSPM、KSPM、IaC policy scan、runtime admission、租户边界、云配置扫描或单项加固工单,而是证明所有 L3/L4 OS、容器镜像、Kubernetes、云账号、IAM、网络、存储、数据库、CI/CD、API Gateway、LLM Gateway、Agent Runtime、审计日志、加密配置和平台共享能力都有期望安全配置基线、观测姿态、漂移、owner、修复 SLA、复测、例外、POA&M 或风险接受;任何关键配置基线缺失、critical CIS/NIST/Pod Security 失败、未批准特权 Pod、公共存储暴露、弱 TLS、审计日志关闭、漂移未修复、例外过期或安全配置总账未进入 release gate 都必须阻断 baseline/frozen 晋级。 V2.82 起,企业级基线还必须形成 `baseline-production-change-release-ledger.yaml`。它不是替代 GitOps、发布事务回执、发布列车、变更单系统、Feature Flag 平台、数据库迁移工具或事故复盘;这些系统分别记录局部事实。该总账证明每一次 L3/L4 生产变更都已经有变更类型、业务动机、风险等级、影响面、变更窗口、冲突检测、依赖冻结、审批或自动准入、前置门禁、回滚计划、执行证据、失败恢复、事故关联和 DORA 指标回写;任何未登记生产变更、黑窗内非紧急变更、关键依赖冲突、缺回滚路径、数据库迁移未演练、Prompt/模型变更未评估、Feature Flag 无 kill switch、紧急变更无事后复盘或变更失败未关闭,都必须阻断 baseline/frozen 晋级。 V2.83 起,企业级基线还必须形成 `baseline-incident-problem-corrective-action-ledger.yaml`。它不是替代事故系统、值班记录、SRE 复盘、问题管理、AI 事件响应、供应商事件、隐私事件、POA&M 或风险登记;这些系统分别记录局部事实。该总账证明每一次 L3/L4 生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss 和重大告警都已经有时间线、影响范围、严重度、owner、检测/响应/恢复时间、根因或促成因素、临时遏制、永久纠正行动、复发防止、runbook 更新、告警或门禁反哺、客户/监管沟通、风险接受或 POA&M 关闭证据;任何事故未定级、无 owner、RCA 缺失、纠正行动逾期、runbook 未更新、同类事故复发未升级、监管通知缺失或问题记录未关闭,都必须阻断 baseline/frozen 晋级。 V2.84 起,企业级基线还必须形成 `baseline-data-product-quality-contract-observability-ledger.yaml`。它不是替代数据目录、数据契约、OpenLineage、数据质量平台、BI 仪表盘、Feature Store、向量索引、AI 证据账本、隐私总账、事故总账或数据团队工单;这些系统分别记录局部事实。该总账证明每个 L3/L4 数据产品都有 owner、契约版本、schema 漂移状态、质量断言、freshness、完整性、唯一性、语义口径、访问授权、血缘、下游消费者影响、AI/特征/RAG 使用边界、契约违约、修复复测和数据质量事故闭环;任何无 owner、契约缺失、schema drift 未关闭、freshness/SLA 违约、质量断言失败、血缘断裂、消费者未通知、AI/RAG 使用未授权、契约违约逾期或修复未复测,都必须阻断 baseline/frozen 晋级。 V2.85 起,企业级基线还必须形成 `baseline-engineering-quality-test-release-verification-ledger.yaml`。它不是替代 CI、测试框架、测试管理系统、缺陷系统、UAT 签署、灰度平台、冒烟监控或发布证据包;这些系统分别记录局部事实。该总账证明每个 L3/L4 服务、API、事件、数据产品、AI 产品和平台能力都有 owner、需求追踪、风险化测试计划、单元/集成/契约/E2E/回归/验收测试、覆盖率阈值、测试环境、测试数据、flaky 测试治理、缺陷分级、已知缺陷风险接受、修复复测、发布前验证、灰度/冒烟结果和质量风险接受闭环;任何无 owner、无需求追踪、关键测试缺失、覆盖率低于阈值、flaky 测试逾期、critical/high 缺陷未关闭或未接受、修复未复测、测试环境漂移、测试数据违规、发布验证缺失或质量风险未签署,都必须阻断 baseline/frozen 晋级。 V2.86 起,企业级基线还必须形成 `baseline-workforce-competency-training-duty-segregation-ledger.yaml`。它不是替代 HRIS、LMS、IAM、值班系统、RACI 表、会审裁决、访问复核或培训记录;这些系统分别记录局部事实。该总账证明每个 L3/L4 关键角色都有正式任命、岗位资格、职责确认、培训完成、专项训练、值班资格、审批授权、代理授权、职责分离检查、冲突角色治理和到期复核闭环;任何关键角色无任命、培训过期、专项资格缺失、职责未确认、on-call 未认证、审批人与执行人未分离、冲突权限未关闭、代理授权过期或关键岗位无人备份,都必须阻断 baseline/frozen 晋级。 V2.87 起,企业级基线还必须形成 `baseline-business-outcome-value-realization-portfolio-ledger.yaml`。它不是替代 OKR、KPI、投资组合管理、财务预算、产品指标、FinOps 报表、采纳总账或会审裁决;这些系统分别记录局部事实。该总账证明每个 L3/L4 架构基线、领域能力、平台能力、数据产品、AI 产品和重大生产变更都有业务目标、价值假设、收益 owner、投资组合归属、关键结果、前后基线、采用证据、收益实现状态、成本效率、风险接受和停投/加投决策闭环;任何无业务目标、无收益 owner、关键结果不可测、前后基线缺失、收益未实现且无决策、成本效率不可解释或价值总账未进入 release gate,都必须阻断 baseline/frozen 晋级。 V2.88 起,企业级基线还必须形成 `baseline-value-stream-journey-process-ledger.yaml`。它不是替代业务流程图、BPMN 模型、流程挖掘平台、产品分析、服务 SLO、运营韧性总账或业务结果总账;这些系统分别记录局部事实。该总账证明每个 L3/L4 关键价值流、客户旅程和跨领域业务流程都有流程 owner、触发事件、完成定义、步骤模型、跨域责任、服务/数据/API/AI 依赖、端到端指标、步骤级遥测、等待时间、重试与异常、人工兜底、控制点、瓶颈、改进动作和结果联动闭环;任何关键流程无 owner、模型过期、步骤遥测缺失、跨域交接不可追溯、瓶颈未处置、异常未闭环、人工兜底未演练或流程总账未进入 release gate,都必须阻断 baseline/frozen 晋级。 V2.89 起,企业级基线还必须形成 `baseline-architecture-view-runtime-topology-dependency-ledger.yaml`。它不是替代架构图、C4 模型、catalog、CMDB、GitOps、服务网格、OpenTelemetry、OpenLineage、APM、网络流量分析或部署平台;这些系统分别记录局部事实。该总账证明每个 L3/L4 资产、关键旅程和重要业务服务都有当前架构视图、运行拓扑、声明依赖、观测依赖、部署拓扑、数据/AI/第三方依赖、关键路径、blast radius、变更影响、依赖 owner、未知依赖处置和视图过期复核闭环;任何架构视图过期、声明依赖与观测依赖不一致、关键依赖无 owner、未知调用开放、blast radius 未评估、部署拓扑不可追踪或依赖总账未进入 release gate,都必须阻断 baseline/frozen 晋级。 V2.90 起,企业级基线还必须形成 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml`。它不是替代 ADR、ATAM 评审、质量需求文档、SLO、压测报告、安全测试、韧性演练、成本分析或业务目标总账;这些系统分别记录局部事实。该总账证明每个 L3/L4 架构基线、关键旅程、重要业务服务和高影响变更都有业务驱动、质量属性场景、可度量响应指标、架构驱动、敏感点、权衡点、备选方案、已选策略、适配度函数、验证证据和复核闭环;任何高优先级质量属性无场景、无可测响应指标、无验证证据、关键权衡无 ADR、敏感点无监测、适配度函数未进入门禁或质量属性总账未进入 release gate,都必须阻断 baseline/frozen 晋级。 V2.91 起,企业级基线还必须形成 `baseline-architecture-principle-constraint-exception-ledger.yaml`。它不是替代架构原则文档、标准基线、ADR、风险登记、例外总账、控制面、门禁执行报告或会审裁决;这些系统分别记录局部事实。该总账证明每条 L3/L4 强制架构原则都有 owner、适用范围、约束规则、禁止项、反模式、检测方式、门禁入口、违反处置、例外审批、风险接受、ADR 绑定和复核闭环;任何强制原则无 owner、约束不可检测、禁止项未进入门禁、违反未处置、例外过期、风险接受缺失或原则总账未进入 release gate,都必须阻断 baseline/frozen 晋级。 V2.92 起,企业级基线还必须形成 `baseline-version-policy-release-control-ledger.yaml`。它不是替代版本控制面、版本清单、发布事务回执、兼容性总账、支持矩阵、采纳总账、消费锁、迁移工作单或撤销隔离记录;这些系统分别记录局部事实。该总账证明每一次版本变更都有 SemVer 语义、Conventional Commit 分类、发布通道、候选/冻结/紧急补丁规则、签名 tag、不可变 commit、兼容窗口、消费者影响、消费锁更新、迁移窗口、撤销条件、EOL 约束、禁推资产排除和证据摘要闭环;任何版本号复用、浮动版本引用、tag 漂移、未签名生产 tag、breaking change 无迁移窗口、紧急补丁无复盘、冻结期语义变更、撤销基线仍被采用或版本策略总账未进入 release gate,都必须阻断 baseline/frozen 晋级。 推荐发布检查: ```bash make sync-doc-toc make test git diff --check ``` ### 0.5 冻结规则 当某个版本被标记为 `Frozen` 后: 1. 不得直接修改核心架构原则、目录真相源、团队职责、治理门禁和落地路线图。 2. 任何实质性变更必须先创建变更提案,并说明业务动机、影响范围、风险和迁移计划。 3. 安全、合规、生产事故或关键错误可走紧急补丁,但必须在事后补齐 ADR 或复盘。 4. 被替代版本必须标记为 `Superseded`,并说明新版本位置和迁移注意事项。 5. 冻结版本不得与未冻结草案混用;项目启动、审计和平台模板必须引用明确版本。 ### 0.6 版本控制面不变量 版本控制面用于回答“这次基线到底是哪一版、谁批准、从哪个 commit 发布、覆盖哪些契约、能不能兼容、如何回滚”。它不替代 Git、release note 或审计导出包,而是把这些证据绑定成同一个发布事实。 基线发布必须满足以下不变量: | 不变量 | 最低要求 | 阻断条件 | | ------ | -------- | -------- | | 基线身份 | `baselineId`、`documentVersion`、`status` 唯一且不可复用 | 同一版本号对应多个基线或状态不一致 | | 版本策略总账 | `baseline-version-policy-release-control-ledger.yaml` 必须绑定版本号语义、发布通道、变更分类、签名 tag、兼容窗口、冻结规则、紧急补丁、撤销条件、消费锁和迁移窗口 | 版本号复用、tag 漂移、浮动版本引用、breaking change 无迁移路径、冻结期语义变更、撤销基线仍被采用或版本策略未进入 release gate | | 生命周期状态 | `baseline-lifecycle-state-machine.yaml` 必须绑定当前状态、允许迁移、禁止迁移、转换证据、审批人、状态回写和回滚入口 | 人工改状态、跨过候选或冻结门禁、直接从冻结退回草案、状态机和版本控制面不一致 | | 状态对账 | `baseline-state-reconciliation-report.yaml` 必须对账状态机、版本控制面、发布证据、支持矩阵、采纳总账、符合性声明和审计导出 | 任一账本状态漂移、状态字段冲突、状态回写缺失或审计导出引用旧状态 | | 源码绑定 | 每个基线绑定 `sourceCommit`、`releaseTag` 和签署人 | 无 tag、tag 不指向源 commit、签名缺失 | | 制品清单 | `baseline-artifact-inventory.yaml` 必须列出基线纳入的源文档、schema、示例、控制项、证据模板、脚本、生成物和外部引用 | 基线签署但无法证明包含哪些文件、导出包缺源制品、出现未登记制品或摘要漂移 | | 验证环境锁 | `baseline-verification-lock.yaml` 必须锁定命令、工具版本、runner 镜像、策略包、validator 和验签工具 | 校验工具版本漂移、runner 环境不可复现、策略包或 validator 变化未入基线 | | 证据绑定 | 版本清单、控制项覆盖、审计导出、控制评估和门禁决策必须引用同一基线 | 证据包版本和文档版本不一致 | | 证据保证等级 | `baseline-evidence-assurance-classification.yaml` 必须为关键证据节点声明保证等级、采信状态、生成方式、来源独立性、完整性证明、新鲜度和可重放要求 | L3 / L4、baseline、frozen 或正式审计导出使用低等级、过期、不可重放、未签名、无独立性或不可采信证据 | | 发布证据包 | `baseline-release-evidence.yaml` 必须绑定晋级决策、不可变引用、漂移复核、签名验签和回滚验证 | 基线晋级无证据、证据引用不同 commit、漂移复核缺失 | | 兼容性总账 | `baseline-compatibility-ledger.yaml` 必须绑定消费者、受影响契约、迁移状态、到期日和例外闭环 | breaking change 无消费者清单、迁移窗口过期、未迁移对象无风险处理 | | 采纳总账 | `baseline-adoption-ledger.yaml` 必须绑定采纳目标、当前基线、目标基线、采纳状态、截止日期和整改闭环 | 企业基线发布后无人采用、采纳状态未知、关键资产逾期未整改 | | 支持矩阵 | `baseline-support-matrix.yaml` 必须绑定支持状态、维护窗口、安全补丁、EOL、最低可接受基线和例外闭环 | 旧基线长期无 EOL、低于最低基线仍被 L3/L4 使用、安全补丁窗口结束后继续放行 | | EOL 退役证书 | `baseline-eol-retirement-certificate.yaml` 必须证明旧基线生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断 | 支持矩阵标记 EOL 但生产资产仍引用旧基线、未迁移对象无风险接受、EOL 后仍允许新采用 | | 会审裁决 | `baseline-review-board-decision.yaml` 必须证明会审范围、参与角色、证据核验、投票签署、反对意见、条件动作和最终裁决 | 评分卡通过但无人承担裁决责任、反对意见无闭环、条件放行无到期动作或风险接受 | | 证据追踪图 | `baseline-evidence-trace-graph.yaml` 必须证明关键证据节点、摘要、依赖、下游使用和状态一致 | 证据对象各自存在但互相引用旧摘要、发布证据没有覆盖会审裁决、审计导出使用了过期节点 | | 门禁执行报告 | `baseline-gate-execution-report.yaml` 必须证明门禁命令、runner 镜像、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策一致 | release gate 有放行结论但没有执行明细、策略包漂移、输入摘要不一致、规则未运行、重放失败或执行结果与最终决策不一致 | | 门禁负例测试 | `baseline-gate-negative-test-suite.yaml` 必须声明负例类别、输入 fixture、预期失败规则、实际失败结果、覆盖 gate、复测命令、回归 owner 和阻断状态 | 坏样例被放行、负例只登记未运行、期望失败无实际失败、失败原因和策略规则不一致、负例未覆盖 release/starter/audit/runtime/state-transition 关键门禁 | | AI 系统监管分类与影响评估 | `baseline-ai-system-regulatory-impact-ledger.yaml` 必须声明 AI 系统用途、部署角色、适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度、后市场监测、供应商责任和合规缺口 | 高风险 AI 无分类、无人工监督、无日志留存、无技术文档、无后市场监测、无义务映射、模型供应商责任不清、合规缺口未关闭仍晋级 | | 发布事务回执 | `baseline-publish-transaction.yaml` 必须证明提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 结果、tag 保护、禁推资产排除和发布后验证一致 | 文档声称已发布但远端没有 ref、tag 未签名、push 失败、工作树脏、禁推资产进入远端或发布后验证未执行 | | 撤销隔离记录 | `baseline-revocation-record.yaml` 必须证明撤销触发条件、隔离范围、受影响引用、通知对象、恢复目标、风险接受、审计归档和状态回写一致 | 坏基线已发布但无法撤销、签名泄露后仍被引用、禁推资产误入远端后没有隔离证据或下游继续采用 | | 准入执行策略 | `baseline-enforcement-policy.yaml` 必须把支持矩阵、采纳总账、符合性声明、撤销记录和例外总账转成统一阻断规则 | 低于最低基线仍可部署、撤销/EOL 基线仍可新采用、资产没有符合性声明但通过发布、例外过期仍放行 | | 消费锁定文件 | `baseline-consumption-lock.yaml` 必须由资产仓库锁定 baseline ID、source commit、release tag、证据图摘要、制品清单摘要、验证锁摘要和准入策略摘要 | 资产只声明 `V2.x` 浮动版本、消费锁摘要与发布证据不一致、锁文件过期或未回写采纳总账 | | 迁移工作单 | `baseline-migration-work-order.yaml` 必须把目标资产、当前基线、目标基线、执行步骤、依赖、消费锁更新、GitOps 变更、验收证据和回滚动作绑定 | 采纳总账要求迁移但无执行工单、工单无 owner/截止时间/验收证据、迁移完成但未更新消费锁或 GitOps | | 迁移执行回执 | `baseline-migration-execution-receipt.yaml` 必须证明每个迁移步骤的实际命令、actor、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证 | 工单显示 completed 但没有执行日志、摘要变化不可证明、执行人未知、验收日志缺失或无法回滚 | | 本地私有制品边界 | `baseline-local-artifact-boundary.yaml` 必须声明本地私有 starter kit、生成 JSON、校验脚本和其他禁推资产的分类、摘要策略、允许用途、远端排除和验证命令 | 可执行资产缺失但没有私有边界说明、禁推资产被误推、审计导出误包含本地生成物或签名 payload 覆盖不清 | | 审计导出排除清单 | `audit-export-exclusion-manifest.yaml` 必须声明审计导出原文白名单、摘要留存项、强制排除项、签名 payload 排除项和导出后验证命令 | 本地私有资产边界存在但导出包仍误含原文、签名 payload 覆盖范围不清、审计包和边界摘要不一致 | | 私有制品托管交接 | `private-artifact-escrow-manifest.yaml` 必须声明私有制品库引用、不可变摘要、访问角色、留存期限、取回命令、恢复验证和摘要一致性 | 禁推资产不在远端也不在私有库、只有本地副本、权限不可审计、制品摘要和边界摘要不一致、恢复演练无法取回 | | 干净环境基线重建 | `baseline-clean-room-reconstruction-receipt.yaml` 必须声明干净 runner、远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核 | 只在作者机器可运行、重建依赖未登记本地文件、私有制品无法按摘要取回、审计导出重建摘要不一致或门禁重放失败 | | 证据不可变归档 | `baseline-evidence-archive-receipt.yaml` 必须声明归档对象、不可变存储引用、留存策略、legal hold、访问日志、删除保护、恢复演练和摘要一致性 | 证据只留在 CI 工作区、本地目录或可改写对象桶,留存锁缺失、归档摘要漂移、legal hold 未记录、审计期无法恢复 | | 长期验签 | `baseline-signature-ltv-receipt.yaml` 必须声明签名 bundle、签名材料摘要、证书链、OIDC issuer、透明日志 proof、signed entry timestamp、RFC3161 TSA、撤销状态、验证工具版本和归档位置 | 当前验签通过但没有时间戳、证书过期后无法证明签名时间、透明日志 proof 丢失、撤销状态未知、验签工具漂移 | | 运行时准入 | `baseline-runtime-admission-receipt.yaml` 必须声明 admission controller、策略引擎、策略 bundle、命名空间范围、GitOps revision、镜像 digest、签名验签、provenance、SBOM、消费锁和拒绝样例 | release gate 通过但 runtime admission 未启用、集群策略漂移、未签名镜像被创建、撤销/EOL 基线仍可运行、例外过期仍被放行 | | 准入决策总账 | `baseline-runtime-admission-decision-ledger.yaml` 必须声明每条 allow/deny 的 requestUID、策略 ID、规则版本、actor、namespace、workload、image digest、决策结果、原始日志摘要和留存位置 | 有汇总回执但找不到逐条决策、deny 样例没有原始日志、allow 事件无法追到策略版本、Kubernetes audit 和策略引擎日志无法对账 | | 连续控制监测 | `baseline-continuous-control-monitoring-ledger.yaml` 必须声明控制项、监测指标、日志源、告警规则、窗口、owner、SLO、MTTD/MTTR、漂移事件、处置工单和证据新鲜度 | 发布时合规但运行后控制漂移、告警未配置、事件无人处理、证据过期、critical control 失效后仍保持 baseline/frozen | | 独立控制保证 | `baseline-control-assurance-sampling-ledger.yaml` 必须声明独立评估人、评估范围、控制总体、抽样方法、样本证据、设计有效性、运行有效性、发现项、整改、残余风险、签署和 OSCAL Assessment Results | 平台自证控制有效、评估人不独立、样本不可复现、critical 控制未抽样、设计或运行有效性失败后仍晋级 baseline/frozen | | 共享责任与继承控制 | `baseline-control-inheritance-ledger.yaml` 必须声明控制来源、控制承担方、继承方、共享责任、消费者义务、继承条件、证据引用、继承有效期、失效条件和审计映射 | 平台公共控制被口头继承、领域团队误以为平台全包、云/第三方责任未映射、消费者配置义务缺失、继承证据过期后仍放行 | | 数据驻留与跨境处理 | `baseline-data-residency-transfer-ledger.yaml` 必须声明数据类别、监管区域、允许区域、实际存储/处理/备份/日志/向量索引/模型供应商区域、传输机制、子处理方、补充保护措施、删除传播和区域漂移证据 | DPIA 通过但实际数据流向未知、日志或备份落到未批准区域、RAG 索引跨区、模型供应商处理位置不明、传输机制或补充措施缺失仍放行 | | 第三方与关键供应商风险 | `baseline-third-party-risk-ledger.yaml` 必须声明供应商分级、服务范围、受影响资产、数据类别、合同控制、DPA/SLA、审计权、保证报告、集中度、退出计划、替代路径、连续性和事件状态 | 关键 SaaS、云、模型供应商、外包方或子处理方未分级、合同和审计权缺失、保证报告过期、集中度超阈值、退出计划不可执行或供应商事故未进入基线阻断 | | 运营韧性与重要业务服务 | `baseline-operational-resilience-ledger.yaml` 必须声明重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景、场景测试、恢复能力、人工替代、沟通计划、第三方依赖、超限升级和开放韧性缺口 | 只按系统组件写 RTO/RPO,没有业务服务影响容忍;重要业务服务依赖未知;场景测试未覆盖云、数据、AI、供应商和人员失效;超出影响容忍仍可晋级 | | 威胁建模、攻击面与安全风险 | `baseline-threat-model-attack-surface-risk-ledger.yaml` 必须声明关键服务、API、事件、数据产品、AI 产品、GitOps 入口、平台能力、信任边界、数据流、攻击面、滥用场景、控制映射、安全测试、剩余风险、POA&M 和签署状态 | 关键资产无威胁模型、威胁模型过期、互联网暴露未知、信任边界未映射、高风险数据流无缓解、关键滥用场景未关闭、安全测试缺失、剩余风险未签署或未进入 release gate 仍晋级 | | 安全配置、加固姿态与配置漂移 | `baseline-secure-configuration-posture-drift-ledger.yaml` 必须声明 OS、容器、Kubernetes、云账号、IAM、网络、存储、数据库、CI/CD、API Gateway、LLM Gateway、Agent Runtime、审计日志、加密和 Pod Security 的期望基线、观测姿态、漂移、owner、修复 SLA、复测、例外和发布准入 | 安全配置基线缺失、CIS/NIST/Pod Security critical 失败、未批准特权 Pod、公共存储暴露、弱 TLS、审计日志关闭、漂移未修复、例外过期或未进入 release gate 仍晋级 | | 生产变更、发布编排与失败恢复 | `baseline-production-change-release-ledger.yaml` 必须声明生产代码部署、GitOps 同步、数据库迁移、配置变更、Feature Flag、Prompt/模型变更、紧急变更、变更窗口、冲突检测、回滚计划、执行证据、失败恢复、事故关联和 DORA 指标回写 | 未登记生产变更、黑窗内非紧急变更、关键依赖冲突、缺回滚路径、数据库迁移未演练、Prompt/模型变更未评估、Feature Flag 无 kill switch、紧急变更无事后复盘或变更失败未关闭仍晋级 | | 事故、问题、纠正行动与复发防止 | `baseline-incident-problem-corrective-action-ledger.yaml` 必须声明生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、严重度、影响、时间线、MTTD/MTTR、RCA、问题记录、纠正行动、复发防止、runbook 更新、门禁反哺、沟通和 DORA 恢复指标 | 事故未定级、无 owner、无 RCA、纠正行动逾期、同类事故复发未升级、runbook/告警/门禁未反哺、监管或客户沟通缺失、问题记录未关闭仍晋级 | | 数据产品质量、契约违约、运行血缘与可观测性 | `baseline-data-product-quality-contract-observability-ledger.yaml` 必须声明数据产品 owner、契约版本、schema drift、质量断言、freshness、完整性、唯一性、语义口径、访问授权、运行血缘、消费者影响、AI/特征/RAG 使用、违约、修复复测和数据质量事故 | 数据产品无 owner、契约缺失、schema drift 未关闭、freshness/SLA 违约、质量断言失败、血缘断裂、消费者未通知、AI/RAG 使用未授权、契约违约逾期或修复未复测仍晋级 | | 工程质量、测试证据、缺陷与发布验证 | `baseline-engineering-quality-test-release-verification-ledger.yaml` 必须声明资产 owner、需求追踪、测试策略、测试金字塔、契约/E2E/回归/验收测试、覆盖率、测试环境、测试数据、flaky 测试、缺陷、回归复测、发布前验证、灰度/冒烟结果和质量风险接受 | 无需求追踪、关键测试缺失、覆盖率低于阈值、flaky 测试未治理、critical/high 缺陷未关闭、修复未复测、发布验证缺失、已知缺陷无风险接受仍晋级 | | 人员能力、培训、职责履职与职责分离 | `baseline-workforce-competency-training-duty-segregation-ledger.yaml` 必须声明关键角色、任命来源、岗位资格、职责确认、培训记录、专项训练、值班资格、审批授权、代理授权、职责分离、冲突角色、备份人员和到期复核 | 关键 owner 未任命、培训或专项资格过期、职责未确认、on-call 未认证、审批人与执行人未分离、冲突角色未关闭、代理授权过期或关键岗位无人备份仍晋级 | | 业务结果、价值实现与组合收益 | `baseline-business-outcome-value-realization-portfolio-ledger.yaml` 必须声明业务目标、价值假设、收益 owner、投资组合、关键结果、前后基线、采用证据、收益实现、成本效率、风险接受、停投/加投决策和复核周期 | 架构基线只证明交付或合规、无法证明业务结果、收益实现、成本效率、未实现价值处置和组合决策仍晋级 | | 价值流、关键旅程与端到端流程 | `baseline-value-stream-journey-process-ledger.yaml` 必须声明价值流、客户旅程、BPMN/流程模型、流程 owner、触发事件、完成定义、步骤责任、跨域交接、服务/数据/API/AI 依赖、端到端指标、步骤级遥测、瓶颈、异常、人工兜底、控制点和改进动作 | 业务结果已入账但关键旅程不可追踪、流程模型过期、跨域交接无 owner、步骤遥测缺失、瓶颈未处置、异常和人工兜底未演练仍晋级 | | 架构视图、运行拓扑与依赖影响 | `baseline-architecture-view-runtime-topology-dependency-ledger.yaml` 必须声明架构视图、C4/部署视图、catalog 声明依赖、运行时观测依赖、GitOps 拓扑、数据/AI/第三方依赖、关键路径、blast radius、变更影响、owner、漂移处置和复核周期 | 架构图过期、声明依赖与观测依赖不一致、关键依赖无 owner、未知调用开放、部署拓扑不可追踪、blast radius 未评估或依赖总账未进入 release gate 仍晋级 | | 质量属性、架构驱动与权衡决策 | `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml` 必须声明业务驱动、质量属性场景、优先级、可度量响应指标、架构驱动、敏感点、权衡点、备选方案、ADR、适配度函数、验证证据和复核周期 | 质量目标不可测、业务目标和架构决策脱节、关键权衡无 ADR、敏感点无监测、适配度函数未进入门禁、验证证据缺失或质量属性总账未进入 release gate 仍晋级 | | 架构原则、约束、反模式与例外执行 | `baseline-architecture-principle-constraint-exception-ledger.yaml` 必须声明原则、owner、适用范围、约束规则、禁止项、反模式、检测方式、门禁入口、违反处置、例外、风险接受、ADR 和复核周期 | 原则无 owner、约束不可检测、禁止项未进入门禁、违反无处置、例外过期、风险接受缺失或原则总账未进入 release gate 仍晋级 | | 漏洞、暴露面与修复验证 | `baseline-vulnerability-exposure-remediation-ledger.yaml` 必须声明资产、镜像、依赖、基础镜像、IaC、Kubernetes、云配置、API、AI 工具、外部暴露、CVE/KEV/EPSS/CVSS、VEX/CSAF、owner、SLA、修复、复测、例外和发布准入 | critical/KEV 未关闭、互联网暴露 high 未关闭、扫描覆盖缺口、漏洞 owner 缺失、SLA 超期、修复未复测、例外过期、VEX/CSAF 状态缺失或未进入 release gate 仍晋级 | | 容量、性能、弹性伸缩与成本效率 | `baseline-capacity-performance-cost-efficiency-ledger.yaml` 必须声明关键服务、关键用户旅程、容量预测、压测窗口、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列和数据库容量、预算、单位经济、成本分摊、异常成本和优化行动 | 关键服务无容量模型、压测过期、p95/p99 退化、资源未声明、自动扩缩容缺失、队列积压不可解释、数据库容量不足、预算超支无审批、单位成本不可解释或成本异常未关闭仍晋级 | | 服务可靠性、SLO、错误预算与可观测性 | `baseline-service-reliability-slo-error-budget-observability-ledger.yaml` 必须声明生产服务、用户旅程、SLI/SLO、错误预算、告警规则、on-call、runbook、指标/日志/链路覆盖、合成探测、降级策略和 owner | 关键服务无 SLO、SLI 不可测、错误预算超支仍放行风险变更、关键告警无人接、runbook 缺失、合成探测未覆盖用户旅程、日志/指标/链路缺口或仪表盘不可用仍晋级 | | 备份、恢复、灾备与可恢复性验证 | `baseline-backup-restore-disaster-recovery-ledger.yaml` 必须声明关键资产、数据存储、备份策略、不可变/离线副本、跨区域/跨账号隔离、RTO/RPO、恢复演练、完整性校验、恢复权限、勒索隔离和 owner | 关键资产无备份、无不可变或离线副本、恢复演练超期、RTO/RPO 失败、备份完整性失败、恢复权限不受控、勒索隔离不可证明或备份与资产分级不一致仍放行 | | 监管与合规义务可追溯 | `baseline-regulatory-obligation-ledger.yaml` 必须声明义务来源、版本、司法辖区、适用范围、控制目标、映射控制项、证据路径、owner、例外、POA&M、监管变更和生效期限 | 控制项无法证明覆盖哪些适用义务、强制义务无 owner、监管变更未进入门禁、客户合同义务未映射、过期整改仍可晋级 | | 密码材料、密钥、证书与秘密生命周期 | `baseline-cryptographic-secrets-key-certificate-ledger.yaml` 必须声明 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、托管位置、算法、强度、轮换、过期、吊销、泄露响应和访问边界 | 密码材料未知、无 owner、明文存放、弱算法、证书过期、轮换超期、吊销路径缺失、泄露未关闭、签名密钥托管不清或 Secret 与运行资产无法绑定仍放行 | | 资产关键性、数据分类与风险分级 | `baseline-asset-criticality-classification-ledger.yaml` 必须声明资产清单、owner、业务关键性、SLO Tier、L3/L4 合规等级、CIA 影响、数据敏感度、监管暴露、AI 风险等级、互联网暴露、第三方关键性和复核状态 | catalog、CMDB、数据目录或 conformance profile 存在但资产无 owner、数据分类未知、CIA 影响缺失、关键资产低估、风险等级漂移或分级复核过期仍放行 | | 身份权限、特权访问与工作负载身份 | `baseline-identity-entitlement-access-ledger.yaml` 必须声明人类身份、服务账号、工作负载身份、角色授权、JML 生命周期、MFA、PAM/JIT、break-glass、最小权限、访问复核、孤儿账号、过期权限和运行时身份绑定 | 访问复核报告存在但生产 ServiceAccount、Cloud IAM、PAM/JIT、break-glass、JML、Kubernetes RBAC 或工作负载身份漂移仍放行 | | 处理活动、个人数据清单与 RoPA 覆盖 | `baseline-processing-activity-inventory-ledger.yaml` 必须声明处理活动、系统/数据产品/AI 产品、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、合法基础、DPIA、发现覆盖和 owner 状态 | DSAR、同意、删除、驻留或第三方台账各自成立,但处理活动未入账、个人数据类别未知、无 owner、发现扫描有未归类 PII 或 RoPA 与运行资产不一致仍放行 | | 隐私权利、同意偏好与合法基础执行 | `baseline-privacy-rights-consent-ledger.yaml` 必须声明处理目的、合法基础、同意版本、撤回传播、主体权利请求、自动化决策复核、下游处理限制、第三方传播和 SLA 状态 | DPIA 写过但处理目的无合法基础、同意撤回未传播到营销/AI/数据产品/第三方、DSAR 逾期、自动化决策缺人工复核或未知同意状态仍放行 | | 记录留存、法律保全与可防御删除 | `baseline-records-retention-legal-hold-ledger.yaml` 必须声明记录类别、留存排期、义务来源、司法辖区、legal hold、删除资格、删除传播、备份/日志/向量索引处置和删除回执 | 记录类别无留存排期、legal hold 下允许删除、隐私删除请求与监管留存冲突无裁决、过期记录未处置、超期留存无目的、删除传播无回执或 AI/审计日志缺留存策略 | | 发布列车 | `baseline-release-train.yaml` 必须绑定候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁和依赖证据 | 临时发版、绕过冻结窗口、无通知升级、黑窗期间发布非紧急变更 | | 通知确认 | `baseline-notification-ledger.yaml` 必须绑定通知对象、渠道、送达、确认、异议、例外和冻结前完成状态 | 冻结前关键消费者未确认、通知失败无补发、异议未关闭或无风险接受 | | 回滚验证 | `baseline-rollback-verification.yaml` 必须绑定上一基线、回滚目标、Git/tag/GitOps revision、审计导出恢复、烟测结果和验证时效 | 只写回滚计划、上一基线不可检出、GitOps revision 不存在、审计导出无法恢复或验证过期 | | 例外总账 | `baseline-exception-ledger.yaml` 必须聚合兼容、采纳、支持、通知、回滚、门禁和控制面的例外、到期日、风险接受、POA&M 和阻断状态 | 例外散落各处、例外过期仍放行、阻断例外无 owner、风险接受缺失或冻结前未关闭 | | 就绪评分 | `baseline-readiness-scorecard.yaml` 必须绑定评分维度、权重、硬门禁、证据路径、阻断项、baseline/frozen 最低分和最终判定 | 局部证据都存在但无人能判断是否可晋级、评分覆盖缺失、硬门禁失败仍被平均分掩盖 | | 符合性声明 | `baseline-conformance-claim.yaml` 必须绑定资产、声明基线、证据路径、签署人、例外、到期复核和采纳总账回写 | 中央台账手填、资产实际未声明基线、声明过期仍被采纳总账计为已采用 | | 兼容窗口 | `Minor` / `Major` / `Breaking` 必须声明兼容窗口、迁移截止和消费者影响 | breaking change 无迁移窗口或消费者确认 | | 冻结策略 | `Frozen` 基线只能通过补丁、紧急修复或下一基线替代 | 直接修改冻结基线核心内容 | | 回滚入口 | 每个基线必须能回滚到上一基线、上一 tag 或上一 GitOps revision | 无回滚 commit、无回滚说明或回滚证据过期 | | 外部标准 | 外部标准必须绑定版本、稳定性和采纳等级 | 引用 `latest` 或实验标准直接阻断生产 | 发布通道分为七类: | 通道 | 用途 | 可进入生产 | 典型证据 | | ---- | ---- | ---------- | -------- | | `draft` | 设计草案和方案探索 | 否 | 草案记录、待决问题 | | `candidate` | 评审候选和试点准备 | 仅低风险试点 | 评审意见、控制差距、试点范围 | | `baseline` | 已批准的执行基线 | 是 | tag、版本清单、门禁结果、签署记录 | | `frozen` | 审计、招标、监管或大规模推广口径 | 是 | 冻结声明、审计导出、例外清单 | | `superseded` | 已被新基线替代的迁移期旧基线 | 仅存量迁移期 | 支持矩阵、迁移计划、采纳总账 | | `eol` | 已停止支持并完成退役的旧基线 | 否 | EOL 退役证书、审计归档、新采用阻断 | | `emergency-patch` | 安全、合规或生产事故紧急修复 | 受控允许 | 事故编号、补丁范围、事后复盘 | 版本提升门禁: 1. `Editorial` 只能修正文案、链接和格式,不能改变任何执行含义。 2. `Minor` 必须证明向后兼容,且不得改变目录真相源、owner、风险等级或发布准入。 3. `Major` 必须有 ADR、影响分析、迁移窗口、示例更新和控制项覆盖更新。 4. `Breaking` 必须有消费者清单、弃用策略、并行运行窗口、回滚路径和风险接受记录。 5. 任意版本提升都必须能通过 `make sync-doc-toc`、`make test` 和 `git diff --check`。 6. 任意生产基线都必须能从 `version-governance.yaml` 追溯到版本清单、控制项覆盖、标准基线、审计导出和门禁决策。 禁止事项: 1. 禁止同一版本号复用到不同内容。 2. 禁止发布未打 tag、tag 漂移或 tag 与文档版本不一致的基线。 3. 禁止只改主文档版本号,不同步索引、版本清单、控制覆盖和审计导出范围。 4. 禁止以“兼容”名义偷偷改变契约语义、owner、证据字段或生产准入规则。 5. 禁止把 emergency patch 当作常规发布通道长期使用。 ### 0.7 版本记录 | 版本 | 日期 | 变更级别 | 关键变化 | | ---- | ---- | -------- | -------- | | `V1.0` | 2026-06-01 | Major | 建立现代企业数字化平台基础蓝图,替代传统“大中台、小前台”叙事 | | `V1.1` | 2026-06-01 | Major | 补齐 AI 原生能力层、供应链安全、数据产品到 AI 的联动、Lakehouse 过渡和认知负载治理 | | `V1.2` | 2026-06-01 | Minor | 增加行业对标矩阵、Agent 协议边界和深度调研结论 | | `V1.3` | 2026-06-01 | Major | 增加 AI 风险分级、AI 资产证据链、SSDF 安全开发、数据契约和 FinOps 成本治理 | | `V1.4` | 2026-06-01 | Major | 增加微调治理、AI 事件响应和 Policy as Code 策略语言统一 | | `V1.5` | 2026-06-01 | Major | 增加微服务容器、镜像、Kubernetes、GitOps、catalog 和平台能力的分层真相源 | | `V1.6` | 2026-06-01 | Major | 增加文档版本治理、发布状态、变更分级、冻结规则、发布证据和 V2.0 路线图 | | `V1.7` | 2026-06-01 | Major | 增加真相源字段矩阵、starter kit 模板骨架、自动化门禁映射和漂移检测规则 | | `V1.8` | 2026-06-01 | Major | 增加 RACI 决策权矩阵、可靠性分级、RTO/RPO、错误预算、灾备演练和升级路径 | | `V1.9` | 2026-06-01 | Major | 增加仓库拓扑剖面、迁移与弃用策略、验证包和审计证据清单 | | `V2.0` | 2026-06-01 | Major | 新增可执行 starter kit、JSON Schema、YAML 示例和自动化校验入口 | | `V2.1` | 2026-06-01 | Minor | 增强 starter kit schema 嵌套约束、格式校验、跨文件一致性检查和 CI 门禁口径 | | `V2.2` | 2026-06-01 | Minor | 补齐 API、事件、AI 工具、RAG、微调、GitOps、catalog 和 scorecard 契约模板 | | `V2.3` | 2026-06-01 | Minor | 补齐发布证据、供应链证明、治理例外、API/Event 兼容性报告和 GitOps 漂移报告契约模板 | | `V2.4` | 2026-06-01 | Minor | 增加机器可读版本清单、starter kit pair 清单和版本同步校验规则 | | `V2.5` | 2026-06-02 | Minor | 加固可靠性、数据治理、AI 运行、GitOps 安全和供应链门禁字段 | | `V2.6` | 2026-06-02 | Minor | 新增机器可读控制项覆盖清单,校验控制项到 schema、example 和 checker 的证据链 | | `V2.7` | 2026-06-02 | Minor | 启用 starter kit 严格 schema 模式,要求 `additionalProperties=false` 并阻断未知字段通过门禁 | | `V2.8` | 2026-06-02 | Minor | 补齐扩展字段策略、Feature Flag / Kill Switch、AI 威胁模型、运行血缘和平台产品指标控制项 | | `V2.9` | 2026-06-02 | Minor | 补齐隐私影响评估、租户隔离、恢复演练、策略测试、GenAI 观测和成本分摊证据 | | `V2.10` | 2026-06-02 | Minor | 补齐访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度控制项 | | `V2.11` | 2026-06-02 | Minor | 补齐控制证据映射和审计导出清单 | | `V2.12` | 2026-06-02 | Minor | 补齐审计导出自动化命令 | | `V2.13` | 2026-06-02 | Minor | 补齐控制评估报告和审计签署闭环 | | `V2.14` | 2026-06-02 | Minor | 补齐架构基线变更记录和回滚证明 | | `V2.15` | 2026-06-02 | Minor | 补齐 OSCAL 交换映射和导出摘要 | | `V2.16` | 2026-06-02 | Minor | 补齐审计导出门禁和输出不变量校验 | | `V2.17` | 2026-06-02 | Minor | 补齐审计导出完整性清单和生成物哈希校验 | | `V2.18` | 2026-06-02 | Minor | 补齐审计导出 provenance statement 和生成上下文追溯 | | `V2.19` | 2026-06-02 | Minor | 补齐审计导出签名策略和 provenance payload 签名交接 | | `V2.20` | 2026-06-02 | Minor | 补齐审计导出签名验签回执和外部签名证据闭环 | | `V2.21` | 2026-06-02 | Minor | 补齐 POA&M 整改计划和 OSCAL 整改视图证据闭环 | | `V2.22` | 2026-06-02 | Minor | 补齐企业架构风险登记和风险到控制、POA&M、审计导出的证据闭环 | | `V2.23` | 2026-06-02 | Minor | 补齐机器可读架构决策记录和基线变更 ADR 绑定 | | `V2.24` | 2026-06-02 | Minor | 补齐机器可读 AI 事件响应 playbook 和 AI 运行证据闭环 | | `V2.25` | 2026-06-02 | Minor | 补齐机器可读 AI 证据账本和 AI 产品级证据闭环 | | `V2.26` | 2026-06-02 | Minor | 补齐机器可读微调运行证据和 AI 微调审计闭环 | | `V2.27` | 2026-06-02 | Minor | 补齐机器可读仓库变更控制、远端保护验证和版本基线保护 | | `V2.28` | 2026-06-02 | Minor | 补齐企业执行控制面、合规等级、门禁决策、例外放行和季度复核闭环 | | `V2.29` | 2026-06-02 | Minor | 补齐外部标准版本锁定、稳定性分级、采纳等级和升级门禁 | | `V2.30` | 2026-06-02 | Minor | 补齐版本控制面、发布通道、版本不变量、兼容窗口、冻结升级和回滚门禁 | | `V2.31` | 2026-06-02 | Minor | 补齐基线发布证据包、版本晋级、冻结复核、漂移检查和回滚验证闭环 | | `V2.32` | 2026-06-02 | Minor | 补齐基线兼容性总账、消费者影响、迁移窗口、弃用截止和未迁移风险闭环 | | `V2.33` | 2026-06-02 | Minor | 补齐基线采纳总账、组织采纳状态、逾期治理、例外和整改闭环 | | `V2.34` | 2026-06-02 | Minor | 补齐基线支持矩阵、维护窗口、安全补丁、EOL、冻结口径和最低可接受基线 | | `V2.35` | 2026-06-02 | Minor | 补齐基线发布列车、候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁入口 | | `V2.36` | 2026-06-02 | Minor | 补齐资产级基线符合性声明、资产自声明、证据绑定、例外、复核和采纳总账回写 | | `V2.37` | 2026-06-02 | Minor | 补齐基线制品清单、源制品摘要、必需性、签名状态、导出关系和未登记制品阻断 | | `V2.38` | 2026-06-02 | Minor | 补齐基线验证环境锁定、命令版本、runner 镜像、策略包、validator、验签工具和可复现门禁 | | `V2.39` | 2026-06-02 | Minor | 补齐基线通知确认总账、通知对象、送达回执、影响确认、异议、例外和冻结前完成状态 | | `V2.40` | 2026-06-02 | Minor | 补齐基线回滚验证记录、上一基线检出、GitOps revision 恢复、审计导出恢复和烟测证据 | | `V2.41` | 2026-06-02 | Minor | 补齐基线例外总账、例外来源聚合、风险接受、POA&M、过期阻断和冻结准入 | | `V2.42` | 2026-06-02 | Minor | 补齐基线就绪评分卡、硬门禁、评分维度、证据绑定和 baseline/frozen 最终判定 | | `V2.43` | 2026-06-02 | Minor | 补齐基线生命周期状态机、允许迁移、禁止迁移、状态回写和迁移审计证据 | | `V2.44` | 2026-06-02 | Minor | 补齐基线状态对账报告、跨账本状态一致性、状态漂移阻断和审计导出状态回写 | | `V2.45` | 2026-06-02 | Minor | 补齐基线 EOL 退役证书、生产引用清零、迁移关闭、例外清零和新采用阻断 | | `V2.46` | 2026-06-02 | Minor | 补齐基线会审裁决记录、证据核验、投票签署、反对意见、条件动作和最终裁决 | | `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 | 补齐基线撤销与隔离记录、撤销触发、隔离范围、恢复目标、通知确认、风险接受和审计归档 | | `V2.51` | 2026-06-02 | Minor | 补齐基线准入执行策略、最低基线阻断、撤销/EOL 阻断、资产声明校验和例外到期阻断 | | `V2.52` | 2026-06-02 | Minor | 补齐基线消费锁定文件、不可变摘要锁定、浮动版本阻断和消费端回写闭环 | | `V2.53` | 2026-06-02 | Minor | 补齐基线迁移工作单、逐资产迁移步骤、消费锁更新、GitOps 变更、验收证据和回滚动作 | | `V2.54` | 2026-06-02 | Minor | 补齐基线迁移执行回执、实际命令、before/after 摘要、GitOps revision、验收日志和回滚验证 | | `V2.55` | 2026-06-02 | Minor | 补齐本地私有制品边界、禁推资产分类、摘要留存、远端排除和验证命令 | | `V2.56` | 2026-06-02 | Minor | 补齐审计导出排除清单、原文白名单、摘要留存、签名 payload 排除和导出后验证命令 | | `V2.57` | 2026-06-02 | Minor | 补齐私有制品托管交接清单、私有 registry 引用、访问控制、留存期限、取回命令和恢复验证 | | `V2.58` | 2026-06-02 | Minor | 补齐干净环境基线重建回执、远端 checkout、私有制品取回、审计导出重建和门禁重放 | | `V2.59` | 2026-06-02 | Minor | 补齐基线证据不可变归档回执、WORM 留存、legal hold、访问日志和恢复演练 | | `V2.60` | 2026-06-02 | Minor | 补齐基线长期验签回执、证书链、透明日志、signed entry timestamp、RFC3161 TSA 和长期验证材料 | | `V2.61` | 2026-06-02 | Minor | 补齐基线运行时准入回执、Kubernetes admission、策略引擎、镜像证明和运行入口阻断证据 | | `V2.62` | 2026-06-02 | Minor | 补齐基线运行时准入决策总账、Kubernetes audit、策略引擎决策日志和逐条 allow/deny 证据 | | `V2.63` | 2026-06-02 | Minor | 补齐基线连续控制监测总账、运行指标、告警规则、漂移事件、处置工单和证据新鲜度 | | `V2.64` | 2026-06-02 | Minor | 补齐基线独立控制保证抽样总账、控制总体、抽样计划、设计有效性、运行有效性、发现项和 OSCAL Assessment Results | | `V2.65` | 2026-06-02 | Minor | 补齐基线共享责任与继承控制总账、继承控制、共享责任、消费者义务、失效条件和审计映射 | | `V2.66` | 2026-06-02 | Minor | 补齐基线数据驻留与跨境处理总账、处理位置、传输机制、子处理方、补充保护措施和区域漂移阻断 | | `V2.67` | 2026-06-02 | Minor | 补齐基线第三方与关键供应商风险总账、供应商分级、合同控制、审计权、保证报告、集中度、退出计划和连续性阻断 | | `V2.68` | 2026-06-02 | Minor | 补齐基线运营韧性与重要业务服务影响容忍总账、BIA、端到端依赖、场景测试、恢复能力、沟通计划和超限升级阻断 | | `V2.69` | 2026-06-02 | Minor | 补齐基线监管与合规义务可追溯总账、义务源、适用范围、控制映射、证据映射、监管变更、例外和 POA&M 阻断 | | `V2.70` | 2026-06-02 | Minor | 补齐基线记录留存、法律保全与可防御删除总账、留存排期、legal hold、删除资格、删除传播、备份/日志/向量索引处置和可防御删除回执 | | `V2.71` | 2026-06-02 | Minor | 补齐基线隐私权利请求、同意偏好与合法基础执行总账、处理目的、合法基础、同意撤回、偏好传播、DSAR SLA、自动化决策复核和下游处理阻断 | | `V2.72` | 2026-06-02 | Minor | 补齐基线处理活动、个人数据清单与 RoPA 覆盖总账、处理活动发现、数据主体、个人数据类别、接收方、角色、DPIA、合法基础、保留和跨境映射 | | `V2.73` | 2026-06-02 | Minor | 补齐基线身份权限、特权访问与工作负载身份总账、JML、MFA、PAM/JIT、break-glass、服务账号、工作负载身份、孤儿权限和过期权限阻断 | | `V2.74` | 2026-06-02 | Minor | 补齐基线资产关键性、数据分类与风险分级总账、资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、AI 风险、互联网暴露和分级漂移阻断 | | `V2.75` | 2026-06-02 | Minor | 补齐基线密码材料、密钥、证书与秘密生命周期总账、KMS/HSM、TLS 证书、签名密钥、API token、凭据、轮换、过期、吊销和泄露响应阻断 | | `V2.76` | 2026-06-02 | Minor | 补齐基线备份、恢复、灾备与可恢复性验证总账、关键数据存储备份、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验和勒索隔离阻断 | | `V2.77` | 2026-06-02 | Minor | 补齐基线服务可靠性、SLO、错误预算与可观测性总账、SLI/SLO、错误预算、告警、on-call、runbook、合成探测、日志/指标/链路覆盖和用户旅程可靠性阻断 | | `V2.78` | 2026-06-02 | Minor | 补齐基线容量、性能、弹性伸缩与成本效率总账、容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、预算、单位经济和成本异常阻断 | | `V2.79` | 2026-06-02 | Minor | 补齐基线威胁建模、攻击面与安全风险总账、信任边界、数据流、滥用场景、安全测试、剩余风险和 release gate 阻断 | | `V2.80` | 2026-06-02 | Minor | 补齐基线漏洞、暴露面与修复验证总账、CVE/KEV/EPSS/CVSS、VEX/CSAF、外部暴露、修复 SLA、复测、例外和 release gate 阻断 | | `V2.81` | 2026-06-02 | Minor | 补齐基线安全配置、加固姿态与配置漂移修复总账、CIS/NIST/SCAP、Kubernetes Pod Security、云/Kubernetes/OS/数据库/CI/CD 配置、漂移、修复、例外和 release gate 阻断 | | `V2.82` | 2026-06-03 | Minor | 补齐基线生产变更、发布编排、变更冲突与失败恢复总账、代码部署、GitOps、数据库迁移、配置、Feature Flag、Prompt/模型变更、紧急变更、黑窗、冲突检测、回滚和 DORA 指标闭环 | | `V2.83` | 2026-06-03 | Minor | 补齐基线事故、问题、纠正行动与复发防止总账、生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、RCA、纠正行动、runbook 反哺和 DORA 恢复指标闭环 | | `V2.84` | 2026-06-03 | Minor | 补齐基线数据产品质量、契约违约、运行血缘与可观测性总账、schema drift、质量断言、freshness、完整性、唯一性、下游消费者影响、AI/特征/RAG 使用、契约违约和修复闭环 | | `V2.85` | 2026-06-03 | Minor | 补齐基线工程质量、测试证据、缺陷与发布验证总账、需求追踪、单元/集成/契约/E2E/回归/验收测试、覆盖率、flaky 测试、缺陷分级、修复复测、发布前验证和质量风险接受闭环 | | `V2.86` | 2026-06-03 | Minor | 补齐基线人员能力、培训、职责履职与职责分离总账、关键角色任命、岗位资格、职责确认、专项培训、on-call 资格、审批授权、职责分离、冲突角色和代理授权闭环 | | `V2.87` | 2026-06-03 | Minor | 补齐基线业务结果、价值实现与组合收益总账、业务目标、价值假设、收益 owner、投资组合、关键结果、前后基线、采用证据、收益实现、成本效率和停投/加投决策闭环 | | `V2.88` | 2026-06-03 | Minor | 补齐基线价值流、关键旅程与端到端流程总账、BPMN/流程模型、流程 owner、跨域交接、步骤级遥测、瓶颈、异常、人工兜底和改进动作闭环 | | `V2.89` | 2026-06-03 | Minor | 补齐基线架构视图、运行拓扑与依赖影响总账、架构视图、C4/部署视图、运行拓扑、声明依赖、观测依赖、blast radius、变更影响和依赖漂移闭环 | | `V2.90` | 2026-06-03 | Minor | 补齐基线质量属性、架构驱动与权衡决策总账、质量属性场景、业务驱动、敏感点、权衡点、ADR、适配度函数、验证证据和复核闭环 | | `V2.91` | 2026-06-03 | Minor | 补齐基线架构原则、约束、反模式与例外执行总账、原则 owner、适用范围、禁止项、检测方式、门禁入口、违反处置、例外、风险接受和复核闭环 | | `V2.92` | 2026-06-03 | Minor | 补齐基线版本策略、发布通道、兼容性与冻结控制总账、SemVer 语义、Conventional Commit 分类、签名 tag、兼容窗口、紧急补丁、撤销隔离、消费锁和迁移窗口闭环 | | `V2.93` | 2026-06-03 | Patch | 补齐控制项覆盖清单的 V2.69 至 V2.92 增量追溯,明确最新版本策略控制已进入 schema、example 和 checker 覆盖口径 | | `V2.94` | 2026-06-03 | Patch | 收敛公开文档与本地私有可执行资产边界表达,用受控私有制品引用和企业内部命令 URI 替代裸占位符 | | `V2.95` | 2026-06-03 | Minor | 补齐证据保证等级与采信规则,明确 release gate、会审裁决和审计导出必须按证据来源、独立性、完整性、新鲜度和可重放性判断证据是否可采信 | | `V2.96` | 2026-06-03 | Minor | 将证据保证等级补线到基线晋级矩阵、制品清单、starter gate、会审裁决、审计导出和基线状态迁移阻断路径 | | `V2.97` | 2026-06-03 | Minor | 补齐基线门禁负例测试与故障注入总账,证明 release gate、starter gate、审计导出、运行时准入和状态迁移能稳定拒绝坏样例 | | `V2.98` | 2026-06-03 | Minor | 补齐 AI 系统监管分类与影响评估总账,绑定适用法规、风险等级、人工监督、日志留存、技术文档、透明度、后市场监测和合规缺口闭环 | ### 0.8 V2.98 可执行企业标准路线图 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.51 增加基线准入执行策略,把最低基线、撤销/EOL、资产声明、例外到期和运行入口阻断固化为统一策略。V2.52 增加基线消费锁定文件,把资产消费端的基线版本、commit、tag 和关键证据摘要固化为不可变锁。V2.53 增加基线迁移工作单,把目标资产迁移到新基线的步骤、依赖、GitOps 变更、消费锁更新、验收证据和回滚动作固化为执行工单。V2.54 增加基线迁移执行回执,把实际命令、actor、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证固化为执行事实。V2.55 增加本地私有制品边界,把本地私有 starter kit、生成 JSON、校验脚本、禁推原因、摘要留存和远端排除固化为受控证据。V2.56 增加审计导出排除清单,把原文白名单、摘要留存项、强制排除项、签名 payload 排除和导出后验证固化为受控证据。V2.57 增加私有制品托管交接清单,把私有制品库引用、访问控制、留存期限、取回命令、恢复验证和摘要一致性固化为受控证据。V2.58 增加干净环境基线重建回执,把远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核固化为受控证据。V2.59 增加基线证据不可变归档回执,把关键证据的 WORM 留存、legal hold、访问日志、防删除、归档摘要和恢复演练固化为受控证据。V2.60 增加基线长期验签回执,把签名 bundle、证书链、OIDC 身份、透明日志、signed entry timestamp、RFC3161 TSA、撤销状态和验证工具版本固化为长期验签证据。V2.61 增加基线运行时准入回执,把 Kubernetes admission、策略引擎、镜像 digest、签名、provenance、SBOM、消费锁和拒绝样例固化为生产运行入口证据。V2.62 增加基线运行时准入决策总账,把 Kubernetes audit、admission webhook、PolicyReport、OPA decision log、actor、requestUID、allow/deny 和原始日志摘要固化为逐条运行决策证据。V2.63 增加基线连续控制监测总账,把控制项指标、告警、漂移、处置、证据新鲜度和控制运行 SLO 固化为持续监测证据。后续 `V2.x` 迭代应继续补充示例仓库,并把平台、catalog、GitOps、runtime admission、audit logging、continuous control monitoring 和审计系统连接起来。 V2.64 进一步增加基线独立控制保证抽样总账,把独立评估、控制总体、样本、设计有效性、运行有效性、发现项、整改和 OSCAL Assessment Results 固化为可复核证据。后续 `V2.x` 迭代应继续补充示例仓库,并把平台、catalog、GitOps、runtime admission、audit logging、continuous control monitoring、control assurance sampling 和审计系统连接起来。 V2.65 进一步增加基线共享责任与继承控制总账,把平台公共控制、云/第三方继承控制、领域责任、消费者配置义务和继承失效条件固化为可复核证据,避免企业级平台控制在扩展到多个资产后出现 owner 漂移。 V2.66 进一步增加基线数据驻留与跨境处理总账,把数据产品、AI 产品、RAG 索引、日志、备份、模型供应商、子处理方和人工支持访问的处理位置纳入同一证据链,避免只在隐私影响评估里写原则、却无法证明运行时数据实际落点。 V2.67 进一步增加基线第三方与关键供应商风险总账,把云平台、SaaS、ICT 服务商、模型供应商、外包方、数据处理方和关键子处理方纳入统一风险证据,避免采购、法务、隐私、安全和架构各自有台账却无法证明关键依赖可审计、可降级、可退出。 V2.68 进一步增加基线运营韧性与重要业务服务影响容忍总账,把重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景测试、恢复能力、人工替代、沟通计划和超限升级纳入统一证据,避免只按系统组件证明 RTO/RPO,却无法证明客户、市场、监管和关键业务结果仍处于可承受影响范围内。 V2.69 进一步增加基线监管与合规义务可追溯总账,把法规条款、监管规则、行业标准、客户合同和内部政策要求纳入统一义务源,并逐条绑定控制项、证据、owner、例外、POA&M、监管变更监测和发布门禁,避免企业只能证明“执行了控制”,却不能证明“这些控制覆盖了哪些适用义务”。 V2.70 进一步增加基线记录留存、法律保全与可防御删除总账,把企业记录类别、留存排期、法定义务、合同义务、legal hold、删除资格、删除传播、备份处置、日志处置、向量索引处置和可防御删除回执纳入统一证据,避免隐私删除、监管留存、审计取证和诉讼保全互相冲突时只能靠人工会议解释。 V2.71 进一步增加基线隐私权利请求、同意偏好与合法基础执行总账,把处理目的、合法基础、同意版本、同意撤回、偏好传播、DSAR/消费者权利请求、自动化决策人工复核、AI/数据产品/营销/第三方下游限制和逾期阻断纳入统一证据,避免只有 DPIA 和留存策略,却无法证明当前处理仍被授权、撤回已经传播、权利请求已经按期履行。 V2.72 进一步增加基线处理活动、个人数据清单与 RoPA 覆盖总账,把企业运行中的系统、数据产品、AI 产品、第三方处理和人工流程统一映射到处理活动、数据主体类别、个人数据类别、接收方、跨境传输、保留排期、合法基础、DPIA 和 owner,避免“下游权利与同意证据都存在,但源头处理活动覆盖不完整”。 V2.73 进一步增加基线身份权限、特权访问与工作负载身份总账,把人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、权限复核、孤儿账号、过期权限和运行时身份绑定纳入统一证据链,避免 IAM、PAM、RBAC、Cloud IAM、Kubernetes ServiceAccount 和访问复核各自存在,却无法证明生产权限与准入策略一致。 V2.74 进一步增加基线资产关键性、数据分类与风险分级总账,把 catalog、CMDB、数据目录、AI 产品目录、风险登记、SLO 和 conformance profile 统一绑定到资产 owner、业务关键性、CIA 影响和门禁等级,避免系统已经登记却无法证明“为什么按这个保护强度放行或阻断”。 V2.75 进一步增加基线密码材料、密钥、证书与秘密生命周期总账,把 KMS/HSM、Vault、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销、泄露响应和 owner 统一绑定到基线门禁,避免密码材料散落在工具、配置和流水线里但无法证明生命周期受控。 V2.76 进一步增加基线备份、恢复、灾备与可恢复性验证总账,把关键系统、关键数据存储、对象存储、配置仓库、队列、向量索引、审计证据、备份策略、不可变/离线副本、跨区域复制、恢复演练、RTO/RPO、完整性校验和勒索隔离统一绑定到基线门禁,避免灾备能力只停留在计划、任务配置或组件级恢复演练里。 V2.77 进一步增加基线服务可靠性、SLO、错误预算与可观测性总账,把服务契约、用户旅程、SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、日志/指标/链路覆盖、降级策略和事故反馈统一绑定到基线门禁,避免服务可靠性停留在“有监控、有告警、有 SLO 字段”,却无法证明用户可见可靠性正在被持续运营。 V2.78 进一步增加基线容量、性能、弹性伸缩与成本效率总账,把容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列积压、数据库容量、预算、单位经济、成本分摊、异常成本和优化行动统一绑定到基线门禁,避免性能容量治理停留在“上线前压过一次测、资源配置写过一次、账单月底再看”的弱运行证据状态。 V2.79 进一步增加基线威胁建模、攻击面与安全风险总账,把关键服务、API、事件、数据产品、AI 产品、GitOps 入口、平台共享能力、信任边界、数据流、攻击面、滥用场景、安全测试、剩余风险、POA&M 和风险签署统一绑定到基线门禁,避免威胁建模停留在上线前评审或单个 AI 威胁模型里。 V2.80 进一步增加基线漏洞、暴露面与修复验证总账,把 CVE、KEV、EPSS、CVSS、VEX/CSAF、SBOM/SCA、容器镜像、IaC、Kubernetes、云配置、外部暴露、API/AI 工具入口、修复 SLA、复测和例外统一绑定到基线门禁,避免漏洞治理停留在扫描器报告、局部工单或单项修复证明里。 V2.81 进一步增加基线安全配置、加固姿态与配置漂移修复总账,把 CIS Benchmarks、NIST 安全配置管理、SCAP、Kubernetes Pod Security、云/Kubernetes/OS/数据库/CI/CD 配置、AI Runtime 配置、漂移修复和例外统一绑定到基线门禁,避免漏洞修复通过后仍因默认配置错误、弱加密、公共暴露、特权 Pod 或审计关闭进入生产。 V2.82 进一步增加基线生产变更、发布编排、变更冲突与失败恢复总账,把代码部署、GitOps 同步、数据库迁移、配置、Feature Flag、Prompt/模型变更、紧急变更、黑窗、冲突检测、回滚、失败恢复、事故关联和 DORA 指标统一绑定到基线门禁,避免企业只证明“版本基线可发布”,却无法证明每一次真实生产变更可控、可回滚、可复盘、可度量。 V2.83 进一步增加基线事故、问题、纠正行动与复发防止总账,把生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、重大告警、根因分析、问题记录、纠正行动、复发防止、runbook 更新、告警调整、门禁反哺和 DORA 恢复指标统一绑定到基线门禁,避免企业只证明“事故已经复盘”,却无法证明长期修复、学习反馈和复发风险已经关闭。 V2.84 进一步增加基线数据产品质量、契约违约、运行血缘与可观测性总账,把数据产品契约、schema drift、质量断言、freshness、完整性、唯一性、语义口径、访问授权、血缘、消费者影响、AI/特征/RAG 使用、契约违约、修复复测和数据质量事故统一绑定到基线门禁,避免企业只证明“有数据产品目录、契约和血缘”,却无法证明这些数据产品在运行时持续可靠、授权清晰、违约可修复、下游影响可控。 V2.85 进一步增加基线工程质量、测试证据、缺陷与发布验证总账,把需求追踪、风险化测试计划、单元/集成/契约/E2E/回归/验收测试、覆盖率、测试环境、测试数据、flaky 测试、缺陷分级、修复复测、发布前验证、灰度/冒烟和质量风险接受统一绑定到基线门禁,避免企业只证明“CI 通过、有人验收”,却无法证明真实软件正确性、回归风险、已知缺陷和发布质量风险已经闭合。 V2.86 进一步增加基线人员能力、培训、职责履职与职责分离总账,把关键岗位任命、RACI 职责确认、岗位资格、平台/安全/隐私/AI 专项培训、on-call 资格、审批授权、代理授权、职责分离、冲突角色治理和备份人员覆盖统一绑定到基线门禁,避免企业只证明“有人负责、有人批准”,却无法证明这些人具备资格、授权有效且没有自审自批或权限冲突。 V2.87 进一步增加基线业务结果、价值实现与组合收益总账,把业务目标、价值假设、投资组合归属、收益 owner、关键结果、前后基线、采用证据、收益实现、成本效率和停投/加投决策统一绑定到基线门禁,避免企业架构治理只证明“做得合规、稳定、安全”,却无法证明这些投入是否交付了可度量业务结果。 V2.88 进一步增加基线价值流、关键旅程与端到端流程总账,把跨领域价值流、客户旅程、BPMN/流程模型、流程 owner、步骤级遥测、跨域交接、瓶颈、异常、人工兜底、控制点和改进动作统一绑定到基线门禁,避免业务结果已经入账但端到端流程本身不可观测、不可审计、不可优化。 V2.89 进一步增加基线架构视图、运行拓扑与依赖影响总账,把 ISO 42010 风格架构视图、C4/部署视图、catalog 声明依赖、GitOps 运行拓扑、OpenTelemetry 观测依赖、OpenLineage 数据血缘、数据/AI/第三方依赖、blast radius、变更影响和依赖漂移统一绑定到基线门禁,避免架构图、运行事实和变更影响各自存在却无法相互证明。 V2.90 进一步增加基线质量属性、架构驱动与权衡决策总账,把 ISO/IEC 25010 质量模型、SEI ATAM 质量属性场景、架构驱动、敏感点、权衡点、ADR、适配度函数、SLO/容量/安全/韧性/成本验证和业务目标统一绑定到基线门禁,避免企业只证明系统“已经受控”,却无法证明架构取舍是否满足业务优先级和可测质量要求。 V2.91 进一步增加基线架构原则、约束、反模式与例外执行总账,把架构原则、强制约束、禁止项、反模式、检测方式、门禁入口、违反处置、例外审批、风险接受、ADR 和复核周期统一绑定到基线门禁,避免企业只证明“文档里写了原则”,却无法证明原则在真实提交、发布、GitOps、runtime admission 和审计导出中被执行。 V2.92 进一步增加基线版本策略、发布通道、兼容性与冻结控制总账,把 SemVer 语义、Conventional Commit 分类、发布通道、冻结窗口、签名 tag、兼容窗口、消费锁、迁移窗口、紧急补丁、撤销隔离和证据摘要统一绑定到基线门禁,避免企业只证明“有版本号和 tag”,却无法证明版本升级、冻结、补丁、撤销、迁移和消费端锁定是同一组发布事实。 V2.93 进一步把 V2.69 至 V2.92 的控制项覆盖增量补齐到同一清单,确保监管义务、隐私、身份、业务结果、架构视图、质量属性、架构原则和版本策略控制不仅存在于正文和证据总账,也能被 schema、example 和 checker 规则证明。 V2.94 进一步把公开文档中的本地私有资产、审计导出和制品取回入口统一收敛为受控私有制品引用或企业内部命令 URI,确保远端基线只暴露可审计边界,不误推本地 schema/example、生成清单、内部脚本或审计导出原文。 V2.95 进一步补齐证据保证等级与采信规则,把证据从“存在即可”提升为“来源可信、生成可重放、摘要可校验、独立性匹配风险等级、仍在新鲜度窗口内”。它用于约束 release gate、会审裁决、控制保证抽样和审计导出:弱证据只能支撑草案或低风险试点,不能支撑 L3 / L4 生产基线、frozen 晋级或正式审计导出。 V2.96 进一步补齐 V2.95 的消费链闭合问题:`baseline-evidence-assurance-classification.yaml` 不能只是证据目录中的一个新模板,还必须被基线晋级矩阵、制品清单、starter gate、会审裁决、审计导出和状态迁移阻断条件共同消费。这样 release gate 才能证明每个关键证据节点不仅存在,而且达到当前风险等级要求的最低保证等级、采信状态、新鲜度、完整性和可重放要求。 V2.97 进一步补齐门禁 fail-closed 证明链:`baseline-gate-negative-test-suite.yaml` 必须把错误 fixture、预期失败规则、实际拒绝结果、失败日志摘要、覆盖的 gate、复测命令和 owner 固化为基线证据。它要求 release gate、starter gate、审计导出、运行时准入和状态迁移都至少具备正例通过与负例拒绝两类证明,禁止只用好样例证明门禁有效。 V2.98 进一步补齐 AI 合规分类与生命周期影响证据:`baseline-ai-system-regulatory-impact-ledger.yaml` 必须把 AI 系统用途、部署角色、适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度、后市场监测、供应商责任和合规缺口固化为基线证据。它要求 AI 产品、Agent、RAG、微调模型和模型供应商接入都能从 AI 证据账本追溯到监管义务、风险登记、DPIA、会审裁决和 release gate 阻断规则,禁止只用“AI 风险等级”一个字段替代合规分类。 V2.98 起点包括: 1. 真相源字段矩阵:明确 `domain.yaml`、`service.yaml`、`ai-product.yaml`、`data-product.yaml`、catalog、GitOps 和 runtime 的字段权威。 2. 契约模板:提供服务、领域、数据产品、AI 产品、Agent 工具、RAG、微调、GitOps 和生产就绪模板。 3. 自动化门禁:把 API、事件、数据契约、AI 门禁、SBOM、签名、SLO、成本标签和 catalog entry 纳入 CI。 4. RACI:明确架构组、领域团队、平台团队、数据团队、安全团队、AI 产品团队、SRE 和业务 owner 的决策权。 5. 仓库拓扑剖面:覆盖 monorepo、多仓、独立 GitOps 仓、平台仓和数据仓的适配模式。 6. 可靠性分级:补齐 Tier-1 / Tier-2 / Tier-3、RTO、RPO、灾备演练、错误预算和 on-call 升级路径。 7. 迁移与弃用:定义旧系统绞杀迁移、API 版本弃用、数据产品兼容、AI 模型退役和平台能力下线流程。 8. 验证包:提供 `make test`、schema 校验、示例仓库和审计证据清单,证明标准可以落地执行。 9. Starter Kit:提供 `本地私有 starter kit` 下的 128 组 schema/example、基线版本策略、发布通道、兼容性与冻结控制总账、基线生产变更、发布编排、变更冲突与失败恢复总账、基线事故、问题、纠正行动与复发防止总账、基线数据产品质量、契约违约、运行血缘与可观测性总账、基线工程质量、测试证据、缺陷与发布验证总账、基线人员能力、培训、职责履职与职责分离总账、基线业务结果、价值实现与组合收益总账、基线价值流、关键旅程与端到端流程总账、基线架构视图、运行拓扑与依赖影响总账、基线质量属性、架构驱动与权衡决策总账、基线架构原则、约束、反模式与例外执行总账、基线安全配置、加固姿态与配置漂移修复总账、基线漏洞、暴露面与修复验证总账、基线威胁建模、攻击面与安全风险总账、基线容量、性能、弹性伸缩与成本效率总账、基线服务可靠性、SLO、错误预算与可观测性总账、基线备份、恢复、灾备与可恢复性验证总账、基线密码材料、密钥、证书与秘密生命周期总账、基线资产关键性、数据分类与风险分级总账、基线身份权限、特权访问与工作负载身份总账、基线处理活动、个人数据清单与 RoPA 覆盖总账、基线隐私权利请求、同意偏好与合法基础执行总账、基线记录留存、法律保全与可防御删除总账、基线监管与合规义务可追溯总账、嵌套字段校验、格式校验、威胁建模、攻击面管理、安全风险治理、可靠性、性能、容量、成本效率、数据治理、AI 运行、基线运营韧性与重要业务服务影响容忍总账、基线第三方与关键供应商风险总账、基线数据驻留与跨境处理总账、基线共享责任与继承控制总账、基线独立控制保证抽样总账、基线连续控制监测总账、基线运行时准入决策总账、基线运行时准入回执、基线长期验签回执、基线证据不可变归档回执、干净环境基线重建回执、私有制品托管交接清单、审计导出排除清单、本地私有制品边界、基线迁移执行回执、基线迁移工作单、基线消费锁定文件、基线准入执行策略、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、仓库变更控制、远端保护漂移整改、AI 证据账本、AI 系统监管分类与影响评估总账、微调运行证据、AI 事件响应 playbook、GitOps 安全、架构决策记录、风险登记、证据保证等级消费链、基线门禁负例测试、故障注入、期望失败证据、fail-closed 覆盖、证据链验真字段和示例跨文件一致性检查。 10. 版本清单:提供 `本地私有版本清单`,让当前版本、发布状态、pair 清单和索引同步进入 CI 校验。 11. 控制项覆盖清单:提供 `本地私有控制项覆盖清单`,让关键控制项到 schema、example 和 checker 的证据链进入 CI 校验。 12. 严格 schema 模式:starter kit 的对象 schema 必须声明 `additionalProperties=false`,新增字段必须先进入契约、示例和 checker 证据链。 13. 扩展字段策略:新增 `extension-policy.yaml`,让企业自定义字段只能通过受控前缀、审批和默认拒绝策略进入标准。 14. 渐进式发布控制:新增 `feature-flag-control.yaml`,把 Feature Flag、Kill Switch、灰度指标、SLO 燃尽回滚和曝光事件纳入门禁。 15. AI 威胁模型:新增 `ai-threat-model.yaml`,把 OWASP LLM / Agentic AI、MCP 工具同意、红队、出站限制和残余风险接受纳入证据链。 16. 运行血缘:新增 `lineage-event.yaml`,把数据产品的 producer job、run、input/output dataset、schema、质量证据和血缘后端纳入审计。 17. 平台产品指标:新增 `platform-product-metrics.yaml`,把 Platform PM、Golden Path 采用率、开发者满意度、认知负载和平台 SLO 纳入可执行标准。 18. 隐私影响评估:新增 `privacy-impact-assessment.yaml`,把 DPIA、处理目的、合法基础、主体权利、删除传播和 AI 使用限制纳入门禁。 19. 租户隔离:新增 `tenant-boundary.yaml`,把 namespace、ServiceAccount、Secret 范围、ResourceQuota、NetworkPolicy 和准入策略纳入证据链。 20. 恢复演练:新增 `recovery-drill-evidence.yaml`,把 RTO/RPO 从声明升级为演练结果、备份、恢复日志和复盘证据。 21. 策略测试:新增 `policy-test-report.yaml`,把 OPA / Cedar / Kyverno 等策略测试结果、失败数和阻断决策纳入门禁。 22. GenAI 观测:新增 `genai-observability-contract.yaml`,把 OpenTelemetry GenAI、Token、成本、工具调用、RAG span 和日志脱敏纳入运行契约。 23. 成本分摊证据:新增 `cost-allocation-evidence.yaml`,把标签覆盖率、未分摊成本、云/AI/数据成本和优化行动纳入 FinOps 证据。 24. 访问复核:新增 `identity-access-review.yaml`,把身份源、角色、特权访问、break-glass、MFA 和复核结论纳入门禁。 25. 密钥轮换:新增 `secrets-rotation-evidence.yaml`,把 Secret provider、KMS、静态加密、轮换周期、泄露扫描和轮换结果纳入证据链。 26. 漏洞修复:新增 `vulnerability-remediation-evidence.yaml`,把漏洞严重度、KEV 状态、SLA、修复日期、残余风险和发布准入纳入控制项。 27. 事故复盘:保留 `incident-postmortem.yaml` 作为单次事故局部复盘模板,把检测/恢复时间、影响、根因、纠正行动、runbook 更新和门禁反哺纳入闭环,并由 V2.83 的 `baseline-incident-problem-corrective-action-ledger.yaml` 汇总为基线级证据。 28. 证据新鲜度:新增 `evidence-freshness-policy.yaml`,把证据最大年龄、按类型过期策略、CI 执行和过期阻断纳入审计生命周期。 29. 控制证据映射:新增 `control-evidence-map.yaml`,把控制项 ID、证据路径、状态、新鲜度、必需性和阻断属性纳入审计总账。 30. 审计导出清单:新增 `audit-export-manifest.yaml`,把导出包范围、内容、验证结果、签名要求和留存策略纳入可交付证据。 31. 审计导出自动化:新增 `internal-command://architecture/export-modern-architecture-audit`,生成 `assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json`、`audit-export.md`、`oscal-summary.json`、`audit-export-integrity.json`、`audit-export-provenance.json` 和 `audit-export-signing-policy.json`。 32. 控制评估报告:新增 `control-assessment-report.yaml`,把评估范围、评估人、控制结果、发现项、整改、剩余风险和签署状态纳入审计闭环。 33. 架构基线变更记录:新增 `baseline-change-record.yaml`,把基线版本、前序版本、影响分析、审批、验证命令和回滚计划纳入变更控制。 34. OSCAL 交换映射:新增 `oscal-export-profile.yaml`,把内部控制、证据、评估和整改映射到 OSCAL 交换视图,并生成 `oscal-summary.json`。 35. 审计导出门禁:新增 `audit-export-gate.yaml` 和 `internal-command://architecture/check-modern-architecture-audit-export`,把导出输出不变量纳入 `make test`。 36. 审计导出完整性清单:新增 `audit-export-integrity.yaml` 和 `audit-export-integrity.json`,把生成物 SHA-256、源制品哈希和防篡改校验纳入审计包。 37. 审计导出 provenance statement:新增 `audit-export-provenance.yaml` 和 `audit-export-provenance.json`,把生成物 subject、构建定义、源码提交和源证据依赖纳入可追溯证明。 38. 审计导出签名策略:新增 `audit-export-signing-policy.yaml` 和 `audit-export-signing-policy.json`,把 provenance payload 摘要、签名方式、验签命令和外部签名交接纳入审计包。 39. 审计导出签名验签回执:新增 `audit-export-signature-receipt.yaml`,把外部签名后的 bundle 摘要、证书身份、透明日志和验签结果纳入证据闭环。 40. POA&M 整改计划:新增 `poam-record.yaml`,把控制发现项、责任人、整改行动、里程碑、证据、签署和复审纳入 OSCAL POA&M 证据闭环。 41. 企业架构风险登记:新增 `risk-register.yaml`,把风险、控制项、POA&M、缓解行动、残余风险、复审和审计导出风险视图纳入证据闭环。 42. 架构决策记录:新增 `architecture-decision-record.yaml`,把 ADR 上下文、备选方案、取舍、决策、关联控制项、风险、POA&M、复审和基线变更绑定纳入证据闭环。 43. AI 事件响应 playbook:新增 `ai-incident-playbook.yaml`,把幻觉爆发、工具循环、RAG 索引污染、供应商中断、成本异常、检测信号、遏制、降级、回滚、RAG 恢复、工具 Kill Switch、沟通和复盘纳入 AI 运行证据闭环。 44. AI 证据账本:新增 `ai-evidence.yaml`,把模型、Prompt、RAG、工具、评估、威胁模型、观测、事件响应、数据使用、审批、留存和复审汇总为 AI 产品级证据总账。 45. 微调运行证据:新增 `fine-tuning-run.yaml`,把训练数据授权、数据准备、实验追踪、评估、模型登记、审批、灰度发布、监控和退役纳入 AI 微调审计闭环。 46. 仓库变更控制:新增 `repository-change-control.yaml`,把 CODEOWNERS、受保护分支、PR 审查、必需检查、签名提交、禁止直推、发布 tag 保护、远端保护状态验证、漂移整改、POA&M 和风险登记纳入版本基线保护。 47. 合规等级画像:新增 `conformance-profile.yaml`,把资产风险、监管强度、数据敏感度、AI 风险等级和必须执行的门禁等级绑定。 48. 执行控制面:新增 `control-plane.yaml`,把控制项、证据、owner、阻断级别、自动化状态、复核周期和退出标准汇总到统一执行账本。 49. 门禁决策记录:新增 `release-gate-decision.yaml`,把每次放行、阻断、条件放行、例外、break-glass 和回滚要求纳入可审计证据。 50. 标准基线锁定:新增 `standards-baseline.yaml`,把外部标准名称、版本、稳定性、采纳等级、owner、复核周期、升级条件和回滚策略纳入可执行基线。 51. 版本控制面:新增 `version-governance.yaml`,把基线 ID、发布通道、tag、源 commit、兼容窗口、冻结策略、升级规则和回滚入口纳入可执行发布协议。 52. 基线发布证据包:新增 `baseline-release-evidence.yaml`,把晋级决策、冻结复核、漂移检查、不可变引用、审计导出摘要和回滚验证纳入可执行证据。 53. 基线兼容性总账:新增 `baseline-compatibility-ledger.yaml`,把消费者影响、迁移状态、弃用截止、例外、POA&M 和风险接受纳入版本门禁。 54. 基线采纳总账:新增 `baseline-adoption-ledger.yaml`,把组织内领域、平台、数据、AI 和生产资产的基线采用状态、逾期、例外和整改纳入版本治理。 55. 基线支持矩阵:新增 `baseline-support-matrix.yaml`,把历史基线支持状态、维护窗口、安全补丁窗口、EOL、最低可接受基线和例外纳入版本生命周期治理。 56. 基线发布列车:新增 `baseline-release-train.yaml`,把候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁和发布日历纳入版本治理。 57. 基线符合性声明:新增 `baseline-conformance-claim.yaml`,把资产自声明基线、证据路径、例外、签署、复核和采纳总账回写纳入资产级版本治理。 58. 基线制品清单:新增 `baseline-artifact-inventory.yaml`,把基线源文档、schema、示例、控制项、证据模板、脚本、生成物、外部引用、摘要和签名状态纳入版本物料清单。 59. 基线验证环境锁定:新增 `baseline-verification-lock.yaml`,把校验命令、runner 镜像、工具版本、策略包、schema validator、签名验签工具和审计导出生成环境纳入可复现门禁。 60. 基线通知确认总账:新增 `baseline-notification-ledger.yaml`,把受影响对象、通知渠道、送达回执、影响确认、异议、例外、补发和冻结前完成状态纳入版本发布门禁。 61. 基线回滚验证记录:新增 `baseline-rollback-verification.yaml`,把上一基线、回滚目标 tag/commit、GitOps revision、审计导出恢复、烟测结果和验证时效纳入版本发布门禁。 62. 基线例外总账:新增 `baseline-exception-ledger.yaml`,把兼容、采纳、支持、通知、回滚、门禁和控制面的例外、风险接受、POA&M、到期状态、关闭证据和冻结阻断纳入版本发布门禁。 63. 基线就绪评分卡:新增 `baseline-readiness-scorecard.yaml`,把版本身份、控制覆盖、制品完整性、验证环境、例外健康、通知确认、回滚验证、审计导出和禁推资产检查汇总为最终准入判定。 64. 基线生命周期状态机:新增 `baseline-lifecycle-state-machine.yaml`,把版本状态、允许迁移、禁止迁移、迁移证据、审批责任、状态回写和回滚入口纳入版本发布门禁。 65. 基线状态对账报告:新增 `baseline-state-reconciliation-report.yaml`,把状态机、版本控制面、发布证据、支持矩阵、采纳总账、符合性声明和审计导出状态做一致性对账。 66. 基线 EOL 退役证书:新增 `baseline-eol-retirement-certificate.yaml`,把旧基线生产引用清零、迁移关闭、例外清零、证据归档和新采用阻断纳入版本生命周期门禁。 67. 基线会审裁决记录:新增 `baseline-review-board-decision.yaml`,把会审范围、证据核验、投票签署、反对意见、条件动作、风险接受和最终裁决纳入基线晋级门禁。 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`,把撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档纳入版本事故控制门禁。 72. 基线准入执行策略:新增 `baseline-enforcement-policy.yaml`,把最低可接受基线、撤销/EOL 阻断、资产符合性声明、例外到期和 GitOps / catalog / Golden Path 准入阻断纳入统一策略。 73. 基线消费锁定文件:新增 `baseline-consumption-lock.yaml`,把资产实际消费的 baseline ID、source commit、release tag、证据图摘要、制品清单摘要、验证锁摘要和准入策略摘要纳入消费端版本控制。 74. 基线迁移工作单:新增 `baseline-migration-work-order.yaml`,把目标资产从当前基线迁移到目标基线的步骤、依赖、GitOps 变更、消费锁更新、验收证据和回滚动作纳入执行闭环。 75. 基线迁移执行回执:新增 `baseline-migration-execution-receipt.yaml`,把迁移实际命令、执行人、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证纳入独立执行证据。 76. 本地私有制品边界:新增 `baseline-local-artifact-boundary.yaml`,把本地私有 starter kit、生成清单、校验脚本、禁推原因、摘要留存、远端排除和审计留存纳入受控边界。 77. 审计导出排除清单:新增 `audit-export-exclusion-manifest.yaml`,把导出原文白名单、摘要留存项、强制排除项、签名 payload 排除项和导出后验证纳入审计包门禁。 78. 私有制品托管交接清单:新增 `private-artifact-escrow-manifest.yaml`,把禁推可执行资产的私有 registry / 制品库引用、摘要、访问控制、留存、取回命令和恢复验证纳入证据链。 79. 干净环境基线重建回执:新增 `baseline-clean-room-reconstruction-receipt.yaml`,把远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核纳入基线可重建证明。 80. 基线证据不可变归档回执:新增 `baseline-evidence-archive-receipt.yaml`,把审计证据归档到不可变留存库、对象锁、WORM、legal hold、访问日志、删除保护和恢复演练纳入基线长期可审计证明。 81. 基线长期验签回执:新增 `baseline-signature-ltv-receipt.yaml`,把签名 bundle、证书链、OIDC issuer、透明日志 proof、signed entry timestamp、RFC3161 TSA、撤销状态、验证工具版本和归档位置纳入长期验签证明。 82. 基线运行时准入回执:新增 `baseline-runtime-admission-receipt.yaml`,把 admission controller、策略引擎、镜像 digest、签名/provenance/SBOM 校验、消费锁、撤销/EOL 阻断和拒绝样例纳入生产入口证明。 83. 基线运行时准入决策总账:新增 `baseline-runtime-admission-decision-ledger.yaml`,把 Kubernetes audit requestUID、admission webhook、策略规则、allow/deny、actor、namespace、workload、镜像 digest 和原始日志摘要纳入逐条证据。 84. 基线连续控制监测总账:新增 `baseline-continuous-control-monitoring-ledger.yaml`,把控制指标、日志源、告警规则、监测窗口、漂移事件、处置工单、owner、MTTD/MTTR 和证据新鲜度纳入持续运行证据。 85. 基线独立控制保证抽样总账:新增 `baseline-control-assurance-sampling-ledger.yaml`,把独立评估人、评估目标、控制总体、抽样方法、设计有效性、运行有效性、发现项、整改、风险接受、签署和 OSCAL Assessment Results 纳入可复核控制保证证据。 V2.95 补充项:新增 `baseline-evidence-assurance-classification.yaml` 的公开契约说明,把证据等级、采信状态、生成方式、来源独立性、完整性证明、新鲜度窗口、可重放命令和最低适用门禁纳入 release gate 证据采信规则;对应私有 schema/example 仍按禁推资产边界维护,不进入公开远端。 V2.97 补充项:新增 `baseline-gate-negative-test-suite.yaml` 的公开契约说明,把负例 fixture、故障注入、预期失败规则、实际拒绝结果、失败日志摘要、复测命令、覆盖 gate 和回归 owner 纳入 release gate、starter gate、审计导出、运行时准入和状态迁移 fail-closed 证明;对应私有 schema/example 与负例 fixture 仍按禁推资产边界维护,不进入公开远端。 V2.98 补充项:新增 `baseline-ai-system-regulatory-impact-ledger.yaml` 的公开契约说明,把 AI 系统用途、部署角色、适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度、后市场监测、供应商责任和合规缺口纳入 release gate、会审裁决、风险登记、监管义务总账和审计导出证据;对应私有 schema/example 仍按禁推资产边界维护,不进入公开远端。 86. 基线共享责任与继承控制总账:新增 `baseline-control-inheritance-ledger.yaml`,把 inherited、shared、provider-managed、domain-owned 和 consumer-owned 控制责任、继承条件、消费者义务、证据引用和失效阻断纳入可执行治理证据。 87. 基线数据驻留与跨境处理总账:新增 `baseline-data-residency-transfer-ledger.yaml`,把数据类别、监管区域、实际处理位置、跨境传输机制、子处理方、补充保护措施、删除传播和区域漂移阻断纳入可执行治理证据。 88. 基线第三方与关键供应商风险总账:新增 `baseline-third-party-risk-ledger.yaml`,把关键供应商分级、服务范围、合同控制、DPA/SLA、审计权、保证报告、数据类别、集中度、退出计划、替代路径、连续性和供应商事件阻断纳入可执行治理证据。 89. 基线运营韧性与重要业务服务影响容忍总账:新增 `baseline-operational-resilience-ledger.yaml`,把重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景测试、恢复能力、人工替代、沟通计划、第三方依赖、韧性缺口和超限升级纳入可执行治理证据。 90. 基线监管与合规义务可追溯总账:新增 `baseline-regulatory-obligation-ledger.yaml`,把义务来源、适用司法辖区、适用资产、控制目标、控制项、证据路径、owner、例外、POA&M、监管变更和生效期限纳入可执行治理证据。 91. 基线记录留存、法律保全与可防御删除总账:新增 `baseline-records-retention-legal-hold-ledger.yaml`,把记录类别、留存排期、义务来源、司法辖区、legal hold、删除资格、删除传播、备份/日志/向量索引处置和可防御删除回执纳入可执行治理证据。 92. 基线隐私权利请求、同意偏好与合法基础执行总账:新增 `baseline-privacy-rights-consent-ledger.yaml`,把处理目的、合法基础、同意偏好、撤回传播、DSAR/消费者权利请求、自动化决策复核、第三方传播和下游处理阻断纳入可执行治理证据。 93. 基线处理活动、个人数据清单与 RoPA 覆盖总账:新增 `baseline-processing-activity-inventory-ledger.yaml`,把处理活动、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、合法基础、DPIA、AI/数据产品用途和发现覆盖纳入可执行治理证据。 94. 基线身份权限、特权访问与工作负载身份总账:新增 `baseline-identity-entitlement-access-ledger.yaml`,把人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、孤儿账号、过期权限和运行时身份绑定纳入可执行治理证据。 95. 基线资产关键性、数据分类与风险分级总账:新增 `baseline-asset-criticality-classification-ledger.yaml`,把资产 owner、业务关键性、SLO Tier、L3/L4 合规等级、CIA 影响、数据敏感度、监管暴露、AI 风险等级、互联网暴露、第三方关键性和复核状态纳入可执行治理证据。 96. 基线密码材料、密钥、证书与秘密生命周期总账:新增 `baseline-cryptographic-secrets-key-certificate-ledger.yaml`,把 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销、泄露响应和 owner 纳入可执行治理证据。 97. 基线备份、恢复、灾备与可恢复性验证总账:新增 `baseline-backup-restore-disaster-recovery-ledger.yaml`,把关键系统、数据库、对象存储、配置、队列、向量索引、审计证据、备份策略、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验和勒索隔离纳入可执行治理证据。 98. 基线服务可靠性、SLO、错误预算与可观测性总账:新增 `baseline-service-reliability-slo-error-budget-observability-ledger.yaml`,把生产服务、关键用户旅程、SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、指标/日志/链路覆盖、降级策略和可靠性事件反馈纳入可执行治理证据。 99. 基线容量、性能、弹性伸缩与成本效率总账:新增 `baseline-capacity-performance-cost-efficiency-ledger.yaml`,把容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列积压、数据库容量、预算、单位经济、成本分摊、异常成本和优化行动纳入可执行治理证据。 100. 基线威胁建模、攻击面与安全风险总账:新增 `baseline-threat-model-attack-surface-risk-ledger.yaml`,把关键服务、API、事件、数据产品、AI 产品、GitOps 入口、平台共享能力、信任边界、数据流、攻击面、滥用场景、安全测试、剩余风险、POA&M 和签署状态纳入可执行治理证据。 101. 基线漏洞、暴露面与修复验证总账:新增 `baseline-vulnerability-exposure-remediation-ledger.yaml`,把 CVE、KEV、EPSS、CVSS、VEX/CSAF、SBOM/SCA、容器镜像、IaC、Kubernetes、云配置、外部暴露、API/AI 工具入口、修复 SLA、复测和例外纳入可执行治理证据。 102. 基线安全配置、加固姿态与配置漂移修复总账:新增 `baseline-secure-configuration-posture-drift-ledger.yaml`,把 CIS/NIST/SCAP、Pod Security、OS、容器、Kubernetes、云、IAM、网络、存储、数据库、CI/CD、API Gateway、LLM Gateway、Agent Runtime、审计日志、加密配置、漂移、修复、例外和发布准入纳入可执行治理证据。 103. 基线生产变更、发布编排、变更冲突与失败恢复总账:新增 `baseline-production-change-release-ledger.yaml`,把代码部署、GitOps 同步、数据库迁移、配置变更、Feature Flag、Prompt/模型变更、紧急变更、黑窗、冲突检测、回滚、失败恢复、事故关联和 DORA 指标纳入可执行治理证据。 104. 基线事故、问题、纠正行动与复发防止总账:新增 `baseline-incident-problem-corrective-action-ledger.yaml`,把生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、RCA、问题记录、纠正行动、复发防止、runbook 更新、门禁反哺和 DORA 恢复指标纳入可执行治理证据。 105. 基线数据产品质量、契约违约、运行血缘与可观测性总账:新增 `baseline-data-product-quality-contract-observability-ledger.yaml`,把数据产品 owner、契约版本、schema drift、质量断言、freshness、完整性、唯一性、语义口径、访问授权、血缘、消费者影响、AI/特征/RAG 使用、契约违约、修复复测和数据质量事故纳入可执行治理证据。 106. 基线工程质量、测试证据、缺陷与发布验证总账:新增 `baseline-engineering-quality-test-release-verification-ledger.yaml`,把需求追踪、测试策略、单元/集成/契约/E2E/回归/验收测试、覆盖率、测试环境、测试数据、flaky 测试、缺陷、修复复测、发布前验证、灰度/冒烟结果和质量风险接受纳入可执行治理证据。 107. 基线人员能力、培训、职责履职与职责分离总账:新增 `baseline-workforce-competency-training-duty-segregation-ledger.yaml`,把关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、代理授权、职责分离、冲突角色、备份人员和到期复核纳入可执行治理证据。 108. 基线业务结果、价值实现与组合收益总账:新增 `baseline-business-outcome-value-realization-portfolio-ledger.yaml`,把业务目标、价值假设、收益 owner、投资组合、关键结果、前后基线、采用证据、收益实现、成本效率、风险接受和停投/加投决策纳入可执行治理证据。 109. 基线价值流、关键旅程与端到端流程总账:新增 `baseline-value-stream-journey-process-ledger.yaml`,把跨领域价值流、客户旅程、BPMN/流程模型、流程 owner、步骤级遥测、瓶颈、异常、人工兜底、控制点和改进动作纳入可执行治理证据。 110. 基线架构视图、运行拓扑与依赖影响总账:新增 `baseline-architecture-view-runtime-topology-dependency-ledger.yaml`,把架构视图、C4/部署视图、catalog 声明依赖、运行时观测依赖、GitOps 拓扑、数据/AI/第三方依赖、blast radius、变更影响和依赖漂移纳入可执行治理证据。 111. 基线质量属性、架构驱动与权衡决策总账:新增 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml`,把业务驱动、质量属性场景、可度量响应指标、架构驱动、敏感点、权衡点、ADR、适配度函数和验证证据纳入可执行治理证据。 112. 基线架构原则、约束、反模式与例外执行总账:新增 `baseline-architecture-principle-constraint-exception-ledger.yaml`,把原则 owner、适用范围、强制约束、禁止项、反模式、检测方式、门禁入口、违反处置、例外审批、风险接受、ADR 和复核周期纳入可执行治理证据。 113. AI 系统监管分类与影响评估总账:新增 `baseline-ai-system-regulatory-impact-ledger.yaml`,把 AI 系统用途、部署角色、适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度、后市场监测、供应商责任和合规缺口纳入可执行治理证据。 114. 基线版本策略、发布通道、兼容性与冻结控制总账:新增 `baseline-version-policy-release-control-ledger.yaml`,把版本号语义、发布通道、Conventional Commit 分类、签名 tag、兼容窗口、冻结规则、紧急补丁、撤销隔离、消费锁和迁移窗口纳入可执行治理证据。 --- ## 1. 背景与建设目标 随着企业业务线上化、服务生态化、数据资产化和 AI 应用普及,传统以项目交付、烟囱系统、集中审批和人工运维为主的 IT 建设模式,已经难以支撑快速变化的业务需求。 传统模式常见问题包括: 1. 业务系统重复建设,能力难复用。 2. 前台团队依赖集中平台或 IT 团队排期,交付周期长。 3. 数据分散在各业务系统中,口径不统一、质量不可控。 4. 平台能力依赖工单和人工配置,研发效率低。 5. 治理主要依赖架构委员会、审批流程和人工检查,难以规模化。 6. 系统运行责任不清晰,业务指标、技术指标和数据指标割裂。 因此,本架构的建设目标是建立一套面向现代企业的数字化平台体系: > 前台团队端到端负责业务结果,领域团队沉淀可复用业务能力和数据产品,平台团队提供自助式工程底座,治理团队将规则自动化为平台护栏,而不是依赖集中审批。 本架构不是建设一个中央共享服务池,而是建设一个由多个领域产品、数据产品、内部平台和联邦治理机制组成的企业级数字化能力网络。 --- ## 2. 架构总览 现代企业数字化平台由七个纵向层级和一个横向治理平面组成。 ```text 用户 / 客户 / 合作方 / 员工 / 运营人员 │ ▼ 一、前台体验层 Web / App / 小程序 / Open API / 运营后台 / Partner Portal │ ▼ 二、体验编排层 BFF / API Gateway / GraphQL / Workflow / Event Subscription │ ▼ 三、AI 原生能力层 AI 应用 / Agent Runtime / LLM Gateway / RAG / Vector Store / PromptOps / Evals │ ▼ 四、领域能力产品层 用户域 / 商品域 / 订单域 / 支付域 / 履约域 / 风控域 / 营销域 / 内容域 │ ▼ 五、数据产品网络层 Source-aligned Data Product / Aggregate Data Product / Consumer-aligned Data Product 指标层 / 语义层 / 特征层 / 向量索引 / 报表 / AI 数据服务 │ ▼ 六、自助式平台工程层 Developer Portal / Golden Path / CI/CD / IaC / GitOps / Kubernetes / 可观测性 / AI Platform │ ▼ 七、基础设施与云原生层 Cloud / Kubernetes / Network / Storage / Database / Queue / Cache / Search / GPU / Vector DB 横向贯穿: 联邦治理平面 身份权限 / API 标准 / 数据契约 / AI 治理 / 安全策略 / 供应链安全 / 合规审计 / 架构决策 SLO / 成本规则 / 质量门禁 / Policy as Code / 自动化检测 / SBOM / Provenance ``` 架构核心可以概括为: > 现代企业数字化平台 = 前台体验 + 体验编排 + AI 原生能力 + 领域能力产品 + 数据产品网络 + 自助式平台工程 + 云原生基础设施 + 联邦治理。 ## 2.1 推荐项目目录结构 落到工程仓库时,应把不同类型的“真相源”分开,避免把架构、契约、运行、治理和文档混成一个目录。 下面结构是企业级数字化平台的推荐参考形态,不是唯一强制目录。若团队采用 `services/*`、`apps/*`、独立 GitOps 仓库或多仓模式,也可以沿用同样职责边界。真正必须保持的是:服务源码、镜像制品、环境部署期望状态、实际运行状态、目录发现、平台能力和治理规则不能混成一个真相源。 ```text repo/ ├── apps/ # 前台体验真相源:Web、App、后台、门户、AI 体验入口 │ ├── web/ # Web 前台应用;只做体验交付,不沉淀领域核心规则 │ ├── mobile/ # 移动端应用;通过 BFF/API 消费领域能力 │ ├── admin/ # 运营后台;承载管理体验,不直接访问领域数据库 │ ├── partner-portal/ # 合作方门户;通过受控 API 和权限策略接入 │ ├── open-api-portal/ # 开放 API 门户;展示契约、文档、申请和审计入口 │ └── ai-experiences/ # AI 体验入口;具体 Agent/RAG/Prompt 资产放 ai/ │ ├── ai/ # AI 原生能力:Agent、RAG、LLMOps 和 AI 产品运行单元 │ ├── applications/ # 面向业务场景的 AI 应用 │ ├── agents/ # Agent 定义、角色、工具权限和运行策略 │ ├── workflows/ # Agent 工作流、人工确认点和补偿流程 │ ├── prompts/ # Prompt 模板、版本、评测样例和变更记录 │ ├── evals/ # 模型、Prompt、RAG 和 Agent 评估集 │ ├── rag/ # 摄取、切分、嵌入、索引和检索流水线 │ ├── tools/ # AI 可调用工具和 MCP/A2A 适配器 │ ├── model-gateway/ # 模型路由、限流、成本、审计和降级;不保存供应商密钥明文 │ ├── guardrails/ # 安全护栏、输出校验、PII 防泄露和策略 │ ├── observability/ # Token、延迟、质量、幻觉、工具调用和成本观测 │ ├── model-registry/ # 模型、Embedding、重排模型和批准状态 │ ├── fine-tuning/ # 微调数据授权、实验追踪、评估和发布证据 │ └── docs/ │ ├── domains/ # 领域能力产品真相源:领域模型、业务服务、API、事件和数据产品 │ ├── customer/ │ │ ├── domain.yaml # 领域边界、owner、SLO、上下游依赖 │ │ ├── apis/ # 领域 API 契约 │ │ ├── events/ # 领域事件契约 │ │ ├── services/ # 领域服务运行单元;默认推荐放领域内,非强制唯一位置 │ │ │ └── customer-profile-service/ │ │ │ ├── src/ # 服务源码;也可按技术栈拆成 cmd/src/internal 等 │ │ │ ├── Dockerfile # 镜像构建定义;镜像本体进入 registry,不进入 Git │ │ │ ├── service.yaml # 服务运行契约:owner、端口、依赖、资源诉求、SLO、镜像仓库 │ │ │ ├── README.md # 服务说明、运行方式、runbook 入口 │ │ │ └── tests/ # 服务内测试;跨域测试放仓库 tests/ │ │ ├── workflows/ # 领域流程和长事务编排 │ │ ├── data-products/ # 领域发布的数据产品 │ │ ├── policies/ # 领域权限、数据和访问策略 │ │ ├── scorecards/ # 领域成熟度和运行质量评分 │ │ └── docs/ │ ├── order/ │ ├── payment/ │ ├── fulfillment/ │ ├── risk/ │ └── marketing/ │ ├── platform/ # 内部开发平台真相源:标准能力、模板、自动化和开发者体验 │ ├── portal/ # Developer Portal;聚合服务、API、数据产品、AI 产品和 scorecard │ ├── golden-paths/ # 推荐路径;创建服务、数据产品、AI 产品和容器交付模板 │ ├── scaffolds/ # 脚手架;生成服务骨架、Dockerfile、service.yaml、catalog descriptor │ ├── orchestration/ # 平台编排;自助申请资源、环境、权限和发布流程 │ ├── ci-cd/ # 流水线模板;不保存某个服务的业务逻辑 │ ├── environments/ # 环境抽象和平台入口;具体 prod 期望状态放 infra/gitops/ │ ├── observability/ # 日志、指标、链路追踪和默认仪表盘模板 │ ├── security/ # 安全扫描、准入、密钥接入和策略模板 │ ├── data-platform/ # 数据平台自助能力:目录、血缘、质量、权限、计算 │ ├── ai-platform/ # AI 平台自助能力:LLM Gateway、RAG、Evals、Agent Runtime │ ├── supply-chain/ # SBOM、provenance、签名、验签和制品准入能力 │ ├── cost/ # FinOps、预算、成本归集和异常检测 │ ├── developer-tools/ # CLI、SDK、代码生成和本地开发工具 │ ├── scorecards/ # 平台、服务、数据产品和 AI 产品成熟度评分模板 │ └── docs/ # 平台用户文档和 onboarding 文档 │ ├── contracts/ # 跨团队机器可读契约真相源;进入 CI 校验 │ ├── apis/ # OpenAPI / GraphQL 等接口契约 │ ├── events/ # AsyncAPI、事件 topic、Schema 和兼容策略 │ ├── schemas/ # JSON Schema、Proto、Avro 等共享 Schema │ ├── datasets/ # 数据产品契约、质量规则、语义层和数据访问策略 │ ├── ai/ # AI 工具、Prompt、RAG、评估、微调和护栏契约 │ ├── resources/ # 云资源、Terraform module、Kubernetes CRD 等资源契约 │ └── policies/ # OPA/Rego、Cedar、IAM 等策略契约 │ ├── catalog/ # 发现目录真相源:系统、组件、资源、owner、生命周期和关系 │ ├── systems/ # 系统级聚合;用于表达一组组件共同支撑的业务系统 │ ├── components/ # 服务、任务、前端、库等组件条目;指向源码和 GitOps 路径 │ ├── resources/ # 数据库、队列、缓存、对象存储、向量库等资源条目 │ ├── apis/ # API 目录;指向 contracts/apis 或领域 apis │ ├── data-products/ # 数据产品目录;指向领域 data-products 和数据契约 │ ├── ai-products/ # AI 产品目录;指向 ai/applications 和治理证据 │ ├── models/ # 模型目录;基础模型、微调模型、Embedding 和重排模型 │ ├── agents/ # Agent 目录;角色、工具权限、风险等级和 owner │ ├── domains/ # 领域目录;领域 owner、上下游、能力地图 │ └── scorecards/ # 各资产成熟度、生产就绪、安全和可靠性评分 │ ├── governance/ # 联邦治理资产真相源:规则、决策、门禁、风险和复盘 │ ├── standards/ # API、事件、数据、工程、安全、可靠性、成本等标准 │ ├── decisions/ # ADR;记录重大架构决策、取舍和后续行动 │ ├── ownership/ # 团队、RACI、升级路径和服务 owner │ ├── slo/ # SLO 分级、错误预算和事件响应策略 │ ├── security/ # 威胁建模、数据分级、安全开发和隐私规则 │ ├── supply-chain/ # SLSA、SBOM、签名验签和制品准入规则 │ ├── ai-governance/ # AI 产品、模型风险、Prompt、微调和 Agent 工具治理 │ ├── data-governance/ # 数据产品评审、PII、保留期限和权限规则 │ ├── architecture-gates/ # 生产就绪、领域就绪、数据产品就绪和 AI 发布门禁 │ ├── migration/ # 迁移、兼容、弃用、退役和绞杀者模式治理 │ ├── evidence/ # 发布、审计、验证、演练和合规证据清单 │ ├── risk-register/ # 风险登记;必须有 owner、缓解措施和到期时间 │ ├── postmortems/ # 事故复盘;反哺标准、门禁、平台能力和 playbook │ └── playbooks/ # 运行手册;只放通用流程,不放某个服务的部署细节 │ └── ai-incident-playbook.md # AI 专属事件响应:幻觉、工具失控、RAG 污染、模型降级 │ ├── infra/ # 运行底座真相源:云资源、Kubernetes、GitOps、网络和灾备 │ ├── cloud/ # 云账号、区域、VPC、IAM、基础资源和 IaC │ ├── kubernetes/ # Kubernetes base manifest、集群策略和可复用运行对象 │ │ ├── base/ # 环境无关 base;Deployment、Service、HPA、PDB、NetworkPolicy │ │ │ └── services/ │ │ └── policies/ # 集群准入、Pod 安全、网络、镜像验签等策略 │ ├── gitops/ # 环境级期望状态;声明 dev/staging/prod 部署什么版本 │ │ └── environments/ │ │ ├── dev/ # 开发环境 overlay;低副本、宽松配额、实验性配置 │ │ ├── staging/ # 预发环境 overlay;接近生产,验证发布和数据迁移 │ │ └── prod/ # 生产环境 overlay;镜像 digest、replicas、资源、灰度策略 │ ├── networking/ # DNS、Ingress/Gateway、Service Mesh、网络策略 │ ├── databases/ # 数据库实例、备份、参数、迁移和访问入口 │ ├── vector-databases/ # 向量数据库和索引服务运行配置 │ ├── feature-stores/ # 在线/离线特征存储运行配置 │ ├── model-serving/ # 模型服务、GPU、推理网关和扩缩容配置 │ ├── messaging/ # Kafka、Pulsar、队列、topic 和消费组基础配置 │ ├── storage/ # 对象存储、文件存储、生命周期和加密配置 │ ├── secrets/ # Secret 引用和外部密钥系统绑定;不保存明文密钥 │ ├── disaster-recovery/ # 备份、恢复、跨区容灾和演练脚本 │ └── environments/ # 环境公共变量、命名空间、配额和环境级规则 │ ├── shared/ # 极薄共享层:无业务语义的库、SDK、测试夹具 ├── tools/ # 开发工具、代码生成、迁移工具 ├── scripts/ # 仓库控制面:本地开发、CI、生成、发布、迁移和质量门禁入口 │ ├── README.md # 脚本总索引:分类、入口、运行方式和风险边界 │ ├── AGENTS.md # Agent 操作边界:可自动跑、需确认和禁止执行的脚本 │ ├── manifest.yml # 脚本登记表:owner、类型、风险、输入、输出和 CI 状态 │ ├── checks/ # 只读质量门禁:lint、link、schema、security、policy │ ├── generate/ # 写仓库的生成/同步脚本:TOC、schema、代码生成、索引重建 │ ├── bootstrap/ # 环境准备、工具安装、版本探测和依赖缓存 │ ├── ci/ # CI 适配层;只做编排,不承载核心逻辑 │ ├── release/ # 发布、版本、打包和 changelog;高风险 │ ├── ops/ # 迁移、修复和一次性维护脚本;必须支持 dry-run 和审计 │ ├── dev/ # 本地开发便利脚本;不默认进入硬门禁 │ ├── lib/ # 共享库;导入无副作用 │ ├── fixtures/ # 脚本测试数据 │ ├── tests/ # 脚本自身测试 │ └── archive/ # 已下线脚本;保留原因、替代入口和删除日期 ├── tests/ # 跨域集成测试、契约测试和仓库门禁 ├── docs/ # 人类可读文档,不替代 contracts/catalog/governance └── .github/ or ci/ # CI 工作流入口 ``` 目录边界判断: | 目录 | 真相类型 | 不应承载 | | ---- | -------- | -------- | | `apps/` | 用户体验和渠道交付真相 | 领域核心规则、领域数据库访问 | | `ai/` | AI 应用、Agent、RAG、Prompt、评估和模型接入真相 | 领域核心规则、未经治理的直接数据访问 | | `domains/` | 业务能力、领域模型、领域服务和数据产品真相 | 平台通用工具、跨域集中审批 | | `platform/` | 内部开发者体验和自助工程能力真相 | 业务规则和领域模型 | | `contracts/` | API、事件、Schema、数据集、AI 工具和策略契约真相 | 普通说明文档 | | `catalog/` | 系统、组件、资源、AI 产品、owner 和生命周期真相 | 运行逻辑 | | `governance/` | 标准、决策、门禁、风险和复盘真相 | 业务代码 | | `infra/` | 云资源、运行环境、安全、网络和灾备真相 | 业务逻辑 | | `shared/` | 无业务语义的薄复用真相 | 领域模型和业务流程 | | `scripts/` | 仓库自动化入口、质量门禁和维护操作真相 | 业务规则、生产配置、长期平台产品逻辑 | 这套目录结构的核心不是“所有企业都必须照抄这些文件夹”,而是把不同生命周期、不同 owner、不同风险等级的资产分开。目录名可以变,职责边界不能变。 ### 2.1.1 目录设计的四个判断问题 新增任何目录或文件前,先回答四个问题: 1. 这个资产的 owner 是谁:业务流团队、领域团队、平台团队、SRE、安全、数据治理还是架构治理委员会。 2. 这个资产的变更频率是什么:随业务每天变、随发布变、随环境变、随治理周期变,还是只在架构决策时变。 3. 这个资产的消费方是谁:人类开发者、CI/CD、Developer Portal、Kubernetes、审计系统、数据平台还是 AI Runtime。 4. 这个资产是不是可执行真相源:能否被校验、生成、部署、路由、授权、审计或阻断发布。 如果一个文件同时被多个团队频繁修改、同时服务人类阅读和机器执行、同时表达业务规则和部署细节,通常说明它放错了位置,或者需要拆成契约、实现、部署、目录和治理五类资产。 ### 2.1.2 核心目录的深度职责 | 目录 | 主要 owner | 典型变更触发 | 机器消费方 | 深度说明 | | ---- | ---------- | ------------ | ---------- | -------- | | `apps/` | 体验团队 / 业务流团队 | 新渠道、新页面、新用户流程、A/B 实验 | CI、前端发布平台、观测系统 | 只承载体验交付和体验编排。它可以调用 BFF、API、工作流和 AI 体验入口,但不拥有领域事实,不直接读写领域数据库。 | | `ai/` | AI 产品团队 / AI 平台团队 | Prompt 发布、Agent 工具变更、RAG 索引更新、模型路由调整、评估门禁变化 | LLM Gateway、Agent Runtime、Evals、观测系统 | 管 AI 产品的运行资产。这里可以声明 Agent、Prompt、RAG、工具、评估、护栏和微调运行证据,但 AI 层不是新的业务真相源,不能绕过领域 API、数据产品和权限边界。 | | `domains/` | 领域团队 / Stream-aligned Team | 领域模型变化、业务服务发布、API/事件契约变化、数据产品发布 | CI、契约测试、catalog、数据平台 | 管领域能力产品。领域内可以放服务源码,但不是唯一合法形态;如果服务在独立仓或顶层 `services/`,必须通过 `service.yaml` 和 `catalog/components` 指回领域 owner、API、事件、数据产品和 GitOps 路径。 | | `platform/` | 平台团队 / Platform Team | Golden Path 迭代、脚手架升级、流水线模板升级、平台 API 变化 | Developer Portal、脚手架、CI/CD、准入系统 | 管“如何更容易、更安全地创建和交付”。平台不接管业务服务,也不直接成为每个服务的部署目录;它提供模板、能力、默认路径和自助入口。 | | `contracts/` | 契约 owner + 治理 owner | API、事件、数据、AI 工具、资源和策略契约变更 | CI、兼容性检查、代码生成、网关、策略引擎 | 管跨团队协作的机器契约。凡是会影响消费者、权限、兼容性、数据质量或发布准入的接口,都应能在这里或领域内等价位置找到机器可读契约。 | | `catalog/` | 平台团队 + 各资产 owner | 新服务、新 API、新数据产品、新 AI 产品、新资源登记 | Developer Portal、Scorecard、审计导出、依赖图 | 管“这是什么、谁负责、在哪里、依赖谁、成熟度如何”。catalog 是发现入口,不是源码仓、不是真实部署状态,也不是运行配置中心。 | | `governance/` | 架构治理 / 安全 / 数据治理 / 合规 | 标准变化、ADR、风险登记、例外审批、门禁升级、复盘反哺 | CI、审计系统、Policy as Code、评审流程 | 管规则、决策和证据。治理资产必须尽量机器可读:门禁、风险、例外、控制项、POA&M、ADR、证据账本都应能被自动校验或导出。 | | `infra/` | 平台工程 / SRE / 环境 owner | 环境变更、容量调整、镜像版本发布、集群策略、灾备演练 | GitOps、Kubernetes、云平台、观测系统 | 管运行底座和环境期望状态。它不拥有业务逻辑;它回答“跑在哪里、跑几个、用哪个 digest、什么资源、什么策略、什么发布方式”。 | | `shared/` | 平台团队或共享库 owner | 通用 SDK、测试夹具、无业务语义工具升级 | 编译、测试、代码生成 | 只能放薄复用能力。若共享代码开始表达订单、客户、支付、履约等业务概念,应回到对应领域,不应把 `shared/` 演化成隐形中台。 | | `scripts/` | 平台工程 / DevEx / SRE / 治理脚本 owner | 质量门禁新增、生成器升级、发布脚本调整、一次性维护任务 | Make、CI、本地开发环境、审计导出 | 管仓库自动化入口。脚本不是杂物间,而是把本地开发、CI、生成、发布、迁移和质量门禁变成可复现、可审计、可维护的控制面。 | ### 2.1.3 单仓、多仓和混合仓的落地方式 推荐目录结构可以映射到三种仓库拓扑: | 拓扑 | 适用场景 | 推荐做法 | 风险控制 | | ---- | -------- | -------- | -------- | | 单仓 Monorepo | 团队协作强、统一门禁成熟、需要跨域重构和统一发布证据 | 保留上述目录,所有资产在一个仓库内通过 CODEOWNERS、路径门禁和 CI 分层校验 | 必须避免所有团队都能随意改所有目录;按 `domains/`、`platform/`、`infra/`、`governance/` 切 owner 和审批规则 | | 多仓 Polyrepo | 服务高度自治、权限隔离强、团队发布节奏差异大 | 服务源码在各服务仓;中心仓保留 `contracts/`、`catalog/`、`governance/`、`platform/`、`infra/gitops/` 或用自动同步生成 | 必须用 catalog 记录 `sourceRoot`、`gitopsPath`、owner、API、事件、SLO、证据路径,避免服务失联 | | 混合仓 Hybrid | 企业最常见;平台、治理、GitOps 集中,领域服务部分集中、部分独立 | 领域核心契约、catalog、治理和 GitOps 集中;服务源码按团队成熟度放 `domains/*/services/*` 或独立服务仓 | 必须明确哪一份是契约真相源,避免中心仓和服务仓同时维护同一契约导致漂移 | 是否把源码放在 `domains/*/services/*`,取决于仓库拓扑,而不是架构原则本身。架构原则只要求每个服务都能被追溯到: ```text 领域 owner -> 服务源码 -> API / Event 契约 -> 镜像构建定义 -> 制品 digest -> GitOps 期望状态 -> 运行观测 -> 审计证据 ``` 如果服务源码不在 `domains/*/services/*`,至少要在以下位置声明反向索引: ```yaml service: customer-profile-service domain: customer owner: team-customer sourceRoot: https://git.example.com/customer/customer-profile-service catalogComponent: catalog/components/customer-profile-service.yaml gitopsPath: infra/gitops/environments/prod/customer/customer-profile-service apis: - contracts/apis/customer-profile.openapi.yaml events: publishes: - contracts/events/customer.profile.updated.asyncapi.yaml ``` ### 2.1.4 文件放置决策表 | 要放的东西 | 推荐位置 | 不推荐位置 | 原因 | | ---------- | -------- | ---------- | ---- | | 服务源码 | `domains/{domain}/services/{service}/` 或独立服务仓并在 catalog 声明 | `platform/`、`infra/` | 服务属于领域能力,不属于平台模板或环境配置 | | Dockerfile / Containerfile | 服务源码目录 | `infra/gitops/` | Dockerfile 描述如何构建运行单元,不描述某环境部署哪个版本 | | 生产镜像版本 | `infra/gitops/environments/prod/...` 使用 digest | `domains/*/services/*` | 生产运行期望状态由环境 owner 管,不应由源码目录暗含 | | OpenAPI / AsyncAPI | `contracts/` 或 `domains/*/apis`、`domains/*/events` | `docs/` | 契约要能被 CI、网关、代码生成和兼容性检查消费 | | 数据产品契约 | `domains/*/data-products/` 和 `contracts/datasets/` | BI 报表目录 | 数据产品是可治理资产,不只是报表输入 | | RAG 索引契约 | `contracts/ai/`、`ai/rag/` | 应用代码常量 | RAG 来源、权限、刷新和删除策略需要审计和回滚 | | Prompt 版本 | `ai/prompts/` 或 `contracts/ai/prompts/` | 工程代码硬编码 | Prompt 是可评估、可回滚、可审批资产 | | 微调运行证据 | `ai/fine-tuning/`、`governance/evidence/ai/` 或 starter kit 的 `fine-tuning-run.yaml` | 模型平台截图、聊天记录 | 微调必须证明数据授权、实验追踪、评估、登记、审批和回滚 | | Kubernetes Deployment | `infra/kubernetes/` 或 `infra/gitops/` | 服务源码目录作为唯一真相 | Deployment 是环境期望状态,和服务构建定义生命周期不同 | | 服务 owner 和依赖关系 | `catalog/components/` + `domains/*/domain.yaml` | README 手写说明 | owner、依赖和生命周期要能被 Developer Portal、审计和 scorecard 消费 | | 架构决策 | `governance/decisions/` | 即时聊天记录 | ADR 需要可追溯、可复审、能关联风险和控制项 | | 安全例外 | `governance/architecture-gates/` 或 `governance/evidence/` | CI 注释、临时豁免变量 | 例外必须有 owner、到期时间、补偿控制和自动阻断 | | 只读质量检查脚本 | `scripts/checks/` 或稳定的 `scripts/check-*.py` 入口 | CI workflow 内联长命令 | 检查逻辑要能本地复现,失败输出要有路径、行号或可定位原因 | | 生成、同步和写仓库脚本 | `scripts/generate/` 或稳定的 `scripts/sync-*.py` 入口 | 手工复制、临时 notebook、CI 内联脚本 | 写入脚本必须幂等,运行后能通过 diff、测试和审计输出验证 | ### 2.1.5 最小可执行落地包 如果企业不能一次性建立完整目录,最低也要先落下以下资产: ```text domains/{domain}/domain.yaml # 领域边界、owner、SLO 和上下游 domains/{domain}/services/{service}/ # 服务源码或 sourceRoot 指针 contracts/apis/ # 对外 API 契约 contracts/events/ # 跨域事件契约 contracts/ai/ # AI 工具、RAG、Prompt、微调和评估契约 catalog/components/ # 服务发现、owner、生命周期和 GitOps 路径 catalog/data-products/ # 数据产品发现和 owner catalog/ai-products/ # AI 产品发现、风险等级和证据路径 infra/gitops/environments/ # 环境期望状态 platform/golden-paths/ # 标准创建和交付路径 governance/standards/ # 标准 governance/decisions/ # ADR governance/architecture-gates/ # 发布门禁 governance/evidence/ # 审计和验证证据 scripts/checks/ # 本地和 CI 共用的只读质量门禁 scripts/lib/ # 多个脚本共享的无副作用辅助库 ``` 这个最小包能先回答企业落地最关键的问题: 1. 谁拥有这个能力。 2. 能力的源码在哪里。 3. 它对外承诺什么契约。 4. 它部署到哪里、用哪个版本。 5. 它是否满足发布门禁。 6. 它的风险、例外、决策和证据在哪里。 ### 2.1.6 字段级真相源矩阵 目录结构真正落地时,最容易出问题的不是目录名,而是同一个字段被多处维护。以下字段必须有明确主责位置: | 字段或信息 | 权威真相源 | 允许的派生位置 | 冲突时以谁为准 | | ---------- | ---------- | -------------- | -------------- | | 领域 owner、领域边界、领域 SLO | `domains/{domain}/domain.yaml` | `catalog/domains/`、治理评审报告 | `domain.yaml` | | 服务 owner、生命周期、runbook | `domains/*/services/*/service.yaml` 或服务仓同名契约 | `catalog/components/`、Developer Portal | `service.yaml` | | 服务源码位置 | 服务仓路径或 `domains/*/services/*` | `catalog/components/*.yaml` 的 `sourceRoot` | 实际 Git 源码仓 | | 镜像构建方式 | 服务目录 `Dockerfile` / `Containerfile` | 平台脚手架、CI 模板 | 服务目录构建定义 | | 镜像制品 digest | Container Registry / provenance | `infra/gitops/`、发布证据 | registry digest + provenance | | prod 部署版本、replicas、资源限制 | `infra/gitops/environments/prod/...` | catalog 运行摘要、观测面板 | GitOps 期望状态 | | API 契约 | `contracts/apis/` 或 `domains/*/apis/` | API portal、catalog/apis | 机器可读 OpenAPI / GraphQL 契约 | | 事件契约 | `contracts/events/` 或 `domains/*/events/` | 事件目录、消息平台 UI | 机器可读 AsyncAPI / Schema 契约 | | 数据产品口径、质量、访问策略 | `domains/*/data-products/` + `contracts/datasets/` | catalog/data-products、数据目录 | 数据产品契约 | | Prompt、RAG、工具和评估契约 | `ai/` + `contracts/ai/` | catalog/ai-products、AI 观测面板 | 版本化 AI 契约 | | 微调数据授权和运行证据 | `ai/fine-tuning/` 或 `governance/evidence/ai/` | starter kit、模型登记系统 | `fine-tuning-run` 证据 | | 发布门禁、例外和风险接受 | `governance/architecture-gates/`、`risk-register/`、`evidence/` | PR 评论、审计导出 | 治理证据 | 冲突处理原则: 1. 机器可读契约优先于自然语言说明。 2. 环境级 GitOps 配置优先于服务默认值。 3. catalog 负责发现和索引,不能覆盖源码、契约和部署真相。 4. governance 可以阻断发布、记录例外和要求补偿控制,但不应成为业务字段的日常编辑入口。 5. README 只能解释,不应成为唯一事实来源;凡是影响发布、权限、兼容性、审计和运行状态的字段,都应进入可校验文件。 ### 2.1.7 典型变更链路 目录结构要服务真实工作流。以下三条链路是企业落地时最需要固定的路径。 新建生产微服务: ```text 领域建模 -> domains/{domain}/domain.yaml 声明边界和 owner -> domains/{domain}/services/{service}/ 或独立服务仓创建源码 -> service.yaml 声明端口、依赖、SLO、资源诉求和镜像仓库 -> contracts/apis 与 contracts/events 声明外部协作契约 -> catalog/components 注册服务和 sourceRoot/gitopsPath -> CI 构建镜像、生成 SBOM、provenance、签名和漏洞扫描证据 -> infra/gitops/environments/{env}/... 声明部署版本和运行策略 -> governance/evidence 记录生产就绪、发布证据和例外 ``` 发布数据产品: ```text 领域确认数据语义 -> domains/{domain}/data-products/{data-product}.yaml 声明 owner、指标、SLO 和消费者 -> contracts/datasets/ 声明 Schema、质量规则、访问策略和保留期限 -> data-platform 接入血缘、质量检查、权限审批和数据目录 -> catalog/data-products 注册可发现入口 -> governance/data-governance 记录 PII、授权、例外和复审周期 ``` 发布 AI 产品或 Agent: ```text AI 产品定义 -> ai/applications 或 ai/agents 声明场景、风险等级、工具权限和人工确认点 -> ai/prompts、ai/rag、ai/tools、ai/evals 版本化 Prompt、检索、工具和评估 -> contracts/ai/ 固化工具、RAG、Prompt、评估、微调和护栏契约 -> model-gateway 配置模型路由、限流、成本预算和降级链路 -> governance/ai-governance 与 governance/evidence/ai 记录审批、证据账本和微调运行证据 -> catalog/ai-products 注册 owner、风险等级、运行入口、依赖和 scorecard ``` 这三条链路的共同点是:源码、契约、目录、部署、治理和证据必须串起来。只建目录、不建链路,目录会退化成静态分类;只建链路、不分真相源,系统会在规模扩大后失控。 ### 2.1.8 目录拆分和合并规则 目录是否需要独立出来,按以下规则判断: 1. owner 不同就倾向拆分:领域团队、平台团队、SRE、安全、数据治理和 AI 治理不应频繁编辑同一类文件。 2. 生命周期不同就倾向拆分:源码随业务发布变,GitOps 随环境变,治理标准随审查周期变,审计证据随发布和复审变。 3. 机器消费方不同就倾向拆分:Kubernetes、CI、Developer Portal、策略引擎、审计导出和人类文档不应依赖同一份非结构化文本。 4. 风险等级不同就倾向拆分:生产部署、权限策略、模型工具调用、PII 数据、密钥和供应链证据必须有更严格 owner 和门禁。 5. 没有稳定 owner、没有机器消费方、没有门禁价值的目录不要新增;先放入既有目录,等变更频率和职责边界稳定后再拆。 6. 一个目录如果开始同时承载业务规则、平台模板、环境部署和治理审批,应立即拆成 `domains/`、`platform/`、`infra/` 和 `governance/`。 7. 一个共享目录如果出现领域名词,应回到领域;共享层只能放无业务语义的 SDK、工具、测试夹具和生成代码。 ### 2.1.9 常见错误 1. 把 `platform/` 做成新的大中台,把业务规则、服务部署和审批流程全部塞进去。 2. 把 `shared/` 做成跨域业务模型垃圾桶,让多个领域通过共享对象强耦合。 3. 把 `catalog/` 当部署系统,在目录条目里维护 replicas、资源限制和灰度策略。 4. 把 `docs/` 当契约真相源,只写自然语言说明,没有 OpenAPI、AsyncAPI、JSON Schema 或策略文件。 5. 把 `infra/` 当业务仓,在 Helm values 或 Kustomize patch 里隐藏业务开关和业务规则。 6. 把 AI Prompt、RAG 来源、工具权限和微调审批写在应用代码里,导致无法评估、回滚和审计。 7. 只有服务仓,没有中心 catalog、契约和治理索引,导致企业无法回答“谁依赖谁、谁负责、风险在哪”。 8. 把 `scripts/` 当临时杂物间,CI、本地开发、生成、发布和一次性维护脚本混在一起,导致无人敢删、无人敢改、失败不可复现。 ### 2.1.10 目录级 owner、审批和门禁 目录结构只有和 owner、审批规则、自动门禁绑定,才会从“文件夹分类”变成“工程治理系统”。推荐按目录设置 CODEOWNERS、必需检查和变更证据: | 路径 | 推荐 owner | 最低审批 | 必需门禁 | 变更证据 | | ---- | ---------- | -------- | -------- | -------- | | `apps/**` | 体验团队 / 业务流团队 | 应用 owner 1 人 | 单元测试、构建、前端质量、可访问性、契约消费检查 | 发布记录、回滚计划、体验指标 | | `ai/**` | AI 产品 owner + AI 平台 owner | AI owner 1 人;高风险工具另需治理审批 | Prompt/RAG/Evals、工具权限、成本预算、护栏、AI 事件响应检查 | AI 证据账本、评估报告、模型/Prompt 版本记录 | | `domains/{domain}/**` | 对应领域团队 | 领域 owner 1 人;跨域契约需消费者确认 | 领域测试、契约兼容、SLO、数据产品质量、scorecard | domain 变更记录、契约变更记录 | | `platform/**` | 平台团队 | 平台 owner 1 人;破坏性 Golden Path 变更需架构复审 | 脚手架测试、模板回归、平台 API 兼容、开发者体验指标 | 平台发布说明、迁移指南 | | `contracts/**` | 契约 owner + 消费者代表 | producer 和至少一个 consumer | OpenAPI/AsyncAPI/Schema 兼容、策略测试、breaking change 检查 | 契约版本、兼容性报告 | | `catalog/**` | 平台团队 + 资产 owner | 资产 owner 1 人 | catalog schema、owner 存在性、sourceRoot/gitopsPath 可达性 | 目录同步报告、scorecard | | `governance/**` | 架构治理 / 安全 / 数据治理 | 治理 owner 1 人;控制项变更需双人审批 | 控制项覆盖、证据新鲜度、风险/POA&M/ADR 链接完整性 | ADR、风险登记、审计导出 | | `infra/**` | SRE / 平台工程 / 环境 owner | 环境 owner 1 人;生产变更需 SRE 审批 | GitOps diff、策略准入、镜像验签、资源限制、灾备影响检查 | 变更单、GitOps 同步记录、回滚证据 | | `shared/**` | 共享库 owner | owner 1 人;破坏性变更需所有消费者确认 | API 兼容、依赖影响、反向依赖测试 | 版本说明、消费者迁移记录 | | `scripts/**` | 平台工程 / DevEx / SRE / 治理脚本 owner | 脚本 owner 1 人;release/ops 高风险脚本需双人审批 | 脚本测试、dry-run、失败输出定位、工具版本锁定、ShellCheck/静态检查 | 脚本登记表、运行日志、生成物 diff、回滚或删除记录 | 最重要的规则是:目录 owner 不是“通知人”,而是对资产正确性、演进节奏和事故后果负责的人。审批不能只看 Markdown 是否写得好,而要验证契约、门禁、证据和运行路径是否闭合。 目录级门禁建议分三层: 1. 路径门禁:用 CODEOWNERS、受保护分支、禁止直推和必需检查保护关键目录。 2. 语义门禁:用 schema、契约兼容、策略测试、scorecard 和风险规则判断内容是否合理。 3. 证据门禁:要求每次关键变更绑定 ADR、发布证据、审计证据、风险接受或 POA&M 整改记录。 ### 2.1.11 目录和企业工具链的映射 企业落地时,不应要求人手工维护所有索引。目录结构应被成熟工具链消费、校验和回写摘要: | 工具链能力 | 读取的目录 | 写入或生成的资产 | 关键门禁 | | ---------- | ---------- | ---------------- | -------- | | Developer Portal | `catalog/`、`domains/`、`contracts/`、`governance/scorecards` | 服务地图、API 门户、数据产品目录、AI 产品目录、scorecard | owner、生命周期、依赖、runbook 必填 | | CI/CD | `apps/`、`domains/`、`ai/`、`contracts/`、`shared/` | 构建产物、测试报告、SBOM、provenance、发布证据 | 测试、契约兼容、漏洞、签名、质量阈值 | | Container Registry | 服务目录构建定义、CI provenance | 镜像 tag、digest、签名、漏洞报告 | 禁止使用未签名镜像进入生产 GitOps | | GitOps / CD | `infra/gitops/`、`infra/kubernetes/` | 环境同步状态、漂移报告、发布历史 | production 使用 digest、策略准入、回滚路径 | | API Gateway | `contracts/apis/`、`catalog/apis/` | 路由、鉴权、限流、审计日志 | OpenAPI 合法、权限策略存在、breaking change 受控 | | Event Platform | `contracts/events/`、`catalog/` | topic、schema registry、消费者拓扑 | 事件兼容、owner、保留期限、PII 标记 | | Data Platform | `domains/*/data-products/`、`contracts/datasets/` | 数据目录、血缘、质量报告、访问审批 | 质量 SLO、PII、保留期限、授权边界 | | AI Platform | `ai/`、`contracts/ai/`、`catalog/ai-products/` | Prompt 版本、RAG 索引、评估结果、模型路由 | Evals、Guardrails、预算、人工确认点 | | Observability | `catalog/`、`service.yaml`、`domain.yaml`、`infra/` | SLO、仪表盘、告警、错误预算 | owner、SLO、日志/指标/链路追踪接入 | | GRC / Audit | `governance/`、控制目录、`evidence/`、starter kit | 控制评估、审计导出、POA&M、风险视图 | 证据新鲜度、控制覆盖、签署状态 | | Repository Automation | `scripts/`、`Makefile`、`.github/` 或 `ci/` | 校验报告、生成物 diff、审计导出摘要、发布或迁移执行记录 | 脚本登记、入口稳定、工具版本锁定、dry-run、失败可定位 | 这张映射的意义是把目录从“人看的结构”升级为“工具能执行的接口”。如果某个目录没有稳定 owner、没有工具消费、 没有门禁和证据输出,就不应被列为企业级标准目录。 ### 2.1.12 从现有项目迁移到目标结构 迁移不要从重命名目录开始,而要先找真相源、定 owner、补契约,再逐步移动文件。推荐路径如下: | 阶段 | 目标 | 动作 | 禁止误区 | | ---- | ---- | ---- | -------- | | L0 盘点 | 看清现状 | 列出服务、API、事件、数据库、数据产品、AI 资产、部署路径、owner 和证据位置 | 直接批量移动目录,导致 CI、部署和文档同时失效 | | L1 索引 | 先能发现 | 建 `catalog/`,为每个服务、数据产品、AI 产品和资源建立 owner、sourceRoot、gitopsPath | 把 catalog 当新的手工台账,不接 CI 和 portal | | L2 契约 | 先稳边界 | 把 OpenAPI、AsyncAPI、数据产品、AI 工具和策略契约迁入 `contracts/` 或领域内等价位置 | 只迁 README,不迁机器可读契约 | | L3 部署 | 分离运行状态 | 把环境级部署期望状态收敛到 `infra/gitops/`,生产使用镜像 digest 和策略准入 | 让服务源码目录同时决定 prod 版本和资源配额 | | L4 治理 | 补齐控制 | 增加 `governance/`、ADR、门禁、风险、POA&M、证据和目录级 owner | 只增加审批流程,不增加自动校验和证据 | | L5 平台化 | 降低认知负载 | 用 `platform/golden-paths`、脚手架、portal 和 scorecard 把标准路径产品化 | 让每个团队手写一套不同模板和检查脚本 | 迁移期间可以长期保持混合形态:新服务走目标结构,旧服务通过 catalog 指针接入。真正要避免的是同一事实在旧目录和新目录 双写。任何双写字段都必须有主真相源、派生方向和漂移检查。 ### 2.1.13 目录结构验收清单 一套目录结构是否合格,不看目录名是否“先进”,看它能否稳定回答以下问题: 1. 每个服务是否能找到领域 owner、源码位置、契约、GitOps 路径、SLO、runbook 和最近一次发布证据。 2. 每个 API 和事件是否有机器可读契约、兼容规则、消费者影响面和 breaking change 流程。 3. 每个数据产品是否有 owner、语义口径、质量规则、访问策略、PII 标记、血缘和复审周期。 4. 每个 AI 产品是否有 Prompt/RAG/工具/模型/评估/护栏/预算/人工确认点/事件响应证据。 5. 每个生产部署是否由 GitOps 管理,并明确镜像 digest、资源限制、HPA、策略准入和回滚路径。 6. 每个共享库是否能证明没有承载领域业务语义,并有反向依赖测试和破坏性变更流程。 7. 每个治理控制项是否能映射到 schema、示例、checker、证据路径和审计导出结果。 8. 每个目录是否有 CODEOWNERS、必需检查、变更证据和定期 owner 复核。 9. 每个关键字段是否只有一个权威真相源,catalog 和文档是否只是派生视图或说明。 10. 每个仓库脚本是否能找到 owner、风险等级、入口命令、输入输出、失败契约、dry-run 或删除路径。 11. 新人能否通过 Developer Portal 或 catalog 在 10 分钟内找到某个能力的 owner、契约、运行状态和风险。 如果以上问题无法回答,说明目录只是“看起来现代”,还没有形成可运营、可审计、可演进的企业架构骨架。 ### 2.1.14 服务源码组织的合法形态 `domains/{domain}/services/{service}/` 是推荐默认值,不是唯一正确答案。它的优点是领域边界、服务源码、API、 事件、数据产品和 owner 放在同一上下文里,新人容易理解“这个服务为什么存在”。但企业真实落地时,源码位置往往受 团队历史、权限隔离、构建系统、语言生态和发布节奏影响。判断一个服务放得对不对,不看目录名字,而看服务能否稳定 接入领域、契约、catalog、GitOps、治理和审计链路。 常见形态如下: | 形态 | 示例路径 | 适用场景 | 必须补齐的索引 | | ---- | -------- | -------- | -------------- | | 领域内服务 | `domains/customer/services/customer-profile-service/` | 单仓或领域仓;领域团队对模型、服务和契约端到端负责 | `service.yaml`、`domain.yaml`、catalog component、GitOps 路径 | | 顶层服务目录 | `services/customer-profile-service/` 或 `services/customer/customer-profile-service/` | 历史仓库已有 `services/` 约定;平台工具默认扫描顶层服务 | `service.yaml.domain`、`service.yaml.owner`、catalog component、领域映射 | | 语言工作区 | `packages/customer-profile-service/`、`apps/customer-api/` | Node、Go、Java、.NET 等 monorepo workspace 已有生态约定 | workspace package metadata、`service.yaml`、catalog sourceRoot | | 独立服务仓 | `git@example.com/customer/customer-profile-service.git` | 多仓自治、权限隔离强、服务发布节奏差异大 | 中心 catalog 的 `sourceRoot`、契约路径、GitOps 路径、证据路径 | | 遗留系统适配仓 | `legacy-adapters/customer-mainframe-adapter/` | 旧系统绞杀迁移、主机/ERP/SaaS 集成、反腐层建设 | 领域归属、接口契约、迁移状态、弃用计划、风险登记 | 无论源码放在哪里,都必须满足以下不变量: ```yaml service: customer-profile-service domain: customer owner: team-customer sourceRoot: domains/customer/services/customer-profile-service runtimeUnit: container buildDefinition: Dockerfile catalogComponent: catalog/components/customer-profile-service.yaml gitopsPath: infra/gitops/environments/prod/customer/customer-profile-service apiContracts: - contracts/apis/customer-profile.openapi.yaml eventContracts: publishes: - contracts/events/customer.profile.updated.asyncapi.yaml sloRef: governance/slo/tier-2.yaml runbook: governance/playbooks/customer-profile-service.md ``` 目录名只是线索,不是治理事实。最终权威必须落在机器可读契约里:`service.yaml` 说明服务是谁、怎么构建、依赖什么; `domain.yaml` 说明领域边界和 owner;`catalog/components` 提供发现入口;`infra/gitops` 说明生产跑哪个版本;治理证据说明 能否发布、谁批准、风险是否接受。 ### 2.1.15 单个服务目录的最小内部结构 一个服务目录不应只是源码文件夹,而应是“可构建、可测试、可观测、可审计”的运行单元源头。推荐最小结构如下: ```text customer-profile-service/ ├── README.md # 给人看的服务说明、启动方式、依赖和排障入口 ├── service.yaml # 给机器看的服务契约:owner、domain、端口、依赖、SLO、镜像仓库 ├── Dockerfile # 镜像构建定义;生产使用 digest,不把镜像本体提交进 Git ├── src/ # 服务源码;具体结构服从语言生态和框架最佳实践 ├── tests/ # 单元测试、组件测试和契约消费测试 ├── apis/ # 服务拥有的本地 API 契约;可同步或引用到 contracts/apis/ ├── events/ # 服务发布/订阅的本地事件契约;可同步或引用到 contracts/events/ ├── migrations/ # 该服务独占数据库的 schema 迁移;跨域共享库禁止放这里 ├── config/ # 非敏感默认配置和本地开发配置;不保存生产密钥 ├── runbooks/ # 服务级操作手册;企业级通用 playbook 仍放 governance/ └── docs/ # 设计说明、领域补充和局部 ADR 链接 ``` 服务目录内允许放“构建和运行这个服务所需的默认事实”,不允许放“某个环境的最终部署事实”。例如端口、健康检查路径、 依赖声明、最低资源诉求、镜像仓库名称可以放在 `service.yaml`;生产副本数、生产镜像 digest、生产命名空间、生产 ServiceAccount、生产 HPA 阈值应放在 `infra/gitops/environments/prod/...`。 | 内容 | 放服务目录 | 放 GitOps / Infra | 原因 | | ---- | ---------- | ----------------- | ---- | | 服务源码、测试、Dockerfile | 是 | 否 | 它们描述如何构建服务 | | 默认端口、健康检查、依赖声明 | 是 | 可派生 | 它们属于服务运行契约 | | 生产镜像 digest | 否 | 是 | 它属于环境期望状态和发布证据 | | 生产 replicas、HPA、PDB | 否 | 是 | 它们随环境和容量策略变化 | | 明文 Secret | 否 | 否 | 只能保存 Secret 引用和外部密钥绑定 | | 跨域数据库访问脚本 | 否 | 否 | 违反领域边界,应改为 API、事件或数据产品协作 | 如果一个服务目录开始承载多个领域的业务规则,说明服务边界过大;如果一个服务目录开始维护生产环境策略,说明源码和 运行期望状态混在了一起;如果一个服务目录没有 `service.yaml` 或等价契约,说明它还不能被平台和审计系统稳定识别。 ### 2.1.16 GitOps 目录的最小内部结构 GitOps 目录回答的是“某个环境期望运行什么”,不是“服务代码是什么”。推荐把环境无关 base、环境 overlay 和环境级 发布状态分开: ```text infra/ ├── kubernetes/ │ ├── base/ │ │ └── services/ │ │ └── customer-profile-service/ │ │ ├── deployment.yaml # 环境无关工作负载骨架 │ │ ├── service.yaml # Kubernetes Service,不等同于业务 service.yaml │ │ ├── hpa.yaml # 默认自动扩缩容策略 │ │ ├── pdb.yaml # 可用性保护 │ │ ├── network-policy.yaml # 默认网络边界 │ │ └── kustomization.yaml │ └── policies/ │ ├── image-verification/ # 镜像签名、SBOM、provenance 准入 │ ├── pod-security/ # Pod 安全基线 │ └── network/ # 集群网络策略 └── gitops/ └── environments/ ├── dev/customer/customer-profile-service/ │ └── kustomization.yaml # 开发环境 overlay,可使用短生命周期 tag ├── staging/customer/customer-profile-service/ │ └── kustomization.yaml # 预发环境 overlay,接近生产 └── prod/customer/customer-profile-service/ ├── kustomization.yaml # 生产 overlay,必须引用不可变 digest ├── rollout.yaml # 金丝雀、蓝绿或渐进式发布策略 └── release-evidence.yaml # 发布证据索引或指针 ``` GitOps 目录的关键规则: 1. `base/` 只放环境无关模板,不写生产专属镜像版本、命名空间和容量。 2. `dev/` 可以更灵活,但仍不应绕过镜像扫描和基础策略。 3. `staging/` 应尽量接近生产,用来验证迁移、发布策略、回滚和观测。 4. `prod/` 必须使用不可变镜像 digest,禁止只用可变 tag 作为生产准入依据。 5. GitOps 记录期望状态,实际运行状态由 Kubernetes、Argo CD、Flux 和观测系统提供。 6. 环境 owner 对 replicas、资源配额、节点选择、灰度策略和回滚窗口负责,服务 owner 对镜像和服务行为负责。 这层拆清楚后,服务团队可以高频提交源码,平台或 SRE 可以稳定治理环境,审计人员可以追溯“哪个 commit 构建了哪个 镜像、哪个 digest 被部署到哪个环境、哪次 GitOps 同步把它推到生产”。 ### 2.1.17 Catalog、service.yaml 和 domain.yaml 的去重规则 catalog 的价值是发现和索引,不是制造新的手工台账。最稳的做法是让 `domain.yaml`、`service.yaml`、GitOps 和契约文件 成为字段真相源,catalog 通过同步、生成或校验来汇总。如果必须人工维护 catalog,也必须记录 sourceRef 和 lastSynced, 并由 CI 检查 catalog 与源契约是否漂移。 | 字段 | 主真相源 | catalog 中的角色 | 漂移处理 | | ---- | -------- | ---------------- | -------- | | 领域边界、领域 owner | `domains/{domain}/domain.yaml` | 展示领域地图和团队入口 | catalog 不得覆盖;冲突时阻断合并 | | 服务 owner、生命周期、运行等级 | `service.yaml` | 展示服务卡片和 scorecard | catalog 只能派生或引用 | | 源码位置 | 实际 Git 路径 / `sourceRoot` | 提供跳转入口 | 路径不可达时阻断 catalog 检查 | | API / Event 契约 | `contracts/` 或领域内契约 | 提供 API 门户和消费者索引 | 契约缺失或版本不兼容时阻断发布 | | GitOps 路径 | `infra/gitops/` | 提供环境入口和发布状态摘要 | catalog 不维护 replicas 和 digest | | SLO、runbook、on-call | `service.yaml` + `governance/slo/` | 聚合到服务详情页 | 缺 owner、缺 runbook 或缺 SLO 时降 scorecard | | 生产运行状态 | Kubernetes / Argo CD / Observability | 展示只读摘要 | 运行状态不回写为 catalog 真相 | 推荐的同步方向如下: ```text domain.yaml + service.yaml + contracts/* + infra/gitops/* -> catalog/components/* -> Developer Portal / Scorecard / 审计导出 ``` 反方向更新只能用于辅助生成 PR,不能让 portal 表单直接无审查地改写领域契约、生产 GitOps 或治理证据。这样可以避免 “看起来所有系统都有信息,实际上每个系统都维护一份不同事实”的失控状态。 ### 2.1.18 目录级说明文件和 AI 协作边界 企业仓库越来越多由人类、CI、平台机器人和 AI agent 共同维护。目录结构不仅要让人能看懂,也要让自动化工具知道哪里 能改、哪里不能改、改完要跑什么检查。推荐每个一级目录至少有 `README.md`,需要 AI 或自动化协作的关键目录再补 `AGENTS.md` 或等价维护说明。 | 文件 | 读者 | 应说明的内容 | 不应承担的职责 | | ---- | ---- | ------------ | -------------- | | `README.md` | 人类开发者、架构师、审计人员 | 目录用途、入口、常见流程、运行方式、参考链接 | 不作为机器契约唯一来源 | | `AGENTS.md` | AI agent、自动化脚本维护者 | 可改范围、禁止事项、验证命令、目录边界、常见坑 | 不保存业务事实和生产状态 | | `*.schema.json` | CI、生成器、审计导出 | 字段结构、类型、必填项和扩展边界 | 不解释业务背景 | | `*.example.yaml` | 团队落地样例、测试夹具 | 最小可执行字段、跨文件一致性示例 | 不替代真实项目配置 | 目录级说明文件要短、准、可执行。它应该告诉后来者“这个目录为什么存在、谁负责、文件怎么放、改完跑什么门禁”,而不是 复制主架构文档。主文档说明原则,目录说明文件约束局部行为,schema 和 checker 负责机器验证。 ### 2.1.19 不同规模企业的落地深度 目录结构可以分阶段落地,不能为了“看起来完整”一次性铺满所有目录。不同规模的组织应采用不同深度: | 阶段 | 适用组织 | 必须具备 | 可以暂缓 | | ---- | -------- | -------- | -------- | | S0 起步 | 少量团队、少量服务 | `domains/`、`contracts/apis/`、`catalog/components/`、`infra/gitops/`、`governance/decisions/` | 完整平台门户、完整审计导出、全量 scorecard | | S1 产品化 | 多领域、多服务、开始平台化 | `platform/golden-paths`、`service.yaml`、API/Event 契约、GitOps 环境分层、CODEOWNERS | 复杂 FinOps、全量 OSCAL、自动化证据新鲜度 | | S2 规模化 | 多业务线、多团队、多环境 | Developer Portal、数据产品目录、AI 产品目录、供应链证据、风险/POA&M、scorecard | 少数低风险遗留系统可通过 catalog 指针接入 | | S3 受监管 | 金融、医疗、政企、关键基础设施 | 审计导出、控制评估、签名验签、访问复核、证据新鲜度、事故复盘、合规映射 | 手工例外必须有到期和补偿控制 | 阶段越早,越要避免目录过度复杂;阶段越成熟,越要避免事实散落在聊天记录、平台 UI、人工表格和个人经验里。成熟度提升的 标志不是目录变多,而是更多关键事实可以被机器校验、被 portal 发现、被审计导出、被运行系统证明。 ### 2.1.20 目录变更评审清单 新增、移动或删除目录时,必须先回答以下问题,再进入执行: 1. 这个目录是否有明确 owner;如果没有 owner,不应新增。 2. 这个目录是否承载新的真相源;如果只是分类更好看,不应新增。 3. 这个目录的机器消费方是谁;如果没有 CI、portal、GitOps、策略引擎或审计消费方,应先放入现有目录。 4. 这个目录是否会和已有目录维护同一字段;如果会,必须定义主真相源和派生方向。 5. 这个目录是否需要 CODEOWNERS、分支保护、必需检查或发布证据;如果需要,必须同步补门禁。 6. 这个目录是否影响现有服务、契约、GitOps 或审计导出;如果影响,必须补迁移计划和回滚路径。 7. 这个目录是否降低团队认知负载;如果只是增加文件层级和审批步骤,应回到平台产品化设计。 目录变更的验收不应只看“文件移动完成”。真正完成的标准是:旧路径有迁移说明,新路径有 owner 和说明文件,相关契约、 catalog、GitOps、治理证据和自动化检查都能找到新位置,并且没有同一事实在新旧路径双写。 ### 2.1.21 目录结构的三类事实 企业级目录结构不是简单的文件分类,而是在仓库中表达三类事实:权威事实、派生事实和观察事实。把这三类事实混在一起, 是目录越做越乱的根因。 | 事实类型 | 定义 | 典型位置 | 变更方式 | 校验方式 | | -------- | ---- | -------- | -------- | -------- | | 权威事实 | 某个字段或行为的唯一真相源 | `domains/`、`contracts/`、`infra/gitops/`、`governance/` | 通过 PR、owner 审批和门禁修改 | schema、contract test、policy check、CODEOWNERS | | 派生事实 | 从权威事实生成或同步出来的索引、视图、门户卡片 | `catalog/`、Developer Portal、审计导出包 | 自动生成或受控同步 | 漂移检测、sourceRef、lastSynced | | 观察事实 | 运行系统在某一时刻观测到的实际状态 | Kubernetes、Argo CD、Flux、Observability、SIEM | 由运行系统产生,不手写入 Git | SLO、告警、运行探针、审计日志 | 因此,`catalog/components/customer-profile-service.yaml` 可以展示生产环境当前状态摘要,但不能成为生产副本数、镜像 digest 或资源配额的权威来源;`docs/` 可以解释领域设计,但不能替代 `domain.yaml`、OpenAPI、AsyncAPI 或数据产品契约;平台 门户可以提供修改入口,但最终仍应生成 PR,由对应权威目录完成审查、合并、部署和审计。 判断某个字段应该放在哪里时,优先使用以下规则: 1. 会直接改变业务行为的字段,放领域或 AI 产品的权威契约中。 2. 会直接改变生产运行状态的字段,放 `infra/gitops/` 或环境 IaC 中。 3. 会改变跨团队兼容性的字段,放 `contracts/` 或领域内等价契约中。 4. 会改变准入、风险、合规或例外处理的字段,放 `governance/` 中。 5. 只用于发现、导航、搜索和聚合展示的字段,放 `catalog/`,并指向权威来源。 6. 只用于解释背景、设计原因和操作说明的内容,放 `docs/` 或局部 `README.md`。 ### 2.1.22 目录与自动化链路 成熟的目录结构必须能被工具链消费。否则它只是“看起来整齐”的文档目录,无法形成平台能力。 ```text service.yaml / domain.yaml / contracts/* -> CI 契约校验 -> catalog 同步 -> Developer Portal 展示 -> scorecard 评分 -> release gate 准入 -> audit export 证据导出 Dockerfile / SBOM / provenance / signature -> CI 构建 -> registry 入库 -> 镜像签名和验签 -> GitOps 引用 digest -> Kubernetes 准入控制 infra/gitops/environments/* -> Argo CD / Flux 同步 -> runtime 状态观测 -> SLO 和告警 -> 事故响应和回滚证据 governance/* / 控制目录 / evidence/* -> policy check -> risk register / POA&M -> audit package -> 管理层例外和复核 ``` 每个一级目录都应至少接入一种自动化消费方: | 目录 | 最低自动化消费方 | 未接入时的风险 | | ---- | ---------------- | -------------- | | `apps/` | CI、发布系统、前端监控 | 体验变更无法和 API、SLO、回滚证据关联 | | `ai/` | Evals、LLM Gateway、AI observability | Prompt、Agent 和工具权限变成手工配置,无法审计 | | `domains/` | 契约测试、服务构建、catalog 同步 | 领域边界停留在文档,服务和 owner 容易漂移 | | `platform/` | 脚手架、portal、scorecard | 平台只是一组散装脚本,不能降低认知负载 | | `contracts/` | 兼容性检查、代码生成、网关、策略引擎 | 跨团队协作依赖口头约定,breaking change 难以及时发现 | | `catalog/` | Developer Portal、依赖图、审计导出 | 服务、资源和 owner 无法被统一发现 | | `governance/` | 门禁脚本、审计导出、风险工作流 | 标准和例外无法闭环,审计只能补材料 | | `infra/` | GitOps、Kubernetes、云平台、准入控制 | 生产状态依赖人工操作,回滚和追责困难 | | `scripts/` | Make、CI、pre-commit、审计重放、agent 工具调用 | 自动化散落在本地命令和 workflow 中,失败不可复现 | 目录一旦进入企业级标准,就必须定义“谁消费它”。没有消费方的目录应先作为局部文档或实验目录,不应升级为一级标准目录。 #### 2.1.22.1 `scripts/` 的仓库控制面治理 成熟企业级项目中的 `scripts/` 不是“临时脚本杂物间”,而是仓库控制面。它负责把本地开发、CI、生成、发布、迁移和质量门禁这些操作变成稳定入口,使同一动作可以在开发机、CI runner、审计重放环境和自动化 agent 中得到一致结果。 `scripts/` 的治理目标: 1. 入口稳定:CI、Makefile、开发者和 agent 调用同一组脚本入口,不在 workflow 中复制长命令。 2. 逻辑集中:入口脚本保持薄,公共解析、路径发现、格式化、错误输出和校验逻辑进入 `scripts/lib/`。 3. 风险分层:只读检查、写仓库生成、依赖安装、发布变更和一次性运维必须分开治理。 4. 可复现:脚本必须声明工作目录、输入、输出、依赖工具版本、环境变量和退出码语义。 5. 可审计:高风险脚本必须支持 `--dry-run`、输出执行计划、保留日志摘要,并能说明回滚或替代入口。 6. 可删除:废弃脚本进入 `scripts/archive/` 或直接删除;保留时必须说明替代入口、保留期限和删除条件。 推荐分类如下: | 分类 | 推荐位置 | 风险等级 | 治理要求 | | ---- | -------- | -------- | -------- | | 只读检查 | `scripts/checks/` 或 `scripts/check-*.py` | 低 | 不写仓库、不访问生产、失败输出必须可定位 | | 生成同步 | `scripts/generate/` 或 `scripts/sync-*.py` | 中 | 幂等、可 diff、运行后接质量门禁 | | 环境引导 | `scripts/bootstrap/` | 中 | 锁工具版本、声明缓存位置、不隐式提权 | | CI 适配 | `scripts/ci/` | 中 | 只做 CI 环境胶水,不承载核心校验逻辑 | | 发布脚本 | `scripts/release/` | 高 | 双人审批、dry-run、tag/版本/制品摘要校验和回滚说明 | | 运维维护 | `scripts/ops/` | 高 | 明确目标环境、保护生产、审计日志和人工确认点 | | 本地便利 | `scripts/dev/` | 低 | 不作为硬门禁,不影响生产发布语义 | | 共享库 | `scripts/lib/` | 中 | 导入无副作用,公共函数小而稳定,有脚本测试覆盖 | | 脚本测试 | `scripts/tests/`、`scripts/fixtures/` | 低 | 覆盖成功路径、失败路径、边界输入和 fixture 兼容 | `manifest.yml` 是脚本目录的最小治理账本。它不替代 README,而是让 CI、审计和 agent 能机械判断一个脚本是否允许自动执行: ```yaml scripts: - path: scripts/checks/check-links.py owner: platform-devex type: check risk: low writesRepository: false requiresNetwork: false ciRequired: true entrypoint: make check-links inputs: - "**/*.md" outputs: - stdout failureContract: "输出文件路径、行号或可定位的错误原因" ``` 企业规模较小时,不必一次性创建所有子目录。可以先保留扁平入口,例如 `scripts/check-*.py`、`scripts/sync-*.py` 和 `scripts/lib/`;当脚本数量、风险等级或 owner 差异变大,再按 `checks/`、`generate/`、`release/`、`ops/` 拆分。成熟的标志不是目录更多,而是每个脚本都能被登记、测试、复现、审计和安全下线。 ### 2.1.23 资产生命周期和目录字段 服务、API、事件、数据产品、AI 产品、模型、Agent、平台能力和治理控制项都应有生命周期字段。生命周期不清楚,目录就会 不断堆积僵尸资产。 | 状态 | 含义 | 允许行为 | 必填证据 | | ---- | ---- | -------- | -------- | | `proposed` | 已提出但未进入生产依赖 | 可评审、可试点,不得被生产消费者强依赖 | owner、目标场景、风险初评、退出条件 | | `active` | 正式运行并可被消费者依赖 | 可发布、可扩展、可进入 scorecard | SLO、runbook、契约、GitOps、监控、on-call | | `deprecated` | 已宣布弃用但仍需兼容 | 不新增消费者,只允许安全修复和迁移支持 | 替代方案、迁移窗口、消费者清单、到期日 | | `retired` | 已退役,不再承载生产职责 | 不允许被部署、调用或列入新依赖 | 下线证据、数据归档、DNS/API/topic 清理记录 | | `exception` | 临时偏离标准 | 只能在到期日前带补偿控制运行 | 风险 owner、到期日、补偿控制、POA&M | 推荐在不同资产中统一保留以下字段名,减少跨目录理解成本: ```yaml name: customer-profile-service lifecycle: active owner: team-customer domain: customer tier: tier-2 sourceRoot: domains/customer/services/customer-profile-service contractRefs: - contracts/apis/customer-profile.openapi.yaml gitopsRefs: - infra/gitops/environments/prod/customer/customer-profile-service sloRef: governance/slo/tier-2.yaml runbookRef: governance/playbooks/customer-profile-service.md riskRefs: - governance/risk-register/risk-customer-profile.yaml evidenceRefs: - governance/evidence/releases/customer-profile-service-2026-06.yaml ``` 字段名可以按企业标准调整,但语义必须稳定。尤其是 `owner`、`lifecycle`、`sourceRoot`、`contractRefs`、`gitopsRefs`、 `sloRef`、`runbookRef` 和 `evidenceRefs`,应成为 catalog、scorecard、审计导出和 AI agent 协作的公共接口。 ### 2.1.24 环境、租户和区域的目录表达 不要把环境差异混进服务源码。服务源码表达“服务是什么”,环境目录表达“它在某个环境如何运行”。多租户、多区域、多云和 受监管环境尤其要遵守这条边界。 推荐表达方式如下: ```text infra/gitops/environments/ ├── dev/ │ └── customer/customer-profile-service/ ├── staging/ │ └── customer/customer-profile-service/ ├── prod/ │ ├── region-cn-north/customer/customer-profile-service/ │ └── region-us-east/customer/customer-profile-service/ └── regulated/ └── finance/customer/customer-profile-service/ ``` 环境目录应管理以下事实: | 维度 | 应放环境目录 | 不应放服务源码 | | ---- | ------------ | -------------- | | 容量 | replicas、HPA、资源配额、GPU 配额 | 不同环境的生产容量 | | 网络 | namespace、Ingress、Gateway、NetworkPolicy | 生产域名和网络放通细节 | | 安全 | ServiceAccount、准入策略、镜像验签、Secret 引用 | 明文密钥和环境权限 | | 发布 | digest、灰度策略、回滚窗口、冻结期 | 生产版本选择 | | 合规 | 数据驻留、审计日志、加密、备份保留 | 监管环境专属例外 | 如果企业采用多仓 GitOps,也应保持同样结构,只是把 `infra/gitops/` 拆到独立环境仓。服务仓通过 `service.yaml.gitopsRefs` 或 catalog 指回环境仓路径,不能让服务仓单方面决定生产部署事实。 ### 2.1.25 目录结构的常见反模式和修复 | 反模式 | 表现 | 后果 | 修复方式 | | ------ | ---- | ---- | -------- | | `shared/` 变成业务中台 | 所有领域都把通用业务逻辑塞进共享库 | 领域边界消失,升级牵一发动全身 | 只保留无业务语义工具;业务能力迁回领域服务或领域包 | | `platform/` 接管业务部署 | 平台目录里维护每个业务服务的生产配置 | 平台团队成为发布瓶颈,服务 owner 失责 | 平台只提供模板和能力;环境期望状态放 `infra/gitops/` | | `catalog/` 手工双写事实 | catalog 里手填 owner、路径、digest、SLO | portal 看起来完整,实际和源码/GitOps 漂移 | catalog 只引用或派生;CI 做 sourceRef 漂移检查 | | `docs/` 替代契约 | README 写了 API、事件和数据口径,但无机器契约 | 消费者无法自动发现 breaking change | 建 OpenAPI、AsyncAPI、Schema 和 data contract | | `infra/` 混入业务规则 | Helm values 或 Kustomize overlay 写业务开关和领域逻辑 | 运行团队被迫理解业务,回滚风险扩大 | 业务规则回到服务配置或领域策略;环境只管运行差异 | | `ai/` 绕过领域边界 | Agent 直接读业务库或直接改核心状态 | AI 层成为隐形超级用户,审计和一致性失控 | Agent 只能通过 API、事件、数据产品和受控工具访问能力 | | `governance/` 只有文档没有门禁 | 标准写得完整,但 CI、准入和审计不消费 | 规则无法执行,例外无法关闭 | 为控制项补 schema、checker、evidence 和 owner | 目录治理的原则是:能从结构上消除的混乱,不要靠培训解决;能被机器校验的事实,不要靠人工复核兜底;能由平台默认路径 生成的模板,不要让每个团队重新手写一遍。 ### 2.1.26 2.1 的最终验收标准 评审 2.1 推荐目录结构时,应把问题问到可执行层,而不是停在“目录是否全面”: 1. 任意一个服务,从 catalog 入口能否追到源码、契约、GitOps、SLO、runbook、owner 和发布证据。 2. 任意一个生产 Pod,能否反向追溯到镜像 digest、SBOM、provenance、签名、构建 commit 和代码 owner。 3. 任意一个 API breaking change,能否自动识别消费者、触发兼容性门禁,并进入迁移或例外流程。 4. 任意一个数据产品,能否证明语义口径、质量规则、PII、血缘、访问授权和 AI 使用边界。 5. 任意一个 AI Agent,能否证明 Prompt 版本、工具权限、RAG 数据源、评估结果、护栏、人工确认点和事故响应路径。 6. 任意一个治理控制项,能否追到标准、schema、示例、checker、证据、风险、POA&M 和审计导出结果。 7. 任意一个目录变更,能否说明 owner、消费方、主真相源、派生方向、门禁、迁移方式和回滚方式。 8. 任意一个高风险脚本,能否证明 owner、风险等级、dry-run、输入输出、执行日志、审批和回滚路径。 如果这些问题可以被自动化工具回答大部分,目录结构就是企业级平台架构;如果只能靠人开会解释,目录结构仍然只是文档草图。 --- ## 2.2 微服务容器分层真相源 每个微服务可以被构建成一个或多个容器镜像,但容器能力不应被放进单一目录统一管理。正确做法是按“源码、制品、部署期望状态、实际运行状态、目录发现、平台能力、治理规则”拆分真相源。 | 问题 | 真相源位置 | | ---- | ---------- | | 服务代码推荐放哪里 | 默认放 `domains/{domain}/services/{service}/`;若采用 `services/*`、`apps/*`、polyrepo 或独立服务仓,必须在 `service.yaml` / catalog 中声明源码路径 | | Dockerfile / Containerfile 在哪里 | `domains/{domain}/services/{service}/Dockerfile` | | 镜像本体在哪里 | Container Registry / Artifact Registry,不进入 Git 仓库 | | 哪个镜像版本部署到 prod | `infra/gitops/environments/prod/...` | | Kubernetes Deployment / Service / HPA 在哪里 | `infra/kubernetes/` 或 `infra/gitops/` | | 服务属于哪个领域 | `domains/{domain}/domain.yaml` 和 `catalog/components/` | | API / Event 契约在哪里 | `contracts/` 或 `domains/*/apis`、`domains/*/events` | | CI/CD 模板在哪里 | `platform/ci-cd/` | | 服务脚手架在哪里 | `platform/scaffolds/` | | 运行标准在哪里 | `governance/standards/` | | 当前运行状态在哪里 | Kubernetes / Argo CD / Flux / Observability,不是 Git 文档 | 推荐边界: ```text 服务源码与镜像构建定义:domains/*/services/* 或 catalog/sourceRoot 指向的服务仓库路径 镜像制品:container registry 部署期望状态:infra/gitops/* 或 infra/kubernetes/* 实际运行调度:Kubernetes 服务目录与 owner 关系:catalog/* 平台标准能力:platform/* 治理规则:governance/* ``` 关键原则: 1. 服务目录是运行单元源头,不是环境部署真相源。 2. 镜像使用 tag 便于人类识别,生产准入和回滚必须能追溯到 digest。 3. GitOps 目录声明期望状态,不记录运行时实际状态。 4. catalog 负责发现、owner、依赖和成熟度,不替代 deployment manifest。 5. platform 负责模板、流水线、扫描、签名、准入和开发者体验,不接管业务服务部署细节。 ## 3. 架构设计原则 ### 3.1 业务结果端到端负责 业务流团队不只是提出需求,而是对客户体验、业务指标、服务稳定性和持续优化负责。技术团队不再只是被动交付项目,而是与业务共同运营产品。 ### 3.2 领域能力产品化 用户、商品、订单、支付、履约、风控、营销等能力不应只是技术服务,而应作为长期运营的领域产品。每个领域产品都应具备清晰的边界、API、事件、数据产品、SLO 和业务指标。 ### 3.3 平台能力自助化 平台团队不替业务团队写业务逻辑,而是提供可复用、可自助、可治理的工程能力,使业务团队可以快速创建服务、申请环境、发布应用、接入监控、配置权限和查看成本。 ### 3.4 数据作为产品 数据不再只是中央数据团队统一抽取和加工的结果,而是由最理解业务的领域团队负责发布、解释和治理。数据产品必须可发现、可理解、可信任、可复用、可追责。 ### 3.5 治理自动化 治理不应主要依赖人工审批,而应通过平台默认能力、CI/CD 质量门禁、Policy as Code、数据契约、安全扫描、成本规则和可观测性自动执行。 ### 3.6 松耦合与清晰边界 系统之间通过标准 API、领域事件、数据契约和服务协议进行协作。禁止跨域直接访问数据库,禁止绕过领域边界调用内部实现。 ### 3.7 演进式架构 架构不追求一次性大而全建设,而应通过重点领域、重点平台能力和重点数据产品逐步演进,避免把集中化模式换个名字重做一遍。 ### 3.8 AI 原生但不旁路领域边界 AI 应用、Agent 和自动化决策必须建立在领域 API、领域事件、数据产品和受控工具之上。AI 层可以编排、解释、推荐和自动执行低风险动作,但不能直接绕过领域边界读写数据库,也不能把 Prompt、向量索引或 Agent 记忆变成新的业务真相源。 ### 3.9 供应链可证明 软件交付不应只检查代码质量和漏洞,还必须证明产物从源码、构建、依赖、镜像、签名到部署的完整链路。生产发布必须能够回答:这个产物由谁构建、基于哪些依赖、生成了什么 SBOM、是否有可验证 provenance、是否经过签名验签和策略准入。 ### 3.10 认知负载可管理 平台工程的目标不是堆工具,而是减少业务团队理解和操作底层复杂度的负担。每个 Golden Path、平台产品和治理规则都应检查是否降低团队认知负载;如果平台能力增加了配置、审批和排障复杂度,就必须回到产品化视角重新设计。 --- ## 4. 分层架构说明 ## 4.1 前台体验层 ### 4.1.1 定位 前台体验层直接面向用户、客户、合作方、员工和运营人员,是企业数字化能力的外部表现。 ### 4.1.2 主要组成 包括但不限于: 1. Web 网站。 2. 移动 App。 3. 小程序。 4. Open API 门户。 5. 运营后台。 6. 合作方门户。 7. 客服工作台。 8. 员工工作台。 9. 智能助手入口。 ### 4.1.3 设计要求 前台体验层应重点关注用户体验、渠道一致性、性能、可用性和业务转化。不同渠道可以共享底层领域能力,但不应直接耦合底层领域服务的复杂接口。 ### 4.1.4 责任边界 前台团队负责: 1. 客户旅程设计。 2. 页面与交互体验。 3. 渠道转化指标。 4. 前端性能体验。 5. 前端埋点与用户行为分析。 6. 与体验编排层的接口协作。 --- ## 4.2 体验编排层 ### 4.2.1 定位 体验编排层位于前台体验和领域能力之间,负责将多个领域能力组合为适合具体场景的体验接口。 ### 4.2.2 主要组成 1. BFF,即 Backend for Frontend。 2. API Gateway。 3. GraphQL 网关。 4. 业务流程编排。 5. 事件订阅与通知。 6. 聚合查询服务。 7. 低代码流程配置。 8. 场景化 API。 ### 4.2.3 设计要求 体验编排层应避免沉淀核心业务规则。核心业务规则应归属于领域能力产品层。体验编排层主要处理渠道适配、接口聚合、流程编排、权限上下文、协议转换和体验优化。 ### 4.2.4 禁止事项 1. 禁止将领域核心规则长期堆积在 BFF 中。 2. 禁止绕过领域 API 直接访问领域数据库。 3. 禁止通过编排层形成新的集中式共享层。 4. 禁止将跨域一致性完全依赖同步调用。 --- ## 4.3 AI 原生能力层 ### 4.3.1 定位 AI 原生能力层位于体验编排、领域能力产品和数据产品网络之间,负责把大模型、Agent、RAG、特征、向量检索和受控工具组合为可运营、可评估、可审计的 AI 产品能力。 AI 层不是一个新的业务真相源。它必须通过领域 API 执行业务动作,通过领域事件感知业务状态,通过数据产品和特征产品获得可解释上下文,通过受治理工具调用完成自动化任务。 ### 4.3.2 核心组成 AI 原生能力层包括: 1. AI 应用:智能客服、运营助手、研发助手、风控辅助、销售助手、知识问答和自动化运营。 2. Agent Runtime:负责 Agent 状态、工具调用、记忆、计划、重试、人工确认和隔离执行。 3. LLM Gateway:统一模型接入、模型路由、降级、限流、审计、成本控制和输出策略。 4. RAG 管道:文档摄取、切分、Embedding、索引、召回、重排、引用和上下文组装。 5. 向量存储:用于知识检索、相似度搜索、多模态检索和语义缓存。 6. PromptOps:Prompt 模板、版本、变更记录、评测样例、灰度和回滚。 7. Model Registry:模型、Embedding 模型、重排模型、批准状态、适用场景和风险等级。 8. Evaluation Pipeline:离线评测、在线评测、回归集、对抗样本、人工标注和质量阈值。 9. Guardrails:输入输出校验、PII 过滤、越权拦截、敏感动作确认、内容安全和策略执行。 10. AI Observability:Token、延迟、模型错误、幻觉率、引用命中率、工具调用、成本和用户反馈。 11. Tool Registry:AI 可调用工具、权限范围、幂等要求、超时、审计和危险等级。 12. Agent-to-Agent 协议适配:用于多 Agent 协作、任务交接和能力发现,但必须受平台策略约束。 ### 4.3.3 AI Mesh 与领域网络关系 AI Mesh 是 AI 能力的分布式协作网络,不是集中式 AI 大脑。企业可以把每个领域中可复用的 AI 能力封装为 AI 产品,让它们通过统一网关、工具契约和治理策略互相协作。 ```text AI 应用 / Agent │ ├── 调用领域 API:执行查询、创建、审批、取消、补偿等业务动作 ├── 订阅领域事件:感知订单变化、支付结果、风控结果和履约状态 ├── 消费数据产品:获取事实数据、聚合指标、标签、人群和业务口径 ├── 消费特征产品:获取训练和推理一致的实时/离线特征 ├── 检索向量索引:获取可引用知识、政策、文档、案例和历史记录 └── 写入审计事件:记录 Prompt、上下文、模型、工具调用、输出和人工确认 ``` AI Mesh 的边界原则: 1. 每个 AI 产品必须有 owner、业务目标、用户、风险等级、评估集和退出机制。 2. Agent 只能调用注册过的工具,工具必须声明权限、输入输出 Schema、幂等性、超时和审计字段。 3. AI 层不得直接读写领域数据库,所有业务动作必须经过领域 API 或受控工作流。 4. RAG 索引不得替代原始数据产品和领域知识库,索引必须可追溯到源文档、版本和授权策略。 5. 高风险动作必须有人类确认或双人复核,不能只依赖模型自我判断。 6. AI 产品必须支持灰度、A/B、回滚、降级到非 AI 流程和人工接管。 ### 4.3.4 LLM Gateway 契约 LLM Gateway 是模型接入和治理的统一入口,避免各团队在应用里分散配置模型、密钥、成本和审计策略。 LLM Gateway 必须提供: 1. 模型路由:按场景、成本、延迟、质量和合规要求选择模型。 2. 凭证隔离:应用不直接持有模型供应商密钥。 3. 限流与预算:按团队、产品、环境、用户和模型设置配额。 4. 审计记录:记录请求元数据、模型版本、Prompt 版本、Token、工具调用和策略结果。 5. 降级策略:模型不可用、质量下降或成本异常时切换模型、缩小上下文或进入人工流程。 6. 内容策略:输入输出过滤、敏感信息识别、越权提示拦截和危险操作阻断。 7. 可观测性:统一暴露延迟、错误、Token、成本、拒绝率、重试率和质量反馈指标。 ### 4.3.5 RAG 与向量索引标准 RAG 管道必须把“可回答”建立在“可追溯”之上。 RAG 标准包括: 1. 摄取源必须登记 owner、授权范围、更新频率、保留期限和数据分级。 2. 文档切分必须保留源链接、版本、时间、章节、权限标签和业务域。 3. Embedding 模型变更必须触发索引重建评估,避免召回质量无声下降。 4. 检索必须支持权限过滤,不能把无权访问的片段放入上下文。 5. 生成结果必须携带引用或证据来源,关键业务答案必须能回溯到源材料。 6. 召回、重排、生成和引用命中率必须纳入评估集。 7. RAG 索引必须支持删除、重建、过期和来源撤销,不能成为隐性数据湖。 ### 4.3.6 Prompt、评估和发布门禁 Prompt 和 Agent 工作流属于生产资产,必须像代码一样管理版本和发布。 AI 发布门禁至少包括: 1. Prompt 版本、模型版本、工具版本和检索配置可追溯。 2. 离线评测集覆盖核心业务问题、边界问题、越权问题、幻觉诱导和成本边界。 3. 在线评测覆盖用户反馈、人工抽检、引用命中率、任务完成率和负反馈率。 4. 高风险场景必须有人类确认、回放审计和熔断策略。 5. 每次模型、Prompt、工具或 RAG 配置变更必须有回归评测。 6. 低质量输出、异常成本、越权调用、无引用回答和工具失败必须触发告警。 ### 4.3.7 AI 产品标准目录 AI 产品必须以机器可读契约进入仓库、catalog 和治理流程。 ```text ai/applications/customer-service-agent/ ├── ai-product.yaml ├── prompts/ │ ├── system.prompt.md │ └── policy.prompt.md ├── agents/ │ └── customer-service-agent.yaml ├── tools/ │ └── tool-permissions.yaml ├── rag/ │ ├── sources.yaml │ ├── chunking.yaml │ └── retrieval.yaml ├── evals/ │ ├── regression.yaml │ ├── adversarial.yaml │ └── cost.yaml ├── guardrails/ │ └── policy.rego ├── observability/ │ └── dashboard.yaml └── docs/ ├── README.md └── runbook.md ``` `ai-product.yaml` 示例: ```yaml name: customer-service-agent owner: team-customer-experience lifecycle: production riskTier: high users: - customer-service-operators businessGoal: - reduce-average-handle-time - improve-first-contact-resolution modelGateway: route: support-safe-default maxInputTokens: 16000 maxOutputTokens: 2000 monthlyBudgetUsd: 3000 tools: allowed: - tool:domain:order:get-order-status - tool:domain:customer:create-support-ticket requiresHumanApproval: - tool:domain:payment:refund rag: sources: rag/sources.yaml retrieval: rag/retrieval.yaml evals: regression: evals/regression.yaml adversarial: evals/adversarial.yaml guardrails: piiPolicy: guardrails/policy.rego observability: dashboard: observability/dashboard.yaml slo: taskCompletionRate: ">= 85%" groundedAnswerRate: ">= 95%" toolErrorRate: "<= 2%" p95LatencyMs: 6000 ``` ### 4.3.8 Agent 协议与工具边界 Agent 协议层应解决“工具如何暴露、上下文如何传递、Agent 如何协作”的互操作问题,但不能替代权限、审计和业务边界。 建议分层: | 协议层 | 解决问题 | 设计边界 | | ------ | -------- | -------- | | Tool / Context Protocol | 让模型或 Agent 发现工具、资源、Prompt 和上下文 | 不授予业务权限,只描述可调用能力 | | Agent-to-Agent Protocol | 让不同 Agent 进行任务发现、委托、状态同步和结果回传 | 不允许绕过平台网关、审计和风险等级 | | Domain API / Workflow | 执行真正业务动作 | 必须由领域团队拥有,并受权限和 SLO 约束 | Agent 协议治理要求: 1. 所有工具进入 Tool Registry,声明 owner、输入输出 Schema、幂等性、超时、速率限制和危险等级。 2. Agent 调用工具必须经过 LLM Gateway 或 Agent Runtime 统一审计。 3. Agent 之间不能直接传递敏感数据,必须保留数据分级、用户权限和用途约束。 4. 多 Agent 协作必须有任务上限、循环上限、预算上限和人工接管点。 5. 协议适配器只做连接和编排,不承载领域业务规则。 ### 4.3.9 微调治理工作流 微调不是默认选项。只有当 Prompt、RAG、工具调用、检索重排和模型路由无法稳定满足需求,并且业务收益足以覆盖训练、评估、合规和维护成本时,才应启动微调。 微调场景必须单独治理,因为它会把训练数据、模型权重、实验参数和评估结果变成新的生产资产。 推荐工作流: 1. 场景论证:说明为什么 Prompt / RAG / 工具编排不足以解决问题。 2. 数据授权:声明训练数据来源、owner、分级、PII、版权、保留期限和是否允许用于微调。 3. 数据准备:记录清洗、脱敏、去重、采样、标签质量和训练/验证/测试划分。 4. 实验追踪:记录基础模型、超参数、训练配置、数据版本、代码版本、运行环境和成本。 5. 评估门禁:使用独立评估集验证质量、安全、偏见、幻觉、越权、泄露和成本。 6. 模型登记:微调模型必须进入 Model Registry,拥有独立版本、风险等级、适用范围和回滚点。 7. 合规审查:高风险或敏感数据微调必须经过数据、安全、法务或合规负责人确认。 8. 灰度发布:微调模型先进入小流量或 shadow 评估,再替换生产模型。 9. 持续监控:监控模型漂移、质量回退、数据泄露、成本异常和用户反馈。 10. 退役机制:模型过期、数据授权撤销或质量下降时必须支持禁用、回滚和删除。 `fine-tuning-run.yaml` 示例: ```yaml name: support-answer-style-tuning owner: team-customer-experience baseModel: vendor:model-name:2026-05 riskTier: R3 reason: prompt-and-rag-failed-to-meet-tone-consistency trainingData: sourceDataProducts: - data-product:support:resolved-ticket-dialogs classification: confidential piiRemoved: true allowedUse: - supervised-fine-tuning disallowedUse: - foundation-model-training experimentTracking: tracker: mlflow experimentId: support-answer-style-tuning-2026-06 codeVersion: git:abc123 dataVersion: dataset:v18 evals: quality: evals/support-quality.yaml safety: evals/support-safety.yaml regression: evals/support-regression.yaml approval: dataOwner: team-support-data securityReviewer: team-security modelReviewer: team-ai-platform deployment: shadowTrafficPercent: 5 rollbackModel: vendor:model-name:2026-05 ``` --- ## 4.4 领域能力产品层 ### 4.4.1 定位 领域能力产品层是企业数字化平台的核心层。它承载企业关键业务能力,并以领域产品的方式长期运营。 ### 4.4.2 典型领域划分 企业可根据实际业务划分领域,常见包括: | 领域 | 主要能力 | | ---- | ------------------- | | 用户域 | 注册、登录、账户、身份、会员、用户画像 | | 商品域 | 商品资料、类目、属性、价格、上下架 | | 订单域 | 购物车、下单、订单状态、订单履约协同 | | 支付域 | 收款、退款、对账、支付渠道接入 | | 履约域 | 库存、仓储、配送、签收、售后 | | 风控域 | 交易风控、账户风控、反欺诈、风险评分 | | 营销域 | 优惠券、活动、权益、推荐、触达 | | 内容域 | 内容生产、审核、发布、标签、分发 | | 客服域 | 工单、会话、服务记录、投诉处理 | | 合作方域 | 合作方准入、合同、分账、结算 | ### 4.4.3 每个领域产品必须具备的内容 每个领域产品应至少包含: 1. 领域愿景和业务目标。 2. 领域边界和上下文图。 3. 业务 API。 4. 领域事件。 5. 领域模型。 6. 服务边界。 7. 数据产品。 8. SLO 和运行指标。 9. 权限模型。 10. 变更策略。 11. 版本管理策略。 12. 领域团队责任人。 ### 4.4.4 领域服务交互方式 领域之间优先采用以下方式协作: 1. 同步 API:用于强一致、实时查询或明确请求响应的场景。 2. 领域事件:用于状态变化通知、异步解耦和最终一致性场景。 3. 数据产品:用于分析、报表、AI、特征和跨域洞察场景。 4. 工作流编排:用于跨领域长流程和补偿机制。 ### 4.4.5 领域边界原则 1. 一个领域拥有自己的核心模型。 2. 一个领域拥有自己的核心数据。 3. 其他领域不能直接读写该领域数据库。 4. 跨领域协作通过 API、事件或数据产品完成。 5. 领域团队对业务规则、接口稳定性和运行质量负责。 ### 4.4.6 领域产品标准目录 每个领域产品应有稳定目录,确保领域边界、运行责任和接口契约可追踪。 ```text domains/order/ ├── domain.yaml ├── apis/ │ ├── public.openapi.yaml │ └── internal.openapi.yaml ├── events/ │ └── order-status-changed.asyncapi.yaml ├── services/ │ ├── order-command-service/ │ ├── order-query-service/ │ └── order-workflow-worker/ ├── workflows/ │ └── order-lifecycle.bpmn ├── data-products/ │ ├── order-facts/ │ └── order-status-snapshot/ ├── policies/ │ ├── access.rego │ └── retention.yaml ├── scorecards/ │ └── domain-readiness.yaml └── docs/ ├── README.md ├── domain-model.md ├── runbook.md └── decision-log.md ``` `domain.yaml` 示例: ```yaml name: order displayName: 订单领域 owner: team-order lifecycle: production businessCapability: - order-capture - order-lifecycle - order-query boundedContext: upstream: - customer - product - payment downstream: - fulfillment - risk interfaces: providesApis: - domain:order:orders-public-api - domain:order:orders-internal-api publishesEvents: - domain:order:order-created - domain:order:order-status-changed ownsDataProducts: - data-product:order:order-facts - data-product:order:order-status-snapshot slo: availability: 99.95 commandLatencyP95Ms: 300 queryLatencyP95Ms: 200 governance: dataClassification: confidential pii: true architectureGate: tier-1-domain ``` ### 4.4.7 领域服务运行契约 领域服务必须是可以独立启动、停止、测试、部署、扩缩容和回滚的运行边界。 ```text domains/order/services/order-command-service/ ├── src/ ├── tests/ ├── deploy/ ├── configs/ ├── service.yaml ├── catalog-info.yaml ├── Dockerfile # 或 Containerfile ├── README.md └── AGENTS.md ``` `service.yaml` 示例: ```yaml name: order-command-service domain: order owner: team-order lifecycle: production runtime: service entrypoints: http: port: 8080 events: consumes: - domain:payment:payment-authorized publishes: - domain:order:order-created dependencies: resources: - resource:order-primary-db - resource:order-event-topic apis: - domain:customer:customer-internal-api dataAccess: owns: - order_primary_db reads: - customer_profile_view container: dockerfile: Dockerfile imageRepository: registry.company.com/order/order-command-service tagPolicy: git-sha digestRequired: true sbomRequired: true provenanceRequired: true signatureRequired: true resources: requests: cpu: "500m" memory: "512Mi" limits: cpu: "2" memory: "2Gi" slo: availability: 99.95 latencyP95Ms: 300 operations: health: /health readiness: /ready runbook: docs/runbook.md rollback: deploy/rollback.md ``` ### 4.4.8 服务容器化边界 领域服务目录只保存“如何构建和运行这个服务”的源头信息,不保存镜像制品,也不保存每个环境的部署期望状态。 服务团队负责: 1. 服务代码、测试和启动入口。 2. Dockerfile / Containerfile。 3. `service.yaml` 中的端口、健康检查、依赖、资源诉求和镜像仓库声明。 4. 服务级 runbook、rollback 说明和本地调试方式。 5. 服务 API、事件和数据访问边界。 不应放在服务目录中的内容: 1. 生产镜像本体。 2. dev、staging、prod 的 Deployment 副本数和镜像 digest。 3. 环境级 Secret 值。 4. 集群级准入策略。 5. Argo CD / Flux 的环境同步状态。 --- ## 4.5 数据产品网络层 ### 4.5.1 定位 数据产品网络层负责将各领域产生的数据转化为可信、可发现、可理解、可复用的数据产品,为经营分析、业务运营、风险控制、AI 应用、特征服务、向量检索和管理决策提供支撑。 ### 4.5.2 数据产品类型 | 类型 | 说明 | 示例 | | ----------------------------- | ----------------------- | ----------------- | | Source-aligned Data Product | 源对齐数据产品,由领域团队基于原始业务数据发布 | 订单明细数据产品、支付流水数据产品 | | Aggregate Data Product | 聚合数据产品,对多个源数据产品进行汇总加工 | 用户交易汇总、商品销售汇总 | | Consumer-aligned Data Product | 面向具体消费场景的数据产品 | 经营驾驶舱、风控特征集、营销人群包 | ### 4.5.3 数据产品基本要求 一个合格的数据产品应包含: 1. 数据产品名称。 2. 业务定义。 3. 数据拥有者。 4. 数据使用者。 5. 数据血缘。 6. 数据字段说明。 7. 口径说明。 8. 更新频率。 9. 数据质量规则。 10. 权限与分级。 11. SLA 或 SLO。 12. 使用示例。 13. 变更通知机制。 14. 下游依赖清单。 15. AI 消费声明:是否允许用于训练、Embedding、RAG、特征、评估或在线推理。 16. 训练-推理一致性要求:是否需要离线特征、在线特征和实时推理端点同步校验。 ### 4.5.4 数据能力组成 数据产品网络层包括: 1. 数据目录。 2. 元数据管理。 3. 数据血缘。 4. 数据质量检测。 5. 指标平台。 6. 语义层。 7. 特征平台。 8. 在线特征存储。 9. 向量索引和检索服务。 10. 报表平台。 11. 实时数据服务。 12. AI 数据服务。 13. 数据权限管理。 14. 数据脱敏与审计。 ### 4.5.5 数据治理原则 1. 谁产生核心业务数据,谁负责解释数据含义。 2. 谁发布数据产品,谁负责数据质量。 3. 核心指标必须有统一口径。 4. 重要数据必须有血缘、质量规则和变更通知。 5. 敏感数据必须分级、脱敏、授权和审计。 6. 数据消费必须可追踪、可监控、可问责。 ### 4.5.6 数据产品标准目录 数据产品目录应把业务语义、技术 Schema、质量规则、血缘、访问策略和消费样例放在一起。 ```text domains/order/data-products/order-facts/ ├── data-product.yaml ├── schema/ │ └── order-facts.schema.yaml ├── quality/ │ └── rules.yaml ├── lineage/ │ └── lineage.yaml ├── access/ │ └── policy.rego ├── examples/ │ └── sample.json └── docs/ ├── README.md └── semantics.md ``` `data-product.yaml` 示例: ```yaml name: order-facts domain: order owner: team-order type: source-aligned-data-product lifecycle: production description: 订单交易事实数据产品 schema: schema/order-facts.schema.yaml semantics: grain: one row per order state transition primaryTime: order_event_time quality: freshness: 5m completeness: ">= 99.9%" validityRules: - quality/rules.yaml lineage: sources: - resource:order-event-log outputs: - dataset:analytics:revenue-mart access: classification: confidential pii: true policy: access/policy.rego consumers: - team-finance-analytics - team-risk-modeling - ai-product:customer-service-agent aiUsage: allowed: - rag - feature-engineering - offline-evaluation disallowed: - foundation-model-training featureServing: offlineStore: dataset:features:order-facts-offline onlineStore: feature:order:latest-order-risk vectorIndex: enabled: false slo: freshnessMinutes: 5 availability: 99.9 ``` ### 4.5.7 数据平台与领域团队边界 数据平台团队不拥有所有业务数据,它提供让领域团队发布和消费数据产品的自助能力。 ```text 领域团队:拥有数据语义、质量承诺、数据产品生命周期和消费方沟通。 数据平台团队:拥有数据目录、Schema Registry、血缘、质量检测、权限和计算平台。 治理团队:拥有分级分类、PII、指标口径、访问策略和跨域质量规则。 ``` ### 4.5.8 数据产品到 AI 的联动机制 数据产品网络必须显式服务 AI 原生能力层,而不是只把 AI 当成普通报表消费者。 推荐联动链路: ```text 领域事件 / 领域数据库变更 │ ▼ Source-aligned Data Product │ ├── 指标和语义层:面向经营分析和产品运营 ├── 离线特征:面向模型训练、批量评分和离线评估 ├── 在线特征:面向实时推理、风控、推荐和个性化 ├── 向量索引:面向 RAG、语义检索、多模态检索和相似案例 └── 评估数据集:面向 Prompt、RAG、Agent 和模型回归测试 ``` 必须明确的架构机制: 1. 特征平台必须同时管理 offline store 和 online store,保证训练与推理使用同一业务定义。 2. 实时推理端点只能读取经过批准的在线特征、领域 API 和授权上下文,不能直接拼接数据库查询。 3. 向量索引必须声明来源数据产品、Embedding 模型、索引版本、权限过滤规则和重建策略。 4. AI 评估集应来自稳定数据产品和真实业务样本脱敏集,不能长期依赖人工临时样例。 5. 数据产品变更必须通知下游 AI 产品,并触发特征、索引和评估集的兼容性检查。 6. 数据产品 owner、AI 产品 owner 和模型 owner 必须共同签署高风险 AI 场景的上线门禁。 ### 4.5.9 Lakehouse 到数据产品网络的过渡路径 并不是所有企业都能直接进入完整数据产品网络。对已有数据仓库、数据湖或 Lakehouse 的企业,推荐采用演进式路线: | 阶段 | 当前形态 | 关键动作 | 禁止误区 | | ---- | -------- | -------- | -------- | | L0 | 数据仓库或数据湖分散建设 | 盘点表、任务、指标、owner 和下游消费 | 只迁技术栈,不改责任边界 | | L1 | 建立 Lakehouse 统一存储和表格式 | 引入分层、Schema、血缘、质量和权限 | 把 Lakehouse 当成新的中央数据团队 | | L2 | 识别高价值领域数据集 | 让领域团队声明业务语义、口径和质量规则 | 平台团队替领域解释业务含义 | | L3 | 发布首批 Source-aligned Data Product | 建立数据产品契约、SLO、变更通知和消费样例 | 只发布表名,不发布产品契约 | | L4 | 建立 Aggregate / Consumer-aligned Data Product | 围绕业务场景组织指标、特征、人群和报表 | 让聚合层反向污染源数据定义 | | L5 | 形成联邦数据产品网络 | 把质量、权限、血缘、成本和 AI 消费接入自动化治理 | 重新集中审批所有数据变更 | Lakehouse 的价值在于提供统一存储、开放表格式、批流处理和计算治理;数据产品网络的价值在于明确领域责任、语义契约和消费体验。两者不是替代关系,合理路径是先稳定底座,再逐步把高价值数据集产品化。 --- ## 4.6 自助式平台工程层 ### 4.6.1 定位 自助式平台工程层为业务团队、领域团队和数据团队提供统一的内部开发平台,降低工程复杂度,提高交付效率和治理一致性。 ### 4.6.2 平台核心能力 平台工程层包括: 1. Developer Portal。 2. 服务模板和脚手架。 3. Golden Path。 4. CI/CD 流水线。 5. IaC 基础设施即代码。 6. GitOps 发布机制。 7. Kubernetes 或 Serverless 运行环境。 8. 服务网格。 9. API 管理。 10. 配置管理。 11. 密钥管理。 12. 日志、指标、链路追踪。 13. 告警管理。 14. 环境管理。 15. 成本管理。 16. 安全扫描。 17. 依赖漏洞检测。 18. 权限申请与审批自动化。 19. 发布准入门禁。 20. 研发效能度量。 21. SBOM、provenance、签名和验签能力。 22. AI Platform:模型网关、RAG 平台、评估流水线、Prompt 管理和 Agent 运行时。 23. 认知负载度量和平台用户研究。 24. 容器交付标准:镜像构建、镜像扫描、tag / digest 策略、Helm / Kustomize 模板和 GitOps 发布。 ### 4.6.3 平台设计目标 平台团队的目标不是集中接管业务开发,而是让业务团队可以自助完成标准工程动作: 1. 自助创建服务。 2. 自助申请环境。 3. 自助配置数据库、缓存、消息队列。 4. 自助发布应用。 5. 自助接入日志、监控和告警。 6. 自助申请权限。 7. 自助查看成本。 8. 自助执行安全和合规检查。 9. 自助创建 AI 应用、RAG 管道和 Agent 工作流。 10. 自助生成 SBOM、构建 provenance、镜像签名和发布验签。 11. 自助生成标准 Dockerfile、Kubernetes base manifest 和环境级 GitOps overlay。 ### 4.6.4 Golden Path Golden Path 是平台团队为常见场景提供的推荐路径。例如: 1. 创建一个标准微服务。 2. 创建一个前端应用。 3. 创建一个数据产品。 4. 发布一个 API。 5. 接入统一认证。 6. 接入可观测性。 7. 部署到测试环境。 8. 部署到生产环境。 9. 配置弹性伸缩。 10. 配置告警规则。 11. 创建一个受治理的 AI 应用。 12. 创建一个 RAG 索引和评估集。 13. 接入 LLM Gateway、PromptOps 和 AI Observability。 14. 生成 SBOM、签名镜像并通过生产准入。 15. 创建一个容器化微服务并生成 dev / staging / prod GitOps overlay。 Golden Path 应尽量内置最佳实践,使团队默认走在安全、合规、稳定和高效的路径上。 ### 4.6.5 平台产品契约 平台能力必须像产品一样运营,而不是只提供工具入口。 ```yaml name: domain-service-golden-path type: platform-product owner: team-platform users: - stream-aligned-teams - domain-product-teams solves: - create-service - register-service - configure-ci - provision-runtime - attach-observability - enforce-security-baseline interfaces: portal: platform/portal/create-domain-service cli: platformctl service create template: platform/golden-paths/domain-service slo: templateSuccessRate: ">= 99%" provisioningP95Minutes: 10 metrics: adoptionRate: weekly timeToFirstDeploy: daily failedOnboardingCount: daily feedback: channel: "#platform-feedback" reviewCadence: biweekly ``` 平台产品的验收标准: 1. 有明确内部用户。 2. 有自助入口或自动化接口。 3. 有文档和 onboarding path。 4. 有 SLO、采用率、反馈渠道和 roadmap。 5. 支持 escape hatch,但必须可审计。 ### 4.6.6 容器交付 Golden Path 平台团队应提供容器交付 Golden Path,但不直接托管每个业务服务的部署状态。 容器交付 Golden Path 至少包括: 1. 标准服务脚手架:生成 `src/`、测试、Dockerfile、`service.yaml` 和 catalog descriptor。 2. 标准镜像构建:统一基础镜像、非 root 用户、多阶段构建、最小运行时和可复现构建参数。 3. 标准 CI:测试、lint、镜像构建、SBOM、provenance、漏洞扫描、许可证检查和签名。 4. 标准 Kubernetes base:Deployment、Service、HPA、PodDisruptionBudget、ServiceAccount 和 NetworkPolicy。 5. 标准环境 overlay:dev、staging、prod 使用不同 namespace、replicas、资源配额、ingress 和镜像 digest。 6. 标准 GitOps:通过 Argo CD、Flux 或等价能力同步环境期望状态。 7. 标准回滚:按镜像 digest、Git commit 和 GitOps revision 回滚。 8. 标准可观测性:默认接入日志、指标、trace、SLO、告警和运行面板。 ### 4.6.7 平台产品经理与认知负载治理 平台工程必须有明确的平台产品经理或等价职责,负责把平台能力当成内部产品运营,而不是把平台做成工具集合。 Platform PM 负责: 1. 识别平台目标用户、关键旅程和高频痛点。 2. 定义 Golden Path 的成功指标、失败指标和用户反馈机制。 3. 维护平台产品路线图,避免平台团队只按工单堆功能。 4. 定期度量业务团队认知负载,包括 onboarding 难度、配置复杂度、排障复杂度和上下文切换成本。 5. 推动平台能力默认内置安全、可观测、成本、AI 治理和供应链门禁。 认知负载度量建议: | 指标 | 说明 | 典型采集方式 | | ---- | ---- | ------------ | | Time to First Deploy | 新团队第一次成功部署所需时间 | 平台事件和 CI/CD 日志 | | Self-service Success Rate | 自助流程不依赖人工支持的成功率 | Developer Portal 事件 | | Support Ticket Rate | 每个 Golden Path 产生的支持工单数 | 工单系统和分类标签 | | Context Switch Count | 完成标准任务需要切换的系统数量 | 用户访谈和行为埋点 | | Onboarding Completion Time | 新成员掌握平台基本操作所需时间 | 培训记录和平台行为 | | Perceived Cognitive Load | 团队主观复杂度评分 | 定期调研和复盘访谈 | --- ## 4.7 基础设施与云原生层 ### 4.7.1 定位 基础设施与云原生层为上层业务系统、数据平台和工程平台提供稳定、安全、弹性和可观测的运行底座。 ### 4.7.2 主要组成 1. 公有云、私有云或混合云。 2. Kubernetes 集群。 3. Serverless 平台。 4. 网络与负载均衡。 5. 存储服务。 6. 数据库服务。 7. 消息队列。 8. 缓存服务。 9. 搜索引擎。 10. 对象存储。 11. 容器镜像仓库。 12. 服务发现。 13. 灾备与备份。 14. 云安全服务。 15. 成本计量与资源配额。 16. GPU、推理加速和模型服务资源池。 17. 向量数据库、特征在线存储和高性能检索服务。 18. 软件供应链安全基础设施:制品库、签名服务、证明存储和策略准入。 ### 4.7.3 基础设施原则 1. 标准化资源模型。 2. 环境隔离。 3. 最小权限。 4. 弹性伸缩。 5. 故障隔离。 6. 多可用区部署。 7. 自动化备份。 8. 可观测、可审计、可追溯。 9. 成本透明。 10. 基础设施即代码。 11. AI 推理资源必须有隔离、配额、成本归集和降级策略。 12. 生产制品必须支持签名验签、SBOM 查询和 provenance 追溯。 ### 4.7.4 Kubernetes 与 GitOps 真相源 Kubernetes 管理实际运行状态,GitOps 管理期望部署状态。两者不应和服务源码目录混在一起。 推荐结构: ```text infra/ ├── kubernetes/ │ ├── base/ │ │ └── services/ │ │ └── customer-profile-service/ │ │ ├── deployment.yaml │ │ ├── service.yaml │ │ ├── hpa.yaml │ │ ├── pdb.yaml │ │ ├── network-policy.yaml │ │ └── kustomization.yaml │ └── policies/ └── gitops/ └── environments/ ├── dev/customer/customer-profile-service/kustomization.yaml ├── staging/customer/customer-profile-service/kustomization.yaml └── prod/customer/customer-profile-service/kustomization.yaml ``` 环境级 GitOps overlay 负责: 1. 使用哪个镜像 digest。 2. 部署到哪个 namespace。 3. replicas、CPU / memory requests 和 limits。 4. HPA、PDB、Ingress / Gateway 和 ServiceAccount。 5. ConfigMap / Secret 引用。 6. Pod 安全、网络策略、节点选择、亲和性和容忍度。 7. 金丝雀、蓝绿、灰度或批次发布策略。 生产环境禁止只用可变 tag 作为部署依据。tag 可以用于可读性,实际准入、回滚和审计必须能定位到不可变 digest、Git commit 和构建 provenance。 --- ## 5. 联邦治理平面 ## 5.1 治理定位 联邦治理不是中央团队审批所有事情,而是在企业层面制定少量必要标准,并通过平台能力自动执行。 治理目标是: 1. 保证安全合规。 2. 保证系统稳定性。 3. 保证数据可信。 4. 保证接口一致性。 5. 保证成本可控。 6. 保证架构可演进。 7. 避免重复建设和失控扩张。 8. 保证 AI 应用可评估、可追溯、可审计和可降级。 9. 保证软件供应链产物可证明、可验签和可追责。 ## 5.2 治理范围 联邦治理平面贯穿所有架构层,包括: 1. 身份与权限治理。 2. API 标准治理。 3. 事件标准治理。 4. 数据契约治理。 5. 数据安全治理。 6. 个人敏感信息治理。 7. 架构决策治理。 8. SLO 治理。 9. 成本治理。 10. 质量门禁。 11. 发布准入。 12. 合规审计。 13. Policy as Code。 14. 自动化检测。 15. AI 模型、Prompt、RAG、Agent 和工具调用治理。 16. 供应链安全、SBOM、provenance、签名和验签治理。 ## 5.3 治理模式 治理采用“全局标准 + 领域自治 + 自动化护栏”的模式。 | 治理对象 | 全局规则 | 领域自治 | | ---- | ----------------- | ------ | | API | 命名、鉴权、版本、错误码、限流 | 具体接口设计 | | 事件 | Schema、命名、版本、兼容策略 | 具体事件含义 | | 数据 | 分级、脱敏、血缘、质量规则 | 领域数据定义 | | 安全 | 身份认证、最小权限、漏洞扫描 | 业务权限模型 | | AI | 模型准入、Prompt 版本、评估门禁、工具权限 | 场景设计、业务评估样本 | | 供应链 | SBOM、provenance、签名验签、依赖锁定 | 组件选型、升级节奏 | | 成本 | 标签、预算、告警、配额 | 资源使用策略 | | 稳定性 | SLO、告警、演练、应急流程 | 领域服务承诺 | ## 5.4 自动化治理机制 治理规则应尽量固化到以下环节: 1. 代码提交阶段:静态扫描、依赖漏洞扫描、密钥泄露检测。 2. 构建阶段:镜像扫描、单元测试、质量门禁。 3. 发布阶段:变更审批、灰度发布、准入策略。 4. 运行阶段:SLO 监控、异常检测、成本告警。 5. 数据发布阶段:数据契约校验、质量规则校验、权限检查。 6. API 发布阶段:接口规范校验、文档生成、兼容性检测。 7. 事件发布阶段:Schema 校验、版本兼容性检测。 8. AI 发布阶段:Prompt 版本、评估集、RAG 权限、工具权限、成本预算和人工确认策略校验。 9. 制品发布阶段:SBOM 生成、provenance 生成、镜像签名、验签准入和 SLSA 等级校验。 10. 审计阶段:访问日志、变更日志、权限日志、数据使用日志、AI 调用日志和供应链证明日志。 ## 5.5 治理资产目录 联邦治理需要把规则、决策、例外、风险和复盘沉淀为长期资产。 ```text governance/ ├── standards/ │ ├── api-standard.md │ ├── event-standard.md │ ├── data-product-standard.md │ ├── security-standard.md │ ├── reliability-standard.md │ └── cost-standard.md ├── decisions/ │ └── adr-0001-template.md ├── ownership/ │ ├── teams.yaml │ ├── raci.yaml │ └── escalation-policy.md ├── slo/ │ ├── tiering-policy.md │ └── error-budget-policy.md ├── security/ │ ├── threat-model-template.md │ └── data-classification.md ├── supply-chain/ │ ├── slsa-policy.md │ ├── sbom-policy.md │ └── signing-and-verification.md ├── ai-governance/ │ ├── ai-product-review.md │ ├── fine-tuning-review.md │ ├── model-risk-policy.md │ ├── prompt-release-gate.md │ └── agent-tool-policy.md ├── data-governance/ │ ├── data-product-review.md │ ├── pii-policy.md │ └── retention-policy.md ├── architecture-gates/ │ ├── production-readiness.yaml │ ├── domain-readiness.yaml │ └── data-product-readiness.yaml ├── migration/ │ ├── strangler-migration-policy.md │ ├── deprecation-policy.md │ └── compatibility-policy.md ├── evidence/ │ ├── releases/ │ ├── supply-chain/ │ ├── exceptions/ │ ├── compatibility/ │ ├── drift/ │ ├── audit-evidence-index.md │ └── drill-evidence-template.md ├── risk-register/ ├── postmortems/ └── playbooks/ └── ai-incident-playbook.md ``` ## 5.6 治理例外机制 例外不是口头豁免,必须有 owner、原因、风险、缓解措施和到期时间。 ```yaml exceptionId: EX-2026-001 owner: team-order violatedRule: data-product-freshness-standard reason: upstream provider does not support near-real-time delivery risk: finance report may lag up to 60 minutes expiry: 2026-09-01 mitigation: - show freshness timestamp in consumer dashboard - alert when freshness exceeds 60 minutes reviewer: architecture-group ``` ## 5.7 AI 治理门禁 AI 治理必须把模型、Prompt、检索、工具、数据和人工确认作为一个整体审查。 AI 产品进入生产前必须满足: 1. 明确风险等级、owner、业务目标、用户范围和退出机制。 2. 模型、Prompt、RAG 配置、工具版本和评估集可追溯。 3. 高风险工具调用声明权限、幂等、超时、审计、回滚和人工确认策略。 4. RAG 数据源完成分级分类、授权、引用追溯和撤销机制。 5. 离线评测和在线灰度指标达到门槛。 6. 成本预算、限流、降级和人工接管策略已配置。 7. 运行日志覆盖输入、输出、上下文、工具调用、策略结果和用户反馈。 AI 治理不应阻止团队使用模型,而应把模型使用变成可验证的工程过程。 ### 5.7.1 AI 风险分级控制基线 AI 产品必须先分级,再决定评估、审批、审计和人工确认强度。风险分级不是为了阻止创新,而是为了避免把内部问答、客服辅助、自动退款、信贷审批和医疗建议放在同一套门禁里。 | 风险等级 | 典型场景 | 最低控制要求 | | -------- | -------- | ------------ | | R1 低风险 | 内部知识检索、文档摘要、研发辅助 | Prompt 版本、基础评估集、成本限额、日志审计 | | R2 中风险 | 客服辅助、运营建议、销售线索整理 | RAG 权限过滤、引用追溯、人工抽检、灰度发布 | | R3 高风险 | 自动退款、账户处置、风控建议、合同审查 | 人工确认、红队测试、回放审计、模型/Prompt/RAG 回归门禁 | | R4 严格受控 | 信贷审批、医疗建议、招聘筛选、合规判定 | 法务/合规评审、影响评估、强人工复核、独立审计和退出机制 | | R5 禁止或暂缓 | 无法解释的关键自动决策、无授权敏感数据训练 | 不得进入生产,除非完成专门风险接受和监管评估 | 风险等级必须写入 `ai-product.yaml`,并驱动 CI/CD、Developer Portal、LLM Gateway、Agent Runtime 和审计系统的默认策略。 ### 5.7.2 AI 资产证据链 AI 资产必须具备证据链,否则无法做回归、复盘和合规审计。 每个生产 AI 产品至少保留: 1. 模型证据:模型名称、版本、供应商、批准状态、适用场景、限制和替代模型。 2. Prompt 证据:模板版本、变更记录、评估结果、灰度记录和回滚点。 3. 数据证据:RAG 来源、数据产品、特征产品、评估数据集、脱敏策略和授权范围。 4. 工具证据:工具 Schema、权限、幂等、超时、重试、人工确认和审计字段。 5. 运行证据:请求元数据、检索片段、模型输出、工具调用、策略判断、人工确认和用户反馈。 6. 风险证据:风险等级、威胁模型、红队结果、已知限制和风险接受记录。 建议维护 `ai-evidence.yaml`: ```yaml aiProduct: customer-service-agent riskTier: R3 model: gatewayRoute: support-safe-default approvedModels: - model: vendor:model-name version: "2026-05" approval: approved-for-support-assist prompts: systemPrompt: prompts/system.prompt.md version: "2026.06.01" rag: sources: rag/sources.yaml vectorIndex: vector:customer-support-policy:v12 embeddingModel: embedding:model:v3 evals: regression: evals/regression.yaml redTeam: evals/adversarial.yaml tools: registry: tools/tool-permissions.yaml audit: traceRetentionDays: 180 replayEnabled: true governance: approval: governance/ai-governance/reviews/customer-service-agent.md expiry: 2026-12-01 ``` ### 5.7.3 微调治理门禁 微调模型不能继承基础模型的风险结论。任何微调都会改变模型行为边界,因此必须形成独立审查记录。 微调进入生产前必须满足: 1. 数据授权:训练数据允许用于指定微调目的,且禁止用途写入契约。 2. 数据治理:完成脱敏、去重、版权、PII、敏感字段和保留期限检查。 3. 实验追踪:每次训练可追溯到基础模型、数据版本、代码版本、超参数、环境和成本。 4. 独立评估:评估集不得与训练集混用,必须覆盖质量、安全、幻觉、偏见、越权和泄露。 5. 模型登记:微调模型必须有 Model Card、版本、owner、风险等级、适用场景和回滚模型。 6. 发布准入:高风险微调模型必须先 shadow 或灰度,再逐步放量。 7. 授权撤销:当数据授权撤销或发现污染数据时,必须能定位受影响模型并触发禁用或重训。 ## 5.8 供应链安全门禁 供应链安全必须覆盖源码、依赖、构建、测试、制品、签名、部署和运行准入。 生产发布最低要求: 1. 依赖必须锁定版本,并进入漏洞扫描和许可证检查。 2. 每个发布制品必须生成 SBOM,至少覆盖直接依赖、传递依赖、版本、供应商和许可证信息。 3. 构建系统必须生成 provenance,记录源码、构建器、构建参数、依赖和制品摘要。 4. 容器镜像、部署包和关键二进制必须签名。 5. 生产准入必须执行验签、SBOM 策略、漏洞阈值和来源策略。 6. 高风险系统应逐步达到 SLSA Build Level 2,核心系统应规划达到 SLSA Build Level 3。 7. 供应链例外必须有 owner、到期时间、补救计划和风险接受记录。 ## 5.9 Policy as Code 策略语言 联邦治理必须统一策略语言和执行入口,避免每个团队各写一套不可复用的策略。 推荐策略: | 策略范围 | 推荐引擎 | 说明 | | -------- | -------- | ---- | | 跨平台治理、CI 门禁、数据访问、发布准入 | OPA / Rego | 适合通用 Policy as Code、单元测试和准入校验 | | Kubernetes 资源策略 | OPA Gatekeeper 或 Kyverno | 适合集群准入、镜像验签、命名空间和资源限制 | | 应用内细粒度授权 | Cedar 或等价授权策略语言 | 适合把应用权限模型从业务代码中剥离 | | 云厂商原生权限 | IAM Policy | 只用于云资源权限,不替代企业级治理策略 | 原则: 1. 企业级默认策略语言必须少而稳定,不能让 Rego、Cedar、YAML 条件和自研 DSL 无边界混用。 2. 所有策略必须有 owner、测试用例、示例输入、示例输出、版本和回滚路径。 3. 生产策略变更必须进入 CI,至少执行语法检查、单元测试、关键路径用例和冲突检测。 4. 策略例外必须可审计,并有到期时间。 5. 如果采用多策略引擎,必须明确边界:谁负责准入、谁负责授权、谁负责数据访问、谁负责云资源。 --- ## 6. 安全架构 ## 6.1 安全目标 安全架构的目标是建立覆盖身份、网络、应用、数据、供应链和运行环境的纵深防御体系。 ## 6.2 身份与访问控制 1. 统一身份认证。 2. 单点登录。 3. 多因素认证。 4. 最小权限原则。 5. 基于角色的访问控制。 6. 基于属性的访问控制。 7. 服务到服务认证。 8. 临时凭证和密钥轮换。 9. 权限申请、审批和审计。 ## 6.3 应用安全 1. 安全编码规范。 2. 依赖漏洞扫描。 3. 镜像漏洞扫描。 4. API 鉴权。 5. 输入校验。 6. 敏感信息保护。 7. 防重放、防篡改、防越权。 8. Web 应用防护。 9. 灰度发布和快速回滚。 10. 安全测试自动化。 ### 6.3.1 安全开发证据 安全开发不应只在上线前扫描一次,而应贯穿需求、设计、编码、构建、测试、发布和响应。 每个 Tier-1 服务至少保留: 1. 安全需求和威胁建模记录。 2. 安全设计评审记录。 3. 代码评审和静态分析结果。 4. 依赖、许可证、密钥和镜像扫描结果。 5. 安全测试、模糊测试或关键路径滥用用例。 6. 漏洞处置 SLA、例外审批和补救计划。 7. 生产事件响应和安全复盘记录。 平台应把这些证据自动挂接到 catalog 和发布准入,而不是让团队在审计时临时补材料。 ## 6.4 数据安全 1. 数据分级分类。 2. 敏感数据识别。 3. 数据脱敏。 4. 数据加密。 5. 数据访问授权。 6. 数据使用审计。 7. 数据出境或外发控制。 8. 数据生命周期管理。 9. 备份与恢复。 10. 隐私合规。 ## 6.5 云原生安全 1. 集群访问控制。 2. 命名空间隔离。 3. 网络策略。 4. 镜像签名。 5. 运行时安全。 6. Secret 管理。 7. Pod 安全策略。 8. 供应链安全。 9. 基础设施变更审计。 10. 异常行为检测。 ## 6.6 供应链安全 供应链安全是生产发布的基线能力,不是可选增强项。 必须建立以下控制: 1. SLSA 分级目标:普通业务系统至少满足可审计构建和 provenance;核心系统逐步达到隔离构建、不可篡改日志和强身份构建器。 2. SBOM:每个生产制品生成 SPDX 或 CycloneDX 等标准格式 SBOM,并进入制品库和审计系统。 3. 镜像签名与验签:构建完成后签名,部署前由准入控制器验签。 4. Provenance:记录源码仓库、commit、构建器、构建参数、依赖摘要和产物摘要。 5. 依赖锁定:生产构建必须使用锁文件、固定版本或可复现依赖解析。 6. 漏洞策略:按 CVSS、可利用性、暴露面和业务等级设置阻断阈值。 7. 许可证策略:禁止未经批准的强传染许可证或未知许可证进入生产制品。 8. 制品不可变:生产制品一旦签名,不允许覆盖发布。 9. 准入控制:部署前校验签名、SBOM、provenance、漏洞阈值、基础镜像和策略标签。 10. 例外闭环:所有安全例外必须有到期时间和补救计划。 ## 6.7 AI 安全 AI 安全覆盖模型输入、上下文、工具调用、输出、记忆、向量索引和供应商接入。 必须建立以下控制: 1. Prompt 注入防护:对用户输入、检索片段和工具返回内容进行来源标记和指令隔离。 2. 越权访问防护:RAG 检索、工具调用和领域 API 调用必须继承用户和服务权限。 3. 数据泄露防护:输入输出执行 PII、密钥、内部策略和敏感数据检测。 4. 工具滥用防护:高风险工具必须声明危险等级、幂等性、人工确认和审计。 5. 过度代理防护:Agent 计划、循环、重试、并发和成本必须有上限。 6. 模型供应商隔离:密钥、租户、日志保留和数据使用策略必须可控。 7. 评估与红队:核心 AI 产品必须有越权、幻觉、提示注入、错误引用和成本消耗测试。 8. 输出责任:关键业务输出必须可解释、可引用或可回放,不能只保留最终文本。 --- ## 7. 可观测性与运行治理 ## 7.1 可观测性目标 平台应具备统一的日志、指标、链路追踪、事件和告警能力,支持业务团队快速发现问题、定位问题和恢复服务。 ## 7.2 可观测性内容 1. 应用日志。 2. 业务日志。 3. 系统指标。 4. 业务指标。 5. 链路追踪。 6. API 调用指标。 7. 数据质量指标。 8. 队列积压指标。 9. 数据库性能指标。 10. 用户体验指标。 11. 成本指标。 12. 安全事件指标。 13. AI 调用指标:Token、延迟、模型错误、工具调用、引用命中、幻觉反馈和成本。 14. 供应链指标:SBOM 覆盖率、签名覆盖率、验签失败率、漏洞阻断和 provenance 覆盖率。 ## 7.3 SLO 体系 每个关键领域产品都应定义 SLO。常见指标包括: | 指标 | 说明 | | ----- | ------------ | | 可用性 | 服务可正常提供能力的比例 | | 延迟 | 请求响应时间 | | 错误率 | 失败请求占比 | | 吞吐量 | 单位时间处理能力 | | 数据新鲜度 | 数据更新是否及时 | | 数据准确性 | 数据是否符合质量规则 | | 恢复时间 | 故障后恢复所需时间 | | 变更失败率 | 发布引发故障的比例 | | AI 任务完成率 | AI 产品完成目标任务的比例 | | AI grounded rate | AI 输出能被引用或事实来源支撑的比例 | | 供应链证明覆盖率 | 生产制品具备 SBOM、签名和 provenance 的比例 | ## 7.4 事件响应机制 应建立标准事件响应流程: 1. 异常发现。 2. 告警触发。 3. 影响范围判断。 4. 负责人确认。 5. 应急处理。 6. 临时恢复。 7. 根因分析。 8. 复盘改进。 9. 规则和平台能力修正。 10. 知识库沉淀。 ## 7.5 AI 可观测性 AI 产品必须同时观测工程质量、业务质量和模型质量。 关键指标包括: 1. 请求量、Token 量、模型延迟和错误率。 2. 模型路由、重试、降级和拒绝率。 3. Prompt 版本、模型版本、检索配置和工具版本。 4. RAG 召回率、重排命中率、引用覆盖率和无引用输出比例。 5. Agent 工具调用成功率、人工确认率、循环中断率和超时率。 6. 用户反馈、人工抽检质量、幻觉反馈和任务完成率。 7. 单次任务成本、团队预算消耗、异常成本峰值和语义缓存命中率。 AI 可观测性必须支持回放,至少能还原输入元数据、检索片段、Prompt 版本、模型版本、工具调用、策略判断和最终输出。 ## 7.6 AI 事件响应机制 AI 产品必须有独立事件响应 playbook。通用事件响应流程可以处理服务宕机和延迟,但不足以处理幻觉爆发、工具失控、模型供应商中断、RAG 索引污染和微调模型回退。 典型 AI 事件类型: | 事件类型 | 典型表现 | 首要动作 | | -------- | -------- | -------- | | 幻觉率突然升高 | grounded rate 下降、用户负反馈升高 | 降级到上一版 Prompt / 模型 / 检索配置 | | Prompt 注入成功 | 模型泄露策略、忽略系统指令或越权回答 | 阻断输入模式,回滚 Prompt,增加隔离和过滤 | | 工具调用失控 | Agent 循环调用、重复退款、重复建单 | 关闭高风险工具,启用人工确认和速率限制 | | RAG 索引污染 | 检索到过期、恶意或无权限片段 | 冻结索引,回滚向量索引版本,重建来源数据 | | 模型供应商中断 | 延迟升高、错误率升高、质量异常 | 切换模型路由,缩小上下文,降级到人工流程 | | 微调模型回退 | 特定任务质量下降或安全评估失败 | 下线微调模型,回退基础模型或上一个微调版本 | | 成本失控 | Token、GPU、向量检索或工具调用异常增加 | 限流、降低模型等级、启用预算熔断 | | 敏感信息泄露 | 输出 PII、密钥、内部策略或无权数据 | 关闭相关数据源,启动安全事件流程和审计 | AI 事件响应步骤: 1. 分类:判断是模型、Prompt、RAG、工具、数据、供应商、成本还是权限事件。 2. 止血:切换模型路由、回滚 Prompt、冻结工具、关闭索引、限流或进入人工接管。 3. 取证:保留 trace、Prompt 版本、模型版本、检索片段、工具调用、策略日志和用户反馈。 4. 影响评估:识别受影响用户、业务动作、数据产品、工具、模型版本和时间窗口。 5. 修复:修正 Prompt、检索配置、工具权限、策略规则、索引来源或模型版本。 6. 回归:运行 AI 回归评估、红队用例、权限用例和成本用例。 7. 复盘:更新评估集、Guardrails、SLO、runbook、风险登记和治理门禁。 `governance/playbooks/ai-incident-playbook.md` 应至少包含: 1. 事件分级。 2. 负责人和升级路径。 3. 各类事件的止血动作。 4. 取证字段清单。 5. 回滚和降级矩阵。 6. 用户和监管沟通模板。 7. 复盘模板和门禁修正项。 ## 7.7 可靠性分级与恢复目标 可靠性不能只写“高可用”。每个生产服务、数据产品、AI 产品和关键平台能力都必须声明可靠性等级,并把等级映射到 SLO、RTO、RPO、错误预算、on-call、发布策略和灾备演练。 默认分级: | 等级 | 适用对象 | 可用性目标 | RTO | RPO | 值守要求 | 灾备演练 | | ---- | -------- | ---------- | --- | --- | -------- | -------- | | `Tier-1` | 收入、支付、履约、账户、安全、合规和关键客户路径 | 99.9% - 99.99% | <= 1 小时 | <= 15 分钟 | 7x24 on-call,明确升级路径 | 每季度至少一次 | | `Tier-2` | 重要运营、内部核心流程、关键数据产品和中风险 AI 产品 | 99.5% - 99.9% | <= 4 小时 | <= 4 小时 | 工作时间值守,关键告警可升级 | 每半年至少一次 | | `Tier-3` | 内部辅助工具、低风险后台、实验性能力和非关键报表 | 99.0% 或 best effort | <= 1 个工作日 | <= 24 小时 | 工作时间响应 | 每年至少一次桌面演练 | 分级规则: 1. 等级必须写入 `domain.yaml`、`service.yaml`、`data-product.yaml`、`ai-product.yaml` 或 catalog entry。 2. 服务不能声明高于关键下游依赖的可靠性等级,除非具备缓存、降级、异步补偿或替代路径。 3. `Tier-1` 必须具备 runbook、rollback、告警、容量水位、依赖降级、备份恢复和事故复盘。 4. 数据产品的 RPO 对应数据丢失窗口,freshness 对应数据新鲜度,二者不能混用。 5. AI 产品的 RTO 必须包含模型供应商切换、Prompt 回滚、RAG 索引回滚、工具冻结和人工接管时间。 6. RTO/RPO 必须通过演练、恢复测试或事故复盘验证,不能只写在文档里。 错误预算基线: | 状态 | 触发条件 | 必须动作 | | ---- | -------- | -------- | | 正常 | 错误预算消耗低于 50% | 按正常发布节奏推进 | | 关注 | 错误预算消耗达到 50% - 75% | 复查变更频率、告警噪声、依赖稳定性和容量水位 | | 限制 | 错误预算消耗达到 75% - 100% | 暂停非关键发布,优先可靠性修复和降级演练 | | 冻结 | 错误预算耗尽或连续重大事故 | 冻结功能发布,必须完成复盘、修复和治理门禁更新 | `governance/slo/tiering-policy.md` 应至少包含: 1. Tier 定义和适用对象。 2. 可用性、延迟、错误率、RTO、RPO 和数据 freshness 目标。 3. on-call、升级路径和业务 owner。 4. 发布冻结条件和错误预算策略。 5. 备份、恢复、灾备演练和证据保存要求。 6. 例外审批和到期复审机制。 --- ## 8. 组织与团队模型 ## 8.1 团队类型 现代数字化平台建议采用以下团队结构: | 团队类型 | 职责 | | -------------------------- | -------------------------- | | Stream-aligned Team | 面向业务流,端到端交付客户价值 | | Domain Product Team | 负责领域能力产品、领域模型、API、事件和数据产品 | | Platform Team | 建设内部开发平台,降低业务团队复杂度 | | Data Platform Team | 提供数据平台、数据目录、质量检测、语义层和特征平台 | | AI Product Team | 负责 AI 产品、Agent、RAG、评估集和模型接入治理 | | Enabling Team | 短期赋能其他团队,提升云原生、数据、AI、安全等能力 | | Complicated Subsystem Team | 负责高复杂专业系统,如搜索、推荐、风控模型、交易撮合 | | Governance Team | 制定全局规则,并推动治理自动化 | | Security Team | 负责安全策略、审计、风险管理和安全平台能力 | ## 8.2 责任划分 ### 8.2.1 前台业务团队 负责: 1. 用户体验。 2. 业务流程。 3. 业务指标。 4. 渠道运营。 5. 需求优先级。 6. 客户反馈闭环。 ### 8.2.2 领域团队 负责: 1. 领域能力规划。 2. 领域模型设计。 3. API 和事件发布。 4. 数据产品发布。 5. 服务稳定性。 6. 领域业务指标。 7. 领域架构演进。 ### 8.2.3 平台团队 负责: 1. 内部开发平台。 2. Golden Path。 3. CI/CD。 4. 环境与资源管理。 5. 可观测性平台。 6. 平台安全能力。 7. 成本可视化。 8. 工程效率提升。 9. 供应链安全能力。 10. AI 平台能力。 11. 平台用户研究和认知负载降低。 ### 8.2.4 数据团队 负责: 1. 数据平台能力。 2. 数据目录。 3. 数据质量框架。 4. 指标体系。 5. 语义层。 6. 特征平台。 7. 数据治理工具。 8. 数据消费体验。 ### 8.2.5 AI 产品团队 负责: 1. AI 产品目标、用户和风险等级定义。 2. Agent 工作流、工具权限和人工确认策略。 3. Prompt 版本、评估集和发布回归。 4. RAG 数据源、索引、引用和权限过滤。 5. 模型接入、模型路由和质量评估。 6. AI 可观测性、成本和反馈闭环。 7. 与领域团队、数据团队和安全团队共同完成高风险 AI 场景上线门禁。 ### 8.2.6 Platform PM 负责: 1. 定义平台产品战略、路线图和内部用户画像。 2. 管理 Golden Path 的采用率、成功率、满意度和失败原因。 3. 组织平台用户访谈、开发者体验调研和认知负载评估。 4. 协调平台工程、安全、数据、AI 和治理需求的优先级。 5. 防止平台团队退化为工单承接团队。 ### 8.2.7 治理团队 负责: 1. 架构原则。 2. 标准制定。 3. 治理机制。 4. 合规要求。 5. 规则自动化。 6. 架构评审机制。 7. 治理效果度量。 ## 8.3 RACI 决策权矩阵 RACI 用于明确“谁负责做、谁最终负责、谁必须参与、谁只需知会”。没有 RACI 的企业架构会退化成会议驱动:所有人都能提意见,但没人对结果负责。 定义: 1. `R` Responsible:直接执行和产出交付物的团队。 2. `A` Accountable:对最终结果负责并拥有批准权的角色,原则上每项决策只有一个最终 accountable owner。 3. `C` Consulted:必须咨询并纳入反馈的团队。 4. `I` Informed:需要被通知但不阻塞决策的团队。 企业级默认 RACI: | 决策事项 | A | R | C | I | 必要证据 | | -------- | - | - | - | - | -------- | | 企业架构基线版本发布 | 架构组负责人 | 治理团队 | 平台、数据、安全、AI、领域代表 | 管理层、所有执行团队 | 版本记录、评审记录、门禁结果 | | 新增或拆分核心领域 | 架构组负责人 | 领域团队 | 业务 owner、数据团队、平台团队、安全团队 | 受影响团队 | ADR、领域模型、依赖影响分析 | | 新建生产服务 | 领域团队负责人 | 领域团队 | 平台团队、安全团队、SRE | 治理团队、相关消费者 | `service.yaml`、catalog entry、生产就绪门禁 | | API breaking change | API owner | 领域团队 | 消费方、平台团队、治理团队 | 所有订阅方 | 兼容性报告、迁移计划、弃用日期 | | 事件 Schema breaking change | 事件 owner | 领域团队 | 消费方、数据团队、平台团队 | 治理团队 | 消费者影响分析、Schema 迁移计划 | | 数据产品发布 | 数据产品 owner | 领域团队 | 数据平台团队、安全团队、下游消费者 | 治理团队 | 数据契约、质量报告、权限策略 | | 高风险 AI 产品上线 | 业务 owner | AI 产品团队 | 安全、法务/合规、数据团队、领域团队 | 平台团队、治理团队 | 风险分级、评估报告、回放证据、人工确认策略 | | 平台 Golden Path 变更 | Platform PM | 平台团队 | 领域团队、安全团队、SRE、AI 团队 | 所有平台用户 | 迁移说明、用户影响、回滚路径 | | 供应链安全准入策略变更 | 安全负责人 | 安全团队 | 平台团队、治理团队、领域代表 | 所有服务 owner | 策略测试、例外清单、阻断阈值 | | GitOps 生产环境策略变更 | SRE / 环境 owner | 平台团队或 SRE | 安全团队、领域团队、治理团队 | 受影响服务 owner | GitOps diff、回滚计划、准入结果 | | SLO 等级或 RTO/RPO 调整 | 业务 owner | 领域团队或平台 owner | SRE、治理团队、数据/AI owner | 管理层和消费者 | tiering policy、风险接受、演练证据 | | 治理例外审批 | 治理负责人 | 申请团队 | 安全、平台、数据、AI 或 SRE | 受影响团队 | 例外原因、风险、缓解措施、到期时间 | 执行规则: 1. 每个生产系统、数据产品、AI 产品和平台能力必须有一个 accountable owner。 2. `A` 可以授权执行,但不能把最终责任转移给平台团队、治理团队或供应商。 3. 高风险 AI、安全、合规和供应链变更可以有多个必需审批门禁,但仍必须指定单一业务或技术 accountable owner。 4. RACI 变更本身必须进入架构决策记录或治理变更记录。 5. `governance/ownership/raci.yaml` 是机器可读 RACI 真相源,文档表格只作为说明。 --- ## 9. 关键业务流程示例 ## 9.1 新服务创建流程 1. 团队在 Developer Portal 选择服务模板。 2. 平台自动创建代码仓库。 3. 平台自动生成基础代码、CI/CD 流水线和部署配置。 4. 团队填写服务元数据、负责人和所属领域。 5. 平台自动接入日志、指标、链路追踪和告警。 6. 平台自动执行安全扫描和依赖检查。 7. 服务部署到测试环境。 8. 通过发布准入后进入生产环境。 9. 服务在服务目录中可见。 10. 后续运行质量纳入 SLO 监控。 ## 9.2 新 API 发布流程 1. 领域团队设计 API。 2. API 文档和契约提交到 API 管理平台。 3. 平台自动检查命名、鉴权、版本和错误码规范。 4. 安全策略自动生效。 5. API 发布到网关。 6. 消费方通过门户申请使用。 7. 调用情况、错误率和延迟自动监控。 8. 版本变更自动通知下游消费者。 ## 9.3 新数据产品发布流程 1. 领域团队定义数据产品。 2. 填写业务口径、字段含义、数据负责人和更新频率。 3. 配置数据质量规则。 4. 配置数据分级、脱敏和访问权限。 5. 平台自动检测血缘和质量。 6. 数据产品进入数据目录。 7. 消费方申请访问。 8. 数据使用行为被记录和审计。 9. 数据质量和使用情况持续监控。 ## 9.4 跨领域业务流程 以“用户下单”为例: 1. 前台体验层提交下单请求。 2. 体验编排层完成渠道校验和上下文组装。 3. 订单域创建订单。 4. 商品域校验商品状态。 5. 库存域锁定库存。 6. 支付域发起支付。 7. 风控域进行交易风险评估。 8. 履约域接收订单履约事件。 9. 营销域核销优惠权益。 10. 数据产品网络沉淀订单、支付、履约和营销数据。 11. 经营分析、推荐模型和风控模型消费相关数据产品。 ## 9.5 新 AI 产品发布流程 1. AI 产品团队定义业务目标、用户范围、风险等级和退出机制。 2. 领域团队确认可调用 API、事件、工具和业务动作边界。 3. 数据团队确认可消费数据产品、特征、向量索引和评估样本。 4. AI 团队提交 Prompt、Agent 工作流、RAG 配置、工具权限和评估集。 5. 平台自动执行 Prompt 回归、RAG 权限校验、工具权限校验和成本预算校验。 6. 安全团队执行提示注入、越权、数据泄露和高风险动作测试。 7. 产品进入灰度,持续观察任务完成率、grounded rate、人工确认率、用户反馈和成本。 8. 达到门禁后进入生产;不达标时回滚到上一个 Prompt、模型、检索或人工流程。 9. 所有模型调用、工具调用、评估结果和人工确认记录进入审计。 ## 9.6 新微调模型发布流程 1. AI 产品团队提交微调必要性说明,证明 Prompt、RAG、工具和模型路由不足以满足目标。 2. 数据 owner 确认训练数据授权、分级、脱敏、保留期限和禁止用途。 3. AI 团队登记实验,记录基础模型、数据版本、代码版本、训练配置和成本。 4. 平台执行数据质量、PII、版权、泄露和训练/评估集隔离检查。 5. 模型通过独立评估集、安全用例、红队用例和业务验收。 6. 模型进入 Model Registry,生成 Model Card、风险等级、适用范围和回滚模型。 7. 模型进入 shadow 或灰度发布,观察质量、安全、成本和用户反馈。 8. 达到门禁后进入生产;不达标时回滚基础模型或上一版微调模型。 9. 微调数据授权撤销、数据污染或模型退化时,触发禁用、重训或退役流程。 ## 9.7 供应链安全发布流程 1. 开发者提交代码并触发 CI。 2. CI 执行测试、静态扫描、依赖扫描、许可证检查和密钥扫描。 3. 构建系统使用受控构建器生成制品。 4. 构建系统生成 SBOM 和 provenance。 5. 制品进入镜像仓库或制品库后完成签名。 6. 发布前准入控制器执行验签、SBOM 策略、漏洞阈值和来源策略。 7. GitOps 或发布系统只部署通过准入的不可变制品。 8. 运行期持续监控新漏洞、异常行为和供应链策略漂移。 --- ## 10. 技术标准 ## 10.1 API 标准 1. API 必须有明确业务语义。 2. API 必须有版本管理。 3. API 必须有统一认证和授权。 4. API 必须有错误码规范。 5. API 必须有超时、限流和熔断策略。 6. API 必须有文档和示例。 7. API 变更必须评估兼容性。 8. 废弃 API 必须提前通知消费者。 ## 10.2 事件标准 1. 事件命名必须体现领域和业务含义。 2. 事件必须有 Schema。 3. 事件必须有版本。 4. 事件必须有生产者和消费者记录。 5. 事件必须支持幂等处理。 6. 事件变更必须兼容已有消费者。 7. 关键事件必须纳入监控和审计。 ## 10.3 数据标准 1. 核心数据必须有业务定义。 2. 核心指标必须有统一口径。 3. 数据产品必须有负责人。 4. 数据产品必须有质量规则。 5. 敏感字段必须标注。 6. 数据访问必须授权。 7. 数据使用必须可审计。 8. 重要数据变更必须通知下游。 ### 10.3.1 数据契约最低字段 数据产品必须具备机器可读数据契约,不能只依赖表说明。 最低字段包括: 1. owner、domain、consumer、lifecycle。 2. schema、字段类型、nullable、枚举、主键和时间字段。 3. semantic grain、指标口径、业务定义和限制。 4. freshness、completeness、validity、uniqueness 和 accuracy 规则。 5. classification、PII、retention、access policy 和审计要求。 6. lineage、upstream、downstream 和 breaking change 通知策略。 7. AI usage policy:是否允许训练、Embedding、RAG、特征、评估和在线推理。 8. cost owner、SLO 和消费示例。 数据契约必须进入 CI,至少校验 schema 兼容、质量规则、权限策略和下游影响。 ## 10.4 工程标准 1. 代码必须通过质量扫描。 2. 依赖必须通过漏洞检查。 3. 镜像必须通过安全扫描。 4. 发布必须经过自动化流水线。 5. 配置和密钥必须分离。 6. 生产变更必须可追踪。 7. 关键系统必须支持灰度发布和回滚。 8. 服务必须接入可观测性平台。 ## 10.5 机器可读契约目录 所有跨团队、跨系统、跨领域的接口都应进入 `contracts/`,避免只靠口头约定、文档段落或代码注释协作。 ```text contracts/ ├── apis/ │ ├── public/ │ ├── internal/ │ └── partner/ ├── events/ │ ├── topics/ │ └── schemas/ ├── schemas/ │ ├── json/ │ ├── proto/ │ └── avro/ ├── datasets/ │ ├── products/ │ ├── quality-rules/ │ └── semantic-layer/ ├── ai/ │ ├── tools/ │ ├── prompts/ │ ├── rag/ │ ├── evals/ │ ├── fine-tuning/ │ └── guardrails/ ├── resources/ │ ├── terraform-modules/ │ ├── kubernetes-crds/ │ └── cloud-resources/ └── policies/ ├── iam/ ├── opa/ └── data-access/ ``` 契约变更规则: 1. API breaking change 必须先完成消费者影响分析。 2. 事件 Schema 默认只允许向后兼容演进。 3. 数据产品 Schema 必须校验字段语义、类型、分级和质量规则。 4. AI 工具契约必须校验权限、Schema、幂等、超时、审计和人工确认策略。 5. 微调契约必须校验训练数据授权、实验追踪、评估集隔离、模型登记和回滚路径。 6. Policy 必须声明策略引擎、策略范围和测试用例,并通过语法、单元测试和关键路径场景测试。 7. 契约变更必须进入 CI,不能只停留在文档。 ## 10.6 软件和数据资产目录 `catalog/` 让系统、服务、API、资源、数据产品、owner 和生命周期可发现。 ```text catalog/ ├── systems/ ├── components/ ├── resources/ ├── apis/ ├── data-products/ ├── ai-products/ ├── models/ ├── agents/ ├── domains/ └── scorecards/ ``` 组件登记示例: ```yaml name: order-command-service kind: component type: service domain: order system: order-system owner: team-order lifecycle: production tier: tier-1 providesApis: - domain:order:orders-internal-api publishesEvents: - domain:order:order-created dependsOn: - resource:order-primary-db - api:customer-internal-api - topic:payment-authorized runtime: platform: kubernetes namespace: order-prod deployment: order-command-service imageRepository: registry.company.com/order/order-command-service gitopsPath: infra/gitops/environments/prod/order/order-command-service scorecards: productionReadiness: pass security: pass reliability: warn ``` 核心规则: 1. 没有 catalog entry 的生产组件不能发布。 2. 没有 owner 的系统不能进入生产。 3. 没有 lifecycle 的资产不能被消费者依赖。 4. 资源必须可追溯到 owner、系统、环境和成本中心。 5. catalog 只能指向运行对象和 GitOps 路径,不能成为部署真相源。 ## 10.7 AI 标准 1. AI 产品必须有 `ai-product.yaml`、owner、风险等级、SLO 和 runbook。 2. Prompt、模型、工具、RAG 和评估集必须版本化。 3. Agent 工具调用必须声明权限、Schema、幂等、超时、重试、审计和人工确认策略。 4. RAG 索引必须声明来源、授权、Embedding 模型、索引版本和重建策略。 5. 高风险 AI 输出必须支持引用、回放、人工确认或人工接管。 6. AI 发布必须通过离线评估、在线灰度、成本预算和安全门禁。 7. AI 调用必须接入统一可观测性和审计。 8. 模型供应商、日志保留、数据使用和跨境传输策略必须明确。 ## 10.8 供应链安全标准 1. 生产构建必须可追溯到源码 commit、构建器、依赖和制品摘要。 2. 生产制品必须生成 SBOM。 3. 生产制品必须签名,部署前必须验签。 4. 依赖必须锁定版本,升级必须经过漏洞和许可证检查。 5. 基础镜像必须来自批准来源,并定期更新。 6. 高风险漏洞不得通过生产准入;例外必须有 owner、到期时间和补救计划。 7. 关键系统必须逐步达到更高 SLSA 构建等级。 8. 供应链证据必须可被审计系统查询和长期保留。 ## 10.9 容器与 GitOps 标准 1. 每个生产微服务必须有服务目录、Dockerfile / Containerfile、`service.yaml` 和 catalog entry。 2. 镜像必须推送到受控 container registry,不进入 Git 仓库。 3. 镜像 tag 可以使用 git sha、语义版本或构建号,但生产部署必须可追溯到 digest。 4. Kubernetes manifest 必须声明 requests、limits、health check、readiness、ServiceAccount 和最小权限。 5. dev、staging、prod 的差异必须通过 GitOps overlay 表达,不能在服务代码里硬编码环境差异。 6. 生产部署必须经过 SBOM、provenance、签名验签、漏洞阈值和策略准入。 7. 环境期望状态由 `infra/gitops/` 或等价 GitOps 仓库管理,实际运行状态由 Kubernetes 和 GitOps controller 管理。 8. catalog 记录 owner、domain、runtime、namespace、deployment 和 GitOps 路径,但不直接承载 Deployment manifest。 9. 平台团队维护模板、流水线和准入策略;服务团队维护服务代码和服务运行契约;环境 owner 维护环境级 overlay。 ## 10.10 可执行企业标准包 本节把前文的架构原则转成可执行标准的第一批落地口径。它的目标不是把所有企业都锁死在同一个目录里,而是明确字段权威、模板骨架、自动化门禁和漂移检测规则,避免团队各写一份相似但互相冲突的 YAML。 ### 10.10.1 字段权威矩阵 同一个字段只能有一个权威真相源。其他位置可以引用、派生、缓存或展示,但不能反向覆盖权威字段。 | 对象 | 字段类型 | 权威真相源 | 可派生到 | 禁止事项 | | ---- | -------- | ---------- | -------- | -------- | | 领域 | domain id、边界、owner、上游、下游、能力地图 | `domains/{domain}/domain.yaml` | `catalog/domains/`、Developer Portal、治理看板 | 在 catalog 中重新定义领域边界 | | 服务 | 服务名、所属领域、owner、端口、健康检查、依赖、资源诉求、SLO、runbook | `domains/{domain}/services/{service}/service.yaml` | `catalog/components/`、CI、平台门户、生产就绪门禁 | 在 GitOps overlay 或 catalog 中改服务 owner 和领域 | | API | endpoint、operation、schema、版本、兼容策略、鉴权要求 | `contracts/apis/` 或 `domains/*/apis/` | API Portal、SDK 生成器、兼容性测试 | 只在 README 或代码注释里维护接口契约 | | 事件 | topic、schema、生产者、消费者、幂等键、兼容策略 | `contracts/events/` 或 `domains/*/events/` | Schema Registry、事件目录、消费者影响分析 | 未声明消费者就发布 breaking change | | 数据产品 | 产品身份、owner、语义粒度、质量规则、分级分类、血缘、freshness、AI 使用策略 | `domains/{domain}/data-products/{data-product}/data-product.yaml` | 数据目录、质量看板、AI 数据授权、成本看板 | 让数据目录替代数据产品契约 | | 数据契约 | schema、字段语义、兼容策略、访问策略、质量断言 | `contracts/datasets/` | 数据平台、Schema Registry、质量检查、权限网关 | 只在报表或口头口径里维护数据语义 | | AI 产品 | 风险等级、模型路由、Prompt 引用、RAG 引用、工具引用、评估集、护栏、人工确认 | `ai/applications/{ai-product}/ai-product.yaml` | AI catalog、LLM Gateway、Agent Runtime、审计系统 | 让 Agent 直接绕过领域 API 或工具注册表 | | AI 契约 | 工具输入输出、Prompt 版本、RAG 来源、评估集、护栏策略、微调数据授权 | `contracts/ai/` | AI 发布门禁、LLM Gateway、Tool Registry、审计系统 | 把 Prompt 或工具权限只藏在应用代码里 | | catalog | 展示名、生命周期、owner 引用、关系图、runtime 指针、scorecard 结果 | `catalog/`,其中关键字段从权威源生成或校验 | Developer Portal、审计报表、搜索和发现 | 把 catalog 当 Deployment、领域模型或数据契约真相源 | | GitOps | 环境、namespace、镜像 digest、replicas、资源 overlay、灰度策略 | `infra/gitops/environments/{env}/...` 或独立 GitOps 仓 | Argo CD / Flux、发布审计、回滚记录 | 在服务目录中硬编码环境差异 | | Kubernetes runtime | pod、deployment、service、live status、事件、当前副本和运行指标 | Kubernetes API 和可观测性平台 | 运行看板、SLO、事件响应 | 把运行时实际状态回写成 Git 中的期望状态 | | 治理规则 | 标准、门禁、例外、ADR、风险接受、复盘和到期时间 | `governance/` | CI、Policy as Code、审计系统、架构评审 | 口头豁免或永久例外 | 字段流转规则: 1. `domain.yaml`、`service.yaml`、`data-product.yaml` 和 `ai-product.yaml` 是产品团队维护的源头契约。 2. `contracts/` 维护机器可校验的接口、事件、数据、AI 工具、Prompt、RAG 和策略契约。 3. catalog 优先由源头契约和 `contracts/` 生成或校验,人工维护字段只限展示、分组、关系补充和生命周期说明。 4. GitOps 只声明环境期望状态,不拥有服务业务身份、领域边界、API 语义和数据语义。 5. Kubernetes 和可观测性平台只代表实际运行状态,不应反向改写 GitOps 期望状态。 6. 治理规则必须能被 CI、Policy as Code、平台门户或审计系统消费,否则只是说明文。 ### 10.10.2 Starter Kit 最小模板 企业启动试点时不应先创建完整目录树,而应先创建能被平台、catalog、GitOps 和治理门禁识别的最小模板。 ```text domains/{domain}/domain.yaml domains/{domain}/services/{service}/service.yaml domains/{domain}/data-products/{data-product}/data-product.yaml ai/applications/{ai-product}/ai-product.yaml contracts/apis/{api}.openapi.yaml contracts/events/{event}.asyncapi.yaml contracts/ai/tools/{tool}.yaml catalog/components/{service}.yaml catalog/data-products/{data-product}.yaml catalog/ai-products/{ai-product}.yaml governance/architecture-gates/production-readiness.yaml governance/ownership/raci.yaml governance/slo/tiering-policy.md governance/migration/deprecation-policy.md governance/evidence/releases/{service-release}.yaml governance/evidence/supply-chain/{service-attestation}.yaml governance/evidence/exceptions/{policy-exception}.yaml governance/evidence/compatibility/{api-or-event-report}.yaml governance/evidence/drift/{service-drift-report}.yaml governance/control-plane/conformance-profile.yaml governance/control-plane/control-plane.yaml governance/control-plane/release-gate-decision.yaml governance/control-plane/standards-baseline.yaml governance/control-plane/version-governance.yaml governance/evidence/verification/{baseline-verification-lock}.yaml governance/evidence/baselines/{baseline-artifact-inventory}.yaml governance/evidence/baselines/{baseline-release-evidence}.yaml governance/evidence/compatibility/{baseline-compatibility-ledger}.yaml governance/evidence/adoption/{baseline-adoption-ledger}.yaml governance/evidence/support/{baseline-support-matrix}.yaml governance/evidence/release-trains/{baseline-release-train}.yaml governance/evidence/communications/{baseline-notification-ledger}.yaml governance/evidence/rollback/{baseline-rollback-verification}.yaml governance/evidence/conformance/{baseline-conformance-claim}.yaml infra/gitops/environments/dev/{domain}/{service}/kustomization.yaml infra/gitops/environments/prod/{domain}/{service}/kustomization.yaml ``` `domain.yaml` 最低字段: ```yaml domain: order name: Order Domain owner: team-order lifecycle: production boundedContext: docs/domain-model.md capabilities: - order-command - order-query upstream: - customer downstream: - payment - fulfillment sloTier: tier-1 dataClassification: internal architectureDecision: - governance/decisions/adr-0001-order-boundary.md ``` `service.yaml` 最低字段: ```yaml service: order-command-service domain: order owner: team-order lifecycle: production tier: tier-1 runtime: type: kubernetes imageRepository: registry.company.com/order/order-command-service ports: http: 8080 health: liveness: /healthz readiness: /readyz resources: requests: cpu: 200m memory: 256Mi limits: cpu: "1" memory: 1Gi dependencies: apis: - customer-profile-api events: publishes: - order-created subscribes: - payment-authorized slo: availability: 99.9 latencyP95Ms: 300 reliability: rto: 1h rpo: 15m onCall: governance/ownership/escalation-policy.md errorBudgetPolicy: governance/slo/error-budget-policy.md drillEvidence: governance/evidence/drills/order-command-service-2026-q2.md runbook: docs/runbook.md rollback: docs/rollback.md ``` `data-product.yaml` 最低字段: ```yaml dataProduct: order-facts domain: order owner: team-order lifecycle: production tier: tier-2 consumers: - revenue-dashboard - customer-service-agent schema: schema/order-facts.schema.yaml semanticGrain: one row per order state transition freshness: 15m quality: completeness: ">= 99.5%" validity: ">= 99.0%" uniqueness: order_event_id accuracy: reconciled with payment settlement daily classification: level: confidential pii: - customer_id retention: 2y accessPolicy: policy: governance/data-governance/order-facts-access.rego approvalRequired: true audit: enabled: true logRetention: 2y lineage: upstream: - order-command-service downstream: - revenue-dashboard - customer-service-agent aiUsage: allowed: - rag - evaluation disallowed: - foundation-model-training cost: owner: team-order allocationTag: cost.domain.order slo: freshness: 15m availability: 99.5 ``` `ai-product.yaml` 最低字段: ```yaml aiProduct: customer-service-agent owner: team-support-ai lifecycle: beta riskTier: R3 businessGoal: assist support agents with grounded answers model: gatewayRoute: support-safe-default approvedModel: vendor-support-model modelVersion: "2026-05" prompts: system: prompts/system.prompt.md rag: sources: rag/sources.yaml vectorIndex: vector:customer-support-policy:v12 tools: - tool: refund-preview riskLevel: high requiresHumanApproval: true evals: regression: evals/regression.yaml redTeam: evals/red-team.yaml guardrails: policy: guardrails/policy.rego observability: traceRetentionDays: 180 replayEnabled: true slo: taskCompletionRate: ">= 85%" groundedAnswerRate: ">= 95%" toolErrorRate: "<= 2%" p95LatencyMs: 6000 budget: monthlyUsd: 3000 costPerSuccessfulTaskUsd: 0.12 owner: team-support-ai fallback: degradedMode: human-support-queue humanHandoff: support-workbench rollbackPrompt: prompts/system.previous.prompt.md providerPolicy: logRetention: 30d dataTrainingOptOut: true crossBorderReview: governance/security/cross-border-ai-review.md dataUsePolicy: allowed: - rag - evaluation disallowed: - foundation-model-training runbook: incident: governance/playbooks/ai-incident-playbook.md rollback: docs/rollback.md ``` V2.82 starter kit 还提供以下可执行契约模板: 1. `api-contract.yaml`:API producer、consumer、auth、版本和兼容策略。 2. `event-contract.yaml`:事件 topic、schema、幂等键、投递语义和消费者。 3. `ai-tool-contract.yaml`:AI 工具输入输出、风险等级、人工确认、权限、审计和运行限制。 4. `rag-index-contract.yaml`:RAG 来源、Embedding、切分、访问控制、刷新和删除策略。 5. `fine-tuning-contract.yaml`:微调数据授权、实验追踪、评估、发布门禁和回滚。 6. `fine-tuning-run.yaml`:单次微调运行的数据授权、数据准备、实验 run、评估、模型登记、审批、灰度发布、监控和退役证据。 7. `repository-change-control.yaml` 与 `repository-protection-runbook.md`:CODEOWNERS、受保护分支、PR 审查、必需检查、签名提交、禁止直推、发布 tag 保护、远端保护状态验证、标准整改、break-glass、POA&M 和风险登记。 8. `gitops-deployment.yaml`:环境、namespace、镜像 digest、资源、ServiceAccount、Pod 安全、网络策略、HPA、PDB、配置引用、发布策略和供应链准入。 9. `catalog-data-product.yaml`、`catalog-ai-product.yaml`:catalog 指针、owner、生命周期和运行索引。 10. `scorecard.yaml`:生产就绪、供应链、运行证据和复审周期。 11. `release-evidence.yaml`:发布版本、commit、GitOps revision、镜像 digest、catalog 指针、pipeline run、测试和批准证据。 12. `supply-chain-attestation.yaml`:构建来源、source control、SLSA 等级、builder identity、SBOM、provenance、签名、证书、透明日志、漏洞扫描、OpenSSF Scorecard 和验签命令。 13. `policy-exception.yaml`:治理例外、补偿控制、批准日期、到期日期、补救计划和过期自动阻断要求。 14. `api-compatibility-report.yaml`:API 版本兼容、消费者影响、breaking change 明细、豁免状态和发布决策。 15. `event-compatibility-report.yaml`:事件 Schema 兼容、消费者影响、重放要求、豁免状态和发布决策。 16. `gitops-drift-report.yaml`:GitOps 期望状态、运行观测状态、镜像/config/policy 漂移和发布阻断决策。 17. `extension-policy.yaml`:严格 schema 下的受控扩展前缀、审批记录、默认拒绝和未知字段行为。 18. `feature-flag-control.yaml`:Feature Flag、评估上下文、灰度策略、Kill Switch、SLO 燃尽回滚和曝光事件。 19. `ai-threat-model.yaml`:OWASP LLM / Agentic AI、MCP 工具边界、Prompt Injection 测试、红队结果和残余风险接受。 20. `lineage-event.yaml`:数据产品运行血缘事件、producer job、run state、输入输出数据集、schema 和质量证据。 21. `platform-product-metrics.yaml`:Platform PM、Golden Path、采用率、开发者满意度、认知负载、自助完成率和平台 SLO。 22. `privacy-impact-assessment.yaml`:隐私影响评估、处理目的、合法基础、主体权利、删除传播和 AI 使用限制。 23. `tenant-boundary.yaml`:租户、namespace、ServiceAccount、Secret 范围、ResourceQuota、NetworkPolicy 和准入策略。 24. `recovery-drill-evidence.yaml`:恢复演练、RTO/RPO 目标、实际恢复结果、备份、恢复日志和复盘证据。 25. `policy-test-report.yaml`:策略引擎、策略版本、测试总数、失败数、阻断决策和执行命令证据。 26. `genai-observability-contract.yaml`:OpenTelemetry GenAI、模型路由、Token、成本、工具调用、RAG span、日志脱敏和留存。 27. `ai-incident-playbook.yaml`:AI 事件响应 playbook、幻觉爆发、工具循环、RAG 索引污染、供应商中断、成本异常、检测、遏制、降级、回滚、工具 Kill Switch 和复盘。 28. `cost-allocation-evidence.yaml`:成本周期、owner、allocation tag、标签覆盖率、未分摊成本、成本来源和优化行动。 29. `identity-access-review.yaml`:身份源、角色、权限范围、特权身份、break-glass、MFA 和访问复核证据。 30. `secrets-rotation-evidence.yaml`:Secret provider、KMS、静态加密、轮换周期、轮换结果和泄露扫描证据。 31. `vulnerability-remediation-evidence.yaml`:漏洞 ID、严重度、KEV 状态、修复 SLA、残余风险和发布准入决策。 32. `incident-postmortem.yaml`:单次事故影响、检测/恢复时间、根因、纠正行动、runbook 更新、门禁反哺和关闭审批;基线级闭合由 `baseline-incident-problem-corrective-action-ledger.yaml` 汇总证明。 33. `evidence-freshness-policy.yaml`:证据最大年龄、按类型过期策略、必需证据、CI 执行和过期阻断策略。 34. `control-evidence-map.yaml`:控制项 ID、证据路径、状态、新鲜度、必需性和阻断属性。 35. `audit-export-manifest.yaml`:审计导出包范围、内容清单、验证结果、签名要求和留存复审。 36. `control-assessment-report.yaml`:控制评估范围、评估人、控制结果、发现项、整改、剩余风险和签署状态。 37. `baseline-change-record.yaml`:架构基线变更版本、前序版本、决策记录、影响分析、审批、验证命令、回滚计划和留存复审。 38. `architecture-decision-record.yaml`:ADR 上下文、备选方案、取舍、决策、关联控制项、风险、POA&M、复审和留存。 39. `oscal-export-profile.yaml`:OSCAL catalog、component-definition、SSP、assessment-results 和 POA&M 交换映射。 40. `audit-export-gate.yaml`:internal-command://architecture/export-modern-architecture-audit、本地质量门禁、输出不变量、OSCAL 摘要一致性和留存复审。 41. `audit-export-integrity.yaml`:审计导出生成物、SHA-256 摘要、源制品哈希和防篡改校验。 42. `audit-export-provenance.yaml`:审计导出 subject、构建定义、导出命令、源码提交和源证据依赖追溯。 43. `audit-export-signing-policy.yaml`:审计导出 provenance payload 摘要、Cosign 签名交接、验签命令和本地门禁边界。 44. `audit-export-signature-receipt.yaml`:审计导出外部签名完成后的 payload 摘要、bundle 摘要、证书身份、透明日志和验签结果。 45. `poam-record.yaml`:POA&M 发现项、责任人、整改行动、里程碑、证据、签署和复审。 46. `risk-register.yaml`:企业架构风险、处理策略、关联控制项、关联 POA&M、缓解行动、残余风险和复审。 47. `ai-evidence.yaml`:AI 产品证据账本、模型、Prompt、RAG、工具、评估、威胁模型、观测、事件响应、数据使用、审批、留存和复审。 48. `conformance-profile.yaml`:资产合规等级、风险画像、数据敏感度、AI 风险、监管强度、必须门禁和裁剪边界。 49. `control-plane.yaml`:企业执行控制面总账、控制项、证据、owner、阻断级别、自动化状态、复核周期和退出标准。 50. `release-gate-decision.yaml`:门禁决策、通过、阻断、条件放行、例外、break-glass、回滚要求和复核证据。 51. `standards-baseline.yaml`:外部标准版本、稳定性分级、采纳等级、适用范围、复核周期、升级门禁和回滚策略。 52. `version-governance.yaml`:基线身份、发布通道、源 commit、release tag、兼容窗口、冻结策略、升级门禁和回滚入口。 53. `baseline-release-evidence.yaml`:基线晋级决策、不可变引用、漂移复核、冻结检查、审计导出摘要、验签结果和回滚验证。 54. `baseline-compatibility-ledger.yaml`:消费者影响、受影响契约、迁移状态、弃用截止、例外、POA&M 和风险接受。 55. `baseline-adoption-ledger.yaml`:基线采用范围、采纳目标、当前基线、目标基线、采纳状态、逾期、例外和整改证据。 56. `baseline-support-matrix.yaml`:基线支持状态、维护窗口、安全补丁、EOL、冻结口径、最低可接受基线和例外。 57. `baseline-release-train.yaml`:基线候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁和发布日历。 58. `baseline-conformance-claim.yaml`:资产声明基线、适用门禁、证据路径、例外、签署、复核和采纳总账回写。 59. `baseline-artifact-inventory.yaml`:基线源制品、schema、示例、控制项、证据模板、脚本、生成物、外部引用、SHA-256、签名状态和导出关系。 60. `baseline-verification-lock.yaml`:基线校验命令、runner 镜像、工具版本、策略包、schema validator、签名验签工具和审计导出生成环境。 61. `baseline-notification-ledger.yaml`:基线通知对象、通知渠道、送达回执、影响确认、异议、补发、例外审批和冻结前完成状态。 62. `baseline-exception-ledger.yaml`:基线级例外来源、受影响资产、owner、到期、风险接受、POA&M、补偿控制、阻断状态和关闭证据。 63. `baseline-rollback-verification.yaml`:上一基线、回滚目标 tag/commit、GitOps revision、审计导出恢复、烟测结果、恢复耗时、验证时效和阻断策略。 64. `baseline-readiness-scorecard.yaml`:基线晋级硬门禁、评分维度、证据路径、权重、阈值、阻断项和 baseline/frozen 最终判定。 65. `baseline-lifecycle-state-machine.yaml`:基线状态集合、允许迁移、禁止迁移、前置证据、审批责任、状态回写和迁移审计记录。 66. `baseline-state-reconciliation-report.yaml`:跨账本状态对账、状态漂移检测、状态回写结果、审计导出状态一致性和阻断决策。 67. `baseline-eol-retirement-certificate.yaml`:旧基线退役对象、生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断证明。 68. `baseline-review-board-decision.yaml`:基线会审范围、证据核验、投票签署、反对意见、条件动作、风险接受和最终裁决证明。 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`:基线撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档证明。 73. `baseline-enforcement-policy.yaml`:基线最低版本、支持状态、撤销/EOL 状态、资产声明、例外有效期、GitOps / catalog / Golden Path 准入阻断证明。 74. `baseline-consumption-lock.yaml`:资产消费端锁定 baseline ID、source commit、release tag、证据图摘要、制品清单摘要、验证锁摘要、准入策略摘要和过期复核证明。 75. `baseline-migration-work-order.yaml`:目标资产、当前基线、目标基线、迁移步骤、依赖、GitOps 变更、消费锁更新、验收证据和回滚动作证明。 76. `baseline-migration-execution-receipt.yaml`:迁移实际命令、执行人、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证证明。 77. `baseline-local-artifact-boundary.yaml`:本地私有 starter kit、生成 JSON、校验脚本、禁推原因、摘要留存、允许用途、远端排除和审计留存证明。 78. `audit-export-exclusion-manifest.yaml`:审计导出原文白名单、摘要留存项、强制排除项、签名 payload 排除项和导出后验证证明。 79. `private-artifact-escrow-manifest.yaml`:本地私有和禁推可执行资产的私有制品库引用、不可变摘要、访问控制、留存、取回和恢复验证证明。 80. `baseline-clean-room-reconstruction-receipt.yaml`:干净 runner 从远端 commit、私有托管制品和锁定工具链重建基线、审计导出和门禁结果的证明。 81. `baseline-evidence-archive-receipt.yaml`:基线关键证据进入不可变留存库、对象锁、WORM、legal hold、访问日志、删除保护和恢复演练的证明。 82. `baseline-signature-ltv-receipt.yaml`:基线签名材料的长期验签证明,覆盖证书链、透明日志、时间戳、撤销状态、验证工具和归档引用。 83. `baseline-runtime-admission-receipt.yaml`:基线运行时准入证明,覆盖 Kubernetes admission、策略引擎、镜像 digest、签名/provenance/SBOM、消费锁、撤销/EOL 阻断和拒绝样例。 84. `baseline-runtime-admission-decision-ledger.yaml`:基线运行时准入决策总账,覆盖 Kubernetes audit requestUID、admission webhook、策略规则、actor、allow/deny、PolicyReport、OPA decision log、原始日志摘要和留存位置。 85. `baseline-continuous-control-monitoring-ledger.yaml`:基线连续控制监测总账,覆盖关键控制项、监测指标、日志源、告警规则、监测窗口、owner、漂移事件、处置工单、MTTD/MTTR 和证据新鲜度。 86. `baseline-control-assurance-sampling-ledger.yaml`:基线独立控制保证抽样总账,覆盖独立评估人、评估范围、控制总体、抽样方法、样本证据、设计有效性、运行有效性、发现项、整改、残余风险、签署和 OSCAL Assessment Results。 87. `baseline-control-inheritance-ledger.yaml`:基线共享责任与继承控制总账,覆盖公共控制、继承控制、共享责任、消费者义务、责任边界、继承条件、证据来源、有效期、失效条件和审计映射。 88. `baseline-data-residency-transfer-ledger.yaml`:基线数据驻留与跨境处理总账,覆盖数据类别、监管区域、允许区域、实际存储/处理/备份/日志/向量索引/模型供应商区域、传输机制、子处理方、补充保护措施、删除传播和区域漂移阻断。 89. `baseline-third-party-risk-ledger.yaml`:基线第三方与关键供应商风险总账,覆盖关键供应商分级、服务范围、受影响资产、数据类别、合同控制、DPA/SLA、审计权、保证报告、集中度、退出计划、替代路径、连续性、供应商事件和失效阻断。 90. `baseline-operational-resilience-ledger.yaml`:基线运营韧性与重要业务服务影响容忍总账,覆盖重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景、恢复演练、人工替代、沟通计划、第三方依赖、超限升级和韧性缺口阻断。 91. `baseline-regulatory-obligation-ledger.yaml`:基线监管与合规义务可追溯总账,覆盖义务源、司法辖区、适用资产、控制目标、控制项映射、证据映射、owner、例外、POA&M、监管变更和生效期限。 92. `baseline-records-retention-legal-hold-ledger.yaml`:基线记录留存、法律保全与可防御删除总账,覆盖记录类别、留存排期、义务来源、司法辖区、legal hold、删除资格、删除传播、备份/日志/向量索引处置、保全解除和可防御删除回执。 93. `baseline-privacy-rights-consent-ledger.yaml`:基线隐私权利请求、同意偏好与合法基础执行总账,覆盖处理目的、合法基础、同意版本、同意撤回、偏好传播、权利请求 SLA、自动化决策复核、第三方传播和下游处理阻断。 94. `baseline-processing-activity-inventory-ledger.yaml`:基线处理活动、个人数据清单与 RoPA 覆盖总账,覆盖处理活动、数据主体类别、个人数据类别、角色、接收方、跨境传输、保留映射、DPIA、合法基础、AI/数据产品用途和发现覆盖。 95. `baseline-identity-entitlement-access-ledger.yaml`:基线身份权限、特权访问与工作负载身份总账,覆盖人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、孤儿账号、过期权限和运行时身份绑定。 96. `baseline-asset-criticality-classification-ledger.yaml`:基线资产关键性、数据分类与风险分级总账,覆盖资产 owner、业务关键性、SLO Tier、L3/L4 合规等级、CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露、第三方关键性和复核状态。 97. `baseline-cryptographic-secrets-key-certificate-ledger.yaml`:基线密码材料、密钥、证书与秘密生命周期总账,覆盖 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、算法强度、托管位置、轮换、过期、吊销、泄露响应和访问边界。 98. `baseline-backup-restore-disaster-recovery-ledger.yaml`:基线备份、恢复、灾备与可恢复性验证总账,覆盖关键系统、数据库、对象存储、配置仓库、消息队列、向量索引、审计证据、备份策略、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验、勒索隔离和恢复权限。 99. `baseline-service-reliability-slo-error-budget-observability-ledger.yaml`:基线服务可靠性、SLO、错误预算与可观测性总账,覆盖生产服务、关键用户旅程、SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、遥测覆盖、仪表盘和降级策略。 100. `baseline-capacity-performance-cost-efficiency-ledger.yaml`:基线容量、性能、弹性伸缩与成本效率总账,覆盖关键服务、关键用户旅程、容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列和数据库容量、预算、单位经济、成本分摊、异常成本和优化行动。 101. `baseline-threat-model-attack-surface-risk-ledger.yaml`:基线威胁建模、攻击面与安全风险总账,覆盖关键服务、API、事件、数据产品、AI 产品、GitOps 入口、平台共享能力、信任边界、数据流、攻击面、滥用场景、安全测试、剩余风险、POA&M 和签署状态。 102. `baseline-vulnerability-exposure-remediation-ledger.yaml`:基线漏洞、暴露面与修复验证总账,覆盖 CVE、KEV、EPSS、CVSS、VEX/CSAF、SBOM/SCA、容器镜像、IaC、Kubernetes、云配置、外部暴露、API/AI 工具入口、修复 SLA、复测、例外和发布准入。 103. `baseline-secure-configuration-posture-drift-ledger.yaml`:基线安全配置、加固姿态与配置漂移修复总账,覆盖 CIS/NIST/SCAP、Pod Security、OS、容器、Kubernetes、云账号、IAM、网络、存储、数据库、CI/CD、API Gateway、LLM Gateway、Agent Runtime、审计日志、加密配置、漂移、修复、例外和发布准入。 104. `baseline-production-change-release-ledger.yaml`:基线生产变更、发布编排、变更冲突与失败恢复总账,覆盖代码部署、GitOps 同步、数据库迁移、配置变更、Feature Flag、Prompt/模型变更、紧急变更、黑窗、冲突检测、回滚、失败恢复、事故关联和 DORA 指标回写。 105. `baseline-incident-problem-corrective-action-ledger.yaml`:基线事故、问题、纠正行动与复发防止总账,覆盖生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、严重度、影响、时间线、MTTD/MTTR、RCA、问题记录、纠正行动、复发防止、runbook 更新、告警调整、门禁反哺、沟通和 DORA 恢复指标。 106. `baseline-data-product-quality-contract-observability-ledger.yaml`:基线数据产品质量、契约违约、运行血缘与可观测性总账,覆盖数据产品 owner、契约版本、schema drift、质量断言、freshness、完整性、唯一性、语义口径、访问授权、运行血缘、消费者影响、AI/特征/RAG 使用、契约违约、修复复测和数据质量事故。 107. `baseline-engineering-quality-test-release-verification-ledger.yaml`:基线工程质量、测试证据、缺陷与发布验证总账,覆盖资产 owner、需求追踪、测试策略、单元/集成/契约/E2E/回归/验收测试、覆盖率、测试环境、测试数据、flaky 测试、缺陷分级、修复复测、发布前验证、灰度/冒烟结果和质量风险接受。 108. `baseline-workforce-competency-training-duty-segregation-ledger.yaml`:基线人员能力、培训、职责履职与职责分离总账,覆盖关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、代理授权、职责分离、冲突角色、备份人员和到期复核。 109. `baseline-business-outcome-value-realization-portfolio-ledger.yaml`:基线业务结果、价值实现与组合收益总账,覆盖业务目标、价值假设、收益 owner、投资组合、关键结果、前后基线、采用证据、收益实现、成本效率、风险接受和停投/加投决策。 110. `baseline-value-stream-journey-process-ledger.yaml`:基线价值流、关键旅程与端到端流程总账,覆盖价值流、客户旅程、BPMN/流程模型、流程 owner、触发事件、完成定义、跨域交接、步骤级遥测、瓶颈、异常、人工兜底、控制点和改进动作。 111. `baseline-architecture-view-runtime-topology-dependency-ledger.yaml`:基线架构视图、运行拓扑与依赖影响总账,覆盖架构视图、C4/部署视图、catalog 声明依赖、运行时观测依赖、GitOps 拓扑、数据/AI/第三方依赖、关键路径、blast radius、变更影响、依赖 owner、漂移和复核状态。 112. `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml`:基线质量属性、架构驱动与权衡决策总账,覆盖业务驱动、质量属性场景、响应指标、架构驱动、敏感点、权衡点、备选方案、ADR、适配度函数、验证证据和复核状态。 113. `baseline-architecture-principle-constraint-exception-ledger.yaml`:基线架构原则、约束、反模式与例外执行总账,覆盖原则、owner、适用范围、强制约束、禁止项、反模式、检测方式、门禁入口、违反处置、例外、风险接受、ADR 和复核状态。 114. `baseline-ai-system-regulatory-impact-ledger.yaml`:AI 系统监管分类与影响评估总账,覆盖 AI 系统用途、部署角色、适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度、后市场监测、供应商责任和合规缺口。 115. `baseline-version-policy-release-control-ledger.yaml`:基线版本策略、发布通道、兼容性与冻结控制总账,覆盖版本号语义、发布通道、变更分类、签名 tag、兼容窗口、消费锁、迁移、冻结、紧急补丁、撤销和 EOL 阻断状态。 ### 10.10.3 自动化门禁映射 门禁必须尽量前移到提交、构建、发布和运行阶段。人工评审只处理边界争议、风险接受和复杂权衡。 | 阶段 | 自动化门禁 | 输入 | 阻断条件 | | ---- | ---------- | ---- | -------- | | 提交 | Markdown、YAML、Schema、Policy 语法检查 | 文档、契约、策略文件 | 语法错误、坏链接、缺失必填字段 | | Pull Request | API / Event / Data / AI 契约兼容性检查 | `contracts/`、`domains/`、`ai/`、兼容性报告 | breaking change 无消费者影响分析 | | 构建 | 单元测试、依赖锁定、漏洞、许可证、密钥扫描 | 源码、锁文件、Dockerfile | 高危漏洞、未知许可证、密钥泄露 | | 制品 | SBOM、provenance、镜像签名、基础镜像策略 | 镜像、构建日志、制品摘要、供应链证明 | 无 SBOM、无签名、来源不可证明 | | 基线制品清单 | 源文档、schema、示例、控制项、证据模板、脚本、生成物、外部引用和摘要 | `baseline-artifact-inventory.yaml`、Git tree、starter kit、审计导出 | 基线包含未登记文件、必需制品摘要漂移、导出包缺源制品、签名覆盖不完整 | | 基线验证环境 | 校验命令、runner 镜像、工具版本、策略包、schema validator、验签工具和生成环境 | `baseline-verification-lock.yaml`、CI runner、Makefile、policy bundle、validator | runner 未锁定、工具版本漂移、策略包摘要不一致、验签工具未固定 | | 漏洞修复 | CVE / KEV、修复 SLA、残余风险、发布准入 | `vulnerability-remediation-evidence.yaml`、扫描器、制品库 | 高危漏洞未修复、SLA 超期、残余风险无审批 | | 基线漏洞、暴露面与修复验证 | CVE / KEV / EPSS / CVSS、VEX/CSAF、扫描覆盖、外部暴露、owner、修复 SLA、复测、例外和发布准入 | `baseline-vulnerability-exposure-remediation-ledger.yaml`、SBOM、SCA、容器扫描、IaC 扫描、云安全态势、外部攻击面、漏洞平台、VEX/CSAF | critical/KEV 未关闭、互联网暴露 high 未关闭、扫描覆盖缺口、修复未复测、例外过期、VEX/CSAF 状态缺失 | | 基线安全配置、加固姿态与配置漂移 | CIS/NIST/SCAP、Pod Security、OS、容器、Kubernetes、云、IAM、网络、存储、数据库、CI/CD、API Gateway、LLM Gateway、Agent Runtime、审计日志、加密配置、漂移、修复、例外和发布准入 | `baseline-secure-configuration-posture-drift-ledger.yaml`、CIS Benchmarks、SCAP、CSPM、KSPM、IaC policy scan、runtime admission、Kubernetes audit、配置漂移报告 | 安全配置基线缺失、critical 配置漂移开放、特权 Pod 未批准、公共存储暴露、弱 TLS、审计日志关闭、漂移未复测、例外过期或未进入 release gate | | 发布 | GitOps diff、策略准入、资源配额、SLO 和 runbook 校验 | GitOps overlay、catalog、service.yaml、发布证据 | 无 owner、无 runbook、无 digest、资源未声明 | | 基线威胁建模与攻击面 | 关键服务、API、事件、数据产品、AI 产品、GitOps 入口、信任边界、攻击面、滥用场景、安全测试和剩余风险 | `baseline-threat-model-attack-surface-risk-ledger.yaml`、catalog、API inventory、data flow diagram、security test evidence、risk register | 威胁模型缺失或过期、互联网暴露未知、信任边界未映射、高风险数据流无缓解、关键滥用场景未关闭、安全测试缺失或剩余风险未签署 | | 基线数据产品质量与契约 | 数据产品契约、schema drift、质量断言、freshness、血缘、消费者影响、AI/特征/RAG 使用和修复复测 | `baseline-data-product-quality-contract-observability-ledger.yaml`、data product contracts、OpenLineage events、data quality reports、data catalog、AI evidence ledger、incident ledger | 数据产品无契约、owner 缺失、schema drift 开放、freshness/质量断言失败、血缘缺口、消费者未通知、AI/RAG 使用未授权或契约违约未关闭 | | 基线工程质量与发布验证 | 需求追踪、测试计划、单元/集成/契约/E2E/回归/验收测试、覆盖率、flaky、缺陷、修复复测、发布前验证、灰度/冒烟和质量风险接受 | `baseline-engineering-quality-test-release-verification-ledger.yaml`、CI reports、test reports、coverage reports、contract test results、defect tracker、release evidence、canary/smoke reports | 关键测试缺失、覆盖率低于阈值、flaky 未治理、critical/high 缺陷开放、修复未复测、发布验证缺失或质量风险未签署 | | 基线人员能力与职责分离 | 关键角色任命、职责确认、岗位资格、培训完成、专项训练、on-call 资格、审批授权、代理授权、职责分离、冲突角色和备份覆盖 | `baseline-workforce-competency-training-duty-segregation-ledger.yaml`、HRIS、LMS、IAM/PAM、RACI、on-call roster、approval log、access review、review board decision | 关键角色未任命、培训过期、专项资格缺失、职责未确认、on-call 未认证、审批人与执行人未分离、冲突角色未关闭、代理授权过期或关键岗位无人备份 | | 基线业务结果与价值实现 | 业务目标、价值假设、收益 owner、投资组合、关键结果、前后基线、采用证据、收益实现、成本效率、风险接受和停投/加投决策 | `baseline-business-outcome-value-realization-portfolio-ledger.yaml`、OKR/KPI、portfolio backlog、product analytics、adoption ledger、FinOps unit economics、release evidence、review board decision | 无业务目标、价值假设无 owner、关键结果不可测、前后基线缺失、收益未实现且无决策、成本效率不可解释或停投/加投决策缺失 | | 基线价值流与端到端流程 | 价值流、客户旅程、BPMN/流程模型、流程 owner、触发事件、完成定义、步骤级遥测、跨域交接、瓶颈、异常、人工兜底、控制点和改进动作 | `baseline-value-stream-journey-process-ledger.yaml`、BPMN/process model、journey analytics、OpenTelemetry traces、process mining、business outcome ledger、service reliability ledger、operational resilience ledger | 关键旅程无 owner、流程模型过期、步骤遥测缺失、跨域交接不可追踪、瓶颈未处置、异常未闭环、人工兜底未演练 | | 基线架构视图与依赖影响 | 架构视图、C4/部署视图、catalog 声明依赖、运行时观测依赖、GitOps 拓扑、数据/AI/第三方依赖、关键路径、blast radius、变更影响、依赖 owner 和漂移处置 | `baseline-architecture-view-runtime-topology-dependency-ledger.yaml`、C4/architecture views、Backstage catalog、CMDB、GitOps、OpenTelemetry traces、service mesh telemetry、OpenLineage、dependency scanner、incident ledger | 架构视图过期、声明依赖和观测依赖不一致、关键依赖无 owner、未知调用开放、GitOps 拓扑不可追踪、blast radius 未评估或依赖漂移未关闭 | | 基线质量属性与权衡决策 | 业务驱动、质量属性场景、优先级、响应指标、架构驱动、敏感点、权衡点、备选方案、ADR、适配度函数、验证证据和复核状态 | `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml`、quality scenarios、ATAM review、ADR、SLO、load test、security test、resilience exercise、FinOps evidence、business outcome ledger | 高优先级质量属性无场景、响应指标不可测、关键权衡无 ADR、敏感点无监测、适配度函数未进入门禁、验证证据过期或权衡风险未签署 | | 基线架构原则与约束执行 | 原则、owner、适用范围、强制约束、禁止项、反模式、检测方式、门禁入口、违反处置、例外、风险接受、ADR 和复核状态 | `baseline-architecture-principle-constraint-exception-ledger.yaml`、architecture principles、standards baseline、policy tests、ADR、risk register、exception ledger、gate execution report、review board decision | 强制原则无 owner、原则不可检测、禁止项未进入门禁、违反项无处置、反模式无检测、例外过期、风险接受缺失或原则总账未进入 release gate | | 基线版本策略与发布控制 | 版本号语义、发布通道、Conventional Commit 分类、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销隔离和 EOL 阻断 | `baseline-version-policy-release-control-ledger.yaml`、version governance、publish transaction、compatibility ledger、support matrix、adoption ledger、consumption lock、migration work order、revocation record | 版本号复用、浮动版本引用、tag 漂移、未签名生产 tag、breaking change 无迁移窗口、冻结期语义变更、紧急补丁未复盘、撤销/EOL 基线仍被采用或禁推资产进入发布载荷 | | 基线发布 | 晋级决策、冻结复核、漂移检查、不可变引用、签名验签和回滚验证 | `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 | 坏基线无法隔离、签名泄露后仍允许采用、禁推资产误入后无通知、恢复目标未验证或审计归档缺失 | | 基线准入执行 | 最低可接受基线、支持状态、撤销/EOL 状态、资产符合性声明、例外有效期和运行入口阻断 | `baseline-enforcement-policy.yaml`、support matrix、adoption ledger、conformance claim、revocation record、exception ledger、GitOps、catalog | 低于最低基线仍可部署、撤销/EOL 基线仍可新采用、资产无声明仍通过、过期例外仍放行、策略引擎未记录决策 | | 基线消费锁定 | 资产消费端的 baseline ID、source commit、release tag、证据摘要、锁文件签署、过期复核和 rollup 回写 | `baseline-consumption-lock.yaml`、conformance claim、adoption ledger、release evidence、evidence trace graph、catalog、GitOps | 只写 `V2.x` 浮动版本、锁摘要与发布证据不一致、锁文件过期、锁文件未回写采纳总账或 catalog | | 基线迁移执行 | 目标资产、当前基线、目标基线、迁移步骤、依赖、GitOps 变更、消费锁更新、验收证据和回滚动作 | `baseline-migration-work-order.yaml`、adoption ledger、compatibility ledger、consumption lock、GitOps、catalog、release gate | 采纳总账要求迁移但无工单、工单无 owner 或截止时间、迁移步骤未执行、消费锁未更新、GitOps 指针未变更、验收证据或回滚动作缺失 | | 基线迁移回执 | 实际命令、执行人、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证 | `baseline-migration-execution-receipt.yaml`、work order、CI logs、GitOps diff、catalog diff、consumption lock、rollback verification | 工单完成但无执行日志、执行 actor 不可追溯、before/after 摘要不一致、验收日志缺失或回滚未验证 | | 本地私有制品边界 | 本地私有 starter kit、生成 JSON、校验脚本、分类、禁推原因、摘要留存、允许用途、远端排除和审计留存 | `baseline-local-artifact-boundary.yaml`、artifact inventory、publish transaction、verification lock、audit export、git status | 可执行资产不进远程但无边界说明、exclude pattern 无 owner、私有制品被误签名或审计导出误包含 | | 审计导出排除 | 原文白名单、摘要留存项、强制排除项、签名 payload 排除项和导出后验证 | `audit-export-exclusion-manifest.yaml`、local artifact boundary、audit export manifest、integrity、provenance、signing policy | 审计包误含私有原文、payload 排除不清、摘要留存和边界证据不一致 | | 私有制品托管 | 私有 registry / 制品库引用、不可变摘要、访问控制、留存期限、取回命令、恢复验证和摘要一致性 | `private-artifact-escrow-manifest.yaml`、local artifact boundary、artifact inventory、verification lock、release gate、audit export exclusion | 禁推资产只有本地副本、私有制品库缺引用、权限不可审计、留存过期、取回失败或摘要与边界证据不一致 | | 干净环境基线重建 | 远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核 | `baseline-clean-room-reconstruction-receipt.yaml`、verification lock、artifact inventory、private artifact escrow、audit export、gate execution | 重建依赖个人工作区、私有制品未按摘要恢复、重建审计导出摘要漂移、门禁重放失败或禁推资产误入远端 | | 基线证据不可变归档 | 审计证据对象、不可变存储引用、WORM/对象锁、留存到期、legal hold、访问日志、删除保护和恢复演练 | `baseline-evidence-archive-receipt.yaml`、audit export、integrity、provenance、signature receipt、release evidence、gate execution、clean-room reconstruction | 证据只留在 CI 临时目录、归档对象可改写、留存策略未锁、legal hold 缺失、访问日志不可审计、恢复演练失败 | | 基线长期验签 | 签名 bundle、证书链、OIDC 身份、透明日志、signed entry timestamp、RFC3161 TSA、撤销状态、工具版本和归档引用 | `baseline-signature-ltv-receipt.yaml`、signature receipt、provenance、artifact inventory、verification lock、evidence archive、release evidence | 当前验签通过但缺少长期验证材料、证书过期后无法证明签名时间、透明日志 proof 丢失、撤销状态未知、验签工具漂移 | | 基线运行时准入 | Kubernetes admission、策略引擎、策略 bundle、命名空间范围、镜像 digest、签名验签、provenance、SBOM、消费锁、撤销/EOL 阻断和拒绝样例 | `baseline-runtime-admission-receipt.yaml`、baseline enforcement policy、GitOps、cluster admission logs、signature receipt、consumption lock、release evidence | 发布前门禁通过但集群未启用 admission、策略包漂移、未签名镜像被创建、digest/provenance 不匹配、撤销/EOL 基线仍能运行或过期例外仍被放行 | | 基线准入决策总账 | Kubernetes audit、admission webhook、PolicyReport、OPA decision log、requestUID、actor、namespace、workload、镜像 digest、allow/deny 和原始日志摘要 | `baseline-runtime-admission-decision-ledger.yaml`、`baseline-runtime-admission-receipt.yaml`、Kubernetes audit logs、Kyverno PolicyReports、OPA decision logs、Sigstore Policy Controller events | 有回执无逐条决策、拒绝样例缺原始日志、allow 事件无法追到策略版本、审计日志和策略引擎决策不一致 | | 基线连续控制监测 | 关键控制项、监测指标、日志源、告警规则、监测窗口、owner、漂移事件、处置工单、MTTD/MTTR 和证据新鲜度 | `baseline-continuous-control-monitoring-ledger.yaml`、control plane、observability、Prometheus / Alertmanager、OpenTelemetry、SIEM、POA&M | 发布后控制失效无人发现、critical drift 未告警、处置工单缺失、证据过期仍放行、控制运行 SLO 失守 | | 基线独立控制保证 | 独立评估人、评估目标、控制总体、抽样方法、样本证据、设计有效性、运行有效性、发现项、整改、残余风险和签署 | `baseline-control-assurance-sampling-ledger.yaml`、control assessment report、OSCAL assessment-results、POA&M、risk register | 控制证据由平台自证、评估人不独立、样本不可复现、critical 控制未抽样、设计或运行有效性失败仍放行 | | 基线共享责任与继承控制 | 公共控制、继承控制、共享责任、消费者义务、控制承担方、继承方、证据引用、有效期、失效条件和例外闭环 | `baseline-control-inheritance-ledger.yaml`、control plane、control evidence map、baseline conformance claim、cloud provider attestation、third-party assurance report、POA&M | 公共控制被口头继承、消费者义务未配置、云/第三方责任无人复核、继承证据过期、失效控制仍被资产声明采用 | | 基线数据驻留与跨境处理 | 数据类别、监管区域、存储/处理/备份/日志/向量索引/模型供应商区域、传输机制、子处理方、补充保护措施和删除传播 | `baseline-data-residency-transfer-ledger.yaml`、privacy impact assessment、data product contract、AI evidence ledger、RAG contract、subprocessor register、transfer impact assessment | 数据实际区域不明、备份或日志跨区、RAG 索引跨境、模型供应商处理位置未批准、传输机制缺失、补充措施失效仍放行 | | 基线第三方与关键供应商风险 | 供应商分级、服务范围、受影响资产、合同控制、DPA/SLA、审计权、保证报告、数据类别、集中度、退出计划、替代路径、连续性和供应商事件 | `baseline-third-party-risk-ledger.yaml`、supplier register、contract register、DPA/SLA、third-party assurance report、control inheritance ledger、data residency ledger、AI evidence ledger、risk register、POA&M | 关键供应商未批准、合同控制或审计权缺失、保证报告过期、集中度超阈值、退出计划不可执行、供应商事故或开放发现项未阻断 | | 基线运营韧性与重要业务服务 | 重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景、场景测试、恢复能力、人工替代、沟通计划、第三方依赖和超限升级 | `baseline-operational-resilience-ledger.yaml`、BIA、service catalog、SLO/RTO/RPO、recovery drills、third-party risk ledger、data residency ledger、AI evidence ledger、incident playbook、communications plan、POA&M | 重要业务服务未识别、影响容忍缺失、依赖链不完整、场景测试失败、恢复结果超出容忍、供应商或 AI 依赖未纳入测试、韧性缺口无整改或风险接受 | | 基线容量、性能与成本效率 | 容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列积压、数据库容量、预算、单位经济、成本分摊、异常成本和优化行动 | `baseline-capacity-performance-cost-efficiency-ledger.yaml`、service.yaml、GitOps、Kubernetes ResourceQuota、HPA/VPA/KEDA、load test report、APM、OpenTelemetry、OpenCost、FOCUS dataset、FinOps budget、cost allocation evidence | 关键服务无容量模型、压测过期、p95/p99 退化、资源未声明、自动扩缩容缺失、队列积压不可解释、数据库容量不足、预算超支无审批、单位成本不可解释或异常成本未关闭 | | 基线服务可靠性与可观测性 | 生产服务、关键用户旅程、SLI/SLO、错误预算、告警、on-call、runbook、合成探测、指标/日志/链路覆盖、降级策略和事故反馈 | `baseline-service-reliability-slo-error-budget-observability-ledger.yaml`、service.yaml、catalog、OpenTelemetry collector、Prometheus / Alertmanager、synthetic monitoring、incident postmortem、operational resilience ledger、backup restore ledger | 关键服务无 SLO、SLI 不可测、错误预算超支仍放行风险变更、关键告警无人接、runbook 缺失、合成探测缺失、遥测缺口或降级策略缺失 | | 基线备份、恢复与灾备 | 关键资产、数据存储、备份策略、不可变/离线副本、跨区域/跨账号隔离、恢复演练、RTO/RPO、完整性校验、勒索隔离、恢复权限和 owner | `baseline-backup-restore-disaster-recovery-ledger.yaml`、backup platform、object lock / WORM、KMS、storage lifecycle policy、replication config、restore drill evidence、operational resilience ledger、asset classification ledger、records retention ledger、incident playbook、POA&M | 关键资产无备份、关键数据存储未覆盖、不可变或离线副本缺失、恢复演练超期、RTO/RPO 演练失败、备份完整性未校验、勒索隔离不可证明、恢复权限不受控或备份与留存/法律保全冲突 | | 基线监管与合规义务可追溯 | 义务来源、法规版本、司法辖区、适用资产、控制目标、控制项、证据路径、owner、例外、POA&M、监管变更和生效期限 | `baseline-regulatory-obligation-ledger.yaml`、control plane、control evidence map、standards baseline、risk register、POA&M、legal register、contract register、audit evidence index | 强制义务未映射控制、控制项无适用义务来源、义务证据缺失、owner 缺失、监管变更未跟踪、整改超期仍放行 | | 基线密码材料、密钥、证书与秘密生命周期 | KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、托管位置、算法、强度、轮换、过期、吊销、泄露响应和访问边界 | `baseline-cryptographic-secrets-key-certificate-ledger.yaml`、KMS/HSM、Vault、Secret Manager、cert-manager、CA、CI signing system、TLS scanner、secret scanning、workload identity、runtime admission ledger、asset classification ledger | 密码材料未入账、无 owner、明文存放、弱算法、证书过期、轮换超期、吊销路径缺失、泄露未关闭、签名密钥托管不清或 Secret 与运行资产无法绑定 | | 基线资产关键性、数据分类与风险分级 | 资产清单、owner、业务关键性、SLO Tier、L3/L4 合规等级、CIA 影响、数据敏感度、监管暴露、AI 风险等级、互联网暴露、第三方关键性和复核状态 | `baseline-asset-criticality-classification-ledger.yaml`、catalog、CMDB、data catalog、AI product catalog、conformance profile、risk register、SLO、privacy impact assessment、AI evidence ledger、third-party risk ledger | 资产未入账、资产无 owner、数据分类未知、CIA 影响缺失、关键资产低估、L3/L4 与 conformance profile 不一致、互联网暴露或 AI 风险未标记、分级复核过期仍放行 | | 基线身份权限、特权访问与工作负载身份 | 人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、访问复核、孤儿账号、过期权限和运行时绑定 | `baseline-identity-entitlement-access-ledger.yaml`、IAM、IdP、PAM、SCIM、HRIS、Kubernetes RBAC、Cloud IAM、SPIFFE/SPIRE、runtime admission ledger、catalog、third-party risk ledger | 生产身份未入账、服务账号无 owner、离职账号仍有效、特权访问无审批或 MFA、break-glass 未关闭、工作负载身份绑定漂移、孤儿账号或过期权限仍放行 | | 基线处理活动、个人数据清单与 RoPA 覆盖 | 处理活动、系统/服务/数据产品/AI 产品、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、DPIA、合法基础和发现覆盖 | `baseline-processing-activity-inventory-ledger.yaml`、data catalog、CMDB、privacy impact assessment、data product contract、AI evidence ledger、data residency ledger、third-party risk ledger、records retention ledger、privacy rights ledger | 新系统或数据产品未入 RoPA、PII 扫描发现未归类字段、处理活动无 owner、个人数据类别未知、接收方或跨境传输未映射、DPIA/合法基础/留存映射缺失仍放行 | | 基线隐私权利、同意偏好与合法基础执行 | 处理目的、合法基础、同意版本、同意撤回、偏好传播、DSAR/消费者权利请求、自动化决策复核、第三方传播和下游处理阻断 | `baseline-privacy-rights-consent-ledger.yaml`、privacy impact assessment、consent management platform、preference center、DSAR case system、data product contract、AI evidence ledger、records retention ledger、data residency ledger、third-party risk ledger | 处理目的无合法基础、同意状态未知、撤回未传播到营销/AI/数据产品/RAG/第三方、权利请求逾期、自动化决策缺人工复核、第三方偏好传播缺证据仍放行 | | 基线记录留存、法律保全与可防御删除 | 记录类别、留存排期、义务来源、司法辖区、legal hold、删除资格、删除传播、备份/日志/向量索引处置和删除回执 | `baseline-records-retention-legal-hold-ledger.yaml`、regulatory obligation ledger、privacy impact assessment、data residency ledger、AI evidence ledger、audit evidence index、evidence archive receipt、object lock / WORM policy、storage lifecycle policy、deletion receipts | 记录类别无留存排期、legal hold 下允许删除、监管留存与主体删除请求冲突无裁决、过期记录未处置、超期留存无目的、备份/日志/向量索引删除传播无回执或 AI/审计日志缺留存策略 | | 基线证据追踪 | 证据节点、依赖边、摘要一致性、下游消费和断链阻断 | `baseline-evidence-trace-graph.yaml`、发布证据、状态对账、审计导出、会审裁决 | 必需节点缺失、摘要不一致、依赖断链、下游引用旧证据或存在未消费关键证据 | | 基线门禁执行 | 门禁命令、runner 镜像、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策 | `baseline-gate-execution-report.yaml`、`release-gate-decision.yaml`、`control-plane.yaml`、`baseline-verification-lock.yaml` | 规则未执行、输入摘要不一致、策略包漂移、重放失败、退出码异常或最终决策与执行结果不一致 | | 基线门禁负例测试 | 错误 fixture、故障注入、预期失败规则、实际拒绝结果、失败日志摘要、覆盖 gate、复测命令和回归 owner | `baseline-gate-negative-test-suite.yaml`、`baseline-gate-execution-report.yaml`、`release-gate-decision.yaml`、OPA / Kyverno / schema test report、runtime admission deny logs | 缺少关键 gate 负例、坏 fixture 被放行、预期失败未触发、失败日志不可追溯、负例套件未重放或回归 owner 缺失 | | 基线兼容 | 消费者影响、迁移窗口、弃用截止、未迁移对象和例外闭环 | `baseline-compatibility-ledger.yaml`、API/Event/Data/AI 兼容性报告、catalog | breaking change 无消费者清单、迁移到期仍未完成、例外无到期或 POA&M | | 基线采纳 | 领域、平台、数据、AI、GitOps 和生产资产的目标基线、采用状态和逾期整改 | `baseline-adoption-ledger.yaml`、catalog、control assessment、scorecard | 关键资产采纳状态 unknown、L3/L4 资产逾期无例外、采用证据只停留在口头确认 | | 基线支持 | 支持状态、维护窗口、安全补丁窗口、EOL、最低可接受基线和例外闭环 | `baseline-support-matrix.yaml`、version governance、release evidence、adoption ledger | 旧基线 EOL 后仍被 L3/L4 使用、安全补丁窗口结束后继续放行、新项目采用 maintenance/security-only/eol 基线 | | 基线 EOL 退役 | 旧基线生产引用清零、迁移关闭、例外清零、证据归档和新采用阻断 | `baseline-eol-retirement-certificate.yaml`、support matrix、adoption ledger、compatibility ledger、catalog、GitOps、审计归档 | 支持矩阵标记 EOL 但仍有生产引用、迁移目标未关闭、EOL 后仍允许新采用 | | 基线发布列车 | 候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁入口和依赖证据 | `baseline-release-train.yaml`、version governance、support matrix、compatibility ledger、adoption ledger | 临时发版、无通知升级、冻结期合入非紧急变更、黑窗发布、紧急补丁缺事后补证 | | 基线通知确认 | 通知对象、渠道、送达、确认、异议、补发、例外和冻结前完成状态 | `baseline-notification-ledger.yaml`、release train、compatibility ledger、adoption ledger、risk register | 关键 owner 未确认、通知失败无补发、异议未关闭、例外无审批、冻结前仍有 unknown | | 基线回滚验证 | 上一基线、回滚目标、Git/tag/GitOps revision、审计导出恢复、烟测、证据摘要和验证时效 | `baseline-rollback-verification.yaml`、release evidence、version governance、GitOps、审计导出 | 回滚目标不可检出、GitOps revision 不存在、审计导出恢复失败、烟测失败或验证过期 | | 基线例外总账 | 例外来源、受影响资产、owner、风险接受、POA&M、补偿控制、到期、关闭证据和冻结阻断 | `baseline-exception-ledger.yaml`、compatibility/adoption/support/notification/rollback ledgers、release gate、risk register | 例外散落未聚合、过期仍放行、阻断例外无 owner、条件放行无风险接受或 POA&M | | 基线符合性声明 | 资产声明采用的基线、门禁等级、证据路径、例外、签署和复核 | `baseline-conformance-claim.yaml`、catalog、service/data/ai/product contract、adoption ledger | 中央采纳总账没有资产侧声明、资产声明过期、声明基线低于支持矩阵最低要求 | | 访问复核 | 身份源、角色、特权权限、break-glass、MFA、复核报告 | `identity-access-review.yaml`、IAM、Kubernetes RBAC | 生产权限未复核、break-glass 无 MFA、特权账号无审计 | | 密钥治理 | Secret provider、KMS、静态加密、轮换周期、泄露扫描 | `secrets-rotation-evidence.yaml`、密钥系统、扫描器 | 密钥未轮换、无静态加密、发现泄露仍放行 | | 渐进式发布 | Feature Flag、Kill Switch、曝光事件、SLO 燃尽回滚 | `feature-flag-control.yaml`、GitOps、observability | 无关闭开关、无默认变体、无成功指标、无回滚条件 | | AI 发布 | 评估集、红队、RAG 权限、工具权限、人工确认策略 | `ai-product.yaml`、`contracts/ai/` | 高风险工具无人工确认、评估未达标 | | AI 证据账本 | 模型、Prompt、RAG、工具、评估、威胁模型、观测、事件响应、数据使用、审批和复审 | `ai-evidence.yaml`、`ai-product.yaml`、`ai-tool-contract.yaml`、`rag-index-contract.yaml`、`genai-observability-contract.yaml` | AI 证据分散、模型版本错配、工具权限和事件响应证据无法按产品聚合 | | AI 系统监管分类与影响评估 | AI 系统用途、部署角色、适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、数据治理、透明度、后市场监测、供应商责任和合规缺口 | `baseline-ai-system-regulatory-impact-ledger.yaml`、`ai-evidence.yaml`、`ai-product.yaml`、DPIA、监管义务总账、风险登记、会审裁决、release gate | 高风险 AI 无分类、适用法规未知、人工监督缺失、日志或技术文档缺失、后市场监测缺失、供应商责任不清、合规缺口未关闭 | | AI 安全 | Prompt Injection、工具同意、出站限制、残余风险接受 | `ai-threat-model.yaml`、`ai-tool-contract.yaml`、评估证据 | 高风险工具无同意、红队失败、风险接受过期 | | AI 事件响应 | 幻觉爆发、工具循环、RAG 污染、供应商中断、成本异常、检测、遏制、降级、回滚和复盘 | `ai-incident-playbook.yaml`、`ai-product.yaml`、`ai-threat-model.yaml`、`genai-observability-contract.yaml` | 高风险 AI 无 playbook、触发器不全、无法人工接管或回滚 | | 隐私工程 | DPIA、合法基础、主体权利、删除传播、AI 使用限制 | `privacy-impact-assessment.yaml`、数据产品、RAG 删除证据 | 有 PII 但无 DPIA、删除无法传播到向量索引、训练退出未声明 | | 租户隔离 | namespace、ServiceAccount、Secret 范围、ResourceQuota、NetworkPolicy 默认拒绝 | `tenant-boundary.yaml`、GitOps、Kubernetes policy | 生产 namespace 无配额、默认放通网络、服务账号越界 | | 数据发布 | schema、质量规则、权限、血缘、freshness 校验 | `data-product.yaml`、数据契约 | 无质量规则、无分级分类、无下游通知 | | 数据运行 | 运行血缘、producer job、input/output dataset、质量证据 | `lineage-event.yaml`、调度系统、数据质量报告 | 无运行事件、血缘断裂、输出数据产品不匹配 | | 恢复演练 | RTO/RPO、备份、恢复日志、数据丢失校验、复盘证据 | `recovery-drill-evidence.yaml`、备份系统、SRE 复盘 | 只声明目标无演练、恢复耗时超标、数据丢失未验证 | | 策略测试 | OPA / Cedar / Kyverno 策略测试、失败数、阻断决策 | `policy-test-report.yaml`、Policy as Code 测试结果 | 策略无测试、失败用例未阻断、策略和准入证据不一致 | | GenAI 观测 | Token、成本、工具调用、RAG span、trace 属性、日志脱敏 | `genai-observability-contract.yaml`、OpenTelemetry、AI gateway | 无 Token 成本指标、工具调用不可追踪、Prompt 日志未脱敏 | | 平台运营 | Golden Path 采用率、开发者满意度、认知负载、平台 SLO | `platform-product-metrics.yaml`、平台门户、问卷和工单数据 | 认知负载过高、平台 SLO 不达标、改进行动无 owner | | FinOps | 成本标签覆盖、未分摊成本、云/AI/数据成本、优化行动 | `cost-allocation-evidence.yaml`、OpenCost / FOCUS / 云账单 | 成本无 owner、标签覆盖不足、未分摊成本持续存在 | | 事故复盘与问题闭环 | 影响、根因、检测/恢复时间、纠正行动、问题记录、复发防止、门禁反哺 | `incident-postmortem.yaml`、`baseline-incident-problem-corrective-action-ledger.yaml`、SRE 复盘、告警系统 | 事故未关闭、问题记录缺失、runbook 未更新、复发防止未验证、门禁未反哺 | | 证据生命周期 | 证据最大年龄、按类型过期策略、CI 执行、过期阻断 | `evidence-freshness-policy.yaml`、审计索引、CI | 过期证据继续准入、关键证据不是必需项 | | 控制证据映射 | 控制项 ID、证据路径、状态、新鲜度、必需性、阻断属性 | `control-evidence-map.yaml`、控制目录、CI | 控制项无证据、证据过期、非阻断控制被误放行 | | 执行控制面 | 合规等级、控制项、证据、owner、阻断级别、自动化状态、复核周期和退出标准 | `conformance-profile.yaml`、`control-plane.yaml`、`release-gate-decision.yaml`、控制目录、CI | 不同团队用不同放行口径、条件放行无证据、例外过期仍继续发布 | | 标准基线 | 外部标准名称、版本、稳定性、采纳等级、适用范围、owner、复核周期和升级门禁 | `standards-baseline.yaml`、参考资料、ADR、控制面 | 直接追随 latest、把 Development 状态规范当生产硬门禁、升级无兼容评估 | | 版本控制面 | 基线 ID、版本、发布通道、source commit、release tag、兼容窗口、冻结状态和回滚入口 | `version-governance.yaml`、版本清单、tag、ADR、审计导出 | tag 漂移、版本复用、发布证据版本不一致、冻结基线被直接修改 | | 基线生命周期状态机 | 状态集合、允许迁移、禁止迁移、迁移审批、状态回写和回滚入口 | `baseline-lifecycle-state-machine.yaml`、`version-governance.yaml`、`baseline-release-evidence.yaml`、`release-gate-decision.yaml` | 人工改状态、越级晋级、冻结后回退、状态机和版本控制面不一致 | | 基线状态对账 | 状态机、版本控制面、发布证据、支持矩阵、采纳总账、符合性声明和审计导出状态一致性 | `baseline-state-reconciliation-report.yaml`、`baseline-lifecycle-state-machine.yaml`、`version-governance.yaml`、审计导出 | 各账本状态字段冲突、审计导出引用旧状态、状态回写失败 | | 基线会审裁决 | 晋级、冻结、紧急补丁、替代或 EOL 前的证据核验、投票签署、反对意见和最终裁决 | `baseline-review-board-decision.yaml`、readiness scorecard、release evidence、state reconciliation、exception ledger、POA&M、risk register | 评分卡通过但无独立会审签署、关键角色缺席、反对意见无关闭、条件动作无 owner 或到期 | | 审计导出 | 架构版本、控制数量、starter kit 数量、导出内容、验证结果、签名、留存 | `audit-export-manifest.yaml`、审计包、签名系统 | 导出包范围不明、缺关键文件、未验证通过、未签名 | | 证据保证等级 | 证据来源、采信状态、保证等级、生成方式、来源独立性、完整性证明、新鲜度窗口、可重放命令和最低适用门禁 | `baseline-evidence-assurance-classification.yaml`、evidence trace graph、gate execution report、control assurance sampling、audit export | L3 / L4、baseline、frozen 或正式审计导出引用低等级、过期、不可重放、无完整性证明、无来源独立性或不可采信证据 | | 审计导出自动化 | 校验命令、导出脚本、JSON 包、Markdown 报告、OSCAL 摘要、完整性清单、provenance statement、签名策略和验签回执契约 | `internal-command://architecture/export-modern-architecture-audit`、导出脚本、build 输出 | 审计包只能手工拼接、未先校验、缺制品哈希、生成来源、签名策略或验签回执 | | 控制评估报告 | 评估范围、评估人、控制结果、发现项、整改、剩余风险、签署 | `control-assessment-report.yaml`、控制目录、证据映射、审计导出清单 | 只有证据无结论、发现项无人负责、未签署仍声称通过 | | 架构基线变更 | 版本、前序版本、变更级别、影响分析、审批、验证、回滚、留存 | `baseline-change-record.yaml`、版本清单、控制目录、CI | 基线升级无审批、验证命令缺失、无法回滚到上一基线 | | 架构决策记录 | ADR、上下文、备选方案、取舍、控制项、风险、POA&M、复审和留存 | `architecture-decision-record.yaml`、`baseline-change-record.yaml`、控制目录、风险登记、POA&M 记录 | 重大变更无 ADR、ADR 未关联控制项或风险、复审过期 | | OSCAL 交换映射 | catalog、component-definition、SSP、assessment-results、POA&M、导出摘要 | `oscal-export-profile.yaml`、`oscal-summary.json`、审计导出脚本 | 只能内部阅读、不能对接 GRC、监管或外部审计工具 | | POA&M 整改计划 | 发现项、控制项、严重度、责任人、行动、里程碑、证据、签署和复审 | `poam-record.yaml`、`oscal-summary.json`、控制评估报告 | 发现项只在报告正文里、整改无里程碑、OSCAL POA&M 视图无独立来源 | | 企业架构风险登记 | 风险、严重度、可能性、影响、owner、处理策略、关联控制项、关联 POA&M、残余风险和复审 | `risk-register.yaml`、`oscal-summary.json`、控制目录、POA&M 记录 | 风险只在会议纪要里、无 owner、无控制项映射、残余风险无人接受 | | 审计导出门禁 | 本地质量门禁、导出命令、输出不变量、pair 数、控制数、OSCAL 摘要一致性 | `audit-export-gate.yaml`、`internal-command://architecture/check-modern-architecture-audit-export`、`make test` | 有导出脚本但未进入门禁、输出数量和版本不一致、OSCAL 摘要未验证 | | 审计导出完整性 | 生成物 SHA-256、源制品哈希、完整性清单、防篡改校验 | `audit-export-integrity.yaml`、`audit-export-integrity.json`、审计导出门禁 | 审计包交接后无法证明未被篡改、生成物哈希缺失、源制品和导出包断链 | | 审计导出 provenance | in-toto statement、SLSA provenance、subject digest、构建定义、源码提交和源证据依赖 | `audit-export-provenance.yaml`、`audit-export-provenance.json`、审计导出门禁 | 审计包知道哈希但不知道来源、生成上下文不可证明、无法绑定签名 payload | | 审计导出签名策略 | provenance payload 摘要、签名方式、验签命令、bundle 路径和透明日志要求 | `audit-export-signing-policy.yaml`、`audit-export-signing-policy.json`、审计导出门禁 | 声称需要签名但没有 payload 摘要、验签路径或外部签名交接 | | 审计导出签名验签回执 | 签名策略绑定、payload 摘要、bundle 摘要、证书身份、OIDC issuer、透明日志和验签结果 | `audit-export-signature-receipt.yaml`、签名系统、验签日志 | 外部签名完成后没有可审计回执、证书身份和透明日志不可追溯 | | 运行 | SLO、成本、漂移、异常调用、供应链策略漂移 | runtime、observability、audit、漂移报告 | 错误预算耗尽、成本超预算、策略漂移 | ### 10.10.4 漂移检测规则 可执行标准必须能发现“文档这么写、运行不是这样”的漂移。 必须检测的漂移: 1. `service.yaml` 的 owner、domain、端口、依赖和 catalog entry 不一致。 2. catalog 指向的 GitOps 路径不存在,或 GitOps 路径指向的服务没有 catalog entry。 3. GitOps 使用的镜像 tag 无法解析到不可变 digest。 4. 生产 Deployment 的镜像 digest 与 GitOps 期望状态不一致。 5. 生产 Deployment 的 ConfigMap / Secret hash、ServiceAccount、NetworkPolicy、Pod 安全策略或准入策略与 GitOps 期望状态不一致。 6. Kubernetes runtime 存在未登记到 catalog 的长期运行工作负载。 7. 数据产品 schema 与实际表结构或数据契约不一致。 8. AI 产品运行中的 Prompt、模型、RAG 索引或工具版本与 `ai-product.yaml` 不一致。 9. 策略例外超过到期时间仍在生产准入中生效。 漂移处理规则: 1. 发现漂移后先判断权威真相源,再决定修正 Git、catalog、runtime 还是治理例外。 2. 运行时紧急修复必须在事后回写 GitOps 或形成 incident / postmortem,不能长期保留手工状态。 3. catalog 漂移优先通过重新生成或重新校验修复,不应手工覆盖源头契约。 4. 涉及生产安全、AI 高风险工具、数据权限和供应链证明的漂移必须阻断发布。 ### 10.10.5 控制项覆盖清单 可执行企业标准不能只证明“字段存在”,还要证明关键控制项确实被 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.50 起,基线撤销与隔离记录、撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受和审计归档也进入同一清单;V2.51 起,基线准入执行策略、最低基线阻断、撤销/EOL 阻断、资产声明校验和例外到期阻断也进入同一清单;V2.52 起,基线消费锁定文件、不可变摘要锁定、浮动版本阻断、锁文件签署和采纳总账回写也进入同一清单;V2.53 起,基线迁移工作单、逐资产迁移步骤、消费锁更新、GitOps 变更、验收证据和回滚动作也进入同一清单;V2.54 起,基线迁移执行回执、实际命令、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证也进入同一清单;V2.55 起,本地私有制品边界、禁推资产分类、摘要留存、允许用途、远端排除和审计留存也进入同一清单;V2.56 起,审计导出排除清单、原文白名单、摘要留存、签名 payload 排除和导出后验证也进入同一清单;V2.57 起,私有制品托管交接清单、私有制品库引用、访问控制、留存期限、取回命令、恢复验证和摘要一致性也进入同一清单;V2.58 起,干净环境基线重建回执、远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核也进入同一清单;V2.59 起,基线证据不可变归档回执、归档对象、WORM/对象锁、legal hold、访问日志、删除保护、留存到期和恢复演练也进入同一清单;V2.60 起,基线长期验签回执、证书链、透明日志、signed entry timestamp、RFC3161 TSA、撤销状态、工具版本和归档引用也进入同一清单;V2.61 起,基线运行时准入回执、admission controller、策略引擎、策略 bundle、镜像 digest、签名/provenance/SBOM、消费锁、撤销/EOL 阻断和拒绝样例也进入同一清单;V2.62 起,基线运行时准入决策总账、requestUID、allow/deny、策略规则和原始日志摘要也进入同一清单;V2.63 起,基线连续控制监测总账、关键控制指标、告警、漂移处置和证据新鲜度也进入同一清单;V2.64 起,基线独立控制保证抽样总账、控制总体、样本、设计有效性、运行有效性和 OSCAL Assessment Results 也进入同一清单;V2.65 起,基线共享责任与继承控制总账、公共控制、继承控制、消费者义务和失效阻断也进入同一清单;V2.66 起,基线数据驻留与跨境处理总账、实际处理区域、传输机制、子处理方、补充措施和区域漂移阻断也进入同一清单;V2.67 起,基线第三方与关键供应商风险总账、供应商分级、合同控制、审计权、保证报告、集中度、退出计划和连续性阻断也进入同一清单;V2.68 起,基线运营韧性与重要业务服务影响容忍总账、重要业务服务、影响容忍、BIA、端到端依赖、场景测试、恢复能力、沟通计划和超限升级阻断也进入同一清单。 V2.69 起,监管与合规义务、记录留存、隐私权利、处理活动、身份权限、资产分级、密码材料、备份恢复、服务可靠性、容量性能、威胁建模、漏洞修复、安全配置、生产变更、事故纠正、数据产品质量、工程质量、人员能力、业务结果、价值流、架构视图、质量属性、架构原则和版本策略控制也必须进入同一清单。到 V2.93,控制项覆盖清单必须能证明 `baseline-version-policy-release-control-ledger.schema.json`、示例和 checker 规则已经覆盖 SemVer 语义、Conventional Commit 分类、发布通道、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销隔离、EOL 阻断和禁推资产排除。 V2.95 起,控制项覆盖清单还必须能证明 `baseline-evidence-assurance-classification.schema.json`、示例和 checker 规则已经覆盖证据保证等级、采信状态、生成方式、来源独立性、完整性证明、新鲜度窗口、可重放要求、最低适用门禁和不可采信证据阻断。 ```text 本地私有控制项覆盖清单 ``` 该清单采用轻量控制目录结构,不替代完整 OSCAL 实施。它至少记录: 1. 控制项 ID、分类、标题和控制声明。 2. 控制项对齐的参考来源,例如 NIST OSCAL、SLSA、NIST SSDF。 3. 必须存在的文档、schema、example 或脚本。 4. 必须出现在 schema `required` 和 `properties` 中的字段。 5. 必须出现在 YAML example 中的字段。 6. 必须出现在 checker 中的自动化证据规则。 控制项覆盖清单用于回答: | 问题 | 证明方式 | | ---- | -------- | | 文档说生产服务必须有 RTO/RPO,机器是否能证明 | 控制项要求 `service.schema.json` 和 `service.example.yaml` 包含 `reliability.rto`、`reliability.rpo` | | 文档说架构基线仓库必须受保护,机器是否能证明 | 控制项要求 `repository-change-control.schema.json`、示例和 runbook 包含 CODEOWNERS、受保护分支、必需检查、签名提交、禁止直推、远端验证、漂移整改、POA&M 和风险登记 | | 文档说数据产品必须有访问审计,机器是否能证明 | 控制项要求 `data-product.schema.json` 和示例包含 `accessPolicy`、`audit`、`retention` | | 文档说 AI 产品必须可降级和控成本,机器是否能证明 | 控制项要求 `ai-product.schema.json` 和示例包含 `budget`、`fallback`、`providerPolicy` | | 文档说 AI 产品证据必须可追踪,机器是否能证明 | 控制项要求 `ai-evidence.schema.json` 和示例包含模型、Prompt、RAG、工具、评估、威胁模型、观测、事件响应、数据使用、审批和复审 | | 文档说企业不同风险等级必须使用不同门禁,机器是否能证明 | 控制项要求 `conformance-profile.schema.json`、`control-plane.schema.json` 和 `release-gate-decision.schema.json` 绑定等级、证据、阻断级别、例外和复核 | | 文档说外部标准不能直接追随 latest,机器是否能证明 | 控制项要求 `standards-baseline.schema.json` 和示例包含标准名称、版本、稳定性、采纳等级、复核周期和升级门禁 | | 文档说基线版本必须可追溯且不可复用,机器是否能证明 | 控制项要求 `version-governance.schema.json` 和示例包含基线 ID、发布通道、源 commit、release tag、兼容窗口、冻结策略和回滚入口 | | 文档说基线发布必须有晋级、冻结和漂移复核证据,机器是否能证明 | 控制项要求 `baseline-release-evidence.schema.json` 和示例包含晋级决策、不可变引用、漂移复核、审计导出摘要、验签结果和回滚验证 | | 文档说 breaking change 必须有消费者迁移闭环,机器是否能证明 | 控制项要求 `baseline-compatibility-ledger.schema.json` 和示例包含消费者、受影响契约、迁移状态、弃用截止、例外、POA&M 和风险接受 | | 文档说企业级基线必须被组织采纳,机器是否能证明 | 控制项要求 `baseline-adoption-ledger.schema.json` 和示例包含采纳范围、目标、当前基线、目标基线、采纳状态、截止日期、例外和整改证据 | | 文档说旧基线不能无限期被使用,机器是否能证明 | 控制项要求 `baseline-support-matrix.schema.json` 和示例包含支持状态、维护窗口、安全补丁窗口、EOL、最低可接受基线、例外和阻断规则 | | 文档说旧基线进入 EOL 后不能继续被生产使用,机器是否能证明 | 控制项要求 `baseline-eol-retirement-certificate.schema.json` 和示例包含生产引用清零、迁移关闭、例外清零、审计归档、新采用阻断和审批证据 | | 文档说基线晋级必须有独立会审裁决,机器是否能证明 | 控制项要求 `baseline-review-board-decision.schema.json` 和示例包含会审范围、证据核验、投票签署、反对意见、条件动作、风险接受和最终裁决 | | 文档说基线发布必须按列车和冻结窗口执行,机器是否能证明 | 控制项要求 `baseline-release-train.schema.json` 和示例包含候选窗口、冻结窗口、晋级日期、通知节奏、黑窗、紧急补丁和依赖证据 | | 文档说采纳总账必须来自资产侧声明,机器是否能证明 | 控制项要求 `baseline-conformance-claim.schema.json` 和示例包含资产 ID、声明基线、证据路径、签署、例外、复核和采纳总账回写 | | 文档说资产消费基线不能只写浮动版本,机器是否能证明 | 控制项要求 `baseline-consumption-lock.schema.json` 和示例包含 baseline ID、source commit、release tag、证据图摘要、制品清单摘要、验证锁摘要、准入策略摘要、签署和 rollup 回写 | | 文档说基线迁移必须逐资产执行,机器是否能证明 | 控制项要求 `baseline-migration-work-order.schema.json` 和示例包含目标资产、当前基线、目标基线、迁移步骤、依赖、GitOps 变更、消费锁更新、验收证据和回滚动作 | | 文档说迁移步骤必须被真实执行,机器是否能证明 | 控制项要求 `baseline-migration-execution-receipt.schema.json` 和示例包含执行命令、actor、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证 | | 文档说内部可执行资产不能推远程但仍需审计,机器是否能证明 | 控制项要求 `baseline-local-artifact-boundary.schema.json` 和示例包含本地私有资产路径、分类、禁推原因、摘要策略、验证命令、远端排除、审计导出排除和签名 payload 排除 | | 文档说审计导出不能误含本地私有原文,机器是否能证明 | 控制项要求 `audit-export-exclusion-manifest.schema.json` 和示例包含原文白名单、摘要留存项、强制排除项、签名 payload 排除项、边界摘要和导出后验证命令 | | 文档说禁推可执行资产仍能被企业取回和恢复,机器是否能证明 | 控制项要求 `private-artifact-escrow-manifest.schema.json` 和示例包含私有 registry / 制品库引用、不可变摘要、访问角色、留存期限、取回命令、恢复验证和摘要一致性 | | 文档说基线不依赖个人工作区,机器是否能证明 | 控制项要求 `baseline-clean-room-reconstruction-receipt.schema.json` 和示例包含干净 runner、远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核 | | 文档说审计证据多年后仍可证明未被改写和可恢复,机器是否能证明 | 控制项要求 `baseline-evidence-archive-receipt.schema.json` 和示例包含归档对象、不可变存储引用、WORM/对象锁、legal hold、访问日志、删除保护、留存到期和恢复演练 | | 文档说证据足以支撑当前 gate,机器是否能证明 | 控制项要求 `baseline-evidence-assurance-classification.schema.json` 和示例包含保证等级、采信状态、生成方式、独立性、完整性、新鲜度、可重放命令、最低适用门禁和拒绝理由 | | 文档说基线由哪些源制品构成,机器是否能证明 | 控制项要求 `baseline-artifact-inventory.schema.json` 和示例包含制品路径、类型、摘要、必需性、签名状态、导出关系和未登记制品阻断 | | 文档说同一基线必须用同一验证环境复现,机器是否能证明 | 控制项要求 `baseline-verification-lock.schema.json` 和示例包含命令、runner 镜像、工具版本、策略包摘要、schema validator、验签工具和生成环境 | | 文档说冻结前必须完成消费者通知确认,机器是否能证明 | 控制项要求 `baseline-notification-ledger.schema.json` 和示例包含通知对象、渠道、送达、确认、异议、例外、补发和冻结前完成状态 | | 文档说回滚路径必须实际可恢复,机器是否能证明 | 控制项要求 `baseline-rollback-verification.schema.json` 和示例包含上一基线、回滚目标、Git/tag/GitOps revision、审计导出恢复、烟测结果和验证时效 | | 文档说基线例外不能散落和过期放行,机器是否能证明 | 控制项要求 `baseline-exception-ledger.schema.json` 和示例包含例外来源、owner、到期日、风险接受、POA&M、阻断状态、关闭证据和冻结准入 | | 文档说基线是否可以晋级必须有最终判定,机器是否能证明 | 控制项要求 `baseline-readiness-scorecard.schema.json` 和示例包含硬门禁、评分维度、权重、证据路径、阻断项、baseline/frozen 阈值和最终判定 | | 文档说基线状态不能被人工随意改写,机器是否能证明 | 控制项要求 `baseline-lifecycle-state-machine.schema.json` 和示例包含状态集合、允许迁移、禁止迁移、迁移证据、审批责任、回写目标和审计记录 | | 文档说多个账本里的基线状态必须一致,机器是否能证明 | 控制项要求 `baseline-state-reconciliation-report.schema.json` 和示例包含对账输入、期望状态、观测状态、漂移项、阻断决策和回写状态 | | 文档说最低基线、撤销/EOL 和资产声明必须被运行入口阻断,机器是否能证明 | 控制项要求 `baseline-enforcement-policy.schema.json` 和示例包含适用入口、最低基线、阻断条件、例外有效期、策略引擎、决策回写和审计日志 | | 文档说 AI 事件响应必须有专门 playbook,机器是否能证明 | 控制项要求 `ai-incident-playbook.schema.json` 和示例包含触发器、检测、遏制、降级、回滚、RAG 恢复、工具 Kill Switch 和复盘 | | 文档说 GitOps 必须有运行安全,机器是否能证明 | 控制项要求 `gitops-deployment.schema.json` 和示例包含 `serviceAccount`、`security`、`scaling` | | 文档说关键资产必须完成威胁建模、攻击面和剩余风险治理,机器是否能证明 | 控制项要求 `baseline-threat-model-attack-surface-risk-ledger.schema.json` 和示例包含资产范围、信任边界、数据流、攻击面、滥用场景、控制映射、安全测试、剩余风险、POA&M、签署和过期阻断 | | 文档说漏洞、暴露面和修复验证必须闭合,机器是否能证明 | 控制项要求 `baseline-vulnerability-exposure-remediation-ledger.schema.json` 和示例包含资产范围、扫描覆盖、CVE、KEV、EPSS、CVSS、VEX/CSAF、外部暴露、owner、SLA、修复、复测、例外、POA&M、风险接受和发布准入 | | 文档说安全配置、加固姿态和配置漂移必须闭合,机器是否能证明 | 控制项要求 `baseline-secure-configuration-posture-drift-ledger.schema.json` 和示例包含配置基线、姿态扫描、CIS/NIST/SCAP 映射、Pod Security、漂移、owner、SLA、修复、复测、例外、POA&M、风险接受和发布准入 | | 文档说生产变更、发布编排和失败恢复必须闭合,机器是否能证明 | 控制项要求 `baseline-production-change-release-ledger.schema.json` 和示例包含变更类型、变更窗口、冲突检测、依赖冻结、前置门禁、数据库迁移演练、Feature Flag kill switch、Prompt/模型评估、回滚计划、执行证据、失败恢复、事故关联和 DORA 指标 | | 文档说事故、问题、纠正行动和复发防止必须闭合,机器是否能证明 | 控制项要求 `baseline-incident-problem-corrective-action-ledger.schema.json` 和示例包含事故类型、严重度、影响、时间线、MTTD/MTTR、RCA、问题记录、纠正行动、复发防止、runbook 更新、告警调整、门禁反哺、沟通、POA&M 和 DORA 恢复指标 | | 文档说数据产品质量、契约违约、运行血缘和消费者影响必须闭合,机器是否能证明 | 控制项要求 `baseline-data-product-quality-contract-observability-ledger.schema.json` 和示例包含数据产品 owner、契约版本、schema drift、质量断言、freshness、完整性、唯一性、语义口径、访问授权、血缘、消费者影响、AI/特征/RAG 使用、违约、修复复测和数据质量事故 | | 文档说工程质量、测试证据、缺陷和发布验证必须闭合,机器是否能证明 | 控制项要求 `baseline-engineering-quality-test-release-verification-ledger.schema.json` 和示例包含需求追踪、测试策略、测试层级、覆盖率、测试环境、测试数据、flaky 测试、缺陷分级、修复复测、发布前验证、灰度/冒烟结果和质量风险接受 | | 文档说关键角色能力、培训、职责履职和职责分离必须闭合,机器是否能证明 | 控制项要求 `baseline-workforce-competency-training-duty-segregation-ledger.schema.json` 和示例包含关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、代理授权、职责分离、冲突角色、备份人员和到期复核 | | 文档说架构基线必须证明业务结果、价值实现和组合收益闭合,机器是否能证明 | 控制项要求 `baseline-business-outcome-value-realization-portfolio-ledger.schema.json` 和示例包含业务目标、价值假设、收益 owner、投资组合、关键结果、前后基线、采用证据、收益实现、成本效率、风险接受和停投/加投决策 | | 文档说关键价值流、客户旅程和端到端流程必须可观测、可审计、可优化,机器是否能证明 | 控制项要求 `baseline-value-stream-journey-process-ledger.schema.json` 和示例包含价值流、旅程、流程模型、owner、触发事件、完成定义、步骤级遥测、跨域交接、瓶颈、异常、人工兜底、控制点和改进动作 | | 文档说架构视图、运行拓扑和依赖影响必须一致且可审计,机器是否能证明 | 控制项要求 `baseline-architecture-view-runtime-topology-dependency-ledger.schema.json` 和示例包含架构视图、运行拓扑、声明依赖、观测依赖、GitOps 拓扑、数据/AI/第三方依赖、blast radius、变更影响、owner、漂移和复核状态 | | 文档说质量属性、架构驱动和权衡决策必须可测、可追溯、可验证,机器是否能证明 | 控制项要求 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.schema.json` 和示例包含业务驱动、质量属性场景、响应指标、敏感点、权衡点、ADR、适配度函数、验证证据和复核状态 | | 文档说架构原则、约束、反模式和例外执行必须可检测、可阻断、可审计,机器是否能证明 | 控制项要求 `baseline-architecture-principle-constraint-exception-ledger.schema.json` 和示例包含原则、owner、适用范围、强制约束、禁止项、反模式、检测方式、门禁入口、违反处置、例外、风险接受、ADR 和复核状态 | | 文档说版本策略、发布通道、兼容性和冻结控制必须可执行,机器是否能证明 | 控制项要求 `baseline-version-policy-release-control-ledger.schema.json` 和示例包含版本号语义、发布通道、Conventional Commit 分类、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销隔离和 EOL 阻断状态 | | 文档说供应链必须有漏洞和 Scorecard 证据,机器是否能证明 | 控制项要求 `supply-chain-attestation.schema.json` 和示例包含 `vulnerability`、`scorecard` | | 文档说 starter kit 必须拒绝未知字段,机器是否能证明 | 控制项要求 checker 包含 `additionalProperties must be false` 和 `unexpected field` 证据 | | 文档说严格 schema 必须有扩展出口,机器是否能证明 | 控制项要求 `extension-policy.schema.json` 和示例包含受控前缀、审批和默认拒绝策略 | | 文档说生产灰度必须可关闭,机器是否能证明 | 控制项要求 `feature-flag-control.schema.json` 和示例包含 `killSwitch`、`rollbackOnSloBurn` 和曝光事件 | | 文档说 AI 产品必须做威胁建模,机器是否能证明 | 控制项要求 `ai-threat-model.schema.json` 和示例包含 OWASP、MCP、红队、工具同意和残余风险 | | 文档说数据产品必须有运行血缘,机器是否能证明 | 控制项要求 `lineage-event.schema.json` 和示例包含 job、run、inputs、outputs、schema 和质量证据 | | 文档说平台工程必须作为产品运营,机器是否能证明 | 控制项要求 `platform-product-metrics.schema.json` 和示例包含 Platform PM、Golden Path、满意度、认知负载和改进行动 | | 文档说含 PII 的数据产品必须做隐私影响评估,机器是否能证明 | 控制项要求 `privacy-impact-assessment.schema.json` 和示例包含 DPIA、主体权利、删除传播和 AI 使用限制 | | 文档说生产租户必须有隔离和配额,机器是否能证明 | 控制项要求 `tenant-boundary.schema.json` 和示例包含 ResourceQuota、NetworkPolicy 默认拒绝和准入策略 | | 文档说 RTO/RPO 必须被演练证明,机器是否能证明 | 控制项要求 `recovery-drill-evidence.schema.json` 和示例包含目标、实际恢复结果、备份、恢复日志和复盘 | | 文档说关键系统和数据必须真实可恢复,机器是否能证明 | 控制项要求 `baseline-backup-restore-disaster-recovery-ledger.schema.json` 和示例包含关键资产、数据存储、备份策略、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验、勒索隔离、恢复权限和 owner | | 文档说容量、性能和成本效率必须持续受控,机器是否能证明 | 控制项要求 `baseline-capacity-performance-cost-efficiency-ledger.schema.json` 和示例包含容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列积压、数据库容量、预算、单位经济、成本分摊、异常成本和优化行动 | | 文档说生产服务可靠性必须由 SLO、错误预算和可观测性证明,机器是否能证明 | 控制项要求 `baseline-service-reliability-slo-error-budget-observability-ledger.schema.json` 和示例包含生产服务、关键用户旅程、SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、日志/指标/链路覆盖、仪表盘、降级策略和事故反馈 | | 文档说策略准入必须可测试,机器是否能证明 | 控制项要求 `policy-test-report.schema.json` 和示例包含策略引擎、测试数、失败数和执行命令 | | 文档说 GenAI 必须可观测,机器是否能证明 | 控制项要求 `genai-observability-contract.schema.json` 和示例包含 Token、成本、工具调用、RAG span 和日志脱敏 | | 文档说成本必须可分摊,机器是否能证明 | 控制项要求 `cost-allocation-evidence.schema.json` 和示例包含标签覆盖率、未分摊成本、总成本和优化行动 | | 文档说生产访问必须复核,机器是否能证明 | 控制项要求 `identity-access-review.schema.json` 和示例包含身份源、角色、break-glass、MFA 和复核结论 | | 文档说生产密钥必须轮换,机器是否能证明 | 控制项要求 `secrets-rotation-evidence.schema.json` 和示例包含 KMS、静态加密、轮换结果和泄露扫描 | | 文档说高危漏洞必须修复,机器是否能证明 | 控制项要求 `vulnerability-remediation-evidence.schema.json` 和示例包含 SLA、修复日期、残余风险和发布准入 | | 文档说生产事故必须复盘反哺,机器是否能证明 | 控制项要求 `incident-postmortem.schema.json` 和示例包含根因、行动项、runbook 更新和门禁更新 | | 文档说证据不能过期继续准入,机器是否能证明 | 控制项要求 `evidence-freshness-policy.schema.json` 和示例包含最大年龄、过期阻断和 CI 执行 | | 文档说每个控制项都必须有可追踪证据,机器是否能证明 | 控制项要求 `control-evidence-map.schema.json` 和示例覆盖全部控制项 ID、证据路径、状态和新鲜度 | | 文档说每条适用监管和合规义务必须映射到控制与证据,机器是否能证明 | 控制项要求 `baseline-regulatory-obligation-ledger.schema.json` 和示例包含义务来源、版本、司法辖区、适用资产、控制目标、控制项、证据路径、owner、例外、POA&M 和监管变更状态 | | 文档说生产密码材料、密钥、证书和秘密生命周期必须受控,机器是否能证明 | 控制项要求 `baseline-cryptographic-secrets-key-certificate-ledger.schema.json` 和示例包含 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、托管位置、算法强度、轮换、过期、吊销、泄露响应和访问边界 | | 文档说资产关键性、数据分类和风险分级必须驱动门禁,机器是否能证明 | 控制项要求 `baseline-asset-criticality-classification-ledger.schema.json` 和示例包含资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露、第三方关键性和复核状态 | | 文档说每个生产身份、特权访问和工作负载身份必须可追踪,机器是否能证明 | 控制项要求 `baseline-identity-entitlement-access-ledger.schema.json` 和示例包含人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、owner、审批、到期、复核和运行时绑定状态 | | 文档说所有个人数据处理活动必须进入 RoPA 和数据清单覆盖总账,机器是否能证明 | 控制项要求 `baseline-processing-activity-inventory-ledger.schema.json` 和示例包含处理活动、数据主体类别、个人数据类别、角色、接收方、跨境传输、保留映射、DPIA、合法基础、owner 和发现覆盖状态 | | 文档说每个处理目的必须有合法基础、同意偏好和权利请求履约证据,机器是否能证明 | 控制项要求 `baseline-privacy-rights-consent-ledger.schema.json` 和示例包含处理目的、合法基础、同意版本、撤回传播、主体权利请求、SLA、自动化决策复核、第三方传播和下游处理阻断 | | 文档说每类记录必须有留存排期、法律保全和可防御删除回执,机器是否能证明 | 控制项要求 `baseline-records-retention-legal-hold-ledger.schema.json` 和示例包含记录类别、留存排期、义务来源、司法辖区、legal hold、删除资格、删除传播、备份/日志/向量索引处置和删除回执 | | 文档说审计包必须可导出和复核,机器是否能证明 | 控制项要求 `audit-export-manifest.schema.json` 和示例包含范围、内容、验证、签名和留存 | | 文档说审计包必须能由仓库生成,机器是否能证明 | 控制项要求 审计导出脚本、Makefile 入口和 checker 自动化检查 | | 文档说控制必须被评估和签署,机器是否能证明 | 控制项要求 `control-assessment-report.schema.json` 和示例包含控制结果、发现项、整改、剩余风险和签署 | | 文档说基线变更必须受控,机器是否能证明 | 控制项要求 `baseline-change-record.schema.json` 和示例包含影响分析、审批、验证命令和回滚计划 | | 文档说重大架构变更必须有 ADR,机器是否能证明 | 控制项要求 `architecture-decision-record.schema.json` 和示例包含上下文、备选方案、取舍、控制项、风险、POA&M 和复审 | | 文档说审计证据必须可交换,机器是否能证明 | 控制项要求 `oscal-export-profile.schema.json`、示例和导出脚本覆盖 OSCAL 五类视图 | | 文档说发现项必须进入 POA&M 整改计划,机器是否能证明 | 控制项要求 `poam-record.schema.json`、示例和导出脚本覆盖发现项、行动、里程碑、证据和 OSCAL POA&M 输出 | | 文档说架构风险必须登记和复审,机器是否能证明 | 控制项要求 `risk-register.schema.json`、示例和导出脚本覆盖风险、控制项、POA&M、缓解行动、残余风险和复审 | | 文档说审计导出必须进入质量门禁,机器是否能证明 | 控制项要求 `audit-export-gate.schema.json`、审计导出门禁脚本和 `make test` 覆盖输出不变量 | | 文档说审计包交接后必须可防篡改复核,机器是否能证明 | 控制项要求 `audit-export-integrity.schema.json`、导出脚本和门禁覆盖生成物 SHA-256 摘要 | | 文档说审计包必须能证明生成来源,机器是否能证明 | 控制项要求 `audit-export-provenance.schema.json`、导出脚本和门禁覆盖 subject digest、构建定义、源码提交和源证据依赖 | `internal-command://architecture/check-modern-architecture-kit` 必须校验控制清单自身,并校验清单中声明的 schema 字段、example 字段和 checker 证据确实存在。 ### 10.10.6 企业执行控制面 企业执行控制面的目标,是把“这个标准是否真的落地”从文档判断变成门禁判断。它不替代具体工具,而是定义所有工具必须对齐的共同控制协议。 控制面由三类文件组成: ```text governance/control-plane/conformance-profile.yaml governance/control-plane/control-plane.yaml governance/control-plane/release-gate-decision.yaml ``` `conformance-profile.yaml` 定义资产需要执行到什么强度: ```yaml profile: regulated-ai-prod appliesTo: assetTypes: - service - data-product - ai-product environments: - prod risk: businessCriticality: tier-1 dataSensitivity: confidential aiRiskTier: R3 internetFacing: true requiredGateLevel: L4 requiredEvidence: - owner - service-contract - api-compatibility - data-contract - ai-evaluation - sbom - provenance - signature-verification - gitops-diff - slo - runbook - rollback - incident-playbook - audit-export allowedExceptions: maxActiveDays: 30 requiresRiskAcceptance: true requiresCompensatingControl: true review: cadence: quarterly owner: architecture-governance-board ``` `control-plane.yaml` 汇总控制项、证据、阻断级别和自动化状态: ```yaml controlPlane: version: V2.28 owner: architecture-governance-board defaultProfile: standard-prod controls: - id: EA-REL-001 title: Production service has owner, SLO and runbook appliesTo: - service gateLevel: L2 blocking: true evidence: - domains/{domain}/services/{service}/service.yaml - catalog/components/{service}.yaml - governance/evidence/releases/{release}.yaml automation: status: enforced command: service-contract-check freshness: maxAgeDays: 90 exception: allowed: false - id: EA-AI-004 title: High-risk AI product has evaluation, threat model and incident playbook appliesTo: - ai-product gateLevel: L4 blocking: true evidence: - ai/applications/{ai-product}/ai-product.yaml - contracts/ai/threat-models/{ai-product}.yaml - governance/playbooks/{ai-product}-incident-playbook.yaml - governance/evidence/ai/{ai-product}-evidence.yaml automation: status: measured command: ai-release-gate freshness: maxAgeDays: 30 exception: allowed: true maxActiveDays: 14 requiresHumanApproval: true ``` `release-gate-decision.yaml` 记录每次门禁结果: ```yaml decision: id: gate-2026-06-02-order-command-service asset: order-command-service profile: regulated-ai-prod environment: prod result: conditional-pass decidedAt: 2026-06-02T07:30:00+08:00 decidedBy: release-captain checks: passed: - sbom - provenance - signature-verification - gitops-diff failed: - recovery-drill-freshness exceptions: - id: ex-2026-q2-recovery-drill expiresAt: 2026-06-16T23:59:59+08:00 riskAcceptedBy: sre-lead compensatingControl: on-call manual recovery drill scheduled requiredActions: - owner: team-order due: 2026-06-10 action: complete recovery drill and attach evidence rollback: required: true plan: docs/rollback.md ``` 门禁等级采用五级: | 等级 | 含义 | 适用对象 | 最低要求 | | ---- | ---- | -------- | -------- | | `L0` | 记录级 | 实验、非生产、一次性验证 | owner、生命周期、退出日期 | | `L1` | 契约级 | 低风险内部服务、内部数据集 | 机器可读契约、catalog、基础测试 | | `L2` | 发布级 | 普通生产服务和数据产品 | CI、SLO、runbook、GitOps、发布证据 | | `L3` | 证明级 | Tier-1 服务、机密数据、外部接口 | SBOM、provenance、签名验签、恢复演练、控制证据映射 | | `L4` | 受控级 | 高风险 AI、受监管流程、关键资金链路 | 独立审批、红队、审计导出、POA&M、风险接受和季度复核 | 门禁结果只能使用以下五类: | 结果 | 含义 | 是否允许发布 | 必须附带 | | ---- | ---- | ------------ | -------- | | `pass` | 所有阻断项通过 | 是 | 自动化证据和审计索引 | | `conditional-pass` | 非阻断项缺失或证据临近过期 | 是 | 到期行动、owner、补偿控制 | | `fail` | 阻断项失败 | 否 | 失败项、修复建议、重新验证命令 | | `exception` | 经授权的风险接受 | 视等级而定 | 到期时间、批准人、补偿控制、POA&M | | `break-glass` | 生产紧急处置 | 临时允许 | 事故编号、最短有效期、事后复盘和回补证据 | 执行规则: 1. `L3` 和 `L4` 资产不得仅凭人工评审发布,必须有机器证据和签署记录。 2. `conditional-pass` 不能连续出现两次;第二次必须转为 `fail` 或正式例外。 3. 所有 `exception` 必须有到期时间、风险接受人、补偿控制和关闭条件。 4. `break-glass` 只能用于生产事故或监管时限,必须在 24 到 72 小时内补齐复盘和证据。 5. 证据过期视为证据缺失;关键证据过期必须阻断同等级资产的新发布。 6. 每季度必须抽样复核 `L3` / `L4` 资产,复核结果进入 `control-assessment-report.yaml`。 7. 控制面本身的变更必须走 ADR、CODEOWNERS、受保护分支和基线变更记录。 可执行验收标准: 1. 任意生产资产都能找到自己的 `conformance-profile`。 2. 任意阻断控制都能从 `control-plane` 追溯到证据路径、自动化状态和 owner。 3. 任意发布都能找到 `release-gate-decision`,并能解释为什么通过、阻断或例外放行。 4. 任意例外都能找到到期时间、补偿控制、风险接受人和关闭证据。 5. 任意审计导出都能包含控制面版本、门禁决策摘要、开放例外和 POA&M 状态。 ### 10.10.7 外部标准版本锁定与升级策略 企业标准不能直接引用“latest”。外部标准、规范、语义约定和工具能力都必须先进入版本锁定清单,再进入控制面、门禁和审计证据。 标准基线由 `standards-baseline.yaml` 维护: ```yaml standardBaseline: version: V2.29 owner: architecture-governance-board reviewCadence: quarterly standards: - id: slsa name: Supply-chain Levels for Software Artifacts pinnedVersion: v1.2 status: approved adoptionLevel: enforce sourceUrl: https://slsa.dev/spec/v1.2/ reviewedAt: "2026-06-02" appliesTo: - supply-chain-attestation - audit-export-provenance minimumGateLevel: L3 upgradePolicy: requiresAdr: true requiresCompatibilityReview: true rollout: phased - id: otel-genai name: OpenTelemetry Semantic Conventions for Generative AI pinnedVersion: semconv-1.41.0 status: development adoptionLevel: observe sourceUrl: https://opentelemetry.io/docs/specs/semconv/gen-ai/ reviewedAt: "2026-06-02" appliesTo: - genai-observability-contract - ai-evidence minimumGateLevel: L2 upgradePolicy: requiresAdr: false requiresCompatibilityReview: true rollout: opt-in ``` 采纳等级分为四类: | 等级 | 含义 | 是否可阻断发布 | 示例 | | ---- | ---- | -------------- | ---- | | `reference` | 仅作为设计参考,不进入门禁 | 否 | 白皮书、方法论、非规范文章 | | `observe` | 进入观测和证据字段,但不作为硬阻断 | 否 | Development 状态语义约定、实验性 Agent 协议 | | `gate` | 进入门禁,但允许阶段性例外 | 是 | API 兼容、数据质量、GenAI trace 覆盖率 | | `enforce` | 强制执行,例外必须有风险接受和到期时间 | 是 | SLSA provenance、SBOM、签名验签、生产 GitOps digest | 稳定性分级: | 状态 | 处理方式 | | ---- | -------- | | `approved` / `stable` | 可以进入 `gate` 或 `enforce`,但仍需锁定版本 | | `draft` / `release-candidate` | 默认进入 `gate`,不得直接设为全局 `enforce` | | `concept-note` / `community-preview` | 默认进入 `observe` 或 `reference`,不得作为强制门禁 | | `development` / `experimental` | 默认只能 `observe`,生产阻断必须有 ADR 和灰度窗口 | | `deprecated` | 禁止新项目采用,既有项目必须给出迁移截止日期 | 基线升级流程: 1. 识别外部标准新版本、状态变化、废弃说明和向后兼容风险。 2. 由 owner 生成标准升级影响分析,列出受影响契约、控制项、工具和证据字段。 3. 对 `gate` / `enforce` 标准必须形成 ADR 或基线变更记录。 4. 先在非生产 profile 或低风险资产上灰度,验证 CI、导出包、catalog 和观测字段兼容性。 5. 灰度通过后更新 `standards-baseline.yaml`、控制项覆盖清单和相关门禁。 6. 如果升级导致审计字段、证据格式或策略结果变化,必须生成迁移说明和回滚路径。 当前建议锁定的关键标准基线: | 标准 | 建议状态 | 采纳等级 | 说明 | | ---- | -------- | -------- | ---- | | SLSA v1.2 | approved | enforce | 用于 provenance、构建来源和供应链证明 | | SPDX 3.0.1 / CycloneDX 1.7 | stable | enforce | 用于 SBOM 生成和制品审计 | | CISA KEV / FIRST EPSS / CVSS v4.0 / CycloneDX VEX / OASIS CSAF | stable | enforce | 用于漏洞优先级、可利用性、影响状态、修复 SLA、风险接受和 VEX/CSAF 交换 | | CIS Controls v8 Control 4 / CIS Benchmarks / NIST SP 800-128 / NIST SP 800-53 CM / SCAP / Kubernetes Pod Security Standards | stable | enforce | 用于安全配置基线、加固姿态、配置漂移、配置变更控制、Pod Security、扫描复测和例外阻断 | | Sigstore / Cosign | stable | enforce | 用于镜像、provenance 和审计导出签名验签 | | NIST AI RMF 1.0 + NIST AI 600-1 | stable | gate | 用于 AI 风险治理、评估和管理闭环 | | NIST AI RMF Critical Infrastructure Profile Concept Note | concept-note | observe | 用于关键基础设施 AI 场景观察和预研,不作为稳定强制门禁 | | OpenTelemetry Semantic Conventions 1.41.0 / GenAI SemConv | development | observe | 用于 GenAI trace、Token、模型和工具调用观测,生产字段需版本锁定 | | OWASP LLM / Agentic AI | active | gate | 用于威胁模型、红队和工具权限门禁 | | Kubernetes / OpenGitOps | stable | enforce | 用于运行期望状态、漂移检测和 GitOps 发布控制 | | CNCF Platform Engineering Maturity Model | reference | reference | 用于平台成熟度评估,不直接阻断发布 | 禁止事项: 1. 禁止在生产门禁中使用未锁定版本的外部标准。 2. 禁止把 `development` 状态规范直接设为全局强制阻断。 3. 禁止把 `concept-note`、白皮书、社区预览或供应商路线图当作稳定合规要求。 4. 禁止标准升级只改文档、不改 checker、证据字段和迁移说明。 5. 禁止一个团队私自升级共享门禁标准,导致其他团队 CI 或审计导出漂移。 ### 10.10.8 版本控制面和基线发布协议 `version-governance.yaml` 是架构基线发布的控制面。它不存放正文内容,而是把版本、Git、证据和门禁绑定成同一条可验证事实链。 ```yaml versionGovernance: baselineId: mea-v2.53-20260602 documentVersion: V2.53 releaseChannel: candidate status: Baseline Candidate owner: architecture-governance-board sourceCommit: releaseTag: architecture/v2.53-candidate tagSigned: true effectiveFrom: 2026-06-02 supersedes: V2.52 compatibility: changeLevel: minor backwardCompatible: true compatibilityWindow: P90D migrationRequired: false linkedBaselines: versionManifest: governance/control-plane/version-manifest.yaml controlCoverage: governance/control-plane/control-coverage.yaml standardsBaseline: governance/control-plane/standards-baseline.yaml enforcementPolicy: governance/control-plane/baseline-enforcement-policy.yaml versionPolicyReleaseControlLedger: governance/evidence/baselines/baseline-version-policy-release-control-ledger.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml 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 eolRetirementCertificate: governance/evidence/baselines/baseline-eol-retirement-certificate.yaml releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml readinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml reviewBoardDecision: governance/evidence/baselines/baseline-review-board-decision.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml notificationLedger: governance/evidence/communications/baseline-notification-ledger.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml conformanceClaims: governance/evidence/conformance/baseline-conformance-claim.yaml consumptionLocks: governance/evidence/conformance/baseline-consumption-lock.yaml migrationWorkOrders: governance/evidence/migrations/baseline-migration-work-order.yaml migrationExecutionReceipts: governance/evidence/migrations/baseline-migration-execution-receipt.yaml localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml threatModelAttackSurfaceRiskLedger: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml vulnerabilityExposureRemediationLedger: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml secureConfigurationPostureDriftLedger: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml incidentProblemCorrectiveActionLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml dataProductQualityContractObservabilityLedger: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml engineeringQualityTestReleaseVerificationLedger: governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml workforceCompetencyTrainingDutySegregationLedger: governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml businessOutcomeValueRealizationPortfolioLedger: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml valueStreamJourneyProcessLedger: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml architectureViewRuntimeTopologyDependencyLedger: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml qualityAttributeArchitectureDriverTradeoffLedger: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml architecturePrincipleConstraintExceptionLedger: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml capacityPerformanceCostEfficiencyLedger: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml serviceReliabilitySloErrorBudgetObservabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml backupRestoreDisasterRecoveryLedger: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml cryptographicSecretsKeyCertificateLedger: governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml identityEntitlementAccessLedger: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml processingActivityInventoryLedger: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml privacyRightsConsentLedger: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml gates: required: - make sync-doc-toc - make test - git diff --check releaseDecision: governance/control-plane/release-gate-decision.yaml freezePolicy: canFreezeAfter: - architecture-review-approved - audit-export-generated - open-critical-findings-zero emergencyPatchAllowed: true rollback: previousBaseline: V2.52 rollbackCommit: rollbackTag: architecture/v2.52-candidate rollbackGuide: governance/evidence/baseline-changes/baseline-change-record.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml ``` 执行规则: 1. `documentVersion` 必须等于主文档版本、版本清单版本和审计导出版本。 2. `baselineId` 一经发布不得复用;同一 `baselineId` 不得指向不同 commit。 3. `releaseTag` 必须指向 `sourceCommit`,生产级基线必须使用签名 tag。 4. `releaseChannel=baseline` 或 `frozen` 时,必须有 `release-gate-decision.yaml`、基线准入执行策略、基线版本策略、发布通道、兼容性与冻结控制总账、基线消费锁定文件、基线迁移工作单、基线迁移执行回执、本地私有制品边界、审计导出排除清单、私有制品托管交接清单、基线生产变更、发布编排、变更冲突与失败恢复总账、基线事故、问题、纠正行动与复发防止总账、基线数据产品质量、契约违约、运行血缘与可观测性总账、基线工程质量、测试证据、缺陷与发布验证总账、基线人员能力、培训、职责履职与职责分离总账、基线业务结果、价值实现与组合收益总账、基线价值流、关键旅程与端到端流程总账、基线架构视图、运行拓扑与依赖影响总账、基线质量属性、架构驱动与权衡决策总账、基线架构原则、约束、反模式与例外执行总账、基线服务可靠性、SLO、错误预算与可观测性总账、基线备份、恢复、灾备与可恢复性验证总账、基线密码材料、密钥、证书与秘密生命周期总账、基线资产关键性、数据分类与风险分级总账、基线身份权限、特权访问与工作负载身份总账、基线处理活动、个人数据清单与 RoPA 覆盖总账、基线隐私权利请求、同意偏好与合法基础执行总账、基线记录留存、法律保全与可防御删除总账、基线监管与合规义务可追溯总账、基线生命周期状态机、基线状态对账报告、基线证据追踪图、基线门禁执行报告、基线发布事务回执、基线撤销与隔离记录、基线验证环境锁、基线制品清单、基线就绪评分卡、基线会审裁决记录、基线例外总账、通知确认总账、回滚验证记录和审计导出清单。 5. `changeLevel=major` 或 `breaking` 时,必须引用 ADR、迁移计划、弃用策略和消费者影响分析。 6. `compatibilityWindow` 到期后,未迁移消费者必须转入例外、POA&M 或风险接受记录。 7. 回滚不能只写“回退上一版”,必须指向可 checkout 的 commit、tag、GitOps revision 或制品 digest。 可执行验收标准: 1. 任意基线都能从 `version-governance.yaml` 追溯到源 commit、release tag、版本清单、基线准入执行策略、基线消费锁定文件、基线迁移工作单、基线迁移执行回执、本地私有制品边界、审计导出排除清单、私有制品托管交接清单、基线生产变更、发布编排、变更冲突与失败恢复总账、基线事故、问题、纠正行动与复发防止总账、基线数据产品质量、契约违约、运行血缘与可观测性总账、基线工程质量、测试证据、缺陷与发布验证总账、基线人员能力、培训、职责履职与职责分离总账、基线业务结果、价值实现与组合收益总账、基线价值流、关键旅程与端到端流程总账、基线架构视图、运行拓扑与依赖影响总账、基线质量属性、架构驱动与权衡决策总账、基线服务可靠性、SLO、错误预算与可观测性总账、基线备份、恢复、灾备与可恢复性验证总账、基线密码材料、密钥、证书与秘密生命周期总账、基线资产关键性、数据分类与风险分级总账、基线身份权限、特权访问与工作负载身份总账、基线处理活动、个人数据清单与 RoPA 覆盖总账、基线隐私权利请求、同意偏好与合法基础执行总账、基线记录留存、法律保全与可防御删除总账、基线监管与合规义务可追溯总账、基线生命周期状态机、基线状态对账报告、基线证据追踪图、基线门禁执行报告、基线发布事务回执、基线撤销与隔离记录、基线就绪评分卡、基线会审裁决记录、基线例外总账、通知确认总账、回滚验证记录、验证环境锁、基线制品清单、EOL 退役证书和审计导出。 2. 任意冻结基线都能证明没有被直接修改;后续变更只能通过补丁或新基线替代。 3. 任意 breaking change 都能找到兼容窗口、消费者清单、迁移说明和回滚入口。 4. 任意 emergency patch 都能找到事故或安全编号、补丁范围、事后复盘和补齐证据。 ### 10.10.9 基线发布证据包与版本漂移复核 `baseline-release-evidence.yaml` 是基线从 `candidate` 晋级到 `baseline` 或 `frozen` 的证据包。它不替代 `version-governance.yaml`,而是证明版本控制面声明的事实已经被验证。 ```yaml baselineReleaseEvidence: evidenceId: bre-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board promotion: fromChannel: candidate toChannel: baseline requestedBy: architecture-governance-board approvedBy: - platform-lead - security-lead - data-governance-lead decision: pass decidedAt: 2026-06-02T10:30:00+08:00 immutableRefs: sourceCommit: releaseTag: architecture/v2.53-candidate tagSignatureVerified: true versionPolicyReleaseControlLedgerDigest: sha256: publishTransactionDigest: sha256: enforcementPolicyDigest: sha256: consumptionLockDigest: sha256: migrationWorkOrderDigest: sha256: migrationExecutionReceiptDigest: sha256: localArtifactBoundaryDigest: sha256: auditExportExclusionManifestDigest: sha256: privateArtifactEscrowManifestDigest: sha256: cleanRoomReconstructionReceiptDigest: sha256: evidenceArchiveReceiptDigest: sha256: signatureLtvReceiptDigest: sha256: runtimeAdmissionReceiptDigest: sha256: runtimeAdmissionDecisionLedgerDigest: sha256: continuousControlMonitoringLedgerDigest: sha256: controlAssuranceSamplingLedgerDigest: sha256: controlInheritanceLedgerDigest: sha256: dataResidencyTransferLedgerDigest: sha256: thirdPartyRiskLedgerDigest: sha256: operationalResilienceLedgerDigest: sha256: threatModelAttackSurfaceRiskLedgerDigest: sha256: vulnerabilityExposureRemediationLedgerDigest: sha256: secureConfigurationPostureDriftLedgerDigest: sha256: productionChangeReleaseLedgerDigest: sha256: incidentProblemCorrectiveActionLedgerDigest: sha256: dataProductQualityContractObservabilityLedgerDigest: sha256: engineeringQualityTestReleaseVerificationLedgerDigest: sha256: workforceCompetencyTrainingDutySegregationLedgerDigest: sha256: businessOutcomeValueRealizationPortfolioLedgerDigest: sha256: valueStreamJourneyProcessLedgerDigest: sha256: architectureViewRuntimeTopologyDependencyLedgerDigest: sha256: qualityAttributeArchitectureDriverTradeoffLedgerDigest: sha256: architecturePrincipleConstraintExceptionLedgerDigest: sha256: capacityPerformanceCostEfficiencyLedgerDigest: sha256: serviceReliabilitySloErrorBudgetObservabilityLedgerDigest: sha256: regulatoryObligationLedgerDigest: sha256: backupRestoreDisasterRecoveryLedgerDigest: sha256: cryptographicSecretsKeyCertificateLedgerDigest: sha256: assetCriticalityClassificationLedgerDigest: sha256: identityEntitlementAccessLedgerDigest: sha256: processingActivityInventoryLedgerDigest: sha256: privacyRightsConsentLedgerDigest: sha256: recordsRetentionLegalHoldLedgerDigest: sha256: auditExportDigest: sha256: controlCoverageDigest: sha256: lifecycleStateMachineDigest: sha256: stateReconciliationDigest: sha256: evidenceTraceGraphDigest: sha256: gateExecutionReportDigest: sha256: revocationRecordDigest: sha256: eolRetirementCertificateDigest: sha256: reviewBoardDecisionDigest: sha256: artifactInventoryDigest: sha256: verificationLockDigest: sha256: readinessScorecardDigest: sha256: exceptionLedgerDigest: sha256: notificationLedgerDigest: sha256: rollbackVerificationDigest: sha256: invariants: documentVersionMatchesManifest: true controlCoverageMatchesManifest: true lifecycleTransitionAllowed: true stateReconciliationHasNoDrift: true evidenceTraceGraphClosed: true evidenceTraceGraphDigestsMatch: true gateExecutionReportMatchesReleaseDecision: true gateExecutionReplayPasses: true publishTransactionRemoteRefsMatch: true publishTransactionPostVerificationPasses: true enforcementPolicyBlocksUnsupportedBaseline: true enforcementPolicyBlocksRevokedOrEolBaseline: true enforcementPolicyRequiresConformanceClaim: true enforcementPolicyBlocksExpiredException: true consumptionLocksUseImmutableRefs: true consumptionLocksMatchReleaseEvidence: true noFloatingBaselineConsumption: true migrationWorkOrdersHaveExecutableSteps: true migrationWorkOrdersUpdateConsumptionLocks: true migrationWorkOrdersRollbackVerified: true migrationExecutionReceiptsBindActualCommands: true migrationExecutionReceiptsMatchBeforeAfterDigests: true migrationExecutionReceiptsValidateRollback: true localPrivateArtifactsDeclared: true localPrivateArtifactsAbsentFromRemote: true auditExportExclusionManifestPresent: true auditExportRawAllowlistEnforced: true auditExportDigestOnlyEntriesMatchBoundary: true auditExportForcedExclusionsAbsentFromPayload: true localPrivateArtifactsExcludedFromSignaturePayload: true privateArtifactEscrowManifestPresent: true privateArtifactEscrowDigestsMatchBoundary: true privateArtifactEscrowRestoreVerified: true cleanRoomReconstructionReceiptPresent: true cleanRoomReconstructionUsesImmutableRefs: true cleanRoomReconstructionReplaysGate: true cleanRoomReconstructionDigestMatchesRelease: true evidenceArchiveReceiptPresent: true evidenceArchiveUsesImmutableStorage: true evidenceArchiveRestoreDrillPasses: true evidenceArchiveRetentionLocked: true signatureLtvReceiptPresent: true signatureLtvTimestampVerified: true signatureLtvCertificateChainArchived: true signatureLtvRevocationStatusRecorded: true runtimeAdmissionReceiptPresent: true runtimeAdmissionPoliciesEnforced: true runtimeAdmissionRejectSamplesVerified: true runtimeAdmissionDigestsMatchRelease: true runtimeAdmissionDecisionLedgerPresent: true runtimeAdmissionDecisionLedgerDigestsMatchRelease: true runtimeAdmissionDecisionLedgerCoversAllowDeny: true runtimeAdmissionDecisionLedgerLogsArchived: true continuousControlMonitoringLedgerPresent: true continuousControlMonitoringCriticalControlsCovered: true continuousControlMonitoringAlertsConfigured: true continuousControlMonitoringOpenCriticalDriftZero: true continuousControlMonitoringEvidenceFresh: true controlAssuranceSamplingLedgerPresent: true controlAssuranceSamplingAssessorIndependent: true controlAssuranceSamplingCoversCriticalControls: true controlAssuranceSamplingFindingsClosedOrAccepted: true controlAssuranceSamplingOscalResultsGenerated: true controlInheritanceLedgerPresent: true inheritedControlsHaveProviderEvidence: true sharedControlsHaveConsumerResponsibilities: true noExpiredInheritedControlEvidence: true noUnownedSharedControl: true dataResidencyTransferLedgerPresent: true dataResidencyApprovedRegionsOnly: true crossBorderTransfersHaveMechanism: true subprocessorsApprovedForDataClasses: true noUnapprovedProcessingRegion: true noDeletionPropagationGap: true thirdPartyRiskLedgerPresent: true criticalSuppliersApproved: true criticalSuppliersHaveContractsAndAuditRights: true criticalSuppliersHaveFreshAssuranceEvidence: true criticalSuppliersHaveExitPlans: true supplierConcentrationWithinThreshold: true noUnapprovedCriticalSupplier: true operationalResilienceLedgerPresent: true importantBusinessServicesIdentified: true impactTolerancesDefinedAndApproved: true endToEndDependenciesMapped: true severeButPlausibleScenariosTested: true scenarioResultsWithinImpactTolerance: true noOpenCriticalResilienceGap: true toleranceBreachesEscalated: true threatModelAttackSurfaceRiskLedgerPresent: true threatModelAttackSurfaceRiskDigestMatchesRelease: true criticalAssetsHaveThreatModels: true threatModelsFreshForCriticalAssets: true attackSurfacesInventoried: true trustBoundariesAndDataFlowsMapped: true highRiskDataFlowsMitigated: true criticalAbuseCasesClosedOrAccepted: true securityTestsLinkedToThreats: true residualRisksSignedOrPoamTracked: true releaseGateConsumesThreatModelLedger: true vulnerabilityExposureRemediationLedgerPresent: true vulnerabilityExposureRemediationDigestMatchesRelease: true vulnerabilityFindingsHaveOwners: true criticalAndKevFindingsClosedOrAccepted: true internetExposedHighFindingsClosedOrBlocked: true exploitabilityScoresRecorded: true vexOrCsafStatusesRecorded: true remediationSlasWithinPolicy: true remediationsRetested: true expiredVulnerabilityExceptionsZero: true scannerCoverageCompleteForCriticalAssets: true releaseGateConsumesVulnerabilityLedger: true secureConfigurationPostureDriftLedgerPresent: true secureConfigurationPostureDriftDigestMatchesRelease: true configurationBaselinesAssigned: true criticalConfigurationDriftsClosedOrAccepted: true podSecurityRestrictedOrAccepted: true cloudPublicExposureMisconfigsZero: true loggingAndAuditConfigurationEnabled: true weakTlsConfigurationsZero: true configurationExceptionsNotExpired: true configurationRemediationsRetested: true releaseGateConsumesSecureConfigurationLedger: true productionChangeReleaseLedgerPresent: true productionChangeReleaseDigestMatchesRelease: true productionChangesRegistered: true productionChangeWindowsApproved: true productionChangeConflictsResolved: true productionChangeRollbacksVerified: true productionDatabaseMigrationsRehearsed: true productionFeatureFlagsHaveKillSwitch: true productionPromptModelChangesEvaluated: true emergencyChangesPostReviewed: true failedChangesClosedOrLinkedToIncident: true releaseGateConsumesProductionChangeLedger: true incidentProblemCorrectiveActionLedgerPresent: true incidentProblemCorrectiveActionDigestMatchesRelease: true incidentsClassifiedAndOwned: true incidentTimelinesComplete: true incidentRcasCompleted: true correctiveActionsClosedOrPoamTracked: true recurrencePreventionActionsVerified: true incidentRunbooksAndAlertsUpdated: true majorIncidentsCommunicationsComplete: true recurringIncidentsEscalatedToProblemManagement: true doraRecoveryMetricsUpdated: true releaseGateConsumesIncidentProblemLedger: true dataProductQualityContractObservabilityLedgerPresent: true dataProductQualityContractObservabilityDigestMatchesRelease: true dataProductsHaveOwnersAndContracts: true dataProductQualityAssertionsPass: true dataProductFreshnessWithinSlo: true dataProductSchemaDriftClosed: true dataProductLineageComplete: true dataProductContractBreachesClosedOrAccepted: true dataProductConsumerNotificationsComplete: true dataProductAiFeatureRagUsageAuthorized: true releaseGateConsumesDataProductQualityLedger: true engineeringQualityTestReleaseVerificationLedgerPresent: true engineeringQualityTestReleaseVerificationDigestMatchesRelease: true requirementsMappedToTests: true criticalTestSuitesPassed: true contractAndRegressionTestsPassed: true coverageThresholdsMet: true flakyTestsQuarantinedOrFixed: true criticalAndHighDefectsClosedOrAccepted: true defectFixesRetested: true releaseSmokeAndCanaryVerificationPassed: true qualityRiskAcceptanceSigned: true releaseGateConsumesEngineeringQualityLedger: true capacityPerformanceCostEfficiencyLedgerPresent: true capacityPerformanceCostEfficiencyDigestMatchesRelease: true criticalServicesHaveCapacityForecasts: true loadTestsFreshForCriticalServices: true performanceBaselinesWithinThreshold: true resourceRequestsAndLimitsDeclared: true autoscalingPoliciesDeclared: true queueAndDatabaseCapacityWithinPolicy: true budgetsWithinApprovedThreshold: true unitEconomicsMeasured: true anomalousCostsClosedOrAccepted: true serviceReliabilitySloErrorBudgetObservabilityLedgerPresent: true serviceReliabilitySloErrorBudgetObservabilityDigestMatchesRelease: true criticalServicesHaveSlos: true slisAreMeasurable: true errorBudgetsWithinPolicy: true criticalAlertsRoutedToOnCall: true runbooksPresentForCriticalAlerts: true syntheticJourneysCovered: true telemetryCoverageComplete: true noUnownedCriticalAlert: true regulatoryObligationLedgerPresent: true applicableObligationsMappedToControls: true mandatoryObligationsHaveEvidence: true noUnownedRegulatoryObligation: true regulatoryChangeMonitoringActive: true noOverdueObligationPoam: true cryptographicSecretsKeyCertificateLedgerPresent: true cryptographicMaterialsInventoried: true cryptographicMaterialOwnersAssigned: true noPlaintextProductionSecret: true noExpiredProductionCertificate: true noOverdueKeyRotation: true noWeakCryptographicAlgorithm: true revocationPathsDeclared: true leakedSecretsClosedOrRevoked: true assetCriticalityClassificationLedgerPresent: true allGovernedAssetsClassified: true assetOwnersAssigned: true dataSensitivityClassified: true ciaImpactRatingsDeclared: true conformanceProfilesMatchAssetRisk: true noCriticalAssetUnderclassified: true noUnreviewedAssetClassification: true identityEntitlementAccessLedgerPresent: true allProductionIdentitiesInventoried: true privilegedAccessRequiresApprovalAndMfa: true workloadIdentitiesBoundToCatalogAssets: true noOrphanedPrivilegedAccount: true noStaleEntitlement: true breakGlassAccessClosedAndReviewed: true jmlLifecycleReconciled: true processingActivityInventoryLedgerPresent: true allPersonalDataProcessingActivitiesInventoried: true processingActivitiesHaveOwners: true personalDataCategoriesClassified: true dataSubjectCategoriesDeclared: true recipientsAndTransfersMapped: true ropaCoverageMatchesRuntimeInventory: true noUnclassifiedPersonalDataFinding: true privacyRightsConsentLedgerPresent: true processingPurposesHaveLawfulBasis: true consentWithdrawalsPropagated: true rightsRequestsWithinSla: true noUnknownConsentState: true noUnownedProcessingPurpose: true automatedDecisionReviewsCovered: true thirdPartyPreferencePropagationComplete: true recordsRetentionLegalHoldLedgerPresent: true recordClassesHaveRetentionSchedules: true legalHoldBlocksDeletion: true defensibleDeletionReceiptsPresent: true noUnownedRecordClass: true retentionObligationsMappedToSources: true noOverdueRetentionDisposal: true noOverRetentionWithoutPurpose: true backupRestoreDisasterRecoveryLedgerPresent: true allCriticalAssetsHaveRestorePlans: true backupsEncryptedAndImmutable: true restoreDrillsPassRtoRpo: true backupIntegrityVerified: true noUnprotectedCriticalDataStore: true ransomwareIsolationProven: true noOverdueRestoreDrill: true revocationRecordRequiredWhenRevoked: true revokedBaselineIsBlockedForNewAdoption: true eolRetirementCertificateRequiredWhenEol: true reviewBoardDecisionSigned: true reviewBoardQuorumMet: true artifactInventoryMatchesGitTree: true verificationLockMatchesRunner: true readinessScorecardPassesHardGates: true exceptionLedgerHasNoExpiredBlockingException: true notificationLedgerCompleteBeforeFreeze: true rollbackVerificationMatchesPreviousBaseline: true workforceCompetencyTrainingDutySegregationLedgerPresent: true criticalRolesAssigned: true mandatoryTrainingCurrent: true roleAcknowledgementsCurrent: true onCallQualificationsCurrent: true segregationOfDutiesPassed: true toxicRoleCombinationsClosed: true delegatedApprovalsCurrent: true backupRolesAssigned: true releaseGateConsumesWorkforceCompetencyLedger: true businessOutcomeValueRealizationPortfolioLedgerPresent: true businessObjectivesDefined: true valueHypothesesOwned: true keyResultsMeasurable: true beforeAfterBaselinesCaptured: true adoptionEvidenceLinkedToOutcomes: true benefitsRealizationReviewed: true unitEconomicsExplained: true stopOrScaleDecisionRecorded: true releaseGateConsumesBusinessOutcomeLedger: true valueStreamJourneyProcessLedgerPresent: true valueStreamsMapped: true criticalJourneysOwned: true processModelsCurrent: true stepTelemetryCovered: true crossDomainHandoffsTraceable: true bottlenecksHaveActions: true manualFallbacksExercised: true releaseGateConsumesValueStreamLedger: true architectureViewRuntimeTopologyDependencyLedgerPresent: true architectureViewsCurrent: true declaredDependenciesMatchedObserved: true runtimeTopologyCovered: true gitopsTopologyTraceable: true criticalDependencyOwnersPresent: true unknownRuntimeCallsClosed: true blastRadiusAssessed: true dependencyDriftHasActions: true releaseGateConsumesArchitectureTopologyLedger: true qualityAttributeArchitectureDriverTradeoffLedgerPresent: true qualityScenariosMeasured: true architectureDriversMappedToBusinessOutcomes: true criticalTradeoffsHaveAdr: true sensitivityPointsMonitored: true fitnessFunctionsPass: true qualityVerificationEvidenceFresh: true releaseGateConsumesQualityAttributeLedger: true architecturePrincipleConstraintExceptionLedgerPresent: true mandatoryArchitecturePrinciplesHaveOwners: true architectureConstraintsMachineDetectable: true forbiddenPatternsMappedToGates: true principleViolationsHaveDisposition: true principleExceptionsValidAndTimeBound: true architecturePrincipleRiskAcceptancesSigned: true releaseGateConsumesArchitecturePrincipleLedger: true versionPolicyReleaseControlLedgerPresent: true versionIdsUnique: true releaseTagsSignedAndImmutable: true noFloatingVersionReferences: true compatibilityWindowsEnforced: true freezeWindowControlsPassed: true revokedAndEolBaselinesBlocked: true releaseGateConsumesVersionPolicyLedger: true starterKitPairCountMatches: true forbiddenLocalAssetsAbsentFromRemote: true noLatestExternalStandardInGate: true driftReview: reviewedAt: 2026-06-02T10:00:00+08:00 reviewer: architecture-governance-board driftStatus: none checkedRefs: - governance/control-plane/version-governance.yaml - governance/control-plane/standards-baseline.yaml - governance/control-plane/control-plane.yaml - governance/control-plane/baseline-enforcement-policy.yaml - governance/evidence/baselines/baseline-lifecycle-state-machine.yaml - 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-engineering-quality-test-release-verification-ledger.yaml - governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml - governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml - governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml - governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml - governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml - governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml - governance/evidence/baselines/baseline-version-policy-release-control-ledger.yaml - governance/evidence/baselines/baseline-eol-retirement-certificate.yaml - governance/evidence/baselines/baseline-review-board-decision.yaml - governance/evidence/verification/baseline-verification-lock.yaml - governance/evidence/baselines/baseline-readiness-scorecard.yaml - governance/evidence/exceptions/baseline-exception-ledger.yaml - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml - governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml - governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml - governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml - governance/evidence/baselines/baseline-control-inheritance-ledger.yaml - governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml - governance/evidence/baselines/baseline-third-party-risk-ledger.yaml - governance/evidence/baselines/baseline-operational-resilience-ledger.yaml - governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml - governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml - governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml - governance/evidence/baselines/baseline-production-change-release-ledger.yaml - governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml - governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml - governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml - governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml - governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml - governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml - governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml - governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml - governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml - governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml - governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml - governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml - governance/evidence/baselines/baseline-artifact-inventory.yaml - governance/evidence/release-trains/baseline-release-train.yaml - governance/evidence/communications/baseline-notification-ledger.yaml - governance/evidence/rollback/baseline-rollback-verification.yaml - governance/evidence/conformance/baseline-conformance-claim.yaml - governance/evidence/conformance/baseline-consumption-lock.yaml - governance/evidence/migrations/baseline-migration-work-order.yaml - governance/evidence/migrations/baseline-migration-execution-receipt.yaml - governance/evidence/audit-export/audit-export-exclusion-manifest.yaml - governance/evidence/audit-export/audit-export-manifest.yaml findings: critical: 0 high: 0 medium: 0 freezeReview: eligibleForFrozen: false readinessScore: 96 readinessLevel: ready-for-baseline openCriticalFindings: 0 reviewBoardDecision: approve-baseline reviewBoardDissentingVotes: 0 activeBlockingExceptions: 0 expiredExceptions: 0 missingRequiredAcknowledgements: 0 activeNotificationObjections: 0 openExceptions: blocking: 0 expiringWithinDays: 14 rollback: verified: true previousBaseline: V2.52 rollbackTag: architecture/v2.52-candidate rollbackGuide: governance/evidence/baseline-changes/baseline-change-record.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml verification: commands: - make sync-doc-toc - make test - git diff --check - git ls-tree -r --name-only origin/develop -- assets/templates/modern-enterprise-architecture-private/kit result: pass ``` 晋级矩阵: | 晋级路径 | 必须证明 | 阻断条件 | | -------- | -------- | -------- | | `draft -> candidate` | 版本号、变更摘要、影响面、索引同步和基础门禁通过 | 文档版本和索引不一致 | | `candidate -> baseline` | `baseline-lifecycle-state-machine.yaml`、`baseline-state-reconciliation-report.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-evidence-assurance-classification.yaml`、`baseline-gate-execution-report.yaml`、`baseline-gate-negative-test-suite.yaml`、`baseline-ai-system-regulatory-impact-ledger.yaml`、`baseline-publish-transaction.yaml`、`baseline-release-evidence.yaml`、`baseline-enforcement-policy.yaml`、`baseline-runtime-admission-receipt.yaml`、`baseline-runtime-admission-decision-ledger.yaml`、`baseline-continuous-control-monitoring-ledger.yaml`、`baseline-operational-resilience-ledger.yaml`、`baseline-secure-configuration-posture-drift-ledger.yaml`、`baseline-production-change-release-ledger.yaml`、`baseline-incident-problem-corrective-action-ledger.yaml`、`baseline-data-product-quality-contract-observability-ledger.yaml`、`baseline-engineering-quality-test-release-verification-ledger.yaml`、`baseline-workforce-competency-training-duty-segregation-ledger.yaml`、`baseline-capacity-performance-cost-efficiency-ledger.yaml`、`baseline-service-reliability-slo-error-budget-observability-ledger.yaml`、`baseline-backup-restore-disaster-recovery-ledger.yaml`、`baseline-regulatory-obligation-ledger.yaml`、`baseline-cryptographic-secrets-key-certificate-ledger.yaml`、`baseline-asset-criticality-classification-ledger.yaml`、`baseline-identity-entitlement-access-ledger.yaml`、`baseline-processing-activity-inventory-ledger.yaml`、`baseline-privacy-rights-consent-ledger.yaml`、`baseline-records-retention-legal-hold-ledger.yaml`、`baseline-consumption-lock.yaml`、`baseline-migration-work-order.yaml`、`baseline-migration-execution-receipt.yaml`、基线就绪评分卡、基线会审裁决记录、版本控制面、验证环境锁、审计导出、控制覆盖、远端 ref、push 回执和 tag 验签通过 | 状态机未允许迁移、状态对账失败、证据追踪图断链、证据保证等级缺失、关键证据低于 gate 最低等级、证据采信状态为 rejected/expired/unverifiable、证据保证等级未被发布证据/会审/审计导出消费、门禁执行报告失败或不可重放、负例套件缺失、AI 系统监管分类总账缺失、高风险 AI 分类未知、人工监督或日志留存缺失、技术文档或后市场监测缺失、坏样例被放行、预期失败未失败、故障注入未覆盖关键门禁、发布事务缺失、准入策略未执行、运行时 admission 未启用、准入决策总账缺失、连续控制监测缺失或关键漂移未关闭、安全配置姿态总账缺失、关键配置基线缺失、critical 配置漂移未关闭、未批准特权 Pod、公共存储暴露、弱 TLS、审计日志关闭、配置修复缺复测、生产变更总账缺失、生产变更未登记、黑窗内非紧急变更、关键依赖冲突未关闭、回滚计划缺失、数据库迁移未演练、Feature Flag 无 kill switch、Prompt/模型变更未评估、紧急变更无事后复盘、变更失败未关闭或未关联事故、事故问题总账缺失、事故未定级、事故无 owner、RCA 缺失、纠正行动逾期、复发防止未验证、runbook 或告警未更新、同类事故复发未升级、客户或监管沟通缺失、问题记录未关闭、数据产品质量契约总账缺失、数据产品无 owner 或契约、schema drift 未关闭、质量断言或 freshness 违约、血缘缺口、消费者未通知、AI/特征/RAG 使用未授权、契约违约未关闭或修复未复测、工程质量总账缺失、需求追踪缺失、关键测试缺失、覆盖率低于阈值、flaky 测试未治理、critical/high 缺陷未关闭或未接受、修复未复测、发布验证缺失、质量风险未签署、人员能力总账缺失、关键角色未任命、培训或专项资格过期、职责未确认、on-call 未认证、审批人与执行人未分离、冲突角色未关闭、代理授权过期、关键岗位无人备份、运营韧性总账缺失、重要业务服务未识别、影响容忍缺失、场景测试失败或超出影响容忍、容量性能成本总账缺失、关键服务无容量模型、压测过期、p95/p99 退化、资源未声明、自动扩缩容缺失、预算超支无审批、单位成本不可解释、异常成本未关闭、服务可靠性总账缺失、关键服务无 SLO、SLI 不可测、错误预算超支未冻结风险变更、关键告警无人接、on-call 缺失、runbook 缺失、合成探测未覆盖用户旅程、日志/指标/链路覆盖缺口、降级策略缺失、备份恢复总账缺失、关键数据存储无备份、不可变或离线副本缺失、恢复演练超期、RTO/RPO 演练失败、备份完整性未校验、勒索隔离不可证明、恢复权限不受控、监管义务总账缺失、强制义务未映射控制、强制义务缺证据、义务 owner 缺失、监管变更超期、义务 POA&M 超期、密码材料总账缺失、未知密钥或秘密未入账、明文存放、弱算法、证书过期、轮换超期、吊销路径缺失、泄露未关闭、签名密钥托管不清、资产分级总账缺失、资产无 owner、数据分类未知、CIA 影响缺失、关键资产低估、L3/L4 与 conformance profile 不一致、AI 风险或互联网暴露未标记、分级复核过期、身份权限总账缺失、生产身份未入账、特权访问无 MFA 或审批、工作负载身份漂移、离职账号仍有效、孤儿账号或过期权限未关闭、处理活动总账缺失、个人数据处理活动未入账、处理活动无 owner、个人数据类别未知、RoPA 与运行资产不一致、隐私权利与同意总账缺失、处理目的无合法基础、同意撤回未传播、权利请求逾期、自动化决策复核缺失、记录留存总账缺失、记录类别无留存排期、legal hold 下允许删除、删除传播缺回执、过期记录未处置、超期留存无目的、拒绝样例不生效、消费锁缺失或浮动引用、迁移工单缺失或无验收证据、迁移执行回执缺失或摘要不一致、远端 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`、发布事务摘要、准入策略摘要、消费锁摘要、迁移工作单摘要、迁移执行回执摘要、撤销隔离摘要、生命周期状态机摘要、状态对账报告摘要、证据追踪图摘要、证据保证等级摘要、门禁执行报告摘要、门禁负例套件摘要、AI 系统监管分类摘要、EOL 退役证书摘要、会审裁决摘要、架构原则与约束执行总账摘要、服务可靠性与可观测性总账摘要、备份恢复与灾备总账摘要、资产关键性与分类摘要、验证环境锁摘要、基线制品清单摘要、基线就绪评分卡摘要、基线例外总账摘要、审计导出摘要和控制覆盖摘要必须来自同一基线。 3. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-threat-model-attack-surface-risk-ledger.yaml`,并证明关键威胁模型、攻击面、安全测试和剩余风险摘要进入同一发布证据包。 4. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-vulnerability-exposure-remediation-ledger.yaml`,并证明 critical/KEV 漏洞、互联网暴露 high 漏洞、扫描覆盖、SLA、复测、VEX/CSAF 状态、例外和风险接受已经闭合。 5. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-secure-configuration-posture-drift-ledger.yaml`,并证明安全配置基线、CIS/NIST/SCAP/Pod Security 姿态、critical 配置漂移、特权 Pod、公开暴露、弱 TLS、审计日志、配置复测、例外和风险接受已经闭合。 6. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-production-change-release-ledger.yaml`,并证明生产变更登记、变更窗口、冲突检测、依赖冻结、前置门禁、回滚计划、数据库迁移演练、Feature Flag kill switch、Prompt/模型评估、紧急变更复盘、变更失败恢复和 DORA 指标回写已经闭合。 7. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-incident-problem-corrective-action-ledger.yaml`,并证明生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、重大告警、时间线、RCA、问题记录、纠正行动、复发防止、runbook/告警/门禁反哺、沟通和 DORA 恢复指标已经闭合。 8. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-data-product-quality-contract-observability-ledger.yaml`,并证明数据产品契约、schema drift、质量断言、freshness、血缘、消费者影响、AI/特征/RAG 使用授权、契约违约、修复复测和数据质量事故已经闭合。 9. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-engineering-quality-test-release-verification-ledger.yaml`,并证明需求追踪、风险化测试计划、关键测试、覆盖率、flaky 测试、缺陷关闭、修复复测、发布前验证、灰度/冒烟和质量风险接受已经闭合。 10. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-workforce-competency-training-duty-segregation-ledger.yaml`,并证明关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、代理授权、职责分离、冲突角色、备份人员和到期复核已经闭合。 11. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-evidence-assurance-classification.yaml`,并证明 release gate、会审裁决、审计导出和证据追踪图引用的是同一组证据等级、采信状态、完整性证明、新鲜度窗口和可重放要求。 12. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-gate-negative-test-suite.yaml`,并证明 schema/starter gate、证据新鲜度、证据保证等级、制品清单、审计导出排除、签名/provenance、运行时准入和状态迁移阻断路径都具备负例、故障注入或拒绝日志证据。 13. `candidate -> baseline` 和 `baseline -> frozen` 前必须消费 `baseline-ai-system-regulatory-impact-ledger.yaml`,并证明 AI 产品、Agent、RAG、微调模型、模型供应商接入和自动化决策流程已经完成适用法规、风险分类、人工监督、日志、技术文档、透明度、后市场监测、供应商责任和合规缺口闭环。 14. 任意禁推本地资产出现在远端树中,`forbiddenLocalAssetsAbsentFromRemote` 必须为 `false`,并阻断基线晋级。 15. `frozen` 晋级必须先完成状态对账、漂移复核、基线就绪评分卡、基线会审裁决、证据保证等级复核、门禁负例复测和基线例外总账复核;如果存在状态冲突、关键漂移、评分不足、未关闭反对意见、过期例外、不可采信主证据、坏样例被放行或阻断例外,只能创建 POA&M 或风险接受,不能冻结。 16. 回滚验证必须指向 `baseline-rollback-verification.yaml`,并证明上一基线 tag、commit、GitOps revision、审计导出和烟测结果有效,不能只写自然语言说明。 可执行验收标准: 1. 任意基线晋级都能找到一份对应的 `baseline-release-evidence.yaml`。 2. 任意证据包都能证明版本清单、基线准入执行策略、基线运行时准入回执、基线消费锁定文件、基线迁移工作单、基线迁移执行回执、生命周期状态机、状态对账报告、证据追踪图、证据保证等级、门禁执行报告、基线发布事务回执、基线撤销与隔离记录、EOL 退役证书、会审裁决记录、数据产品质量与契约可观测性总账、服务可靠性与可观测性总账、备份恢复与灾备总账、资产关键性与分类总账、验证环境锁、基线制品清单、基线就绪评分卡、基线例外总账、控制覆盖、标准基线和审计导出摘要一致。 3. 任意冻结基线都能证明开放关键发现为 0、就绪评分达到 frozen 阈值、过期阻断例外为 0,会审反对意见已经关闭,且回滚路径已经验证。 4. 任意审计人员都能从证据包直接定位 source commit、release tag、验签结果和验证命令。 5. 任意生产 AI 系统都能从 release gate 反查到 `baseline-ai-system-regulatory-impact-ledger.yaml`、AI 证据账本、DPIA、监管义务总账、风险登记、供应商责任记录和未关闭合规缺口为 0 的裁决证据。 ### 10.10.10 基线兼容性总账与消费者迁移闭环 `baseline-compatibility-ledger.yaml` 是版本控制面的消费者影响总账。它不替代单个 API、事件、数据产品或 AI 产品的兼容性报告,而是把这些报告汇总到基线级别,回答“谁会被这次基线影响、何时迁移、到期后如何治理”。 ```yaml baselineCompatibilityLedger: ledgerId: bcl-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board change: changeLevel: minor backwardCompatible: true compatibilityWindow: P90D deprecationDeadline: 2026-09-02 impactedContracts: - contract: api:order-command:v2 type: api owner: team-order compatibilityReport: governance/evidence/compatibility/order-command-api-v2.yaml breaking: false - contract: event:order-created:v3 type: event owner: team-order compatibilityReport: governance/evidence/compatibility/order-created-event-v3.yaml breaking: false consumers: - consumer: customer-service-workbench owner: team-support impact: sdk-upgrade-required currentVersion: order-command:v1 targetVersion: order-command:v2 migrationStatus: in-progress dueDate: 2026-08-15 evidence: - governance/evidence/compatibility/customer-service-workbench-migration.yaml - consumer: revenue-dashboard owner: team-revenue-data impact: no-change currentVersion: order-created:v2 targetVersion: order-created:v3 migrationStatus: not-required dueDate: null unresolved: count: 0 blockers: [] exceptions: allowed: true active: - id: ex-compat-2026-001 consumer: legacy-erp-adapter expiresAt: 2026-07-15T23:59:59+08:00 riskAcceptedBy: enterprise-architecture-lead poam: governance/evidence/poam/poam-record.yaml gateDecision: result: pass blockingUnmigratedConsumers: 0 expiredExceptions: 0 decisionRef: governance/control-plane/release-gate-decision.yaml ``` 兼容状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `not-impacted` | 已证明不受影响 | 否 | | `not-required` | 受影响但无需迁移动作 | 否 | | `planned` | 已排期但未开始 | 视到期日而定 | | `in-progress` | 正在迁移,有 owner 和证据 | 视到期日而定 | | `completed` | 已完成迁移并有验证证据 | 否 | | `exception` | 经批准暂缓迁移 | 例外过期后阻断 | | `blocked` | 迁移被依赖、预算或技术问题阻塞 | 是 | | `unknown` | 无法确认影响或 owner | 是 | 执行规则: 1. `Major`、`Breaking` 和任何带 `compatibilityWindow` 的基线,必须提供 `baseline-compatibility-ledger.yaml`。 2. 每个受影响契约必须链接对应的 API、事件、数据产品、AI 产品或平台兼容性报告。 3. 每个生产消费者必须有 owner、当前版本、目标版本、迁移状态、到期日和证据路径。 4. 到期后仍处于 `planned`、`in-progress`、`blocked` 或 `unknown` 的消费者必须转入例外、POA&M 或风险接受。 5. `unknown` consumer 不能进入 `baseline` 或 `frozen` 通道;必须先补 catalog、日志、网关、Schema Registry 或数据血缘证据。 6. 删除旧版本前必须证明生产流量、事件消费、数据血缘或模型调用已经归零,或有签署的风险接受记录。 可执行验收标准: 1. 任意 breaking change 都能从基线级总账追到具体消费者和兼容性报告。 2. 任意未迁移消费者都有到期时间、owner、例外或 POA&M。 3. 任意冻结基线都不存在 `unknown` 或过期未处理的消费者迁移状态。 4. 任意删除旧版本的动作都能证明无生产消费者,或有明确风险接受。 ### 10.10.11 基线采纳总账与组织级版本落地 `baseline-adoption-ledger.yaml` 是企业级基线的组织采纳总账。它不证明“基线已经发布”,而是证明“哪些团队、系统、模板、环境和生产资产已经真正采用了这条基线”。 ```yaml baselineAdoptionLedger: ledgerId: bal-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board scope: requiredBy: 2026-10-01 appliesTo: conformanceProfiles: - standard-prod - regulated-ai-prod gateLevels: - L2 - L3 - L4 assetTypes: - domain - service - data-product - ai-product - platform-golden-path - gitops-environment summary: totalTargets: 4 adopted: 2 inProgress: 1 exceptions: 1 overdue: 0 unknown: 0 targets: - target: domain:order owner: team-order currentBaseline: V2.35 targetBaseline: V2.53 conformanceProfile: standard-prod gateLevel: L3 adoptionStatus: in-progress dueDate: 2026-08-30 evidence: - domains/order/domain.yaml - governance/evidence/conformance/order-domain-baseline-claim.yaml - governance/evidence/migrations/baseline-migration-work-order.yaml - governance/control-plane/version-governance.yaml - governance/evidence/control-assessments/order-domain-v253.yaml - target: ai-product:customer-service-agent owner: team-support-ai currentBaseline: V2.53 targetBaseline: V2.53 conformanceProfile: regulated-ai-prod gateLevel: L4 adoptionStatus: adopted dueDate: 2026-07-15 evidence: - ai/applications/customer-service-agent/ai-product.yaml - governance/evidence/conformance/customer-service-agent-baseline-claim.yaml - governance/evidence/ai/customer-service-agent-evidence.yaml - governance/control-plane/release-gate-decision.yaml - target: platform-golden-path:microservice owner: platform-team currentBaseline: V2.53 targetBaseline: V2.53 conformanceProfile: standard-prod gateLevel: L2 adoptionStatus: adopted dueDate: 2026-07-01 evidence: - platform/golden-paths/microservice/template.yaml - governance/evidence/conformance/microservice-golden-path-baseline-claim.yaml - governance/evidence/platform/microservice-golden-path-v253.yaml exceptions: active: - id: ex-adoption-2026-001 target: service:legacy-billing-adapter reason: strangler migration still active expiresAt: 2026-09-15T23:59:59+08:00 riskAcceptedBy: enterprise-architecture-lead poam: governance/evidence/poam/legacy-billing-adapter-poam.yaml gateDecision: result: conditional-pass blockingUnknownTargets: 0 overdueL3L4Targets: 0 expiredExceptions: 0 ``` 采纳状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `not-started` | 已识别目标但尚未启动采用 | 视截止日期和等级而定 | | `in-progress` | 正在采用,有 owner、截止日期和证据 | 视截止日期和等级而定 | | `adopted` | 已采用目标基线并通过对应门禁 | 否 | | `exception` | 经批准暂缓采用 | 例外过期后阻断 | | `blocked` | 采用被技术、预算、组织或迁移问题阻塞 | 是 | | `overdue` | 超过截止日期仍未采用 | 对 L3/L4 阻断 | | `unknown` | 无法确认当前基线或 owner | 是 | | `not-applicable` | 明确不适用且有理由 | 否 | 执行规则: 1. 企业级 `baseline` 或 `frozen` 发布必须有采纳范围、采纳目标和采用截止日期。 2. L3 / L4 资产不得以 `unknown`、逾期 `in-progress` 或逾期 `not-started` 状态进入下一轮冻结基线。 3. 采纳证据必须来自 catalog、control assessment、scorecard、GitOps、模板版本或资产契约,不能只来自会议纪要。 4. 平台 Golden Path 采用必须证明模板版本、脚手架版本、CI 模板、policy bundle 和开发者门户入口一致。 5. 逾期目标必须转入例外、POA&M 或风险登记,并声明到期日和关闭条件。 6. 采纳总账必须进入季度复核;连续两次未采用的 L3/L4 目标必须升级给架构治理委员会。 7. `currentBaseline` 低于 `targetBaseline` 的 L3 / L4 目标不得直接标记为 `adopted`;必须先完成基线迁移工作单和迁移执行回执、更新消费锁、回写 GitOps / catalog,并绑定验收证据。 可执行验收标准: 1. 任意企业基线都能列出应采用它的领域、平台、数据、AI、GitOps 和生产资产范围。 2. 任意目标资产都能证明当前基线、目标基线、owner、截止日期、采纳状态和证据路径。 3. 任意逾期或阻塞采纳都有例外、POA&M 或风险接受。 4. 任意冻结基线都不存在 L3/L4 资产的 `unknown` 或过期采纳状态。 5. 任意从旧基线迁移到新基线的 L3/L4 资产都能追溯到完成状态的 `baseline-migration-work-order.yaml`、`baseline-migration-execution-receipt.yaml` 和更新后的 `baseline-consumption-lock.yaml`。 ### 10.10.12 基线支持矩阵与版本生命周期收口 `baseline-support-matrix.yaml` 是架构基线的生命周期支持矩阵。它不证明“新基线已经发布”,而是证明“旧基线还是否允许继续使用、还能获得什么类型的维护、何时必须迁移或退役”。 ```yaml baselineSupportMatrix: matrixId: bsm-20260602-mea-v253 owner: architecture-governance-board currentBaseline: V2.53 minimumAcceptedBaselines: L2: V2.31 L3: V2.35 L4: V2.53 baselines: - version: V2.53 baselineId: mea-v2.53-20260602 channel: candidate supportState: active supportFrom: 2026-06-02 supportUntil: 2026-12-31 securityPatchUntil: 2027-03-31 allowedForNewProjects: true allowedGateLevels: - L2 - L3 - L4 requiredAdoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml requiredArtifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml requiredVerificationLock: governance/evidence/verification/baseline-verification-lock.yaml requiredLifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml requiredStateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml requiredReadinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml requiredExceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml requiredRollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml requiredMigrationWorkOrder: governance/evidence/migrations/baseline-migration-work-order.yaml requiredMigrationExecutionReceipt: governance/evidence/migrations/baseline-migration-execution-receipt.yaml - version: V2.33 baselineId: mea-v2.33-20260602 channel: superseded supportState: maintenance supportFrom: 2026-06-02 supportUntil: 2026-09-30 securityPatchUntil: 2026-12-31 allowedForNewProjects: false allowedGateLevels: - L2 migrationTarget: V2.53 - version: V2.31 baselineId: mea-v2.31-20260602 channel: superseded supportState: security-only supportFrom: 2026-06-02 supportUntil: 2026-07-31 securityPatchUntil: 2026-09-30 allowedForNewProjects: false allowedGateLevels: - L2 migrationTarget: V2.53 exceptions: active: - id: ex-support-2026-001 baseline: V2.30 target: service:legacy-billing-adapter reason: strangler migration still active expiresAt: 2026-08-15T23:59:59+08:00 riskAcceptedBy: enterprise-architecture-lead poam: governance/evidence/poam/legacy-billing-adapter-poam.yaml gates: blockNewProjectsOnUnsupportedBaseline: true blockL3L4BelowMinimum: true requireSecurityPatchForSecurityOnly: true blockEolBaselineInReleaseGate: true ``` 支持状态只能使用以下值: | 状态 | 含义 | 允许变更 | | ---- | ---- | -------- | | `active` | 当前推荐基线,可用于新项目和升级目标 | 功能、标准、控制项、安全补丁和勘误 | | `maintenance` | 仍在维护,但不建议新项目采用 | 兼容性修复、安全补丁、关键勘误 | | `security-only` | 只接受安全、合规和关键事故修复 | 安全补丁、监管要求、生产事故补丁 | | `frozen` | 冻结为审计、招标或监管口径 | 勘误和紧急安全补丁,禁止语义变更 | | `superseded` | 已被新基线替代 | 迁移说明、兼容性说明、风险接受 | | `eol` | 生命周期结束 | 不允许继续发布,只允许迁移或退役 | 执行规则: 1. 新项目不得采用 `maintenance`、`security-only`、`superseded` 或 `eol` 基线。 2. L3 / L4 资产不得低于 `minimumAcceptedBaselines`,除非存在未过期例外、POA&M 和风险接受。 3. `security-only` 基线只能接受安全、合规和关键事故补丁,不得接收新功能、新标准或新平台能力。 4. `eol` 基线不能通过发布门禁;运行中资产只能执行迁移、降级、隔离或退役动作。 5. `frozen` 基线不得直接改核心语义;任何实质变更必须生成新基线并在支持矩阵中声明替代关系。 6. 支持矩阵必须在每次基线发布、冻结、紧急补丁和季度架构复核前更新。 可执行验收标准: 1. 任意历史基线都能查到支持状态、维护截止、安全补丁截止和迁移目标。 2. 任意 L3/L4 资产都能证明自己不低于最低可接受基线,或拥有未过期例外。 3. 任意新项目都不能从门禁中选择不再允许新建的旧基线。 4. 任意 EOL 基线都不能作为 release gate 的通过条件。 5. 任意仍允许 L3/L4 迁移到当前基线的支持窗口,都必须能找到对应的迁移工作单模板、迁移执行回执模板和关闭口径。 ### 10.10.13 基线发布列车与版本节奏治理 `baseline-release-train.yaml` 是架构基线的发布日历和节奏控制文件。它不替代 `version-governance.yaml`,而是约束“什么时候可以进入候选、什么时候冻结、什么时候晋级、什么时候通知消费者、什么时候只能走紧急补丁”。 ```yaml baselineReleaseTrain: trainId: brt-2026-q3-enterprise-architecture owner: architecture-governance-board cadence: quarterly timezone: Asia/Shanghai currentBaseline: V2.53 trainWindow: proposalCutoff: 2026-06-10 candidateStart: 2026-06-17 changeFreezeStart: 2026-06-24 baselineDecision: 2026-07-01 adoptionStart: 2026-07-02 nextTrainOpens: 2026-09-01 stages: - name: proposal allowedChangeLevels: - minor - major - breaking requiredEvidence: - baseline-change-record - architecture-decision-record - name: candidate allowedChangeLevels: - editorial - minor requiredEvidence: - version-governance - lifecycle-state-machine - state-reconciliation-report - verification-lock - artifact-inventory - readiness-scorecard - control-coverage - compatibility-ledger - exception-ledger - notification-ledger - rollback-verification - support-matrix - name: freeze allowedChangeLevels: - editorial - emergency-patch requiredEvidence: - lifecycle-state-machine - state-reconciliation-report - verification-lock - artifact-inventory - readiness-scorecard - baseline-release-evidence - exception-ledger - notification-ledger - rollback-verification - release-gate-decision - audit-export-manifest - name: baseline allowedChangeLevels: - emergency-patch requiredEvidence: - signed-tag - signature-receipt - adoption-ledger plannedBaselines: - version: V2.53 baselineId: mea-v2.53-20260602 releaseChannel: candidate targetChannel: baseline sourceCommit: releaseTag: architecture/v2.53-candidate requiredLedgers: - governance/evidence/baselines/baseline-lifecycle-state-machine.yaml - governance/evidence/baselines/baseline-state-reconciliation-report.yaml - governance/evidence/verification/baseline-verification-lock.yaml - governance/evidence/baselines/baseline-artifact-inventory.yaml - governance/evidence/baselines/baseline-readiness-scorecard.yaml - governance/evidence/compatibility/baseline-compatibility-ledger.yaml - governance/evidence/adoption/baseline-adoption-ledger.yaml - governance/evidence/support/baseline-support-matrix.yaml - governance/evidence/exceptions/baseline-exception-ledger.yaml - governance/evidence/communications/baseline-notification-ledger.yaml - governance/evidence/rollback/baseline-rollback-verification.yaml - governance/evidence/conformance/baseline-conformance-claim.yaml - governance/evidence/migrations/baseline-migration-work-order.yaml - governance/evidence/migrations/baseline-migration-execution-receipt.yaml notification: firstNotice: 2026-06-10 freezeNotice: 2026-06-24 decisionNotice: 2026-07-01 channels: - architecture-portal - platform-developer-portal - engineering-leads-mailing-list gateDecision: governance/control-plane/release-gate-decision.yaml blackoutWindows: - from: 2026-06-29T00:00:00+08:00 to: 2026-07-01T23:59:59+08:00 reason: baseline-decision-window blockNonEmergency: true emergencyPatch: allowed: true requires: - incidentId - securityOrComplianceJustification - minimalScope - rollbackPlan - postIncidentReviewDueDate maxEvidenceBackfillDays: 5 gates: blockOutOfTrainBaseline: true blockFreezeWindowSemanticChange: true blockBlackoutNonEmergencyChange: true requireReadinessScorecardBeforeBaseline: true blockBaselineOnReadinessScoreFailure: true requireConsumerNoticeBeforeFreeze: true requireNotificationLedgerBeforeFreeze: true requireExceptionLedgerBeforeFreeze: true blockFreezeOnExpiredException: true requireRollbackVerificationBeforeBaseline: true blockFreezeOnMissingRequiredAck: true ``` 发布列车阶段语义: | 阶段 | 含义 | 允许动作 | | ---- | ---- | -------- | | `proposal` | 进入本轮列车的提案收集期 | 新增变更提案、ADR、影响分析和消费者识别 | | `candidate` | 候选基线成形期 | 小范围补齐证据、修正示例、修复兼容性差距 | | `freeze` | 冻结复核期 | 只允许勘误、门禁修复和紧急补丁,不允许语义扩张 | | `baseline` | 正式基线放行期 | 打签名 tag、导出审计包、启动采纳总账 | | `emergency-patch` | 安全、合规或生产事故补丁通道 | 最小范围补丁,事后补齐 ADR、复盘和证据 | 执行规则: 1. 企业级基线不得绕过发布列车直接从草案进入 `baseline` 或 `frozen`。 2. `changeFreezeStart` 之后禁止合入改变语义、职责、门禁或目录真相源的变更,除非走 `emergency-patch`。 3. 黑窗期间只能发布安全、合规或生产事故补丁;普通优化、文档扩展和新控制项必须进入下一轮列车。 4. 进入冻结前必须完成消费者通知,生成 `baseline-notification-ledger.yaml`,并确保 `baseline-compatibility-ledger.yaml` 没有 `unknown` 或过期阻塞项。 5. 进入正式基线前必须完成 `baseline-verification-lock.yaml`、`baseline-artifact-inventory.yaml`、`baseline-readiness-scorecard.yaml`、`baseline-exception-ledger.yaml`、`baseline-notification-ledger.yaml`、`baseline-rollback-verification.yaml`、`baseline-release-evidence.yaml`、`baseline-support-matrix.yaml`、审计导出和签名验签回执。 6. 紧急补丁必须在 `maxEvidenceBackfillDays` 内补齐复盘、ADR 或基线变更记录,不能成为长期发布通道。 7. 发布列车进入 adoption start 后,目标资产迁移必须由 `baseline-migration-work-order.yaml` 驱动,并由 `baseline-migration-execution-receipt.yaml` 证明实际执行;不得只在采纳总账中手工改状态。 可执行验收标准: 1. 任意企业基线都能追溯到所属发布列车、候选窗口、冻结窗口和晋级日期。 2. 任意冻结期后的语义变更都有紧急补丁理由、事故编号、回滚计划和补证截止。 3. 任意黑窗内的变更都能证明是安全、合规或生产事故补丁。 4. 任意消费者都能证明在冻结前收到通知、完成影响确认,或有明确的例外和风险接受记录。 5. 任意正式基线都能证明上一基线可检出、GitOps revision 可恢复、审计导出可回放并通过最小烟测。 6. 任意本轮列车要求迁移的 L3/L4 资产都能定位迁移工作单、迁移执行回执、消费锁更新和 GitOps 指针变更证据。 ### 10.10.14 资产级基线符合性声明 `baseline-conformance-claim.yaml` 是单个资产对企业架构基线的自声明。它不替代组织级 `baseline-adoption-ledger.yaml`,而是让采纳总账有资产侧证据来源,避免中央台账靠人工手填。 ```yaml baselineConformanceClaim: claimId: bcc-20260602-order-command-service-v253 asset: id: service:order-command-service type: service domain: order owner: team-order sourceRoot: domains/order/services/order-command-service catalogRef: catalog/components/order-command-service.yaml claimedBaseline: version: V2.53 baselineId: mea-v2.53-20260602 sourceCommit: releaseTag: architecture/v2.53-candidate consumptionLock: governance/evidence/conformance/baseline-consumption-lock.yaml migrationWorkOrder: governance/evidence/migrations/baseline-migration-work-order.yaml migrationExecutionReceipt: governance/evidence/migrations/baseline-migration-execution-receipt.yaml 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 stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml evidenceTraceGraphDigest: sha256: artifactInventoryDigest: sha256: enforcementPolicyDigest: sha256: verificationLock: governance/evidence/verification/baseline-verification-lock.yaml readinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml conformance: profile: standard-prod gateLevel: L3 claimStatus: conformant claimedAt: 2026-07-02T10:00:00+08:00 expiresAt: 2026-10-02T23:59:59+08:00 signedBy: - team-order-tech-lead - platform-governance-reviewer evidence: contracts: - domains/order/services/order-command-service/service.yaml - contracts/apis/order-command.openapi.yaml - contracts/events/order-created.asyncapi.yaml runtime: - 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-v253.yaml - governance/control-plane/release-gate-decision.yaml supplyChain: - governance/evidence/supply-chain/order-command-service-attestation.yaml exceptions: active: [] rollup: adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml rollupStatus: included lastReconciledAt: 2026-07-02T11:00:00+08:00 ``` 声明状态只能使用以下值: | 状态 | 含义 | 是否计入采纳 | | ---- | ---- | ------------ | | `conformant` | 资产已经满足声明基线和门禁等级 | 是 | | `conditional` | 资产有未关闭例外,但已被风险接受 | 条件计入 | | `non-conformant` | 资产未满足声明基线或关键证据缺失 | 否 | | `expired` | 声明过期,必须重新评估 | 否 | | `not-applicable` | 资产明确不适用该基线,且有理由 | 不计入分母 | 执行规则: 1. L3 / L4 资产不得只出现在采纳总账中,必须有资产侧 `baseline-conformance-claim.yaml`。 2. 符合性声明必须绑定 `baselineId`、`sourceCommit`、`releaseTag`、`baseline-consumption-lock.yaml`、`releaseTrain`、`supportMatrix`、catalog 指针和证据路径。 3. `claimStatus=conformant` 时不得存在过期例外、缺失控制评估或低于最低可接受基线的版本。 4. `claimStatus=conditional` 必须引用未过期例外、POA&M 或风险接受记录,并声明关闭日期。 5. 声明过期后不得继续在 `baseline-adoption-ledger.yaml` 中计为 `adopted`。 6. 采纳总账必须能从每个目标资产回查到对应的符合性声明和消费锁,符合性声明也必须能回写自己的 rollup 状态。 7. 如果资产从旧基线迁移到声明基线,符合性声明必须引用完成状态的迁移工作单;否则不得声明为 `conformant`。 可执行验收标准: 1. 任意 L3/L4 资产都能找到一份未过期的基线符合性声明和本地消费锁。 2. 任意采纳总账中的 `adopted` 目标都能追溯到资产侧 `conformant` 声明。 3. 任意 `conditional` 声明都有例外、POA&M 或风险接受,并有关闭日期。 4. 任意低于支持矩阵最低可接受基线的资产都不能声明为 `conformant`。 5. 任意只声明 `V2.x` 但没有锁定 source commit、release tag 和关键证据摘要的资产,都不能声明为 `conformant`。 6. 任意迁移资产都能证明迁移工作单、消费锁、GitOps overlay 和 catalog runtime 指针引用的是同一目标基线。 ### 10.10.15 基线制品清单与可复现冻结 `baseline-artifact-inventory.yaml` 是企业架构基线的源制品物料清单。它不替代 `audit-export-manifest.yaml`,而是先回答“这一版基线由哪些源文件和模板构成”;审计导出清单再回答“这些源制品被导出了哪些交付包”。 ```yaml baselineArtifactInventory: inventoryId: bai-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board sourceCommit: releaseTag: architecture/v2.53-candidate generatedAt: 2026-06-02T12:00:00+08:00 digestAlgorithm: sha256 scope: requiredArtifactTypes: - document - schema - example - control - evidence-template - validation-command - generated-output - external-reference excludePatterns: - build/** - .git/** - assets/templates/modern-enterprise-architecture-private/kit/** - assets/templates/modern-enterprise-architecture-private/controls.json - assets/templates/modern-enterprise-architecture-private/version.json localPrivateArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml cleanRoomReconstructionReceipt: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml continuousControlMonitoringLedger: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml controlAssuranceSamplingLedger: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml controlInheritanceLedger: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml threatModelAttackSurfaceRiskLedger: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml vulnerabilityExposureRemediationLedger: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml secureConfigurationPostureDriftLedger: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml incidentProblemCorrectiveActionLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml dataProductQualityContractObservabilityLedger: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml engineeringQualityTestReleaseVerificationLedger: governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml workforceCompetencyTrainingDutySegregationLedger: governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml businessOutcomeValueRealizationPortfolioLedger: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml valueStreamJourneyProcessLedger: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml architectureViewRuntimeTopologyDependencyLedger: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml qualityAttributeArchitectureDriverTradeoffLedger: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml architecturePrincipleConstraintExceptionLedger: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml capacityPerformanceCostEfficiencyLedger: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml serviceReliabilitySloErrorBudgetObservabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml backupRestoreDisasterRecoveryLedger: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml cryptographicSecretsKeyCertificateLedger: governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml identityEntitlementAccessLedger: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml processingActivityInventoryLedger: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml privacyRightsConsentLedger: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml artifacts: - path: docs/references/modern-enterprise-architecture-template.md type: document required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.md - path: governance/evidence/baselines/baseline-local-artifact-boundary.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/private-artifact-escrow-manifest.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml type: evidence-template required: true owner: governance-platform digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml type: evidence-template required: true owner: governance-platform digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml type: evidence-template required: true owner: governance-platform digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml type: evidence-template required: true owner: independent-assurance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml type: evidence-template required: true owner: privacy-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml type: evidence-template required: true owner: third-party-risk-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml type: evidence-template required: true owner: operational-resilience-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml type: evidence-template required: true owner: application-security-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml type: evidence-template required: true owner: security-vulnerability-management-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml type: evidence-template required: true owner: platform-security-posture-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-production-change-release-ledger.yaml type: evidence-template required: true owner: release-engineering digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml type: evidence-template required: true owner: sre-platform-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml type: evidence-template required: true owner: data-platform-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml type: evidence-template required: true owner: quality-engineering-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml type: evidence-template required: true owner: people-operations-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml type: evidence-template required: true owner: portfolio-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml type: evidence-template required: true owner: business-architecture-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml type: evidence-template required: true owner: enterprise-architecture-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml type: evidence-template required: true owner: enterprise-architecture-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml type: evidence-template required: true owner: enterprise-architecture-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-version-policy-release-control-ledger.yaml type: evidence-template required: true owner: release-engineering digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml type: evidence-template required: true owner: sre-finops-platform-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml type: evidence-template required: true owner: sre-platform-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml type: evidence-template required: true owner: sre-platform-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml type: evidence-template required: true owner: compliance-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml type: evidence-template required: true owner: security-cryptography-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml type: evidence-template required: true owner: security-identity-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml type: evidence-template required: true owner: privacy-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml type: evidence-template required: true owner: privacy-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml type: evidence-template required: true owner: records-governance-team digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/control-plane/version-governance.yaml type: control required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-state-reconciliation-report.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/verification/baseline-verification-lock.yaml type: control required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/rollback/baseline-rollback-verification.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/baselines/baseline-readiness-scorecard.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/exceptions/baseline-exception-ledger.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/conformance/baseline-conformance-claim.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/migrations/baseline-migration-work-order.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - path: governance/evidence/migrations/baseline-migration-execution-receipt.yaml type: evidence-template required: true owner: architecture-governance-board digest: sha256: signed: true exportedTo: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json generatedOutputs: - path: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json digest: sha256: generatedBy: internal-command://architecture/export-modern-architecture-audit sourceArtifacts: - docs/references/modern-enterprise-architecture-template.md - governance/control-plane/version-governance.yaml externalReferences: - name: SLSA v1.2 lockedVersion: v1.2 adoptionLevel: enforce referenceDigest: sha256: gates: requiredArtifactsPresent: true artifactDigestsMatchGitTree: true noUndeclaredRequiredArtifacts: true localPrivateArtifactBoundaryDeclared: true auditExportExclusionManifestDeclared: true privateArtifactEscrowManifestDeclared: true cleanRoomReconstructionReceiptDeclared: true evidenceArchiveReceiptDeclared: true signatureLtvReceiptDeclared: true runtimeAdmissionReceiptDeclared: true runtimeAdmissionDecisionLedgerDeclared: true continuousControlMonitoringLedgerDeclared: true controlAssuranceSamplingLedgerDeclared: true controlInheritanceLedgerDeclared: true dataResidencyTransferLedgerDeclared: true thirdPartyRiskLedgerDeclared: true operationalResilienceLedgerDeclared: true dataProductQualityContractObservabilityLedgerDeclared: true serviceReliabilitySloErrorBudgetObservabilityLedgerDeclared: true businessOutcomeValueRealizationPortfolioLedgerDeclared: true valueStreamJourneyProcessLedgerDeclared: true architectureViewRuntimeTopologyDependencyLedgerDeclared: true qualityAttributeArchitectureDriverTradeoffLedgerDeclared: true architecturePrincipleConstraintExceptionLedgerDeclared: true versionPolicyReleaseControlLedgerDeclared: true regulatoryObligationLedgerDeclared: true cryptographicSecretsKeyCertificateLedgerDeclared: true assetCriticalityClassificationLedgerDeclared: true identityEntitlementAccessLedgerDeclared: true processingActivityInventoryLedgerDeclared: true privacyRightsConsentLedgerDeclared: true recordsRetentionLegalHoldLedgerDeclared: true generatedOutputsMatchSources: true signaturesVerified: true ``` 制品类型只能使用以下值: | 类型 | 含义 | 典型位置 | | ---- | ---- | -------- | | `document` | 人类可读基线正文和索引 | `docs/` | | `schema` | 机器可读契约约束 | starter kit schema | | `example` | 可执行或可校验示例 | starter kit example | | `control` | 控制面、控制覆盖或门禁决策 | `governance/control-plane/` | | `evidence-template` | 审计、评估、例外、采纳、符合性或发布证据模板 | `governance/evidence/` | | `validation-command` | 生成或校验基线的命令声明 | Makefile、脚本、runbook | | `generated-output` | 由命令生成的审计导出或完整性输出 | `build/` | | `external-reference` | 锁定版本的外部标准或参考资料快照 | 标准基线、ADR、引用清单 | 执行规则: 1. 企业级 `baseline`、`frozen` 和正式审计导出必须有基线制品清单。 2. 清单必须绑定 `baselineId`、`sourceCommit`、`releaseTag`、摘要算法和生成时间。 3. 所有必需源制品必须有路径、类型、owner、摘要、必需性和导出关系。 4. `required=true` 制品缺失、摘要漂移或 owner 缺失时,不得晋级到 `baseline` 或 `frozen`。 5. 未登记但被审计导出引用的源制品必须阻断导出,除非明确列入允许的 exclude pattern。 6. 本地禁推资产可以存在于 exclude pattern,但必须先进入 `baseline-local-artifact-boundary.yaml`、`audit-export-exclusion-manifest.yaml`、`private-artifact-escrow-manifest.yaml`、`baseline-clean-room-reconstruction-receipt.yaml` 和 `baseline-evidence-archive-receipt.yaml`,并不得进入远端树、源制品清单、审计导出包或签名 payload。 7. 生成物必须能反向追溯到源制品集合;源制品变更后必须重新生成导出包、完整性清单和签名策略。 8. 基线迁移工作单和迁移执行回执属于必需证据模板;被采纳总账引用但未进入制品清单时,基线不得晋级。 9. 任意 exclude pattern 都必须能从本地私有制品边界反查到 owner、禁推原因、摘要策略、允许用途和验证命令。 10. 任意导出包必须能从审计导出排除清单反查到原文白名单、摘要留存项、强制排除项和签名 payload 排除项。 11. 任意本地私有制品都必须能从私有制品托管交接清单反查到私有库引用、访问角色、留存策略、取回命令、恢复验证和摘要一致性。 12. 基线运行时准入回执属于必需证据模板;缺失时不能证明发布准入已经进入生产 API 入口,基线不得晋级。 13. 基线运行时准入决策总账属于必需证据模板;缺失时不能证明 allow/deny 决策有逐条原始证据,基线不得晋级。 14. 基线连续控制监测总账属于必需证据模板;缺失时不能证明发布后的关键控制持续生效,基线不得晋级或冻结。 15. 基线独立控制保证抽样总账属于必需证据模板;缺失时不能证明关键控制已经被独立抽样复核,基线不得晋级或冻结。 16. 基线共享责任与继承控制总账属于必需证据模板;缺失时不能证明公共控制、继承控制和消费者义务有明确责任边界,基线不得晋级或冻结。 17. 基线数据驻留与跨境处理总账属于必需证据模板;缺失时不能证明数据实际处理位置、跨境传输机制、子处理方和补充保护措施符合基线,基线不得晋级或冻结。 18. 基线第三方与关键供应商风险总账属于必需证据模板;缺失时不能证明关键供应商合同、审计权、保证报告、集中度、退出计划和连续性符合基线,基线不得晋级或冻结。 19. 基线运营韧性与重要业务服务影响容忍总账属于必需证据模板;缺失时不能证明重要业务服务、影响容忍、BIA、依赖映射、场景测试和超限升级符合基线,基线不得晋级或冻结。 20. 基线容量、性能、弹性伸缩与成本效率总账属于必需证据模板;缺失时不能证明容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、预算、单位经济、成本分摊、异常成本和优化行动符合基线,基线不得晋级或冻结。 21. 基线服务可靠性、SLO、错误预算与可观测性总账属于必需证据模板;缺失时不能证明关键服务、用户旅程、SLI/SLO、错误预算、告警、on-call、runbook、合成探测、遥测覆盖和降级策略符合基线,基线不得晋级或冻结。 22. 基线备份、恢复、灾备与可恢复性验证总账属于必需证据模板;缺失时不能证明关键系统、关键数据存储、备份策略、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验和勒索隔离符合基线,基线不得晋级或冻结。 23. 基线监管与合规义务可追溯总账属于必需证据模板;缺失时不能证明适用义务、控制目标、证据路径、owner、监管变更和 POA&M 符合基线,基线不得晋级或冻结。 24. 基线密码材料、密钥、证书与秘密生命周期总账属于必需证据模板;缺失时不能证明 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销、泄露响应和访问边界符合基线,基线不得晋级或冻结。 25. 基线资产关键性、数据分类与风险分级总账属于必需证据模板;缺失时不能证明资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、AI 风险、互联网暴露和复核状态符合基线,基线不得晋级或冻结。 26. 基线身份权限、特权访问与工作负载身份总账属于必需证据模板;缺失时不能证明人类身份、服务账号、工作负载身份、特权访问、JML、MFA、PAM/JIT、break-glass、孤儿账号和过期权限符合基线,基线不得晋级或冻结。 27. 基线处理活动、个人数据清单与 RoPA 覆盖总账属于必需证据模板;缺失时不能证明处理活动、个人数据类别、主体类别、接收方、跨境传输、保留映射、DPIA 和合法基础覆盖完整,基线不得晋级或冻结。 28. 基线隐私权利请求、同意偏好与合法基础执行总账属于必需证据模板;缺失时不能证明处理目的、合法基础、同意撤回传播、主体权利请求 SLA、自动化决策复核和第三方下游处理限制符合基线,基线不得晋级或冻结。 29. 基线记录留存、法律保全与可防御删除总账属于必需证据模板;缺失时不能证明记录类别、留存排期、legal hold、删除资格、删除传播和可防御删除回执符合基线,基线不得晋级或冻结。 30. 基线业务结果、价值实现与组合收益总账属于必需证据模板;缺失时不能证明业务目标、价值假设、收益 owner、关键结果、采用证据、收益实现、成本效率和组合决策符合基线,基线不得晋级或冻结。 31. 基线价值流、关键旅程与端到端流程总账属于必需证据模板;缺失时不能证明跨域流程 owner、BPMN/流程模型、步骤级遥测、跨域交接、瓶颈、异常、人工兜底、控制点和改进动作符合基线,基线不得晋级或冻结。 32. 基线架构视图、运行拓扑与依赖影响总账属于必需证据模板;缺失时不能证明架构视图、运行拓扑、声明依赖、观测依赖、GitOps 拓扑、关键路径、blast radius、变更影响和依赖漂移符合基线,基线不得晋级或冻结。 33. 基线质量属性、架构驱动与权衡决策总账属于必需证据模板;缺失时不能证明业务驱动、质量属性场景、响应指标、敏感点、权衡点、ADR、适配度函数和验证证据符合基线,基线不得晋级或冻结。 34. 基线架构原则、约束、反模式与例外执行总账属于必需证据模板;缺失时不能证明强制架构原则、约束、禁止项、反模式、检测规则、门禁入口、违反处置、例外审批、风险接受和复核闭环符合基线,基线不得晋级或冻结。 35. 基线版本策略、发布通道、兼容性与冻结控制总账属于必需证据模板;缺失时不能证明版本号语义、发布通道、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销和 EOL 阻断符合基线,基线不得晋级或冻结。 V2.96 补充规则:`baseline-evidence-assurance-classification.yaml` 属于必需证据模板。缺失时不能证明证据追踪图、release gate、会审裁决、审计导出和控制评估使用了同一组证据保证等级、采信状态、完整性证明、新鲜度窗口和可重放要求,基线不得晋级或冻结。 V2.97 补充规则:`baseline-gate-negative-test-suite.yaml` 属于必需证据模板。缺失时不能证明 release gate、starter gate、审计导出、运行时准入和状态迁移阻断规则会在坏样例、过期证据、摘要漂移、签名缺失、例外过期、私有资产误入和证据保证等级不足时 fail-closed,基线不得晋级或冻结。 V2.98 补充规则:`baseline-ai-system-regulatory-impact-ledger.yaml` 属于必需证据模板。缺失时不能证明 AI 产品、Agent、RAG、微调模型、模型供应商接入和自动化决策流程已经完成适用法规、风险分类、禁止/高风险/通用目的 AI 判断、人工监督、日志留存、技术文档、透明度、后市场监测、供应商责任和合规缺口闭环,基线不得晋级或冻结。 可执行验收标准: 1. 任意基线都能列出本次发布包含的源文档、schema、示例、控制项、证据模板、脚本、生成物和外部引用。 2. 任意审计导出包都能从生成物摘要反查到源制品摘要和生成命令。 3. 任意必需制品摘要漂移、缺失或未签名时,基线晋级会被阻断。 4. 任意本地禁推资产都能证明不在远端树、不在基线制品清单、不在导出包、不在签名 payload。 5. 任意迁移工作单和迁移执行回执都能从制品清单反查到摘要、签名状态和审计导出关系。 6. 任意本地私有制品都能从制品清单的 exclude pattern 反查到 `baseline-local-artifact-boundary.yaml` 中的受控边界声明。 7. 任意审计导出生成物都能从制品清单反查到 `audit-export-exclusion-manifest.yaml`,证明排除策略已经进入源证据。 8. 任意本地私有制品都能从制品清单反查到 `private-artifact-escrow-manifest.yaml`,证明它不是只有本地副本,而是已经进入企业私有托管和恢复流程。 9. 任意生产基线都能从制品清单反查到 `baseline-runtime-admission-receipt.yaml`,证明运行入口阻断证据已经成为基线源制品。 10. 任意生产基线都能从制品清单反查到 `baseline-runtime-admission-decision-ledger.yaml`,证明每条运行时准入决策都有可审计的原始日志摘要。 11. 任意生产基线都能从制品清单反查到 `baseline-continuous-control-monitoring-ledger.yaml`,证明关键控制发布后仍在被监测、告警和处置。 12. 任意生产基线都能从制品清单反查到 `baseline-control-assurance-sampling-ledger.yaml`,证明关键控制已经由独立评估人按样本完成设计有效性和运行有效性复核。 13. 任意生产基线都能从制品清单反查到 `baseline-control-inheritance-ledger.yaml`,证明平台公共控制、云/第三方继承控制、领域责任和消费者义务不会互相覆盖。 14. 任意生产基线都能从制品清单反查到 `baseline-data-residency-transfer-ledger.yaml`,证明数据驻留、跨境处理、子处理方和模型供应商区域不会旁路隐私影响评估和数据契约。 15. 任意生产基线都能从制品清单反查到 `baseline-third-party-risk-ledger.yaml`,证明关键供应商、ICT 服务商、SaaS、云平台、模型供应商、外包方和子处理方具备合同、审计权、保证报告、退出计划、集中度和连续性证据。 16. 任意生产基线都能从制品清单反查到 `baseline-operational-resilience-ledger.yaml`,证明重要业务服务、影响容忍、BIA、端到端依赖、场景测试、恢复能力、沟通计划和超限升级证据已经闭合。 17. 任意生产基线都能从制品清单反查到 `baseline-service-reliability-slo-error-budget-observability-ledger.yaml`,证明生产服务、关键用户旅程、SLI/SLO、错误预算、告警、on-call、runbook、合成探测、日志/指标/链路覆盖、降级策略和事故反馈已经闭合。 18. 任意生产基线都能从制品清单反查到 `baseline-backup-restore-disaster-recovery-ledger.yaml`,证明关键系统、关键数据存储、备份策略、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验、勒索隔离和恢复权限证据已经闭合。 19. 任意生产基线都能从制品清单反查到 `baseline-regulatory-obligation-ledger.yaml`,证明适用义务、控制目标、控制项、证据路径、owner、监管变更和 POA&M 已经闭合。 20. 任意生产基线都能从制品清单反查到 `baseline-cryptographic-secrets-key-certificate-ledger.yaml`,证明 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销、泄露响应和访问边界证据已经闭合。 21. 任意生产基线都能从制品清单反查到 `baseline-asset-criticality-classification-ledger.yaml`,证明资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、AI 风险、互联网暴露和复核状态证据已经闭合。 22. 任意生产基线都能从制品清单反查到 `baseline-identity-entitlement-access-ledger.yaml`,证明人类身份、服务账号、工作负载身份、特权访问、JML、MFA、PAM/JIT、break-glass、孤儿账号、过期权限和运行时身份绑定证据已经闭合。 23. 任意生产基线都能从制品清单反查到 `baseline-processing-activity-inventory-ledger.yaml`,证明个人数据处理活动、数据主体类别、个人数据类别、接收方、跨境传输、保留映射、DPIA、合法基础和发现覆盖证据已经闭合。 24. 任意生产基线都能从制品清单反查到 `baseline-privacy-rights-consent-ledger.yaml`,证明处理目的、合法基础、同意偏好、撤回传播、权利请求履约、自动化决策复核和下游处理阻断证据已经闭合。 25. 任意生产基线都能从制品清单反查到 `baseline-records-retention-legal-hold-ledger.yaml`,证明记录类别、留存排期、legal hold、删除资格、删除传播和可防御删除回执证据已经闭合。 26. 任意生产基线都能从制品清单反查到 `baseline-business-outcome-value-realization-portfolio-ledger.yaml`,证明业务目标、价值假设、收益 owner、关键结果、采用证据、收益实现、成本效率和停投/加投决策证据已经闭合。 27. 任意生产基线都能从制品清单反查到 `baseline-value-stream-journey-process-ledger.yaml`,证明价值流、关键旅程、端到端流程、步骤遥测、跨域交接、瓶颈、异常和人工兜底证据已经闭合。 28. 任意生产基线都能从制品清单反查到 `baseline-architecture-view-runtime-topology-dependency-ledger.yaml`,证明架构视图、运行拓扑、声明依赖、观测依赖、GitOps 拓扑、blast radius、变更影响和依赖漂移证据已经闭合。 29. 任意生产基线都能从制品清单反查到 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml`,证明质量属性场景、架构驱动、敏感点、权衡点、ADR、适配度函数和验证证据已经闭合。 30. 任意生产基线都能从制品清单反查到 `baseline-architecture-principle-constraint-exception-ledger.yaml`,证明强制架构原则、约束、禁止项、反模式、检测规则、门禁入口、违反处置、例外审批、风险接受和复核周期已经闭合。 31. 任意生产基线都能从制品清单反查到 `baseline-version-policy-release-control-ledger.yaml`,证明版本号语义、发布通道、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销和 EOL 阻断已经闭合。 32. 任意生产基线都能从制品清单反查到 `baseline-evidence-assurance-classification.yaml`,证明关键证据节点的保证等级、采信状态、独立性、完整性、新鲜度和重放要求已经进入 release gate、会审裁决和审计导出。 33. 任意生产基线都能从制品清单反查到 `baseline-gate-negative-test-suite.yaml`,证明 release gate、starter gate、审计导出、运行时准入和状态迁移阻断规则至少各有一类坏样例被拒绝,且实际失败原因与预期策略规则一致。 34. 任意生产 AI 系统都能从制品清单反查到 `baseline-ai-system-regulatory-impact-ledger.yaml`,证明系统用途、部署角色、适用法规、风险分类、人工监督、日志留存、技术文档、透明度、后市场监测、供应商责任、DPIA/监管义务映射和合规缺口关闭证据已经进入同一基线。 ### 10.10.16 基线验证环境锁定 `baseline-verification-lock.yaml` 是企业架构基线的验证环境锁文件。它不替代 `Makefile`、CI 配置或脚本,而是把“用什么环境、什么命令、什么工具版本验证当前基线”固定成可审计证据,避免校验器或 runner 漂移导致同一基线结果不一致。 ```yaml baselineVerificationLock: lockId: bvl-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board sourceCommit: releaseTag: architecture/v2.53-candidate generatedAt: 2026-06-02T12:15:00+08:00 runner: type: container image: registry.company.com/platform/architecture-baseline-runner@sha256: os: ubuntu-24.04 architecture: amd64 networkPolicy: no-unpinned-downloads commands: - name: docs-toc command: make sync-doc-toc required: true expectedResult: pass - name: repo-test command: make test required: true expectedResult: pass - name: whitespace command: git diff --check required: true expectedResult: pass - name: forbidden-assets command: git ls-tree -r --name-only origin/develop -- assets/templates/modern-enterprise-architecture-private/kit required: true expectedResult: empty - name: local-private-artifact-boundary command: git status --short --ignored -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py required: true expectedResult: ignored-only - name: audit-export-exclusion-manifest command: internal-command://architecture/check-modern-architecture-audit-export --check-exclusions required: true expectedResult: pass - name: private-artifact-escrow-manifest command: internal-command://architecture/check-modern-architecture-kit --check-private-artifact-escrow required: true expectedResult: pass - name: clean-room-reconstruction command: internal-command://architecture/check-modern-architecture-kit --clean-room-reconstruct governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml required: true expectedResult: pass - name: evidence-archive-receipt command: internal-command://architecture/check-modern-architecture-kit --check-evidence-archive governance/evidence/baselines/baseline-evidence-archive-receipt.yaml required: true expectedResult: pass - name: runtime-admission-receipt command: internal-command://architecture/check-modern-architecture-kit --check-runtime-admission governance/evidence/baselines/baseline-runtime-admission-receipt.yaml required: true expectedResult: pass tools: markdownlint: version: 0.48.0 source: npm digest: sha256: python: version: 3.12.x source: runner-image jsonSchemaValidator: name: ajv version: 8.x digest: sha256: policyEngines: - name: opa version: 1.x bundleDigest: sha256: - name: kyverno version: 1.x bundleDigest: sha256: signing: cosignVersion: 2.x certificateIdentity: architecture-release-bot transparencyLog: rekor admission: kubernetesVersion: 1.x policyControllerVersion: 0.x kyvernoVersion: 1.x gatekeeperVersion: 3.x bundleDigest: sha256: inputs: lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml localPrivateArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml cleanRoomReconstructionReceipt: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml readinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml standardsBaseline: governance/control-plane/standards-baseline.yaml controlCoverage: governance/control-plane/control-coverage.yaml outputs: auditExport: path: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json generatedBy: internal-command://architecture/export-modern-architecture-audit integrity: path: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-integrity.json provenance: path: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-provenance.json gates: runnerImagePinnedByDigest: true noUnpinnedToolDownload: true toolVersionsLocked: true policyBundlesPinned: true validatorVersionsLocked: true signingToolsLocked: true admissionToolchainLocked: true ``` 锁定对象至少包括: | 对象 | 最低要求 | 阻断条件 | | ---- | -------- | -------- | | Runner | 使用不可变镜像 digest 或等价 runner 快照 | 只写 `latest`、OS 版本不明、架构不明 | | 命令 | 列出命令、是否必需、预期结果和输出路径 | 关键命令只在文档正文出现,锁文件没有记录 | | 工具 | 记录名称、版本、来源和摘要 | 校验器、签名工具或策略引擎未固定版本 | | 策略包 | 记录 bundle digest、适用范围和生效时间 | OPA / Kyverno / Cedar 策略包漂移 | | Schema validator | 记录 validator 名称、版本和行为模式 | 不同 validator 对同一 schema 行为不一致 | | 签名验签工具 | 记录版本、身份、证书策略和透明日志要求 | 验签工具或证书身份不可复现 | 执行规则: 1. 企业级 `baseline`、`frozen` 和正式审计导出必须有验证环境锁。 2. `baseline-verification-lock.yaml` 必须绑定 `baselineId`、`sourceCommit`、`releaseTag` 和 `baseline-artifact-inventory.yaml`。 3. 任何验证命令、runner 镜像、策略包、schema validator 或签名工具升级,都必须形成基线变更记录或 ADR。 4. 锁文件中的 runner、工具、策略包和 validator 不得使用 `latest`、浮动主版本或未固定来源。 5. 审计导出、完整性清单和 provenance 必须记录使用的验证锁摘要。 6. 如果当前环境无法复现验证锁,基线只能停留在 `candidate`,不得晋级到 `baseline` 或 `frozen`。 可执行验收标准: 1. 任意基线都能证明自己由哪套 runner、命令、工具版本、策略包和 validator 校验。 2. 任意验证失败都能判断是源制品变化、工具链变化、runner 变化还是策略包变化。 3. 任意审计导出都能追溯到验证锁摘要,证明生成环境没有漂移。 4. 任意工具链升级都能找到影响分析、验证结果、回滚路径和新的锁文件。 ### 10.10.17 基线通知确认总账 `baseline-notification-ledger.yaml` 是企业架构基线发布前的通知确认总账。它不替代邮件、IM、门户公告或会议纪要,而是把这些通知行为统一沉淀为可审计证据,证明受影响 owner 在冻结前已经收到通知、理解影响、确认迁移责任,或者已经提出异议并进入例外、POA&M 或风险接受。 ```yaml baselineNotificationLedger: ledgerId: bnl-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml compatibilityLedger: governance/evidence/compatibility/baseline-compatibility-ledger.yaml adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml notificationWindow: firstNoticeAt: 2026-06-10T09:00:00+08:00 freezeNoticeAt: 2026-06-24T09:00:00+08:00 acknowledgementDueAt: 2026-06-24T18:00:00+08:00 baselineDecisionAt: 2026-07-01T10:00:00+08:00 targetAudience: - audienceId: domain-order-owner ownerType: domain-owner required: true team: team-order contact: order-tech-lead impactedAssets: - service:order-command-service - data-product:order-facts impactSources: - governance/evidence/compatibility/baseline-compatibility-ledger.yaml - governance/evidence/adoption/baseline-adoption-ledger.yaml expectedAckBy: 2026-06-24T18:00:00+08:00 - audienceId: platform-gitops-owner ownerType: platform-owner required: true team: platform-runtime contact: gitops-platform-lead impactedAssets: - platform-capability:gitops-runtime expectedAckBy: 2026-06-24T18:00:00+08:00 notifications: - noticeId: notice-first-20260610 noticeType: first-notice sentAt: 2026-06-10T09:00:00+08:00 sentBy: architecture-release-bot contentDigest: sha256: channels: - architecture-portal - platform-developer-portal - engineering-leads-mailing-list recipients: - audienceId: domain-order-owner deliveryStatus: delivered deliveredAt: 2026-06-10T09:01:00+08:00 acknowledgementStatus: acknowledged acknowledgedBy: order-tech-lead acknowledgedAt: 2026-06-10T11:20:00+08:00 impactAccepted: true objections: [] - audienceId: platform-gitops-owner deliveryStatus: delivered deliveredAt: 2026-06-10T09:02:00+08:00 acknowledgementStatus: acknowledged acknowledgedBy: gitops-platform-lead acknowledgedAt: 2026-06-10T12:05:00+08:00 impactAccepted: true objections: [] - noticeId: notice-freeze-20260624 noticeType: freeze-notice sentAt: 2026-06-24T09:00:00+08:00 sentBy: architecture-release-bot contentDigest: sha256: recipients: - audienceId: domain-order-owner deliveryStatus: delivered acknowledgementStatus: acknowledged acknowledgedBy: order-tech-lead acknowledgedAt: 2026-06-24T11:00:00+08:00 impactAccepted: true objections: [] objections: active: [] resolved: - objectionId: obj-20260610-001 raisedBy: data-platform-owner raisedAt: 2026-06-10T15:00:00+08:00 reason: data-product lineage rule needs migration sample resolution: migration sample added before freeze resolvedAt: 2026-06-18T17:00:00+08:00 resolvedBy: architecture-governance-board exceptions: active: [] summary: requiredRecipients: 2 delivered: 2 acknowledged: 2 missingAcknowledgements: 0 activeObjections: 0 activeExceptions: 0 readyForFreeze: true gates: blockFreezeOnMissingRequiredAck: true blockFreezeOnFailedDelivery: true blockBaselineOnActiveObjection: true requireExceptionForWaivedAck: true requireContentDigestForEachNotice: true ``` 确认状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `pending` | 已识别为通知对象,但尚未发送或尚无送达证据 | 是 | | `delivered` | 通知已送达,但尚未完成影响确认 | 关键对象阻断 | | `acknowledged` | 已确认收到并理解影响 | 否 | | `objected` | 已提出异议或风险问题 | 是,直到关闭或风险接受 | | `waived` | 确认要求被批准豁免 | 不阻断,但必须有例外和到期日 | | `failed` | 通知投递失败 | 是 | | `expired` | 超过确认截止时间仍未确认 | 是 | 执行规则: 1. `targetAudience` 必须来自 `baseline-compatibility-ledger.yaml`、`baseline-adoption-ledger.yaml`、catalog owner、GitOps 环境 owner 和安全/审计相关方,不能只手工列邮件名单。 2. 每条通知必须记录 `noticeType`、`sentAt`、`channels`、`contentDigest` 和 recipients;没有内容摘要的通知不能作为冻结证据。 3. `required=true` 的对象必须在 `acknowledgementDueAt` 前达到 `acknowledged`,除非存在未过期例外、POA&M 或风险接受。 4. 任意 `objected` 状态必须进入 `objections`,并在冻结前关闭、转例外或进入风险接受;不能用会议口头结论覆盖异议。 5. 任意 `failed` 或 `expired` 状态必须有补发、升级通知或例外审批;关键 owner 未确认时不得进入 `freeze`。 6. 发布证据包必须记录 `baseline-notification-ledger.yaml` 的摘要,证明冻结复核使用的是同一份通知确认总账。 可执行验收标准: 1. 任意企业级基线都能列出所有必须通知和必须确认的领域、平台、数据、AI、GitOps、安全和审计对象。 2. 任意通知都能证明发送时间、渠道、内容摘要、送达结果和确认人。 3. 任意未确认对象都能证明补发、例外、POA&M 或风险接受,而不是停留在 unknown。 4. 任意冻结基线都能证明 `missingAcknowledgements=0` 且 `activeObjections=0`,或存在明确的风险接受记录。 ### 10.10.18 基线回滚验证记录 `baseline-rollback-verification.yaml` 是企业架构基线从候选进入正式基线前的回滚验证记录。它不替代回滚计划、Git tag、GitOps 历史或审计导出包,而是把这些入口做一次实际验证,并把结果固化为可审计证据。 ```yaml baselineRollbackVerification: verificationId: brv-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board currentBaseline: version: V2.53 releaseTag: architecture/v2.53-candidate sourceCommit: releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml rollbackTarget: version: V2.52 baselineId: mea-v2.52-20260602 releaseTag: architecture/v2.52-candidate sourceCommit: supportState: active supportMatrix: governance/evidence/support/baseline-support-matrix.yaml verificationWindow: verifiedAt: 2026-06-02T13:00:00+08:00 expiresAt: 2026-07-02T23:59:59+08:00 verifiedBy: - architecture-release-bot - platform-sre-reviewer checks: - checkId: git-tag-checkout command: git checkout architecture/v2.52-candidate expectedResult: pass result: pass evidenceDigest: sha256: - checkId: audit-export-restore command: internal-command://architecture/export-modern-architecture-audit expectedResult: pass result: pass evidenceDigest: sha256: - checkId: gitops-revision-restore environment: staging targetRevision: expectedResult: synced result: synced evidenceDigest: sha256: - checkId: smoke-validation target: baseline-reference-stack command: make test expectedResult: pass result: pass evidenceDigest: sha256: recoveryResult: result: pass recoveryTimeMinutes: 18 dataLossObserved: false blockingFailures: 0 warnings: 0 artifacts: rollbackGuide: governance/evidence/baseline-changes/baseline-change-record.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml readinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml gates: blockBaselineIfRollbackTargetMissing: true blockFrozenIfVerificationExpired: true requireGitopsRevisionForRuntimeRollback: true requireAuditExportRollbackEvidence: true requireSmokeValidationForReferenceStack: true ``` 验证状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `pass` | 检查项按预期完成,证据摘要已记录 | 否 | | `fail` | 检查项执行失败或结果不符合预期 | 是 | | `skipped` | 因明确范围不适用而跳过 | 条件阻断,必须说明理由和批准人 | | `not-applicable` | 当前基线没有对应运行面或制品类型 | 否,但必须有范围说明 | | `expired` | 验证窗口已过期,需要重新执行 | 是 | | `blocked` | 缺少前置制品、权限或环境,无法执行验证 | 是 | 执行规则: 1. `baseline-rollback-verification.yaml` 必须绑定当前基线和上一基线的 `baselineId`、`releaseTag`、`sourceCommit` 和支持状态。 2. 回滚目标必须在支持矩阵中处于 `active`、`maintenance`、`security-only` 或 `frozen`,不得指向 `eol` 基线。 3. Git 回滚必须证明上一基线 tag 或 commit 可检出;GitOps 回滚必须证明目标 revision 存在并可同步。 4. 审计导出恢复必须证明上一基线仍能生成或读取对应导出包,且摘要能与历史证据对上。 5. 参考栈烟测必须覆盖文档门禁、starter kit 校验、审计导出门禁和至少一个 GitOps 恢复验证。 6. `verificationWindow.expiresAt` 过期后,基线不得晋级到 `frozen`,必须重新生成回滚验证记录。 7. 任意 `fail`、`expired` 或 `blocked` 必须进入 POA&M、风险登记或 release gate 阻断,不能被发布证据包覆盖。 可执行验收标准: 1. 任意正式基线都能找到一份未过期的 `baseline-rollback-verification.yaml`。 2. 任意回滚验证都能证明上一基线 tag/commit 可检出,并能定位 GitOps revision 或明确声明不适用。 3. 任意审计人员都能从记录中看到恢复命令、预期结果、实际结果、证据摘要和验证窗口。 4. 任意失败的回滚验证都会阻断 `baseline` 或 `frozen` 晋级,直到有修复证据、例外审批或风险接受。 ### 10.10.19 基线例外总账 `baseline-exception-ledger.yaml` 是企业架构基线级别的例外聚合总账。它不替代单个控制项、单个资产或单个策略的 `policy-exception.yaml`,而是把分散在兼容性、采纳、支持矩阵、通知确认、回滚验证、门禁决策、执行控制面、风险登记和 POA&M 中的例外统一收敛到同一份基线证据,回答“哪些例外还有效、哪些已经过期、哪些会阻断冻结、谁接受风险、何时关闭”。 ```yaml baselineExceptionLedger: ledgerId: bel-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board generatedAt: 2026-06-02T13:30:00+08:00 linkedEvidence: versionGovernance: governance/control-plane/version-governance.yaml lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml releaseGateDecision: governance/control-plane/release-gate-decision.yaml controlPlane: governance/control-plane/control-plane.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 releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml notificationLedger: governance/evidence/communications/baseline-notification-ledger.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml conformanceClaims: governance/evidence/conformance/baseline-conformance-claim.yaml riskRegister: governance/evidence/risk/risk-register.yaml poamRegister: governance/evidence/poam/poam-record.yaml exceptionPolicy: defaultMaxAgeDays: 90 blockExpiredExceptions: true blockFrozenOnBlockingException: true blockFrozenOnHighResidualRisk: true requireOwnerForEveryException: true requirePoamForBlockingException: true requireRiskAcceptanceForConditionalPass: true requireCloseEvidenceForClosedException: true exceptions: active: - exceptionId: ex-baseline-2026-001 source: baseline-adoption-ledger sourceRef: governance/evidence/adoption/baseline-adoption-ledger.yaml affectedAsset: service:legacy-billing-adapter controlIds: - MEA-VERSION-ADOPTION - MEA-BASELINE-SUPPORT severity: medium residualRisk: low gateImpact: conditional-pass owner: legacy-platform-owner reason: strangler migration still active openedAt: 2026-06-02T10:00:00+08:00 expiresAt: 2026-09-15T23:59:59+08:00 riskAcceptedBy: enterprise-architecture-lead riskAcceptanceRef: governance/evidence/risk/legacy-billing-risk-acceptance.yaml poam: governance/evidence/poam/legacy-billing-adapter-poam.yaml compensatingControls: - read-only traffic - daily reconciliation - canary traffic capped at 5 percent closeCriteria: - migration completed - conformance claim regenerated - production traffic on old baseline equals zero blocking: [] expired: [] closed: - exceptionId: ex-baseline-2026-000 source: baseline-compatibility-ledger affectedAsset: api:order-command:v1 closedAt: 2026-06-18T17:00:00+08:00 closedBy: architecture-governance-board closeEvidence: governance/evidence/compatibility/order-command-api-v2.yaml summary: activeCount: 1 blockingCount: 0 expiredCount: 0 highResidualRiskCount: 0 conditionalPassCount: 1 readyForBaseline: true readyForFrozen: true gates: blockBaselineOnExpiredException: true blockBaselineOnUnknownOwner: true blockFrozenOnBlockingException: true blockFrozenOnHighResidualRisk: true requirePoamForBlockingException: true requireRiskAcceptanceForConditionalPass: true requireExceptionLedgerDigestInReleaseEvidence: true ``` 例外状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `active` | 例外仍有效,未超过到期日,且有 owner、风险接受和关闭条件 | 视风险等级和门禁影响而定 | | `conditional-pass` | 例外允许本轮发布通过,但必须有风险接受、补偿控制和 POA&M | 不阻断 `baseline`,通常阻断或限制 `frozen` | | `blocking` | 例外会阻断基线晋级、冻结或生产发布 | 是 | | `expired` | 例外超过到期日或证据过期 | 是 | | `closed` | 例外已关闭,且有关闭证据 | 否 | | `rejected` | 例外申请未被批准 | 是,除非风险通过其他路径关闭 | 执行规则: 1. `baseline-exception-ledger.yaml` 必须聚合 `baseline-compatibility-ledger.yaml`、`baseline-adoption-ledger.yaml`、`baseline-support-matrix.yaml`、`baseline-notification-ledger.yaml`、`baseline-rollback-verification.yaml`、`release-gate-decision.yaml`、`control-plane.yaml`、风险登记和 POA&M 中的例外。 2. 每个例外必须有来源、受影响资产、控制项、owner、严重度、残余风险、到期时间、补偿控制、关闭条件和证据路径。 3. `conditional-pass` 必须有风险接受人和 POA&M;缺少任何一个字段都必须降级为 `blocking`。 4. `expired`、`blocking` 或 `high residual risk` 例外不得进入 `frozen`,除非通过正式风险接受并声明补偿控制、关闭期限和审计可接受性。 5. 例外关闭必须有 `closeEvidence`,不能只写“已处理”或依赖会议纪要。 6. 发布证据包必须记录 `baseline-exception-ledger.yaml` 的摘要,并在冻结复核中声明 `expiredCount=0`、`blockingCount=0`。 可执行验收标准: 1. 任意企业级基线都能列出所有活跃、过期、阻断、条件放行和已关闭例外。 2. 任意例外都能追溯到原始来源、风险接受、POA&M、补偿控制和关闭条件。 3. 任意过期或阻断例外都会阻断 `baseline` 或 `frozen` 晋级,直到关闭、续期、降级或正式风险接受。 4. 任意冻结基线都能证明没有散落在其他账本中但未进入总账的活跃例外。 5. 任意审计人员都能从总账直接判断当前基线是否满足冻结准入,而不需要逐个翻兼容、采纳、支持、通知和门禁记录。 ### 10.10.20 基线就绪评分卡 `baseline-readiness-scorecard.yaml` 是企业架构基线晋级前的最终就绪判定。它不替代版本控制面、发布证据包、控制项覆盖、 基线制品清单、验证环境锁或例外总账,而是把这些证据按硬门禁和评分维度统一汇总,避免出现“每份局部证据都存在, 但没有人能明确判断是否可以进入 baseline 或 frozen”的状态。 ```yaml baselineReadinessScorecard: scorecardId: brs-20260602-mea-v257 baselineId: mea-v2.57-20260602 documentVersion: V2.57 owner: architecture-governance-board generatedAt: 2026-06-02T14:00:00+08:00 scoringPolicy: minimumBaselineScore: 90 minimumFrozenScore: 95 blockOnCriticalFinding: true blockOnArtifactDigestDrift: true blockOnVerificationLockDrift: true blockOnExpiredException: true blockOnRollbackUnverified: true blockOnMissingRequiredNotification: true blockOnForbiddenRemoteAssets: true blockOnMissingLocalArtifactBoundary: true blockOnLocalPrivateArtifactRawExport: true blockOnMissingAuditExportExclusionManifest: true blockOnSignaturePayloadBoundaryViolation: true blockOnMissingPrivateArtifactEscrowManifest: true blockOnPrivateArtifactRestoreFailure: true blockOnMissingCleanRoomReconstructionReceipt: true blockOnCleanRoomReconstructionFailure: true blockOnMissingEvidenceArchiveReceipt: true blockOnEvidenceArchiveFailure: true blockOnMissingSignatureLtvReceipt: true blockOnSignatureLtvFailure: true blockOnMissingRuntimeAdmissionReceipt: true blockOnRuntimeAdmissionBypass: true scoreCannotOverrideHardGate: true evidenceInputs: versionGovernance: governance/control-plane/version-governance.yaml lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml controlCoverage: governance/control-plane/control-coverage.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 notificationLedger: governance/evidence/communications/baseline-notification-ledger.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml cleanRoomReconstructionReceipt: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml repositoryChangeControl: governance/control-plane/repository-change-control.yaml localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml dimensions: - id: version-identity weight: 10 score: 100 status: pass evidence: - governance/control-plane/version-governance.yaml - id: control-coverage weight: 15 score: 96 status: pass evidence: - governance/control-plane/control-coverage.yaml - id: artifact-integrity weight: 15 score: 98 status: pass evidence: - governance/evidence/baselines/baseline-artifact-inventory.yaml - governance/evidence/baselines/baseline-local-artifact-boundary.yaml - governance/evidence/audit-export/audit-export-exclusion-manifest.yaml - governance/evidence/baselines/private-artifact-escrow-manifest.yaml - governance/evidence/baselines/baseline-evidence-archive-receipt.yaml - governance/evidence/baselines/baseline-signature-ltv-receipt.yaml - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-integrity.json - id: verification-reproducibility weight: 10 score: 95 status: pass evidence: - governance/evidence/verification/baseline-verification-lock.yaml - governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml - id: exception-health weight: 15 score: 94 status: conditional-pass evidence: - governance/evidence/exceptions/baseline-exception-ledger.yaml - id: compatibility-and-adoption weight: 10 score: 93 status: conditional-pass evidence: - governance/evidence/compatibility/baseline-compatibility-ledger.yaml - governance/evidence/adoption/baseline-adoption-ledger.yaml - id: notification-readiness weight: 8 score: 100 status: pass evidence: - governance/evidence/communications/baseline-notification-ledger.yaml - id: rollback-readiness weight: 10 score: 97 status: pass evidence: - governance/evidence/rollback/baseline-rollback-verification.yaml - id: audit-and-supply-chain weight: 7 score: 96 status: pass evidence: - governance/evidence/audit-export/audit-export-manifest.yaml - governance/evidence/audit-export/audit-export-exclusion-manifest.yaml - governance/evidence/audit-export/audit-export-signature-receipt.yaml - governance/evidence/baselines/baseline-local-artifact-boundary.yaml - governance/evidence/baselines/private-artifact-escrow-manifest.yaml - governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml - governance/evidence/baselines/baseline-evidence-archive-receipt.yaml - governance/evidence/baselines/baseline-signature-ltv-receipt.yaml - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml hardGates: failed: [] warnings: - id: adoption-exception-open source: governance/evidence/exceptions/baseline-exception-ledger.yaml impact: does-not-block-baseline-but-limits-frozen summary: weightedScore: 96 readinessLevel: ready-for-baseline readyForBaseline: true readyForFrozen: false frozenBlockers: - freeze-window-not-started blockingFindings: 0 expiredExceptions: 0 forbiddenRemoteAssets: 0 localPrivateArtifactBoundary: pass auditExportExclusionManifest: pass privateArtifactEscrowManifest: pass privateEscrowRestoreFailures: 0 cleanRoomReconstructionReceipt: pass cleanRoomReconstructionFailures: 0 evidenceArchiveReceipt: pass evidenceArchiveRestoreFailures: 0 signatureLtvReceipt: pass signatureLtvFailures: 0 runtimeAdmissionReceipt: pass runtimeAdmissionRejectSamples: 6 runtimeAdmissionBypassFindings: 0 localPrivateRawAuditExportInclusions: 0 localPrivateRawSignaturePayloadInclusions: 0 decision: candidateToBaseline: pass baselineToFrozen: not-ready decidedBy: architecture-governance-board decisionRef: governance/control-plane/release-gate-decision.yaml ``` 就绪状态只能使用以下值: | 状态 | 含义 | 是否允许晋级 | | ---- | ---- | ------------ | | `not-ready` | 评分不足或硬门禁未通过 | 否 | | `ready-for-candidate` | 可进入候选评审,但不能用于生产基线 | 只允许低风险试点 | | `ready-for-baseline` | 满足 baseline 阈值和全部 baseline 硬门禁 | 允许进入 baseline | | `ready-for-frozen` | 满足 frozen 阈值、冻结窗口和全部冻结硬门禁 | 允许进入 frozen | | `blocked` | 存在 critical finding、过期例外、回滚失败、禁推资产或制品漂移 | 否 | | `expired` | 评分卡证据超过有效期,需要重新生成 | 否 | 执行规则: 1. `baseline-readiness-scorecard.yaml` 必须在 `candidate -> baseline` 和 `baseline -> frozen` 前生成,并写入 `baseline-release-evidence.yaml` 的不可变摘要。 2. 每个评分维度必须有 `weight`、`score`、`status` 和证据路径;评分维度权重总和必须等于 100。 3. 硬门禁失败不能被平均分覆盖;只要存在 critical finding、过期例外、回滚未验证、制品摘要漂移、缺失本地私有制品边界、缺失审计导出排除清单、缺失私有制品托管交接、私有托管取回失败、缺失干净环境重建回执、干净环境重建失败、缺失运行时准入回执、runtime admission 拒绝样例失败、禁推资产进入远端、审计导出原文或签名 payload,最终判定必须为 `blocked`。 4. `ready-for-baseline` 不等于 `ready-for-frozen`。冻结还必须满足更高分数、冻结窗口、通知确认、例外总账和审计导出要求。 5. `conditional-pass` 维度必须能追溯到风险接受、POA&M、补偿控制和关闭日期,不能只靠人工签字放行。 6. 评分卡必须进入季度复核;任何评分策略、权重或硬门禁变化都必须形成基线变更记录或 ADR。 可执行验收标准: 1. 任意基线晋级都能找到对应的 `baseline-readiness-scorecard.yaml`。 2. 任意评分卡都能证明权重总和为 100,且每个维度都有证据路径和状态。 3. 任意硬门禁失败都会把最终判定置为 `blocked`,不会被总分掩盖。 4. 任意 `ready-for-frozen` 结论都能证明分数达到 frozen 阈值、过期例外为 0、阻断项为 0、回滚验证未过期、本地私有制品未进入远端或公开导出原文,且审计导出可验签。 5. 任意审计人员都能从评分卡直接判断基线处于 `not-ready`、`ready-for-baseline` 还是 `ready-for-frozen`,不需要人工重新拼装所有证据。 ### 10.10.21 基线生命周期状态机 `baseline-lifecycle-state-machine.yaml` 是企业架构基线状态迁移的唯一控制面。它不替代 `version-governance.yaml`、 `baseline-release-evidence.yaml` 或 `release-gate-decision.yaml`,而是规定哪些状态可以迁移、哪些状态永远禁止直达、 每次迁移必须引用哪些证据、由谁审批、迁移后必须回写哪些账本,避免“状态字段被人工改了,但证据链没有跟着变”的版本治理失效。 ```yaml baselineLifecycleStateMachine: machineId: blsm-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 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.53-candidate sourceCommit: states: - state: draft terminal: false productionAllowed: false description: 文档或契约仍在探索,不能作为执行基线。 - state: candidate terminal: false productionAllowed: low-risk-pilot-only description: 已具备执行口径,等待晋级评审。 - state: baseline terminal: false productionAllowed: true description: 已批准作为企业执行基线。 - state: frozen terminal: false productionAllowed: true description: 已冻结供审计、招标、监管或规模化推广使用。 - state: emergency-patch 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 description: 已被新基线替代,只允许迁移期存量使用。 - state: eol terminal: true productionAllowed: false description: 已停止支持,不得新建或继续用于生产。 allowedTransitions: - from: draft to: candidate requiredEvidence: - baseline-change-record - version-governance - control-coverage - make-test approvers: - architecture-document-owner sideEffects: - update-doc-index - update-version-manifest - from: candidate to: baseline requiredEvidence: - baseline-release-evidence - baseline-readiness-scorecard - baseline-evidence-trace-graph - baseline-gate-execution-report - baseline-gate-negative-test-suite - baseline-publish-transaction - baseline-artifact-inventory - baseline-verification-lock - baseline-runtime-admission-receipt - baseline-business-outcome-value-realization-portfolio-ledger - baseline-value-stream-journey-process-ledger - baseline-architecture-view-runtime-topology-dependency-ledger - baseline-quality-attribute-architecture-driver-tradeoff-ledger - baseline-architecture-principle-constraint-exception-ledger - baseline-exception-ledger - baseline-rollback-verification - baseline-review-board-decision - release-gate-decision - signed-release-tag approvers: - platform-lead - security-lead - data-governance-lead - architecture-governance-board sideEffects: - update-version-governance-status - write-release-evidence-digest - notify-owners - from: baseline to: frozen requiredEvidence: - frozen-window-open - baseline-readiness-scorecard-ready-for-frozen - notification-ledger-complete - expired-exceptions-zero - rollback-verification-not-expired - baseline-evidence-trace-graph-closed - baseline-gate-execution-report-replayed - baseline-publish-transaction-remote-refs-locked - baseline-runtime-admission-receipt - baseline-business-outcome-value-realization-portfolio-ledger - baseline-value-stream-journey-process-ledger - baseline-architecture-view-runtime-topology-dependency-ledger - baseline-quality-attribute-architecture-driver-tradeoff-ledger - baseline-architecture-principle-constraint-exception-ledger - audit-export-signature-receipt - baseline-review-board-decision approvers: - architecture-governance-board - audit-lead - security-lead sideEffects: - freeze-source-commit - freeze-audit-export - lock-support-matrix - from: baseline to: superseded requiredEvidence: - successor-baseline-approved - baseline-support-matrix-updated - adoption-migration-plan approvers: - architecture-governance-board sideEffects: - update-support-state - notify-consumers - from: frozen to: superseded requiredEvidence: - successor-frozen-or-baseline-approved - audit-retention-plan - migration-deadline approvers: - architecture-governance-board - audit-lead sideEffects: - retain-frozen-evidence - update-support-state - from: baseline to: emergency-patch requiredEvidence: - incident-or-security-ticket - patch-scope - rollback-verification - postmortem-owner approvers: - security-lead - platform-lead sideEffects: - create-emergency-patch-record - schedule-postmortem - from: emergency-patch to: baseline requiredEvidence: - patch-evidence-complete - postmortem-complete - regression-gates-pass approvers: - architecture-governance-board 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: - zero-production-adoption - support-matrix-eol-date-reached - migration-ledger-closed - baseline-eol-retirement-certificate - baseline-review-board-decision - baseline-evidence-trace-graph - baseline-gate-execution-report - baseline-gate-negative-test-suite - baseline-publish-transaction - audit-evidence-archived approvers: - architecture-governance-board - platform-lead - audit-lead sideEffects: - block-new-adoption - archive-baseline-evidence - revoke-production-use forbiddenTransitions: - from: draft to: baseline reason: 必须先进入 candidate 并完成晋级证据。 - from: draft to: frozen reason: 草案不能直接冻结。 - from: candidate to: frozen reason: 必须先成为 baseline。 - from: frozen to: draft reason: 冻结基线不得回退为草案,只能补丁、替代或退役。 - from: frozen to: baseline reason: 冻结状态不可降级;后续变更必须走补丁或新基线。 - 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 to: baseline requestedBy: architecture-governance-board requestedAt: 2026-06-02T14:35:00+08:00 decision: pass decidedAt: 2026-06-02T15:00:00+08:00 decisionRef: governance/control-plane/release-gate-decision.yaml evidence: releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml readinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml 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 versionPolicyReleaseControlLedger: governance/evidence/baselines/baseline-version-policy-release-control-ledger.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 rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml reviewBoardDecision: governance/evidence/baselines/baseline-review-board-decision.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml runtimeAdmissionDecisionLedger: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml continuousControlMonitoringLedger: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml controlAssuranceSamplingLedger: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml controlInheritanceLedger: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml secureConfigurationPostureDriftLedger: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml architecturePrincipleConstraintExceptionLedger: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml serviceReliabilitySloErrorBudgetObservabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml backupRestoreDisasterRecoveryLedger: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml guardResults: transitionAllowed: true requiredEvidencePresent: true hardGatesPass: true forbiddenRemoteAssets: 0 writeBack: versionGovernanceStatus: baseline supportMatrixState: active releaseEvidenceDigestUpdated: true stateReconciliationUpdated: true ``` 生命周期状态只能使用以下值: | 状态 | 含义 | 生产使用 | | ---- | ---- | -------- | | `draft` | 设计草案或未完成契约 | 禁止 | | `candidate` | 候选基线,可低风险试点 | 仅低风险试点 | | `baseline` | 已批准执行基线 | 允许 | | `frozen` | 冻结审计或规模化推广口径 | 允许,但只能补丁或替代 | | `emergency-patch` | 紧急补丁状态 | 受控允许 | | `quarantined` | 已隔离,等待撤销、恢复或替代裁决 | 禁止 | | `revoked` | 已撤销,不得继续引用 | 禁止 | | `superseded` | 被新基线替代 | 仅存量迁移期 | | `eol` | 停止支持 | 禁止 | 执行规则: 1. 所有状态迁移必须先在 `allowedTransitions` 中声明;不在允许表中的迁移默认拒绝。 2. `forbiddenTransitions` 是硬禁止,即使有人工审批也不能绕过;必须创建新基线或走补丁通道。 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 和保护规则已锁定、运行时准入拒绝样例通过、准入 allow/deny 决策可追溯、连续控制监测覆盖关键控制且 open critical drift 为 0、独立控制保证抽样覆盖 critical 控制且 open critical/high finding 为 0、共享责任与继承控制没有 unowned / expired / invalid inheritance,数据驻留与跨境处理没有 unapproved region / missing transfer mechanism / unapproved subprocessor,第三方与关键供应商风险没有 unapproved critical supplier / expired assurance / missing audit rights / missing exit plan / concentration breach,运营韧性没有 missing important business service / missing impact tolerance / failed scenario / tolerance breach / unowned critical dependency / open critical resilience gap,生产变更没有 unregistered change / blackout violation / unresolved conflict / missing rollback / unrehearsed database migration / missing kill switch / unevaluated prompt or model change / unreviewed emergency change / unresolved failed change,服务可靠性没有 missing SLO / unmeasurable SLI / error budget breach / unowned critical alert / missing runbook / missing synthetic journey / telemetry coverage gap / missing degradation plan,备份恢复与灾备没有 unprotected critical datastore / missing immutable copy / overdue restore drill / rto breach / rpo breach / integrity failure / ransomware isolation gap / uncontrolled restore access,架构原则执行没有 missing owner / undetectable constraint / ungated forbidden pattern / open violation / expired exception / unsigned risk acceptance,撤销隔离记录没有阻断状态、通知确认完成、过期例外为 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。 5. 任意状态漂移都会被门禁阻断:状态机、版本控制面、发布证据、支持矩阵和采纳总账不能出现互相矛盾的状态。 6. 任意 EOL 状态都能证明它不是只在支持矩阵中被标记,而是已经完成退役证书、生产阻断和审计归档。 7. 任意撤销状态都能证明它不是只在会议中决定,而是已经完成隔离、通知、采纳阻断、恢复或替代裁决和审计归档。 ### 10.10.22 基线状态对账报告 `baseline-state-reconciliation-report.yaml` 是企业架构基线状态一致性的机器对账报告。它不决定状态迁移,也不替代 `baseline-lifecycle-state-machine.yaml`;它负责在晋级、冻结、紧急补丁、替代和 EOL 前,把所有声明状态的账本拉到同一张表里, 证明没有一个系统还在引用旧状态、旧 tag、旧 baseline ID 或旧审计导出摘要。 ```yaml baselineStateReconciliationReport: reportId: bsr-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board generatedAt: 2026-06-02T14:45:00+08:00 expectedState: lifecycleState: candidate documentVersion: V2.53 baselineId: mea-v2.53-20260602 releaseTag: architecture/v2.53-candidate sourceCommit: inputs: lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml versionGovernance: governance/control-plane/version-governance.yaml enforcementPolicy: governance/control-plane/baseline-enforcement-policy.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml 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 eolRetirementCertificate: governance/evidence/baselines/baseline-eol-retirement-certificate.yaml adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml conformanceClaims: governance/evidence/conformance/baseline-conformance-claim.yaml consumptionLocks: governance/evidence/conformance/baseline-consumption-lock.yaml migrationWorkOrders: governance/evidence/migrations/baseline-migration-work-order.yaml migrationExecutionReceipts: governance/evidence/migrations/baseline-migration-execution-receipt.yaml localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml cleanRoomReconstructionReceipt: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml runtimeAdmissionDecisionLedger: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml continuousControlMonitoringLedger: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml controlAssuranceSamplingLedger: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml controlInheritanceLedger: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml secureConfigurationPostureDriftLedger: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml incidentProblemCorrectiveActionLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml dataProductQualityContractObservabilityLedger: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml engineeringQualityTestReleaseVerificationLedger: governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml workforceCompetencyTrainingDutySegregationLedger: governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml businessOutcomeValueRealizationPortfolioLedger: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml valueStreamJourneyProcessLedger: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml architectureViewRuntimeTopologyDependencyLedger: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml qualityAttributeArchitectureDriverTradeoffLedger: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml architecturePrincipleConstraintExceptionLedger: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml versionPolicyReleaseControlLedger: governance/evidence/baselines/baseline-version-policy-release-control-ledger.yaml serviceReliabilitySloErrorBudgetObservabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml backupRestoreDisasterRecoveryLedger: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml cryptographicSecretsKeyCertificateLedger: governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml identityEntitlementAccessLedger: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml processingActivityInventoryLedger: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml privacyRightsConsentLedger: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml observedState: lifecycleStateMachine: lifecycleState: candidate documentVersion: V2.53 baselineId: mea-v2.53-20260602 releaseTag: architecture/v2.53-candidate sourceCommit: status: match versionGovernance: releaseChannel: candidate status: Baseline Candidate documentVersion: V2.53 baselineId: mea-v2.53-20260602 releaseTag: architecture/v2.53-candidate sourceCommit: status: match versionPolicyReleaseControlLedger: ledgerId: bvprc-20260603-mea-v293 baselineId: mea-v2.93-20260603 documentVersion: V2.93 releaseChannel: candidate semverChangeLevel: minor conventionalCommitCoveragePercent: 100 signedReleaseTagRequired: true floatingVersionReferences: 0 tagDriftFindings: 0 breakingChangesWithoutMigrationWindow: 0 freezeWindowViolations: 0 emergencyPatchesWithoutPostReview: 0 revokedBaselinesStillAdopted: 0 releaseGateReferences: 51 status: match releaseEvidence: promotionFrom: candidate promotionTo: baseline documentVersion: V2.53 baselineId: mea-v2.53-20260602 releaseTag: architecture/v2.53-candidate status: match evidenceTraceGraph: graphId: betg-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 requiredNodesMissing: 0 digestMismatches: 0 danglingEdges: 0 staleConsumers: 0 status: match gateExecutionReport: reportId: bger-20260602-mea-v253-candidate-to-baseline baselineId: mea-v2.53-20260602 documentVersion: V2.53 result: pass rulesExecuted: 51 blockingFailures: 0 replayResult: pass decisionMatchesExecution: true status: match regulatoryObligationLedger: ledgerId: brol-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 obligationsCovered: 64 mandatoryObligations: 42 obligationsMappedToControls: 64 obligationsMappedToEvidence: 64 unmappedMandatoryObligations: 0 missingEvidenceForMandatoryObligation: 0 unownedObligations: 0 overdueRegulatoryChanges: 0 overdueObligationPoam: 0 result: pass status: match cryptographicSecretsKeyCertificateLedger: ledgerId: bcskcl-20260602-mea-v275 baselineId: mea-v2.75-20260602 documentVersion: V2.75 cryptographicMaterialsCovered: 312 kmsKeysCovered: 74 hsmKeysCovered: 8 tlsCertificatesCovered: 126 signingKeysCovered: 18 apiTokensCovered: 52 databaseCredentialsCovered: 34 workloadSecretsCovered: 68 materialsWithOwners: 312 plaintextProductionSecrets: 0 expiredCertificates: 0 overdueRotations: 0 weakAlgorithms: 0 missingRevocationPaths: 0 openSecretLeaks: 0 unmanagedSigningKeys: 0 result: pass status: match assetCriticalityClassificationLedger: ledgerId: baccl-20260602-mea-v274 baselineId: mea-v2.74-20260602 documentVersion: V2.74 assetsCovered: 214 assetsWithOwners: 214 criticalAssets: 28 l3Assets: 42 l4Assets: 12 dataClassificationsComplete: true ciaImpactRatingsComplete: true conformanceProfileMismatches: 0 unknownDataClassification: 0 underclassifiedCriticalAssets: 0 staleClassificationReviews: 0 internetExposureUnclassified: 0 aiRiskTierUnknown: 0 result: pass status: match identityEntitlementAccessLedger: ledgerId: bieal-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 humanIdentitiesCovered: 560 serviceAccountsCovered: 84 workloadIdentitiesCovered: 62 privilegedRolesCovered: 18 jmlEventsReconciled: 43 mfaCoveragePercent: 100 pamJitRequestsReviewed: 27 breakGlassEventsOpen: 0 orphanedAccounts: 0 staleEntitlements: 0 workloadIdentityDrift: 0 unreviewedPrivilegedAccess: 0 result: pass status: match processingActivityInventoryLedger: ledgerId: bpail-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 processingActivitiesCovered: 88 systemsMapped: 43 dataProductsMapped: 24 aiProductsMapped: 9 personalDataCategoriesClassified: 126 dataSubjectCategoriesDeclared: 12 recipientsMapped: 34 crossBorderTransfersMapped: 14 retentionMappingsComplete: true activitiesWithOwners: 88 unownedActivities: 0 unclassifiedPersonalDataFindings: 0 runtimeInventoryDrift: 0 result: pass status: match privacyRightsConsentLedger: ledgerId: bprcl-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 processingPurposesCovered: 46 purposesWithLawfulBasis: 46 consentPreferencesTracked: 1200000 withdrawalsPropagated: true openRightsRequests: 7 overdueRightsRequests: 0 unpropagatedPreferences: 0 unknownLawfulBasis: 0 unknownConsentState: 0 automatedDecisionReviewGaps: 0 thirdPartyPropagationGaps: 0 result: pass status: match recordsRetentionLegalHoldLedger: ledgerId: brrl-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 recordClassesCovered: 38 recordClassesWithRetentionSchedule: 38 activeLegalHolds: 3 deletionRequestsUnderHoldBlocked: true defensibleDeletionReceipts: 24 orphanRecordClasses: 0 overdueDisposals: 0 overRetentionWithoutPurpose: 0 result: pass status: match publishTransaction: transactionId: bpt-20260602-mea-v253-candidate baselineId: mea-v2.53-20260602 documentVersion: V2.53 sourceCommit: releaseTag: architecture/v2.53-candidate remoteRefVerified: true protectedRefsVerified: true forbiddenLocalAssetsAbsentFromRemote: true postPublishVerification: pass status: match enforcementPolicy: policyId: bep-20260602-mea-v253 minimumAcceptableBaseline: V2.52 targetBaseline: V2.53 unsupportedBaselineBlocked: true revokedOrEolBaselineBlocked: true conformanceClaimRequired: true expiredExceptionBlocked: true decisionLogDigest: sha256: status: match revocationRecord: revocationId: not-applicable baselineId: mea-v2.53-20260602 documentVersion: V2.53 currentDisposition: not-revoked quarantineRequired: false revoked: false affectedReferences: 0 newAdoptionBlocked: false status: not-applicable reviewBoardDecision: meetingScope: candidate-to-baseline baselineId: mea-v2.53-20260602 documentVersion: V2.53 decision: approve-baseline quorumMet: true openDissentingOpinions: 0 status: match supportMatrix: currentBaseline: V2.53 supportState: active channel: candidate status: match eolRetirementCertificate: retiredBaseline: not-applicable requiredForCurrentTransition: false status: not-applicable releaseTrain: currentBaseline: V2.53 plannedBaseline: V2.53 releaseChannel: candidate targetChannel: baseline status: match adoptionLedger: targetBaseline: V2.53 unknownTargets: 0 overdueTargets: 0 status: match conformanceClaims: claimedBaseline: V2.53 expiredClaims: 0 lowerThanMinimumAcceptedBaseline: 0 status: match consumptionLocks: lockedBaseline: V2.53 lockedBaselineId: mea-v2.53-20260602 releaseTag: architecture/v2.53-candidate sourceCommit: expiredLocks: 0 digestMismatches: 0 floatingReferences: 0 status: match migrationWorkOrders: targetBaseline: V2.53 totalWorkOrders: 4 completed: 4 blocked: 0 expired: 0 missingAcceptanceEvidence: 0 consumptionLocksUpdated: true rollbackActionsDefined: true status: match migrationExecutionReceipts: targetBaseline: V2.53 totalReceipts: 4 accepted: 4 failed: 0 missingCommandEvidence: 0 beforeAfterDigestMismatches: 0 rollbackVerificationMissing: 0 status: match localArtifactBoundary: declaredLocalOnlyArtifacts: 7 trackedLocalOnlyArtifacts: 0 publishedLocalOnlyArtifacts: 0 auditExportRawInclusions: 0 signaturePayloadRawInclusions: 0 status: match auditExportExclusionManifest: rawAllowlistEntries: 1 digestOnlyEntries: 7 forcedExclusions: 7 signaturePayloadExclusions: 7 missingBoundaryRefs: 0 rawPayloadViolations: 0 status: match privateArtifactEscrowManifest: escrowedArtifacts: 7 missingStorageRefs: 0 digestMismatches: 0 restoreVerificationFailures: 0 accessRolesReviewed: true retentionExpired: 0 status: match cleanRoomReconstructionReceipt: runnerWorkspaceEmptyBeforeCheckout: true sourceCommitCheckedOut: true privateArtifactsRestored: 7 restoredDigestMismatches: 0 auditExportRebuilt: true gateReplayResult: pass forbiddenRemoteAssetsAfterRebuild: 0 status: match evidenceArchiveReceipt: archivedObjects: 14 immutableStorageRefs: 14 retentionLockedObjects: 14 legalHoldObjects: 14 accessLogEnabled: true deleteProtectionEnabled: true archiveDigestMismatches: 0 restoreDrillResult: pass status: match signatureLtvReceipt: signedSubjects: 4 certificateChainsArchived: 4 transparencyLogProofsArchived: 4 signedEntryTimestampsVerified: 4 rfc3161TimestampsVerified: 4 revocationStatusRecorded: true ltvDigestMismatches: 0 verificationToolchainPinned: true status: match runtimeAdmissionReceipt: clusterScope: prod-primary namespacesCovered: 14 admissionControllerEnabled: true policyEngine: kyverno policyBundleDigestMatches: true enforcedPolicies: 8 rejectSamplesExecuted: 6 rejectSamplesPassed: 6 unsignedImageRejected: true mutableTagRejected: true revokedBaselineRejected: true expiredExceptionRejected: true runtimeBypassFindings: 0 status: match runtimeAdmissionDecisionLedger: ledgerId: bradl-20260602-mea-v262 clusterScope: prod-primary sourceAuditPolicy: governance/policies/runtime-admission/kubernetes-audit-policy.yaml decisionSources: kubernetesAuditEvents: 128 admissionWebhookResponses: 128 kyvernoPolicyReports: 128 opaDecisionLogs: 12 sigstorePolicyControllerEvents: 6 requestUidCoverage: 100 allowDecisions: 122 denyDecisions: 6 rawLogDigestMismatches: 0 missingRequestUids: 0 missingPolicyRuleRefs: 0 unsignedImageDenyLogsPresent: true revokedBaselineDenyLogsPresent: true expiredExceptionDenyLogsPresent: true retentionLocked: true status: match continuousControlMonitoringLedger: ledgerId: bccml-20260602-mea-v263 monitoredControls: 48 criticalControlsCovered: 48 metricsSources: prometheus: true opentelemetry: true kubernetesAudit: true policyReports: true siem: true alertRulesConfigured: 48 alertRulesFiring: 0 openCriticalDrift: 0 openHighDrift: 0 staleEvidenceItems: 0 mttdMinutesP95: 8 mttrHoursP95: 6 unassignedControlAlerts: 0 monitoringWindowHours: 24 status: match controlAssuranceSamplingLedger: ledgerId: bcasl-20260602-mea-v264 independentAssessor: enterprise-assurance-team assessorIndependenceVerified: true controlsInPopulation: 48 criticalControlsSampled: 48 highControlsSampled: 24 sampleMethod: risk-based-and-random testOfDesignPass: true testOfOperatingEffectivenessPass: true openCriticalFindings: 0 openHighFindings: 0 findingsClosedOrRiskAccepted: true oscalAssessmentResultsGenerated: true status: match controlInheritanceLedger: ledgerId: bcil-20260602-mea-v265 inheritedControls: 18 sharedControls: 22 providerManagedControls: 10 domainOwnedControls: 16 consumerOwnedControls: 8 unownedControls: 0 expiredInheritanceEvidence: 0 missingConsumerResponsibilities: 0 invalidInheritanceClaims: 0 openInheritanceExceptions: 0 status: match dataResidencyTransferLedger: ledgerId: bdrtl-20260602-mea-v266 regulatedDataClasses: 14 assetsCovered: 32 approvedProcessingRegions: 18 crossBorderTransfers: 9 transfersWithMechanism: 9 transfersMissingSupplementalMeasures: 0 unapprovedSubprocessors: 0 unapprovedProcessingRegions: 0 backupRegionViolations: 0 logRegionViolations: 0 vectorIndexRegionViolations: 0 modelProviderRegionUnknown: 0 deletionPropagationGaps: 0 openResidencyExceptions: 0 status: match thirdPartyRiskLedger: ledgerId: btprl-20260602-mea-v267 suppliersCovered: 38 criticalSuppliers: 12 criticalSuppliersApproved: 12 suppliersHandlingRegulatedData: 14 supplierRecordsMissingContractControls: 0 missingDpaOrSla: 0 missingAuditRights: 0 expiredAssuranceReports: 0 missingExitPlans: 0 concentrationThresholdBreaches: 0 unapprovedCriticalSuppliers: 0 openCriticalSupplierFindings: 0 openSupplierPoamOverdue: 0 supplierIncidentsOpen: 0 status: match operationalResilienceLedger: ledgerId: borl-20260602-mea-v268 importantBusinessServices: 9 servicesWithApprovedImpactTolerance: 9 servicesWithCurrentBia: 9 endToEndDependencyMapsCurrent: 9 severeButPlausibleScenarios: 18 scenariosTested: 18 scenariosWithinImpactTolerance: 18 scenarioFailures: 0 toleranceBreaches: 0 criticalDependenciesUnowned: 0 thirdPartyDependenciesUntested: 0 aiDependenciesUntested: 0 missingManualWorkarounds: 0 missingCommunicationsPlans: 0 openCriticalResilienceGaps: 0 overdueResiliencePoam: 0 boardOrRiskOwnerSignoff: true status: match threatModelAttackSurfaceRiskLedger: ledgerId: btmasr-20260602-mea-v279 criticalAssetsCovered: 92 criticalAssetsWithThreatModels: 92 freshThreatModels: 92 attackSurfacesInventoried: 92 trustBoundariesMapped: 92 dataFlowsMapped: 214 highRiskDataFlowsWithoutMitigation: 0 openCriticalAbuseCases: 0 securityTestsLinkedToThreats: 92 unsignedResidualRisks: 0 overdueThreatModelReviews: 0 releaseGateReferences: 92 status: match vulnerabilityExposureRemediationLedger: ledgerId: bverm-20260602-mea-v280 assetsCovered: 186 scannerCoverageComplete: true findingsOpenCritical: 0 findingsOpenHigh: 0 kevFindingsOpen: 0 internetExposedHighFindingsOpen: 0 findingsWithOwners: "100%" findingsWithinSla: true remediationsRetested: 148 staleScans: 0 expiredExceptions: 0 vexOrCsafStatusesRecorded: 74 releaseGateReferences: 186 status: match secureConfigurationPostureDriftLedger: ledgerId: bscpd-20260602-mea-v281 assetsCovered: 186 baselinesAssigned: 186 postureChecksExecuted: 1248 criticalConfigurationDriftsOpen: 0 highConfigurationDriftsOpen: 0 privilegedPodsWithoutException: 0 publicStorageFindingsOpen: 0 weakTlsFindingsOpen: 0 auditLoggingDisabled: 0 expiredConfigurationExceptions: 0 remediationsRetested: 96 releaseGateReferences: 186 status: match productionChangeReleaseLedger: ledgerId: bpcrl-20260603-mea-v282 productionChangesCovered: 142 unregisteredProductionChanges: 0 approvedChangeWindows: 142 blackoutViolations: 0 unresolvedChangeConflicts: 0 databaseMigrationsRehearsed: 18 featureFlagsWithKillSwitch: 39 promptOrModelChangesEvaluated: 11 rollbackPlansVerified: 142 emergencyChangesPostReviewed: 4 failedChangesOpen: 0 changesLinkedToIncidents: 6 doraMetricsUpdated: true releaseGateReferences: 142 status: match incidentProblemCorrectiveActionLedger: ledgerId: bipcal-20260603-mea-v283 incidentsCovered: 38 majorIncidentsCovered: 6 securityIncidentsCovered: 4 privacyIncidentsCovered: 2 aiIncidentsCovered: 3 supplierIncidentsCovered: 2 nearMissesCovered: 9 unclassifiedIncidents: 0 incidentsWithoutOwner: 0 incompleteTimelines: 0 missingRca: 0 overdueCorrectiveActions: 0 recurrencePreventionUnverified: 0 runbookUpdatesMissing: 0 alertUpdatesMissing: 0 problemRecordsOpenPastDue: 0 recurringIncidentsNotEscalated: 0 requiredCommunicationsMissing: 0 doraRecoveryMetricsUpdated: true releaseGateReferences: 38 status: match dataProductQualityContractObservabilityLedger: ledgerId: bdpqco-20260603-mea-v284 dataProductsCovered: 72 contractsCurrent: 72 dataProductsWithoutOwner: 0 schemaDriftsOpen: 0 qualityAssertionFailuresOpen: 0 freshnessBreachesOpen: 0 lineageGapsOpen: 0 unauthorizedAiFeatureRagUsage: 0 consumerNotificationsMissing: 0 contractBreachesOpenPastSla: 0 remediationRetestsMissing: 0 dataQualityIncidentsOpen: 0 releaseGateReferences: 72 status: match engineeringQualityTestReleaseVerificationLedger: ledgerId: beqtrv-20260603-mea-v285 assetsCovered: 148 requirementsMapped: 148 criticalTestSuitesPassed: 148 contractTestsPassed: 96 regressionSuitesPassed: 148 releaseSmokeChecksPassed: 148 coverageBreachesOpen: 0 flakyTestsOpenPastSla: 0 criticalDefectsOpen: 0 highDefectsOpenWithoutAcceptance: 0 defectRetestsMissing: 0 testEnvironmentDriftOpen: 0 testDataPolicyViolations: 0 releaseGateReferences: 148 status: match workforceCompetencyTrainingDutySegregationLedger: ledgerId: bwctds-20260603-mea-v286 criticalRolesCovered: 96 rolesWithFormalAssignment: 96 rolesWithCurrentTraining: 96 specializedTrainingCurrent: 96 roleAcknowledgementsCurrent: 96 onCallQualifiedRoles: 42 approvalDelegationsCurrent: 18 backupRolesAssigned: 96 segregationOfDutiesViolationsOpen: 0 toxicRoleCombinationsOpen: 0 expiredDelegations: 0 expiredCompetencyReviews: 0 untrainedPrivilegedApprovers: 0 releaseGateReferences: 96 status: match businessOutcomeValueRealizationPortfolioLedger: ledgerId: bbovrp-20260603-mea-v287 businessOutcomesCovered: 64 outcomesWithOwners: 64 valueHypothesesDefined: 64 keyResultsMeasurable: 64 beforeAfterBaselinesCaptured: 64 adoptionEvidenceLinked: 64 benefitsReviewed: 64 benefitsRealized: 58 benefitsAtRisk: 6 stopOrScaleDecisionsRecorded: 64 unitEconomicsExplained: 64 unresolvedValueGaps: 0 expiredBenefitReviews: 0 releaseGateReferences: 64 status: match valueStreamJourneyProcessLedger: ledgerId: vsjp-20260603-mea-v288 valueStreamsCovered: 18 criticalJourneysCovered: 42 journeysWithOwners: 42 currentProcessModels: 42 stepTelemetryCoveragePercent: 100 crossDomainHandoffsTraceable: 96 openCriticalBottlenecks: 0 unresolvedProcessExceptions: 0 manualFallbacksExercised: 24 improvementActionsOverdue: 0 releaseGateReferences: 42 status: match architectureViewRuntimeTopologyDependencyLedger: ledgerId: avrt-20260603-mea-v289 architectureViewsCovered: 96 currentViews: 96 runtimeTopologiesCovered: 74 declaredDependencies: 418 observedDependencies: 431 declaredObservedMismatches: 0 unknownRuntimeCallsOpen: 0 criticalDependenciesWithOwners: 128 gitopsTopologyLinks: 74 blastRadiusAssessmentsCurrent: 64 dependencyDriftFindingsOpen: 0 staleViews: 0 releaseGateReferences: 96 status: match qualityAttributeArchitectureDriverTradeoffLedger: ledgerId: qaad-20260603-mea-v290 qualityScenariosCovered: 84 highPriorityScenariosMeasured: 84 architectureDriversMapped: 64 sensitivityPointsIdentified: 36 sensitivityPointsMonitored: 36 tradeoffPointsRecorded: 28 tradeoffsWithAdr: 28 fitnessFunctionsDefined: 72 fitnessFunctionsPassing: 72 verificationEvidenceFresh: 84 unresolvedTradeoffRisks: 0 expiredScenarioReviews: 0 releaseGateReferences: 84 status: match architecturePrincipleConstraintExceptionLedger: ledgerId: apce-20260603-mea-v291 baselineId: mea-v2.91-20260603 documentVersion: V2.91 mandatoryPrinciplesCovered: 42 principlesWithOwners: 42 constraintsDeclared: 86 constraintsMachineDetectable: 86 forbiddenPatternsMapped: 34 policyGateMappings: 64 openPrincipleViolations: 0 violationsWithDisposition: 18 activeExceptions: 4 expiredExceptions: 0 unsignedRiskAcceptances: 0 principlesReviewedOnSchedule: 42 releaseGateReferences: 42 status: match capacityPerformanceCostEfficiencyLedger: ledgerId: bcpce-20260602-mea-v278 criticalServicesCovered: 64 criticalServicesWithCapacityForecasts: 64 freshLoadTests: 64 performanceBaselineBreaches: 0 servicesWithRequestsLimits: 64 autoscalingPoliciesDeclared: 58 queueBacklogBreaches: 0 databaseCapacityBreaches: 0 budgetBreaches: 0 unitEconomicsMeasured: 42 anomalousCostsOpen: 0 optimizationActionsOverdue: 0 status: match serviceReliabilitySloErrorBudgetObservabilityLedger: ledgerId: bsrso-20260602-mea-v277 criticalServicesCovered: 64 criticalServicesWithSlos: 64 measurableSlis: 192 errorBudgetBreaches: 0 criticalAlertsRoutedToOnCall: 64 runbooksCurrent: 64 syntheticJourneysCovered: 18 metricCoverageGaps: 0 logCoverageGaps: 0 traceCoverageGaps: 0 unownedCriticalAlerts: 0 status: match backupRestoreDisasterRecoveryLedger: ledgerId: bbdr-20260602-mea-v276 protectedAssets: 186 criticalDataStoresCovered: 74 immutableBackupsEnabled: 74 offlineOrCrossAccountCopies: 61 restoreDrillsInWindow: 74 successfulRestoreDrills: 74 rpoBreaches: 0 rtoBreaches: 0 backupIntegrityFailures: 0 unprotectedCriticalDataStores: 0 ransomwareIsolationGaps: 0 overdueRestoreDrills: 0 uncontrolledRestoreAccess: 0 status: match auditExportManifest: documentVersion: V2.53 baselineId: mea-v2.53-20260602 exportDigest: sha256: status: match driftFindings: critical: [] high: [] medium: [] low: [] writeBack: versionGovernanceUpdated: true versionPolicyReleaseControlLedgerReconciled: true enforcementPolicyDecisionLogged: true consumptionLocksReconciled: true migrationWorkOrdersReconciled: true migrationExecutionReceiptsReconciled: true localArtifactBoundaryReconciled: true auditExportExclusionManifestReconciled: true privateArtifactEscrowManifestReconciled: true cleanRoomReconstructionReceiptReconciled: true evidenceArchiveReceiptReconciled: true signatureLtvReceiptReconciled: true runtimeAdmissionReceiptReconciled: true runtimeAdmissionDecisionLedgerReconciled: true continuousControlMonitoringLedgerReconciled: true controlAssuranceSamplingLedgerReconciled: true controlInheritanceLedgerReconciled: true dataResidencyTransferLedgerReconciled: true thirdPartyRiskLedgerReconciled: true operationalResilienceLedgerReconciled: true threatModelAttackSurfaceRiskLedgerReconciled: true vulnerabilityExposureRemediationLedgerReconciled: true secureConfigurationPostureDriftLedgerReconciled: true productionChangeReleaseLedgerReconciled: true incidentProblemCorrectiveActionLedgerReconciled: true dataProductQualityContractObservabilityLedgerReconciled: true engineeringQualityTestReleaseVerificationLedgerReconciled: true workforceCompetencyTrainingDutySegregationLedgerReconciled: true businessOutcomeValueRealizationPortfolioLedgerReconciled: true valueStreamJourneyProcessLedgerReconciled: true architectureViewRuntimeTopologyDependencyLedgerReconciled: true qualityAttributeArchitectureDriverTradeoffLedgerReconciled: true architecturePrincipleConstraintExceptionLedgerReconciled: true capacityPerformanceCostEfficiencyLedgerReconciled: true serviceReliabilitySloErrorBudgetObservabilityLedgerReconciled: true backupRestoreDisasterRecoveryLedgerReconciled: true assetCriticalityClassificationLedgerReconciled: true identityEntitlementAccessLedgerReconciled: true processingActivityInventoryLedgerReconciled: true privacyRightsConsentLedgerReconciled: true recordsRetentionLegalHoldLedgerReconciled: true regulatoryObligationLedgerReconciled: true releaseEvidenceDigestUpdated: true supportMatrixUpdated: true adoptionLedgerReconciled: true auditExportManifestUpdated: true decision: result: pass blockBaseline: false blockFrozen: false blockEmergencyPatch: false decisionRef: governance/control-plane/release-gate-decision.yaml gates: blockOnBaselineIdMismatch: true blockOnDocumentVersionMismatch: true blockOnReleaseTagMismatch: true blockOnLifecycleStateMismatch: true blockOnAuditExportStateMismatch: true requireWriteBackBeforePromotion: true ``` 对账状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `match` | 观测状态与期望状态一致 | 否 | | `drift` | 状态字段不一致,但可通过回写或重新生成证据修复 | 视严重度而定 | | `missing` | 必需账本或字段缺失 | 是 | | `stale` | 账本存在但引用旧版本、旧 tag、旧 digest 或旧状态 | 是 | | `conflict` | 两个以上权威账本给出互斥状态 | 是 | | `not-applicable` | 当前基线范围明确不需要该账本 | 否,但必须说明理由 | 执行规则: 1. `baseline-state-reconciliation-report.yaml` 必须在 `candidate -> baseline`、`baseline -> frozen`、`baseline -> emergency-patch`、`baseline -> superseded` 和 `superseded -> 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 或风险接受,不能被就绪总分覆盖。 可执行验收标准: 1. 任意基线晋级前都能找到一份对账报告,证明所有关键账本引用同一 baseline ID、版本、tag、commit 和状态。 2. 任意状态漂移都能定位到具体账本、字段、期望值、观测值、严重度和修复动作。 3. 任意发布证据包都能找到状态对账报告摘要,证明晋级判断使用的是同一组状态事实。 4. 任意审计导出都能证明导出的状态与版本控制面、状态机和支持矩阵一致。 5. 任意状态回写失败都会阻断下一次晋级,直到重新生成受影响账本和对账报告。 6. 任意撤销、隔离或恢复裁决都能在状态对账报告中看到当前 disposition、受影响引用数、采纳阻断状态和审计归档状态。 7. 任意运行入口准入结果都能在状态对账报告中看到最低基线、撤销/EOL、资产声明和例外到期的策略执行状态。 8. 任意 L3 / L4 资产的基线消费锁都能在状态对账报告中看到锁定版本、baseline ID、source commit、release tag、关键摘要、过期状态和浮动引用检查结果。 9. 任意 L3 / L4 资产的基线迁移都能在状态对账报告中看到工单总数、完成数、阻塞数、过期数、验收证据缺失数、消费锁更新状态和回滚动作定义状态。 10. 任意 L3 / L4 资产的基线迁移执行都能在状态对账报告中看到回执总数、接受数、失败数、命令证据缺失数、before/after 摘要不一致数和回滚验证缺失数。 11. 任意本地私有制品都能在状态对账报告中看到声明数、被跟踪数、被发布数、审计导出原文包含数和签名 payload 原文包含数。 12. 任意审计导出排除清单都能在状态对账报告中看到原文白名单数量、摘要留存数量、强制排除数量、签名 payload 排除数量、缺失边界引用数和原文违规包含数。 13. 任意私有制品托管交接清单都能在状态对账报告中看到托管资产数、缺失私有库引用数、摘要不一致数、权限复核状态、留存过期数和恢复验证失败数。 14. 任意干净环境基线重建回执都能在状态对账报告中看到 runner 清洁状态、远端 checkout、私有制品恢复数、摘要不一致数、审计导出重建结果、门禁重放结果和禁推资产复核结果。 15. 任意基线证据不可变归档回执都能在状态对账报告中看到归档对象数、不可变存储引用数、留存锁对象数、legal hold 对象数、访问日志状态、删除保护状态、摘要不一致数和恢复演练结果。 16. 任意基线长期验签回执都能在状态对账报告中看到签名对象数、证书链归档数、透明日志 proof 数、signed entry timestamp、RFC3161 TSA、撤销状态、工具链锁定和长期验签摘要不一致数。 17. 任意基线运行时准入回执都能在状态对账报告中看到集群范围、命名空间覆盖数、策略引擎、策略 bundle 摘要、拒绝样例执行数、拒绝样例通过数、未签名镜像阻断、可变 tag 阻断、撤销/EOL 基线阻断和 runtime bypass 发现数。 18. 任意基线运行时准入决策总账都能在状态对账报告中看到 requestUID 覆盖率、allow/deny 数量、原始日志摘要错配数、缺失策略规则引用数、拒绝样例日志存在性和留存锁状态。 19. 任意基线连续控制监测总账都能在状态对账报告中看到关键控制覆盖数、告警规则数、open critical/high drift、证据过期数、MTTD/MTTR 和未分配告警数。 20. 任意基线独立控制保证抽样总账都能在状态对账报告中看到独立评估人、抽样方法、critical 控制样本覆盖、设计有效性、运行有效性、open critical/high findings 和 OSCAL Assessment Results 生成状态。 21. 任意基线共享责任与继承控制总账都能在状态对账报告中看到 inherited/shared/provider/domain/consumer 控制数量、无 owner 控制数、过期继承证据数、缺失消费者义务数和无效继承声明数。 22. 任意基线密码材料、密钥、证书与秘密生命周期总账都能在状态对账报告中看到密码材料覆盖数、owner 覆盖、明文秘密数、过期证书数、轮换超期数、弱算法数、缺失吊销路径数、开放泄露数和未托管签名密钥数。 23. 任意基线资产关键性、数据分类与风险分级总账都能在状态对账报告中看到资产覆盖数、无 owner 资产数、L3/L4 资产数、CIA 影响缺失数、未知数据分类数、conformance profile 错配数、关键资产低估数、互联网暴露未分类数和 AI 风险未知数。 24. 任意基线第三方与关键供应商风险总账都能在状态对账报告中看到关键供应商数、批准状态、合同控制、DPA/SLA、审计权、保证报告有效期、退出计划、集中度阈值、开放发现项、供应商事件和 POA&M 逾期状态。 25. 任意基线运营韧性与重要业务服务影响容忍总账都能在状态对账报告中看到重要业务服务数、影响容忍批准状态、BIA 新鲜度、依赖图新鲜度、场景测试覆盖率、超限次数、未拥有关键依赖、开放 critical 韧性缺口和 POA&M 逾期状态。 26. 任意基线工程质量、测试证据、缺陷与发布验证总账都能在状态对账报告中看到需求追踪覆盖、关键测试通过、覆盖率违约、flaky 测试、critical/high 缺陷、修复复测、测试环境漂移、测试数据违规和灰度/冒烟验证状态。 27. 任意基线人员能力、培训、职责履职与职责分离总账都能在状态对账报告中看到关键角色覆盖、正式任命、培训完成、专项资格、职责确认、on-call 资格、审批授权、职责分离、冲突角色、代理授权、备份人员和过期复核状态。 28. 任意基线业务结果、价值实现与组合收益总账都能在状态对账报告中看到业务目标覆盖、收益 owner、关键结果、前后基线、采用证据、收益实现、成本效率、未实现收益处置和停投/加投决策状态。 ### 10.10.23 基线 EOL 退役证书 `baseline-eol-retirement-certificate.yaml` 是旧基线进入 EOL 前的最终退役证明。它不替代 `baseline-support-matrix.yaml`、 `baseline-adoption-ledger.yaml` 或 `baseline-compatibility-ledger.yaml`;它负责证明支持矩阵里的 EOL 不是纸面状态,而是已经 完成生产引用清零、迁移关闭、例外清零、证据归档和新采用阻断。 ```yaml baselineEolRetirementCertificate: certificateId: berc-20260602-mea-v252-to-v253 retiredBaselineId: mea-v2.52-20260602 retiredDocumentVersion: V2.52 successorBaselineId: mea-v2.53-20260602 successorDocumentVersion: V2.53 owner: architecture-governance-board issuedAt: 2026-06-02T16:30:00+08:00 eolEffectiveAt: 2026-09-01T00:00:00+08:00 inputs: lifecycleStateMachine: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml enforcementPolicy: governance/control-plane/baseline-enforcement-policy.yaml 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 conformanceClaims: governance/evidence/conformance/baseline-conformance-claim.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml notificationLedger: governance/evidence/communications/baseline-notification-ledger.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml runtimeInventory: runtime/inventory/baseline-usage-report.yaml catalogInventory: catalog/reports/baseline-usage-report.yaml gitopsInventory: infra/gitops/reports/baseline-usage-report.yaml retirementScope: retiredChannels: - superseded - security-only - maintenance blockedChannelsAfterEol: - candidate - baseline - frozen - production affectedAssetClasses: - domains - services - data-products - ai-products - platform-capabilities - gitops-environments productionUsage: activeProductionReferences: 0 unknownReferences: 0 lowerThanMinimumAcceptedBaseline: 0 evidence: catalogScanDigest: sha256: gitopsScanDigest: sha256: runtimeScanDigest: sha256: conformanceClaimDigest: sha256: migrationClosure: totalTargets: 128 migratedTargets: 126 decommissionedTargets: 2 riskAcceptedTargets: 0 openTargets: 0 overdueTargets: 0 adoptionLedgerClosed: true compatibilityLedgerClosed: true exceptionClosure: activeExceptions: 0 expiredExceptions: 0 blockingExceptions: 0 riskAcceptedExceptions: 0 exceptionLedgerClosed: true enforcement: newAdoptionBlocked: true baselineEnforcementPolicyUpdated: true runtimeAdmissionRejectsRetiredBaseline: true platformScaffoldRejectsRetiredBaseline: true catalogRegistrationRejectsRetiredBaseline: true gitopsPolicyRejectsRetiredBaseline: true releaseGateRejectsRetiredBaseline: true runtimeDriftAlertEnabled: true policyBundleDigest: sha256: evidenceRetention: archived: true archiveLocation: governance/archive/baselines/mea-v2.52-20260602/ retainedUntil: 2031-09-01 auditExportDigest: sha256: provenanceDigest: sha256: signatureReceiptDigest: sha256: rollbackPosture: directRollbackAllowed: false emergencyRecoveryRequiresNewBaseline: true lastRollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml approvals: - role: architecture-governance-board decision: approve approvedAt: 2026-06-02T16:10:00+08:00 - role: platform-lead decision: approve approvedAt: 2026-06-02T16:12:00+08:00 - role: security-lead decision: approve approvedAt: 2026-06-02T16:15:00+08:00 - role: audit-lead decision: approve approvedAt: 2026-06-02T16:20:00+08:00 decision: result: retired blockEol: false decisionRef: governance/control-plane/release-gate-decision.yaml reviewBoardDecisionRef: governance/evidence/baselines/baseline-review-board-decision.yaml gates: blockIfActiveProductionReferencesGreaterThanZero: true blockIfUnknownReferencesGreaterThanZero: true blockIfOpenMigrationTargetsGreaterThanZero: true blockIfActiveExceptionsGreaterThanZero: true blockIfAuditArchiveMissing: true blockIfNewAdoptionNotRejectedByPolicy: true ``` 退役状态只能使用以下值: | 状态 | 含义 | 是否允许进入 EOL | | ---- | ---- | ---------------- | | `pending` | 退役证据仍在收集中 | 否 | | `ready-to-retire` | 生产引用清零且等待审批 | 条件允许 | | `retired` | 已退役、已归档、已阻断新采用 | 是 | | `blocked` | 存在生产引用、开放迁移、活跃例外或归档缺失 | 否 | | `archived` | 退役后证据已进入长期留存库 | 是 | 执行规则: 1. `baseline-eol-retirement-certificate.yaml` 只服务于 `superseded -> eol`,不能用于跳过 `baseline -> superseded` 或 `frozen -> superseded`。 2. 生产引用清零必须同时来自 catalog、GitOps、runtime inventory 和资产侧符合性声明,不能只依赖中央台账。 3. `openTargets`、`overdueTargets`、`activeExceptions`、`expiredExceptions` 和 `unknownReferences` 任一大于 0,必须阻断 EOL。 4. EOL 后不得允许新项目、平台脚手架、catalog 注册、GitOps 变更、runtime admission 或 release gate 继续声明退役基线;该阻断必须由 `baseline-enforcement-policy.yaml` 执行并记录。 5. 退役证书必须进入基线准入执行策略、状态对账报告、支持矩阵、发布证据包和审计导出包;不能作为一次性检查日志留在 CI 输出里。 6. 退役后的直接回滚默认禁止;确需恢复时必须生成新的 baseline ID、发布证据、状态机和风险接受记录。 可执行验收标准: 1. 任意 EOL 基线都能找到一份退役证书,证明支持矩阵、采纳总账、兼容性总账、catalog、GitOps 和 runtime 的使用状态一致。 2. 任意生产资产都不能在 EOL 后继续声明退役基线;若发现引用,基线准入执行策略、release gate、runtime admission 和 drift gate 必须阻断。 3. 任意审计人员都能看到迁移目标总数、完成数、退役数、风险接受数、开放数和逾期数。 4. 任意退役基线都能证明审计导出、provenance、签名验签回执和关键证据已经归档到长期留存位置。 5. 任意重新启用 EOL 基线的请求都必须被拒绝或转化为新基线流程,不能修改旧基线状态。 ### 10.10.24 基线会审裁决记录 `baseline-review-board-decision.yaml` 是企业架构基线晋级、冻结、紧急补丁、替代和 EOL 前的独立会审裁决证据。它不替代 `baseline-readiness-scorecard.yaml`、`baseline-release-evidence.yaml` 或 `release-gate-decision.yaml`;它负责证明关键 owner 已经核验证据、表达意见、完成签署,并把反对意见、条件放行、风险接受和整改动作纳入闭环。 ```yaml baselineReviewBoardDecision: decisionId: brbd-20260602-mea-v253-candidate-to-baseline baselineId: mea-v2.53-20260602 documentVersion: V2.53 meetingScope: candidate-to-baseline requestedBy: architecture-governance-board chairedBy: chief-architect meetingAt: 2026-06-02T17:00:00+08:00 decisionValidUntil: 2026-07-02T23:59:59+08:00 quorumPolicy: minimumVotingRoles: 6 mandatoryRoles: - architecture-governance-board - platform-lead - security-lead - data-governance-lead - sre-lead - audit-lead quorumMet: true evidenceReviewed: versionGovernance: path: governance/control-plane/version-governance.yaml digest: sha256: result: pass lifecycleStateMachine: path: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml digest: sha256: result: pass stateReconciliation: path: governance/evidence/baselines/baseline-state-reconciliation-report.yaml digest: sha256: result: pass enforcementPolicy: path: governance/control-plane/baseline-enforcement-policy.yaml digest: sha256: result: pass evidenceTraceGraph: path: governance/evidence/baselines/baseline-evidence-trace-graph.yaml digest: sha256: result: pass gateExecutionReport: path: governance/evidence/baselines/baseline-gate-execution-report.yaml digest: sha256: result: pass publishTransaction: path: governance/evidence/baselines/baseline-publish-transaction.yaml digest: sha256: result: pass consumptionLock: path: governance/evidence/conformance/baseline-consumption-lock.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: result: pass releaseEvidence: path: governance/evidence/baselines/baseline-release-evidence.yaml digest: sha256: result: pass exceptionLedger: path: governance/evidence/exceptions/baseline-exception-ledger.yaml digest: sha256: result: pass rollbackVerification: path: governance/evidence/rollback/baseline-rollback-verification.yaml digest: sha256: result: pass auditExport: path: governance/evidence/audit-export/audit-export-manifest.yaml digest: sha256: result: pass votes: - role: architecture-governance-board voter: chief-architect decision: approve signedAt: 2026-06-02T17:20:00+08:00 signatureDigest: sha256: - role: platform-lead voter: platform-lead decision: approve signedAt: 2026-06-02T17:22:00+08:00 signatureDigest: sha256: - role: security-lead voter: security-lead decision: approve signedAt: 2026-06-02T17:25:00+08:00 signatureDigest: sha256: - role: data-governance-lead voter: data-governance-lead decision: approve signedAt: 2026-06-02T17:27:00+08:00 signatureDigest: sha256: - role: sre-lead voter: sre-lead decision: approve-with-condition signedAt: 2026-06-02T17:30:00+08:00 conditionRefs: - action-rollback-drill-refresh signatureDigest: sha256: - role: audit-lead voter: audit-lead decision: approve signedAt: 2026-06-02T17:35:00+08:00 signatureDigest: sha256: dissentingOpinions: open: 0 closed: - id: dissent-20260602-001 raisedBy: finops-owner concern: AI cost allocation evidence expires within 14 days disposition: converted-to-required-action closedAt: 2026-06-02T17:18:00+08:00 requiredActions: - id: action-rollback-drill-refresh owner: sre-lead dueAt: 2026-06-16T23:59:59+08:00 action: refresh rollback drill evidence before frozen promotion blockingFor: - baseline-to-frozen evidenceRequired: governance/evidence/rollback/baseline-rollback-verification.yaml status: open riskAcceptance: required: false acceptedBy: null poamRefs: [] finalDecision: result: approve-baseline canPromoteToBaseline: true canPromoteToFrozen: false blockReasons: [] conditionRefs: - action-rollback-drill-refresh releaseGateDecision: governance/control-plane/release-gate-decision.yaml recordedAt: 2026-06-02T17:40:00+08:00 ``` 会审裁决结果只能使用以下值: | 结果 | 含义 | 是否允许晋级 | | ---- | ---- | ------------ | | `approve-baseline` | 同意进入 baseline | 是 | | `approve-frozen` | 同意进入 frozen | 是 | | `approve-quarantine` | 同意隔离基线 | 只允许进入 quarantined | | `approve-revocation` | 同意撤销基线 | 只允许进入 revoked | | `approve-with-condition` | 条件同意,必须有动作、owner 和到期日 | 视阻断范围而定 | | `defer` | 暂缓,等待补证或复审 | 否 | | `reject` | 拒绝晋级 | 否 | | `emergency-approve` | 紧急补丁临时同意 | 仅限紧急通道 | 执行规则: 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 或转必需动作。 5. 会审裁决摘要必须写入 `baseline-release-evidence.yaml`、基线准入执行策略、基线消费锁定文件、状态对账报告和审计导出包;不能只作为人工会议记录保存。 6. 会审裁决超过 `decisionValidUntil` 后自动失效,必须重新核验证据并重新签署。 可执行验收标准: 1. 任意基线晋级都能找到会审裁决记录,证明参与角色、投票、签名、证据核验和最终裁决。 2. 任意条件放行都能找到 owner、到期时间、阻断范围和补证路径。 3. 任意反对意见都能看到提出人、关注点、处置方式和关闭证据。 4. 任意审计人员都能判断会审结论是否仍在有效期内,以及是否足以支持 baseline、frozen、emergency patch、superseded 或 EOL。 5. 任意会审裁决和发布证据包的 baseline ID、文档版本、source commit、release tag 和关键证据摘要必须一致。 6. 任意会审裁决都能证明最低基线、撤销/EOL、资产声明和例外到期已经通过准入策略校验。 ### 10.10.25 基线证据追踪图 `baseline-evidence-trace-graph.yaml` 是企业架构基线的跨证据引用图。它不替代状态对账、审计导出或发布证据包;它负责回答: “哪些证据节点存在、各节点摘要是什么、谁依赖谁、哪些下游已经消费、是否有旧摘要、断边、孤儿证据或未进入门禁的关键证据”。 ```yaml baselineEvidenceTraceGraph: graphId: betg-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: architecture-governance-board generatedAt: 2026-06-02T18:10:00+08:00 graphDigest: algorithm: sha256 digestScope: exclude-self-digest-and-signature value: sha256: rootFacts: releaseChannel: candidate lifecycleState: candidate sourceCommit: releaseTag: architecture/v2.53-candidate tagSignatureVerified: true nodes: - id: baseline-evidence-trace-graph type: trace-graph path: governance/evidence/baselines/baseline-evidence-trace-graph.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - audit-export-manifest - audit-export-provenance - id: version-governance type: control-plane path: governance/control-plane/version-governance.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen status: present freshness: generatedAt: 2026-06-02T17:45:00+08:00 maxAge: P30D expired: false consumedBy: - baseline-release-evidence - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-lifecycle-state-machine type: lifecycle path: governance/evidence/baselines/baseline-lifecycle-state-machine.yaml digest: sha256: producer: architecture-governance-board status: present consumedBy: - baseline-state-reconciliation-report - baseline-release-evidence - id: baseline-release-evidence type: release-evidence path: governance/evidence/baselines/baseline-release-evidence.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline status: present consumedBy: - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-gate-execution-report type: gate-execution path: governance/evidence/baselines/baseline-gate-execution-report.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-gate-negative-test-suite type: gate-negative-test-suite path: governance/evidence/baselines/baseline-gate-negative-test-suite.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-gate-execution-report - baseline-release-evidence - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-publish-transaction type: publish-transaction path: governance/evidence/baselines/baseline-publish-transaction.yaml digest: sha256: producer: release-engineering requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-enforcement-policy type: admission-policy path: governance/control-plane/baseline-enforcement-policy.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-consumption-lock type: consumption-lock path: governance/evidence/conformance/baseline-consumption-lock.yaml digest: sha256: producer: asset-owner requiredFor: - candidate-to-baseline - baseline-to-frozen status: present freshness: generatedAt: 2026-06-02T17:58:00+08:00 maxAge: P30D expired: false consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - baseline-adoption-ledger - audit-export-manifest - id: baseline-migration-work-order type: migration-work-order path: governance/evidence/migrations/baseline-migration-work-order.yaml digest: sha256: producer: asset-owner requiredFor: - candidate-to-baseline - baseline-to-frozen status: present freshness: generatedAt: 2026-06-02T18:05:00+08:00 maxAge: P30D expired: false consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - baseline-adoption-ledger - audit-export-manifest - id: baseline-migration-execution-receipt type: migration-execution-receipt path: governance/evidence/migrations/baseline-migration-execution-receipt.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen status: present freshness: generatedAt: 2026-06-02T18:08:00+08:00 maxAge: P30D expired: false consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - baseline-adoption-ledger - 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 digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-state-reconciliation-report - audit-export-manifest - id: baseline-state-reconciliation-report type: reconciliation path: governance/evidence/baselines/baseline-state-reconciliation-report.yaml digest: sha256: producer: architecture-governance-board status: present consumedBy: - baseline-release-evidence - release-gate-decision - id: baseline-readiness-scorecard type: readiness path: governance/evidence/baselines/baseline-readiness-scorecard.yaml digest: sha256: producer: architecture-governance-board status: present consumedBy: - baseline-release-evidence - baseline-review-board-decision - id: baseline-artifact-inventory type: artifact-inventory path: governance/evidence/baselines/baseline-artifact-inventory.yaml digest: sha256: producer: architecture-governance-board status: present consumedBy: - baseline-release-evidence - audit-export-manifest - id: baseline-local-artifact-boundary type: local-artifact-boundary path: governance/evidence/baselines/baseline-local-artifact-boundary.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - id: audit-export-exclusion-manifest type: audit-export-exclusion path: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - audit-export-provenance - audit-export-signature-receipt - id: private-artifact-escrow-manifest type: private-artifact-escrow path: governance/evidence/baselines/private-artifact-escrow-manifest.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - audit-export-provenance - audit-export-signature-receipt - id: baseline-clean-room-reconstruction-receipt type: clean-room-reconstruction path: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - audit-export-provenance - audit-export-signature-receipt - id: baseline-evidence-archive-receipt type: immutable-evidence-archive path: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - audit-export-provenance - audit-export-signature-receipt - id: baseline-signature-ltv-receipt type: long-term-signature-validation path: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml digest: sha256: producer: security-team requiredFor: - candidate-to-baseline - baseline-to-frozen status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - audit-export-provenance - audit-export-signature-receipt - baseline-evidence-archive-receipt - id: baseline-runtime-admission-receipt type: runtime-admission path: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-runtime-admission-decision-ledger type: runtime-admission-decision-ledger path: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-runtime-admission-receipt - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-continuous-control-monitoring-ledger type: continuous-control-monitoring path: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml digest: sha256: producer: governance-platform requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-control-assurance-sampling-ledger type: control-assurance-sampling path: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml digest: sha256: producer: independent-assurance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-control-inheritance-ledger type: control-inheritance path: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-data-residency-transfer-ledger type: data-residency-transfer path: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml digest: sha256: producer: privacy-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-third-party-risk-ledger type: third-party-risk path: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml digest: sha256: producer: third-party-risk-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-operational-resilience-ledger type: operational-resilience path: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml digest: sha256: producer: operational-resilience-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-threat-model-attack-surface-risk-ledger type: threat-model-attack-surface-risk path: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml digest: sha256: producer: application-security-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-vulnerability-exposure-remediation-ledger type: vulnerability-exposure-remediation path: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml digest: sha256: producer: security-vulnerability-management-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-secure-configuration-posture-drift-ledger type: secure-configuration-posture-drift path: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml digest: sha256: producer: platform-security-posture-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-production-change-release-ledger type: production-change-release path: governance/evidence/baselines/baseline-production-change-release-ledger.yaml digest: sha256: producer: release-engineering requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-incident-problem-corrective-action-ledger type: incident-problem-corrective-action path: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml digest: sha256: producer: sre-platform-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-data-product-quality-contract-observability-ledger type: data-product-quality-contract-observability path: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml digest: sha256: producer: data-platform-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-engineering-quality-test-release-verification-ledger type: engineering-quality-test-release-verification path: governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml digest: sha256: producer: quality-engineering-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-workforce-competency-training-duty-segregation-ledger type: workforce-competency-training-duty-segregation path: governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml digest: sha256: producer: people-operations-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-business-outcome-value-realization-portfolio-ledger type: business-outcome-value-realization-portfolio path: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml digest: sha256: producer: portfolio-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-value-stream-journey-process-ledger type: value-stream-journey-process path: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml digest: sha256: producer: business-architecture-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-architecture-view-runtime-topology-dependency-ledger type: architecture-view-runtime-topology-dependency path: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml digest: sha256: producer: enterprise-architecture-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-quality-attribute-architecture-driver-tradeoff-ledger type: quality-attribute-architecture-driver-tradeoff path: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml digest: sha256: producer: enterprise-architecture-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-architecture-principle-constraint-exception-ledger type: architecture-principle-constraint-exception path: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml digest: sha256: producer: enterprise-architecture-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-version-policy-release-control-ledger type: version-policy-release-control path: governance/evidence/baselines/baseline-version-policy-release-control-ledger.yaml digest: sha256: producer: release-engineering requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-emergency-patch - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-capacity-performance-cost-efficiency-ledger type: capacity-performance-cost-efficiency path: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml digest: sha256: producer: sre-finops-platform-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-service-reliability-slo-error-budget-observability-ledger type: service-reliability-slo-error-budget-observability path: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml digest: sha256: producer: sre-platform-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-backup-restore-disaster-recovery-ledger type: backup-restore-disaster-recovery path: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml digest: sha256: producer: sre-platform-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-regulatory-obligation-ledger type: regulatory-obligation path: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml digest: sha256: producer: compliance-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-cryptographic-secrets-key-certificate-ledger type: cryptographic-secrets-key-certificate path: governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml digest: sha256: producer: security-cryptography-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-asset-criticality-classification-ledger type: asset-criticality-classification path: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml digest: sha256: producer: architecture-governance-board requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-identity-entitlement-access-ledger type: identity-entitlement-access path: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml digest: sha256: producer: security-identity-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-processing-activity-inventory-ledger type: processing-activity-inventory path: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml digest: sha256: producer: privacy-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-privacy-rights-consent-ledger type: privacy-rights-consent path: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml digest: sha256: producer: privacy-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-records-retention-legal-hold-ledger type: records-retention-legal-hold path: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml digest: sha256: producer: records-governance-team requiredFor: - candidate-to-baseline - baseline-to-frozen - baseline-to-quarantined - superseded-to-eol status: present consumedBy: - baseline-release-evidence - baseline-gate-execution-report - baseline-review-board-decision - baseline-state-reconciliation-report - audit-export-manifest - baseline-evidence-archive-receipt - id: baseline-verification-lock type: verification path: governance/evidence/verification/baseline-verification-lock.yaml digest: sha256: producer: platform-team status: present consumedBy: - baseline-release-evidence - release-gate-decision - id: baseline-exception-ledger type: exception-ledger path: governance/evidence/exceptions/baseline-exception-ledger.yaml digest: sha256: producer: governance-platform status: present consumedBy: - baseline-release-evidence - baseline-readiness-scorecard - id: baseline-notification-ledger type: notification-ledger path: governance/evidence/communications/baseline-notification-ledger.yaml digest: sha256: producer: governance-platform status: present consumedBy: - baseline-readiness-scorecard - release-gate-decision - id: baseline-rollback-verification type: rollback-verification path: governance/evidence/rollback/baseline-rollback-verification.yaml digest: sha256: producer: sre-team status: present consumedBy: - baseline-release-evidence - baseline-review-board-decision - id: audit-export-manifest type: audit-export path: governance/evidence/audit-export/audit-export-manifest.yaml digest: sha256: producer: governance-platform status: present consumedBy: - audit-export-provenance - audit-export-signature-receipt - id: audit-export-provenance type: provenance-statement path: governance/evidence/audit-export/audit-export-provenance.intoto.jsonl digest: sha256: producer: governance-platform status: present consumedBy: - audit-export-signature-receipt - baseline-review-board-decision - id: audit-export-signature-receipt type: signature-receipt path: governance/evidence/audit-export/audit-export-signature-receipt.yaml digest: sha256: producer: security-team status: present consumedBy: - baseline-review-board-decision edges: - from: baseline-release-evidence to: version-governance relation: binds-baseline-identity digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-evidence-trace-graph relation: records-non-circular-graph-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-gate-execution-report relation: records-gate-execution-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-publish-transaction relation: records-publish-transaction-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-enforcement-policy relation: records-admission-policy-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-consumption-lock relation: records-consumption-lock-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-migration-work-order relation: records-migration-work-order-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-migration-execution-receipt relation: records-migration-execution-receipt-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-local-artifact-boundary relation: records-local-artifact-boundary-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: audit-export-exclusion-manifest relation: records-audit-export-exclusion-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: private-artifact-escrow-manifest relation: records-private-artifact-escrow-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-clean-room-reconstruction-receipt relation: records-clean-room-reconstruction-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-evidence-archive-receipt relation: records-evidence-archive-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-signature-ltv-receipt relation: records-signature-ltv-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-runtime-admission-receipt relation: records-runtime-admission-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-runtime-admission-decision-ledger relation: records-runtime-admission-decision-ledger-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-continuous-control-monitoring-ledger relation: records-continuous-control-monitoring-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-control-assurance-sampling-ledger relation: records-control-assurance-sampling-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-control-inheritance-ledger relation: records-control-inheritance-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-identity-entitlement-access-ledger relation: records-identity-entitlement-access-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-processing-activity-inventory-ledger relation: records-processing-activity-inventory-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-privacy-rights-consent-ledger relation: records-privacy-rights-consent-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-data-residency-transfer-ledger relation: records-data-residency-transfer-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-third-party-risk-ledger relation: records-third-party-risk-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-operational-resilience-ledger relation: records-operational-resilience-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-data-product-quality-contract-observability-ledger relation: records-data-product-quality-contract-observability-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-engineering-quality-test-release-verification-ledger relation: records-engineering-quality-test-release-verification-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-workforce-competency-training-duty-segregation-ledger relation: records-workforce-competency-training-duty-segregation-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-threat-model-attack-surface-risk-ledger relation: records-threat-model-attack-surface-risk-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-vulnerability-exposure-remediation-ledger relation: records-vulnerability-exposure-remediation-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-production-change-release-ledger relation: records-production-change-release-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-incident-problem-corrective-action-ledger relation: records-incident-problem-corrective-action-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-capacity-performance-cost-efficiency-ledger relation: records-capacity-performance-cost-efficiency-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-service-reliability-slo-error-budget-observability-ledger relation: records-service-reliability-slo-error-budget-observability-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-backup-restore-disaster-recovery-ledger relation: records-backup-restore-disaster-recovery-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-regulatory-obligation-ledger relation: records-regulatory-obligation-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-cryptographic-secrets-key-certificate-ledger relation: records-cryptographic-secrets-key-certificate-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-asset-criticality-classification-ledger relation: records-asset-criticality-classification-digest digestReferenceMatches: true blocking: true - from: baseline-release-evidence to: baseline-records-retention-legal-hold-ledger relation: records-retention-legal-hold-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 digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-gate-execution-report relation: reviews-gate-execution digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-publish-transaction relation: reviews-publish-transaction digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-enforcement-policy relation: reviews-admission-policy digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-consumption-lock relation: reviews-consumption-lock digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-migration-work-order relation: reviews-migration-work-order digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-migration-execution-receipt relation: reviews-migration-execution-receipt digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-local-artifact-boundary relation: reviews-local-artifact-boundary digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: audit-export-exclusion-manifest relation: reviews-audit-export-exclusion digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: private-artifact-escrow-manifest relation: reviews-private-artifact-escrow digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-clean-room-reconstruction-receipt relation: reviews-clean-room-reconstruction digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-evidence-archive-receipt relation: reviews-evidence-archive digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-signature-ltv-receipt relation: reviews-signature-ltv digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-runtime-admission-receipt relation: reviews-runtime-admission digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-runtime-admission-decision-ledger relation: reviews-runtime-admission-decisions digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-continuous-control-monitoring-ledger relation: reviews-continuous-control-monitoring digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-control-assurance-sampling-ledger relation: reviews-control-assurance-sampling digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-control-inheritance-ledger relation: reviews-control-inheritance digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-data-residency-transfer-ledger relation: reviews-data-residency-transfer digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-third-party-risk-ledger relation: reviews-third-party-risk digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-operational-resilience-ledger relation: reviews-operational-resilience digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-threat-model-attack-surface-risk-ledger relation: reviews-threat-model-attack-surface-risk digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-vulnerability-exposure-remediation-ledger relation: reviews-vulnerability-exposure-remediation digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-capacity-performance-cost-efficiency-ledger relation: reviews-capacity-performance-cost-efficiency digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-service-reliability-slo-error-budget-observability-ledger relation: reviews-service-reliability-slo-error-budget-observability digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-backup-restore-disaster-recovery-ledger relation: reviews-backup-restore-disaster-recovery digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-regulatory-obligation-ledger relation: reviews-regulatory-obligation-traceability digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-asset-criticality-classification-ledger relation: reviews-asset-criticality-classification digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-identity-entitlement-access-ledger relation: reviews-identity-entitlement-access digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-processing-activity-inventory-ledger relation: reviews-processing-activity-inventory digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-privacy-rights-consent-ledger relation: reviews-privacy-rights-consent digestReferenceMatches: true blocking: true - from: baseline-review-board-decision to: baseline-records-retention-legal-hold-ledger relation: reviews-records-retention-legal-hold 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 digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-gate-execution-report relation: reconciles-gate-execution-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-publish-transaction relation: reconciles-publish-transaction-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-enforcement-policy relation: reconciles-admission-policy-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-consumption-lock relation: reconciles-consumption-lock-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-migration-work-order relation: reconciles-migration-work-order-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-migration-execution-receipt relation: reconciles-migration-execution-receipt-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-local-artifact-boundary relation: reconciles-local-artifact-boundary-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: audit-export-exclusion-manifest relation: reconciles-audit-export-exclusion-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: private-artifact-escrow-manifest relation: reconciles-private-artifact-escrow-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-clean-room-reconstruction-receipt relation: reconciles-clean-room-reconstruction-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-evidence-archive-receipt relation: reconciles-evidence-archive-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-signature-ltv-receipt relation: reconciles-signature-ltv-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-runtime-admission-receipt relation: reconciles-runtime-admission-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-runtime-admission-decision-ledger relation: reconciles-runtime-admission-decision-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-continuous-control-monitoring-ledger relation: reconciles-continuous-control-monitoring-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-control-assurance-sampling-ledger relation: reconciles-control-assurance-sampling-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-control-inheritance-ledger relation: reconciles-control-inheritance-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-identity-entitlement-access-ledger relation: reconciles-identity-entitlement-access-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-processing-activity-inventory-ledger relation: reconciles-processing-activity-inventory-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-privacy-rights-consent-ledger relation: reconciles-privacy-rights-consent-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-data-residency-transfer-ledger relation: reconciles-data-residency-transfer-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-third-party-risk-ledger relation: reconciles-third-party-risk-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-operational-resilience-ledger relation: reconciles-operational-resilience-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-capacity-performance-cost-efficiency-ledger relation: reconciles-capacity-performance-cost-efficiency-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-service-reliability-slo-error-budget-observability-ledger relation: reconciles-service-reliability-slo-error-budget-observability-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-backup-restore-disaster-recovery-ledger relation: reconciles-backup-restore-disaster-recovery-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-regulatory-obligation-ledger relation: reconciles-regulatory-obligation-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-asset-criticality-classification-ledger relation: reconciles-asset-criticality-classification-state digestReferenceMatches: true blocking: true - from: baseline-state-reconciliation-report to: baseline-records-retention-legal-hold-ledger relation: reconciles-records-retention-legal-hold-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 digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-consumption-lock relation: exports-consumption-lock digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-migration-work-order relation: exports-migration-work-order digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-migration-execution-receipt relation: exports-migration-execution-receipt digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-local-artifact-boundary relation: exports-local-artifact-boundary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: audit-export-exclusion-manifest relation: exports-audit-export-exclusion digestReferenceMatches: true blocking: true - from: audit-export-manifest to: private-artifact-escrow-manifest relation: exports-private-artifact-escrow-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-clean-room-reconstruction-receipt relation: exports-clean-room-reconstruction-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-evidence-archive-receipt relation: exports-evidence-archive-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-signature-ltv-receipt relation: exports-signature-ltv-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-runtime-admission-receipt relation: exports-runtime-admission-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-runtime-admission-decision-ledger relation: exports-runtime-admission-decision-ledger-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-continuous-control-monitoring-ledger relation: exports-continuous-control-monitoring-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-control-assurance-sampling-ledger relation: exports-control-assurance-sampling-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-control-inheritance-ledger relation: exports-control-inheritance-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-data-residency-transfer-ledger relation: exports-data-residency-transfer-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-third-party-risk-ledger relation: exports-third-party-risk-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-operational-resilience-ledger relation: exports-operational-resilience-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-engineering-quality-test-release-verification-ledger relation: exports-engineering-quality-test-release-verification-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-workforce-competency-training-duty-segregation-ledger relation: exports-workforce-competency-training-duty-segregation-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-capacity-performance-cost-efficiency-ledger relation: exports-capacity-performance-cost-efficiency-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-service-reliability-slo-error-budget-observability-ledger relation: exports-service-reliability-slo-error-budget-observability-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-backup-restore-disaster-recovery-ledger relation: exports-backup-restore-disaster-recovery-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-regulatory-obligation-ledger relation: exports-regulatory-obligation-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-asset-criticality-classification-ledger relation: exports-asset-criticality-classification-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-identity-entitlement-access-ledger relation: exports-identity-entitlement-access-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-processing-activity-inventory-ledger relation: exports-processing-activity-inventory-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-privacy-rights-consent-ledger relation: exports-privacy-rights-consent-summary digestReferenceMatches: true blocking: true - from: audit-export-manifest to: baseline-records-retention-legal-hold-ledger relation: exports-records-retention-legal-hold-summary digestReferenceMatches: true blocking: true - from: audit-export-provenance to: audit-export-manifest relation: records-audit-export-subject digestReferenceMatches: true blocking: true - from: audit-export-provenance to: audit-export-exclusion-manifest relation: records-exclusion-policy-digest digestReferenceMatches: true blocking: true - from: audit-export-provenance to: private-artifact-escrow-manifest relation: records-private-escrow-digest digestReferenceMatches: true blocking: true - from: audit-export-provenance to: baseline-clean-room-reconstruction-receipt relation: records-clean-room-reconstruction-digest digestReferenceMatches: true blocking: true - from: audit-export-provenance to: baseline-evidence-archive-receipt relation: records-evidence-archive-digest digestReferenceMatches: true blocking: true - from: audit-export-provenance to: baseline-signature-ltv-receipt relation: records-signature-ltv-digest digestReferenceMatches: true blocking: true - from: audit-export-signature-receipt to: audit-export-provenance relation: verifies-provenance-bundle digestReferenceMatches: true blocking: true - from: audit-export-signature-receipt to: audit-export-exclusion-manifest relation: verifies-signature-payload-exclusions digestReferenceMatches: true blocking: true - from: audit-export-signature-receipt to: private-artifact-escrow-manifest relation: verifies-private-escrow-summary-signed digestReferenceMatches: true blocking: true - from: audit-export-signature-receipt to: baseline-clean-room-reconstruction-receipt relation: verifies-clean-room-reconstruction-summary-signed digestReferenceMatches: true blocking: true - from: audit-export-signature-receipt to: baseline-evidence-archive-receipt relation: verifies-evidence-archive-summary-signed digestReferenceMatches: true blocking: true - from: audit-export-signature-receipt to: baseline-signature-ltv-receipt relation: feeds-long-term-validation digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-signature-ltv-receipt relation: archives-signature-ltv-materials digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-engineering-quality-test-release-verification-ledger relation: archives-engineering-quality-test-release-verification-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-workforce-competency-training-duty-segregation-ledger relation: archives-workforce-competency-training-duty-segregation-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-runtime-admission-receipt relation: archives-runtime-admission-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-runtime-admission-decision-ledger relation: archives-runtime-admission-decision-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-continuous-control-monitoring-ledger relation: archives-continuous-control-monitoring-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-control-assurance-sampling-ledger relation: archives-control-assurance-sampling-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-control-inheritance-ledger relation: archives-control-inheritance-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-data-residency-transfer-ledger relation: archives-data-residency-transfer-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-third-party-risk-ledger relation: archives-third-party-risk-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-operational-resilience-ledger relation: archives-operational-resilience-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-threat-model-attack-surface-risk-ledger relation: archives-threat-model-attack-surface-risk-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-vulnerability-exposure-remediation-ledger relation: archives-vulnerability-exposure-remediation-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-capacity-performance-cost-efficiency-ledger relation: archives-capacity-performance-cost-efficiency-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-service-reliability-slo-error-budget-observability-ledger relation: archives-service-reliability-slo-error-budget-observability-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-backup-restore-disaster-recovery-ledger relation: archives-backup-restore-disaster-recovery-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-regulatory-obligation-ledger relation: archives-regulatory-obligation-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-cryptographic-secrets-key-certificate-ledger relation: archives-cryptographic-secrets-key-certificate-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-asset-criticality-classification-ledger relation: archives-asset-criticality-classification-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-identity-entitlement-access-ledger relation: archives-identity-entitlement-access-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-processing-activity-inventory-ledger relation: archives-processing-activity-inventory-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-privacy-rights-consent-ledger relation: archives-privacy-rights-consent-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-records-retention-legal-hold-ledger relation: archives-records-retention-legal-hold-evidence digestReferenceMatches: true blocking: true - from: baseline-evidence-archive-receipt to: baseline-architecture-principle-constraint-exception-ledger relation: archives-architecture-principle-constraint-exception-evidence digestReferenceMatches: true blocking: true coverage: requiredTransitions: candidate-to-baseline: requiredNodes: - baseline-evidence-trace-graph - version-governance - baseline-lifecycle-state-machine - baseline-state-reconciliation-report - baseline-release-evidence - baseline-gate-execution-report - baseline-gate-negative-test-suite - baseline-publish-transaction - baseline-enforcement-policy - baseline-consumption-lock - baseline-migration-work-order - baseline-migration-execution-receipt - baseline-local-artifact-boundary - audit-export-exclusion-manifest - private-artifact-escrow-manifest - baseline-clean-room-reconstruction-receipt - baseline-evidence-archive-receipt - baseline-signature-ltv-receipt - baseline-runtime-admission-receipt - baseline-runtime-admission-decision-ledger - baseline-continuous-control-monitoring-ledger - baseline-control-assurance-sampling-ledger - baseline-control-inheritance-ledger - baseline-data-residency-transfer-ledger - baseline-third-party-risk-ledger - baseline-operational-resilience-ledger - baseline-data-product-quality-contract-observability-ledger - baseline-engineering-quality-test-release-verification-ledger - baseline-workforce-competency-training-duty-segregation-ledger - baseline-threat-model-attack-surface-risk-ledger - baseline-vulnerability-exposure-remediation-ledger - baseline-capacity-performance-cost-efficiency-ledger - baseline-service-reliability-slo-error-budget-observability-ledger - baseline-backup-restore-disaster-recovery-ledger - baseline-regulatory-obligation-ledger - baseline-cryptographic-secrets-key-certificate-ledger - baseline-asset-criticality-classification-ledger - baseline-identity-entitlement-access-ledger - baseline-processing-activity-inventory-ledger - baseline-privacy-rights-consent-ledger - baseline-records-retention-legal-hold-ledger - baseline-architecture-principle-constraint-exception-ledger - baseline-readiness-scorecard - baseline-artifact-inventory - baseline-verification-lock - baseline-exception-ledger - baseline-review-board-decision - baseline-rollback-verification - audit-export-manifest result: pass baseline-to-frozen: requiredNodes: - baseline-evidence-trace-graph - baseline-gate-execution-report - baseline-gate-negative-test-suite - baseline-publish-transaction - baseline-enforcement-policy - baseline-consumption-lock - baseline-migration-work-order - baseline-migration-execution-receipt - baseline-local-artifact-boundary - audit-export-exclusion-manifest - private-artifact-escrow-manifest - baseline-clean-room-reconstruction-receipt - baseline-evidence-archive-receipt - baseline-signature-ltv-receipt - baseline-runtime-admission-receipt - baseline-runtime-admission-decision-ledger - baseline-continuous-control-monitoring-ledger - baseline-control-assurance-sampling-ledger - baseline-control-inheritance-ledger - baseline-data-residency-transfer-ledger - baseline-third-party-risk-ledger - baseline-operational-resilience-ledger - baseline-data-product-quality-contract-observability-ledger - baseline-engineering-quality-test-release-verification-ledger - baseline-workforce-competency-training-duty-segregation-ledger - baseline-threat-model-attack-surface-risk-ledger - baseline-vulnerability-exposure-remediation-ledger - baseline-capacity-performance-cost-efficiency-ledger - baseline-service-reliability-slo-error-budget-observability-ledger - baseline-backup-restore-disaster-recovery-ledger - baseline-regulatory-obligation-ledger - baseline-cryptographic-secrets-key-certificate-ledger - baseline-asset-criticality-classification-ledger - baseline-identity-entitlement-access-ledger - baseline-processing-activity-inventory-ledger - baseline-privacy-rights-consent-ledger - baseline-records-retention-legal-hold-ledger - baseline-architecture-principle-constraint-exception-ledger - baseline-revocation-record - baseline-readiness-scorecard - baseline-notification-ledger - baseline-exception-ledger - baseline-review-board-decision - baseline-rollback-verification - audit-export-signature-receipt result: not-ready baseline-to-quarantined: requiredNodes: - baseline-evidence-trace-graph - baseline-enforcement-policy - 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-enforcement-policy - 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-enforcement-policy - 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 noDigestMismatch: true noStaleRequiredNode: true noOrphanRequiredEvidence: true allBlockingEvidenceConsumedByReleaseGate: true auditExportIncludesGraphDigest: true provenanceIncludesGraphDigest: true gateExecutionReportMatchesDecision: true gateExecutionReplayPasses: true publishTransactionRemoteRefsMatch: true publishTransactionPostVerificationPasses: true enforcementPolicyBlocksUnsupportedBaseline: true enforcementPolicyBlocksRevokedOrEolBaseline: true enforcementPolicyRequiresConformanceClaim: true enforcementPolicyBlocksExpiredException: true consumptionLocksUseImmutableRefs: true consumptionLocksMatchReleaseEvidence: true noFloatingBaselineConsumption: true migrationWorkOrdersHaveExecutableSteps: true migrationWorkOrdersUpdateConsumptionLocks: true migrationWorkOrdersRollbackVerified: true migrationExecutionReceiptsBindActualCommands: true migrationExecutionReceiptsMatchBeforeAfterDigests: true migrationExecutionReceiptsValidateRollback: true revocationRecordBlocksNewAdoptionWhenRevoked: true revocationRecordArchivedWhenClosed: true localPrivateArtifactsDeclared: true localPrivateArtifactsAbsentFromRemote: true localPrivateArtifactsExcludedFromAuditRawExport: true localPrivateArtifactsExcludedFromSignaturePayload: true auditExportExclusionManifestPresent: true auditExportExclusionManifestMatchesBoundary: true auditExportForcedExclusionsAbsentFromPayload: true cleanRoomReconstructionReceiptPresent: true cleanRoomReconstructionDigestMatchesRelease: true cleanRoomReconstructionGateReplayPasses: true evidenceArchiveReceiptPresent: true evidenceArchiveDigestMatchesRelease: true evidenceArchiveRestoreDrillPasses: true signatureLtvReceiptPresent: true signatureLtvDigestMatchesRelease: true signatureLtvTimestampsVerify: true signatureLtvMaterialsArchived: true runtimeAdmissionReceiptPresent: true runtimeAdmissionDigestMatchesRelease: true runtimeAdmissionRejectSamplesPass: true runtimeAdmissionEvidenceArchived: true runtimeAdmissionDecisionLedgerPresent: true runtimeAdmissionDecisionLedgerDigestMatchesRelease: true runtimeAdmissionDecisionLedgerCoversRejectSamples: true runtimeAdmissionDecisionLedgerArchived: true continuousControlMonitoringLedgerPresent: true continuousControlMonitoringDigestMatchesRelease: true continuousControlMonitoringCriticalControlsCovered: true continuousControlMonitoringOpenCriticalDriftZero: true continuousControlMonitoringEvidenceFresh: true controlAssuranceSamplingLedgerPresent: true controlAssuranceSamplingDigestMatchesRelease: true controlAssuranceSamplingCriticalControlsCovered: true controlAssuranceSamplingOpenCriticalFindingsZero: true controlAssuranceSamplingOpenHighFindingsZeroOrAccepted: true controlInheritanceLedgerPresent: true controlInheritanceDigestMatchesRelease: true inheritedControlsHaveEvidenceRefs: true sharedControlsHaveConsumerObligations: true controlInheritanceNoExpiredEvidence: true controlInheritanceNoUnownedControl: true dataResidencyTransferLedgerPresent: true dataResidencyTransferDigestMatchesRelease: true dataResidencyApprovedRegionsOnly: true crossBorderTransfersHaveMechanisms: true dataResidencySubprocessorsApproved: true dataResidencyNoDeletionPropagationGap: true thirdPartyRiskLedgerPresent: true thirdPartyRiskDigestMatchesRelease: true criticalSuppliersHaveAssuranceEvidence: true criticalSuppliersHaveAuditRightsAndExitPlans: true thirdPartyRiskNoConcentrationBreach: true thirdPartyRiskNoUnapprovedCriticalSupplier: true operationalResilienceLedgerPresent: true operationalResilienceDigestMatchesRelease: true operationalResilienceImportantServicesCovered: true operationalResilienceImpactTolerancesApproved: true operationalResilienceScenariosWithinTolerance: true operationalResilienceNoOpenCriticalGap: true threatModelAttackSurfaceRiskLedgerPresent: true threatModelAttackSurfaceRiskDigestMatchesRelease: true threatModelCriticalAssetsCovered: true threatModelReviewsFresh: true threatModelAttackSurfacesInventoried: true threatModelTrustBoundariesAndDataFlowsMapped: true threatModelCriticalAbuseCasesClosedOrAccepted: true threatModelResidualRisksSignedOrTracked: true vulnerabilityExposureRemediationLedgerPresent: true vulnerabilityExposureRemediationDigestMatchesRelease: true vulnerabilityCriticalAndKevClosedOrAccepted: true vulnerabilityInternetExposedHighClosedOrBlocked: true vulnerabilityExploitabilityScoresRecorded: true vulnerabilityVexOrCsafStatusesRecorded: true vulnerabilityRemediationSlasWithinPolicy: true vulnerabilityRemediationsRetested: true vulnerabilityExpiredExceptionsZero: true vulnerabilityScannerCoverageComplete: true secureConfigurationPostureDriftLedgerPresent: true secureConfigurationPostureDriftDigestMatchesRelease: true secureConfigurationBaselinesAssigned: true secureConfigurationCriticalDriftsClosedOrAccepted: true secureConfigurationPodSecurityRestrictedOrAccepted: true secureConfigurationCloudPublicExposureMisconfigsZero: true secureConfigurationAuditLoggingEnabled: true secureConfigurationWeakTlsZero: true secureConfigurationExceptionsNotExpired: true secureConfigurationRemediationsRetested: true capacityPerformanceCostEfficiencyLedgerPresent: true capacityPerformanceCostEfficiencyDigestMatchesRelease: true capacityPerformanceCriticalServicesCovered: true capacityPerformanceLoadTestsFresh: true capacityPerformanceBaselinesWithinThreshold: true capacityPerformanceResourcesDeclared: true capacityPerformanceAutoscalingDeclared: true capacityPerformanceBudgetsWithinThreshold: true capacityPerformanceUnitEconomicsMeasured: true capacityPerformanceNoOpenAnomalousCost: true serviceReliabilitySloErrorBudgetObservabilityLedgerPresent: true serviceReliabilitySloErrorBudgetObservabilityDigestMatchesRelease: true serviceReliabilityCriticalServicesCovered: true serviceReliabilitySlisMeasurable: true serviceReliabilityErrorBudgetsWithinPolicy: true serviceReliabilityCriticalAlertsOwnedAndRouted: true serviceReliabilitySyntheticJourneysCovered: true serviceReliabilityTelemetryCoverageComplete: true backupRestoreDisasterRecoveryLedgerPresent: true backupRestoreDisasterRecoveryDigestMatchesRelease: true backupRestoreCriticalAssetsCovered: true backupRestoreImmutableCopiesPresent: true backupRestoreDrillsWithinWindow: true backupRestoreRtoRpoWithinTargets: true backupRestoreIntegrityChecksPass: true backupRestoreRansomwareIsolationProven: true backupRestoreAccessControlled: true regulatoryObligationLedgerPresent: true regulatoryObligationDigestMatchesRelease: true regulatoryObligationMandatoryItemsCovered: true regulatoryObligationNoUnownedObligation: true regulatoryObligationNoOverduePoam: true cryptographicSecretsKeyCertificateLedgerPresent: true cryptographicSecretsKeyCertificateDigestMatchesRelease: true cryptographicMaterialsAllInventoried: true cryptographicMaterialsHaveOwners: true cryptographicSecretsNoPlaintextProductionSecret: true cryptographicCertificatesNoExpiredProductionCertificate: true cryptographicKeysNoOverdueRotation: true cryptographicAlgorithmsNoWeakAlgorithm: true cryptographicRevocationPathsDeclared: true cryptographicSecretLeaksClosedOrRevoked: true assetCriticalityClassificationLedgerPresent: true assetCriticalityClassificationDigestMatchesRelease: true governedAssetsAllClassified: true assetCriticalityOwnersAssigned: true assetCriticalityDataSensitivityClassified: true assetCriticalityCiaImpactDeclared: true assetCriticalityNoProfileMismatch: true assetCriticalityNoUnderclassifiedCriticalAsset: true identityEntitlementAccessLedgerPresent: true identityEntitlementAccessDigestMatchesRelease: true productionIdentitiesAllInventoried: true privilegedAccessHasApprovalAndMfa: true workloadIdentitiesMatchRuntimeBindings: true identityEntitlementNoOrphanedPrivilegedAccount: true identityEntitlementNoStaleGrant: true processingActivityInventoryLedgerPresent: true processingActivityInventoryDigestMatchesRelease: true processingActivitiesAllInventoried: true processingActivitiesHaveOwners: true processingActivityPersonalDataClassified: true processingActivityRuntimeInventoryMatchesRopa: true processingActivityNoUnclassifiedFinding: true privacyRightsConsentLedgerPresent: true privacyRightsConsentDigestMatchesRelease: true privacyRightsProcessingPurposesHaveLawfulBasis: true privacyRightsConsentWithdrawalsPropagated: true privacyRightsNoOverdueRequest: true privacyRightsNoUnknownConsentState: true privacyRightsAutomatedDecisionReviewsCovered: true privacyRightsThirdPartyPropagationComplete: true recordsRetentionLegalHoldLedgerPresent: true recordsRetentionLegalHoldDigestMatchesRelease: true recordClassesHaveRetentionSchedules: true legalHoldBlocksDeletion: true defensibleDeletionReceiptsPresent: true recordsRetentionNoOverdueDisposal: true recordsRetentionNoOverRetentionWithoutPurpose: true productionChangeReleaseLedgerPresent: true productionChangeReleaseDigestMatchesRelease: true productionChangesRegistered: true productionChangeWindowsApproved: true productionChangeConflictsResolved: true productionChangeRollbacksVerified: true productionDatabaseMigrationsRehearsed: true productionFeatureFlagsHaveKillSwitch: true productionPromptModelChangesEvaluated: true productionEmergencyChangesPostReviewed: true productionFailedChangesClosedOrIncidentLinked: true architecturePrincipleConstraintExceptionLedgerPresent: true architecturePrincipleConstraintExceptionDigestMatchesRelease: true architecturePrinciplesHaveOwners: true architectureConstraintsMachineDetectable: true forbiddenArchitecturePatternsGated: true architecturePrincipleViolationsClosedOrAccepted: true architecturePrincipleExceptionsNotExpired: true architecturePrincipleRiskAcceptancesSigned: true findings: critical: [] high: [] medium: [] low: [] decision: result: pass blockBaseline: false blockFrozen: true blockReason: - baseline-to-frozen-not-ready releaseGateDecision: governance/control-plane/release-gate-decision.yaml ``` 证据节点状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `present` | 节点存在,摘要和元数据可验证 | 否 | | `missing` | 必需节点缺失 | 是 | | `stale` | 节点存在但引用旧版本、旧 tag、旧 commit 或旧摘要 | 是 | | `digest-mismatch` | 节点摘要与上游或下游引用不一致 | 是 | | `dangling` | 依赖边指向不存在的节点 | 是 | | `orphaned` | 必需证据生成了但没有被 release gate、审计导出或下游账本消费 | 是 | | `not-applicable` | 当前迁移路径不需要该节点,且有明确理由 | 否 | #### 10.10.25.1 证据保证等级与采信规则 `baseline-evidence-assurance-classification.yaml` 是证据追踪图的采信规则,不替代证据节点本身。它负责回答: “这份证据是人工自声明、系统日志、可重放门禁、独立评估还是加密签名证明;它是否足以支撑当前风险等级、发布通道和审计结论”。 证据保证等级分为五级: | 等级 | 证据形态 | 可支撑场景 | 不得支撑场景 | | ---- | -------- | ---------- | ------------ | | `E0-self-declared` | owner 自声明、会议纪要、人工截图、未签名导出 | 草案、低风险探索、待补证说明 | L3 / L4 生产准入、baseline、frozen、正式审计导出 | | `E1-reviewed` | 有 owner 复核、评审记录、双人确认,但不可自动重放 | candidate、低风险试点、人工决策补充 | 独立控制保证、供应链准入、运行时准入、正式审计主证据 | | `E2-automated` | CI、策略测试、扫描器、监控系统或门禁自动生成,具备输入和输出摘要 | 常规生产发布、release gate 辅助证据 | 高风险控制最终放行、frozen 晋级、长期审计主证据 | | `E3-replayable` | 锁定 runner、工具版本、策略包和输入摘要,可在干净环境重放 | L3 / L4 baseline、关键控制放行、审计导出 | 需要第三方或独立评估签署的控制最终结论 | | `E4-independent-attested` | 独立评估、第三方保证、签名 provenance、长期验签或不可变归档证明 | frozen、正式审计导出、关键控制最终结论、撤销关闭和 EOL 归档 | 不适用 | 采信状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `accepted` | 证据等级、完整性、新鲜度、独立性和可重放性满足当前 gate | 否 | | `accepted-with-compensating-control` | 主证据弱于目标等级,但有明确补偿控制、到期时间和风险接受 | 取决于等级;不得用于 `frozen` 和正式审计主证据 | | `provisional` | 暂时可用于 candidate 或低风险试点,必须在晋级前补证 | 是,阻断 baseline/frozen | | `rejected` | 证据不可采信 | 是 | | `expired` | 证据超过新鲜度窗口或引用旧基线 | 是 | | `unverifiable` | 无法证明来源、完整性、输入摘要或可重放路径 | 是 | ```yaml baselineEvidenceAssuranceClassification: classificationId: beac-20260603-mea-v295 baselineId: mea-v2.95-20260603 documentVersion: V2.95 owner: architecture-governance-board generatedAt: 2026-06-03T05:30:00+08:00 policy: minimumLevels: candidate: E1-reviewed l3ProductionRelease: E2-automated l4ProductionRelease: E3-replayable baseline: E3-replayable frozen: E4-independent-attested formalAuditExport: E4-independent-attested downgrade: allowedOnlyWith: - riskAcceptance - compensatingControl - expiry - poamRecord forbiddenFor: - frozen - formalAuditExport - runtimeAdmissionAllow - signatureLtvReceipt evidence: - nodeId: baseline-gate-execution-report evidencePath: governance/evidence/baselines/baseline-gate-execution-report.yaml assuranceLevel: E3-replayable acceptanceStatus: accepted generationMode: automated-gate producer: governance-platform independentReviewer: architecture-governance-board integrity: digest: sha256: signatureRequired: true archived: true freshness: generatedAt: 2026-06-03T05:20:00+08:00 maxAge: P7D expired: false replayability: runnerImage: ghcr.io/company/architecture-gate-runner@sha256: command: internal-command://architecture/check-modern-architecture-kit inputDigest: sha256: expectedExitCode: 0 gatesAllowed: - baseline gatesDenied: - frozen - formalAuditExport - nodeId: baseline-control-assurance-sampling-ledger evidencePath: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml assuranceLevel: E4-independent-attested acceptanceStatus: accepted generationMode: independent-assessment producer: independent-assurance-team independentReviewer: control-assurance-lead integrity: digest: sha256: signatureRequired: true archived: true freshness: generatedAt: 2026-06-03T05:10:00+08:00 maxAge: P90D expired: false replayability: assessmentPlan: governance/evidence/assurance/control-assurance-sampling-plan.yaml oscalAssessmentResults: governance/evidence/oscal/assessment-results.json gatesAllowed: - frozen - formalAuditExport decisions: - gate: baseline decision: pass reason: all-required-evidence-at-or-above-minimum-level - gate: frozen decision: fail reason: gate-execution-report-is-E3-and-frozen-requires-E4-or-independent-attestation ``` 证据采信执行规则: 1. 每个 `requiredFor` 包含 `baseline`、`frozen`、`formalAuditExport` 或 L3 / L4 生产准入的证据节点,都必须有证据保证分类记录。 2. `E0-self-declared` 和 `E1-reviewed` 只能作为辅助证据,不能作为关键控制、运行时准入、供应链证明、隐私权利、监管义务或正式审计的主证据。 3. `E2-automated` 必须包含生成系统、输入摘要、输出摘要和失败条件;没有输入摘要的自动化证据降级为 `E1-reviewed`。 4. `E3-replayable` 必须绑定验证环境锁、runner 镜像、工具版本、策略包摘要、命令和期望退出码。 5. `E4-independent-attested` 必须绑定独立评估人、签名或第三方保证材料、不可变归档和可追溯到样本或 provenance 的证据链。 6. 证据等级低于 gate 最低要求时,release gate 必须失败;除 candidate 和低风险试点外,不允许用平均分或人工口头说明覆盖证据等级缺口。 7. 任何 `expired`、`unverifiable` 或 `rejected` 的关键证据都必须阻断 baseline、frozen、正式审计导出和 L3 / L4 生产准入。 8. 条件采信必须绑定补偿控制、风险接受、POA&M、到期时间和复核 owner;到期后自动降为 `rejected`。 执行规则: V2.95 补充规则:`baseline-evidence-assurance-classification.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出、控制保证抽样和证据归档同时消费;否则不能证明 release gate 采信的证据等级足以支撑当前状态迁移。 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`;生产基线的发布事务回执、准入执行策略、消费锁定文件、迁移工作单和撤销隔离记录必须作为独立节点出现,不能只出现在自然语言验收清单里。 4. 任意 `missing`、`stale`、`digest-mismatch`、`dangling` 或 `orphaned` 的必需节点都必须阻断对应状态迁移。 5. `audit-export-manifest.yaml`、`audit-export-provenance.yaml` 和签名验签回执必须记录证据追踪图摘要,证明审计包导出的是同一张证据图。 6. 证据追踪图不能只检查文件存在;必须检查 baseline ID、documentVersion、sourceCommit、releaseTag、digest、freshness 和下游消费关系。 7. `baseline-local-artifact-boundary.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决和审计导出同时消费;否则本地私有制品会变成未受控的排除项。 8. `audit-export-exclusion-manifest.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出、provenance 和签名验签回执同时消费;否则导出排除策略不能证明进入最终审计包。 9. `private-artifact-escrow-manifest.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出、provenance 和签名验签回执同时消费;否则禁推资产无法证明已经进入私有托管、能被授权取回并恢复。 10. `baseline-clean-room-reconstruction-receipt.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出、provenance 和签名验签回执同时消费;否则不能证明基线可从干净环境重建。 11. `baseline-evidence-archive-receipt.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出、provenance 和签名验签回执同时消费;否则不能证明关键证据已经进入不可变留存库并可在审计期恢复。 12. `baseline-signature-ltv-receipt.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出、provenance、签名验签回执和证据归档同时消费;否则不能证明签名材料在证书过期、透明日志生命周期变化或验签工具升级后仍可复核。 13. `baseline-runtime-admission-receipt.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明 release gate 的准入策略已经在 Kubernetes admission 等生产入口真实阻断。 14. `baseline-runtime-admission-decision-ledger.yaml` 必须被运行时准入回执、发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明每条 allow/deny 决策都有原始日志摘要和 requestUID。 15. `baseline-continuous-control-monitoring-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明发布后的控制持续生效。 16. `baseline-control-assurance-sampling-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明关键控制已经被独立抽样复核。 17. `baseline-control-inheritance-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明公共控制、继承控制和消费者义务具备清晰责任边界。 18. `baseline-data-residency-transfer-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明数据驻留、跨境传输、子处理方和模型供应商处理位置具备可复核边界。 19. `baseline-third-party-risk-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明关键供应商的合同控制、审计权、保证报告、退出计划、集中度和连续性具备可复核边界。 20. `baseline-operational-resilience-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明重要业务服务、影响容忍、BIA、端到端依赖、场景测试、恢复能力和超限升级具备可复核边界。 21. `baseline-threat-model-attack-surface-risk-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明威胁模型、攻击面、滥用场景、安全测试和剩余风险已经入账。 22. `baseline-vulnerability-exposure-remediation-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明漏洞发现、可利用性、暴露面、修复、复测、VEX/CSAF、例外和发布准入已经入账。 23. `baseline-secure-configuration-posture-drift-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明安全配置基线、加固姿态、配置漂移、修复复测、例外和发布准入已经入账。 24. `baseline-production-change-release-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明生产变更登记、发布编排、冲突检测、回滚、失败恢复、紧急变更复盘和 DORA 指标已经入账。 25. `baseline-incident-problem-corrective-action-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明事故定级、时间线、RCA、问题记录、纠正行动、复发防止、runbook/告警/门禁反哺、沟通和 DORA 恢复指标已经入账。 26. `baseline-data-product-quality-contract-observability-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明数据产品契约、schema drift、质量断言、freshness、血缘、消费者影响、AI/特征/RAG 使用、契约违约、修复复测和数据质量事故已经入账。 27. `baseline-engineering-quality-test-release-verification-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明需求追踪、测试证据、覆盖率、flaky 测试、缺陷关闭、修复复测、发布前验证、灰度/冒烟和质量风险接受已经入账。 28. `baseline-workforce-competency-training-duty-segregation-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、职责分离、冲突角色和代理授权已经入账。 29. `baseline-business-outcome-value-realization-portfolio-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明业务目标、价值假设、收益 owner、关键结果、前后基线、采用证据、收益实现、成本效率和停投/加投决策已经入账。 30. `baseline-value-stream-journey-process-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明价值流、关键旅程、端到端流程、步骤遥测、跨域交接、瓶颈、异常、人工兜底和改进动作已经入账。 31. `baseline-architecture-view-runtime-topology-dependency-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明架构视图、运行拓扑、声明依赖、观测依赖、部署拓扑、blast radius、变更影响和依赖漂移已经入账。 32. `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明质量属性场景、架构驱动、敏感点、权衡点、ADR、适配度函数和验证证据已经入账。 33. `baseline-architecture-principle-constraint-exception-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明架构原则、强制约束、禁止项、反模式、例外审批、风险接受和违反处置已经入账。 34. `baseline-version-policy-release-control-ledger.yaml` 必须被版本控制面、发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明版本号语义、发布通道、签名 tag、兼容窗口、消费锁、迁移、冻结、紧急补丁和撤销阻断已经入账。 35. `baseline-capacity-performance-cost-efficiency-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明容量预测、压测、性能基准、资源 requests/limits、弹性伸缩、预算、单位经济、异常成本和优化行动已经入账。 36. `baseline-service-reliability-slo-error-budget-observability-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明生产服务、关键用户旅程、SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、遥测覆盖和降级策略已经入账。 37. `baseline-backup-restore-disaster-recovery-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明关键系统、关键数据存储、不可变/离线副本、恢复演练、RTO/RPO、完整性校验、勒索隔离和恢复权限已经入账。 38. `baseline-regulatory-obligation-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明适用监管义务、客户合同义务、标准要求和内部政策要求已经映射到控制、证据、owner、例外和整改。 39. `baseline-cryptographic-secrets-key-certificate-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销和泄露响应已经入账。 40. `baseline-asset-criticality-classification-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、AI 风险、互联网暴露和分级复核已经入账。 41. `baseline-identity-entitlement-access-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、孤儿账号、过期权限和运行时身份绑定已经入账。 42. `baseline-processing-activity-inventory-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明所有个人数据处理活动、数据主体类别、个人数据类别、接收方、跨境传输、保留映射、DPIA、合法基础和发现覆盖已经入账。 43. `baseline-privacy-rights-consent-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明处理目的合法基础、同意撤回传播、权利请求 SLA、自动化决策复核和第三方下游传播已经闭合。 44. `baseline-records-retention-legal-hold-ledger.yaml` 必须被发布证据、门禁执行报告、状态对账、会审裁决、审计导出和证据归档同时消费;否则不能证明记录留存排期、legal hold、删除资格、删除传播和可防御删除回执已经闭合。 45. 条件放行只能降低非阻断节点的处理优先级,不能绕过断链、摘要不一致或必需节点缺失。 可执行验收标准: V2.95 补充验收:任意 baseline、frozen、正式审计导出或 L3 / L4 生产准入都必须证明关键证据达到对应最低保证等级,且没有 `expired`、`unverifiable`、`rejected` 或不允许条件采信的证据节点。 1. 任意基线晋级都能找到一张证据追踪图,列出所有必需证据节点、摘要、依赖边和下游消费。 2. 任意证据摘要不一致都能定位到具体节点、上游引用、下游引用和阻断的状态迁移。 3. 任意必需证据不会成为“生成了但没人消费”的孤儿证据。 4. 任意审计导出都能证明自己包含了证据追踪图摘要,并且该摘要与发布证据、会审裁决和状态对账一致。 5. 任意会审或 release gate 都不能只看单个证据文件通过;必须同时证明证据图闭合。 6. 任意生产事故、安全事件、隐私事件、AI 事件、供应商事件或 near miss 都必须作为 `baseline-incident-problem-corrective-action-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 7. 任意 L3 / L4 数据产品都必须作为 `baseline-data-product-quality-contract-observability-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 8. 任意 L3 / L4 生产资产的工程质量、测试证据、缺陷和发布验证都必须作为 `baseline-engineering-quality-test-release-verification-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 9. 任意 L3 / L4 关键角色的任命、培训、专项资格、职责确认、on-call 资格、审批授权、职责分离、冲突角色和代理授权都必须作为 `baseline-workforce-competency-training-duty-segregation-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 10. 任意 L3 / L4 业务结果和收益实现都必须作为 `baseline-business-outcome-value-realization-portfolio-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 11. 任意 L3 / L4 价值流、关键旅程和端到端流程都必须作为 `baseline-value-stream-journey-process-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 12. 任意 L3 / L4 架构视图、运行拓扑和依赖影响都必须作为 `baseline-architecture-view-runtime-topology-dependency-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 13. 任意 L3 / L4 质量属性场景、架构驱动和权衡决策都必须作为 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 14. 任意 L3 / L4 强制架构原则、约束、禁止项、反模式、例外和风险接受都必须作为 `baseline-architecture-principle-constraint-exception-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 15. 任意企业级基线版本策略、发布通道、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销和 EOL 阻断都必须作为 `baseline-version-policy-release-control-ledger.yaml` 证据节点进入发布证据、门禁执行、状态对账、会审裁决和审计导出。 16. 任意 L3 / L4 资产的 `baseline-consumption-lock.yaml` 都必须作为证据节点被发布证据、门禁执行、状态对账、会审裁决、采纳总账和审计导出消费。 17. 任意 L3 / L4 资产的 `baseline-migration-work-order.yaml` 都必须作为证据节点被发布证据、门禁执行、状态对账、会审裁决、采纳总账和审计导出消费。 18. 任意 L3 / L4 资产的 `baseline-migration-execution-receipt.yaml` 都必须作为证据节点被发布证据、门禁执行、状态对账、会审裁决、采纳总账和审计导出消费。 19. 任意正式审计导出都必须把 `audit-export-exclusion-manifest.yaml` 作为证据节点,证明本地私有原文没有进入导出包或签名 payload。 20. 任意本地、私有、生成或禁推可执行资产都必须把 `private-artifact-escrow-manifest.yaml` 作为证据节点,证明私有制品引用、访问授权、留存、取回命令和恢复验证已经闭合。 21. 任意 baseline 或 frozen 晋级都必须把 `baseline-clean-room-reconstruction-receipt.yaml` 作为证据节点,证明干净 runner 能从远端 commit、私有托管制品和锁定工具链重建同一基线。 22. 任意 baseline 或 frozen 晋级都必须把 `baseline-evidence-archive-receipt.yaml` 作为证据节点,证明审计导出、发布证据、门禁执行、签名回执和重建回执已经进入不可变归档并完成恢复演练。 23. 任意 baseline 或 frozen 晋级都必须把 `baseline-signature-ltv-receipt.yaml` 作为证据节点,证明签名 bundle、证书链、透明日志 proof、signed entry timestamp、RFC3161 TSA、撤销状态和验签工具版本已经闭合。 24. 任意 baseline 或 frozen 晋级都必须把 `baseline-runtime-admission-receipt.yaml` 作为证据节点,证明 admission controller、策略引擎、镜像证明、消费锁、撤销/EOL 阻断和拒绝样例已经闭合。 25. 任意 baseline 或 frozen 晋级都必须把 `baseline-runtime-admission-decision-ledger.yaml` 作为证据节点,证明 allow/deny 的 requestUID、策略规则、actor、workload、镜像 digest 和原始日志摘要已经闭合。 26. 任意 baseline 或 frozen 晋级都必须把 `baseline-continuous-control-monitoring-ledger.yaml` 作为证据节点,证明关键控制有指标、告警、owner、处置和新鲜证据。 27. 任意 baseline 或 frozen 晋级都必须把 `baseline-control-assurance-sampling-ledger.yaml` 作为证据节点,证明 critical 控制样本、设计有效性、运行有效性、发现项关闭或风险接受和独立评估签署已经闭合。 28. 任意 baseline 或 frozen 晋级都必须把 `baseline-control-inheritance-ledger.yaml` 作为证据节点,证明 inherited/shared/provider/domain/consumer 控制责任、消费者义务、继承条件和失效阻断已经闭合。 29. 任意 baseline 或 frozen 晋级都必须把 `baseline-data-residency-transfer-ledger.yaml` 作为证据节点,证明数据驻留要求、实际处理区域、跨境传输机制、子处理方、补充保护措施和删除传播已经闭合。 30. 任意 baseline 或 frozen 晋级都必须把 `baseline-third-party-risk-ledger.yaml` 作为证据节点,证明关键供应商分级、合同控制、审计权、保证报告、退出计划、集中度、替代路径和供应商事件状态已经闭合。 31. 任意 baseline 或 frozen 晋级都必须把 `baseline-operational-resilience-ledger.yaml` 作为证据节点,证明重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景测试、恢复结果、沟通计划和超限升级已经闭合。 32. 任意 baseline 或 frozen 晋级都必须把 `baseline-threat-model-attack-surface-risk-ledger.yaml` 作为证据节点,证明威胁模型、攻击面、滥用场景、安全测试、剩余风险、POA&M 和签署状态已经闭合。 33. 任意 baseline 或 frozen 晋级都必须把 `baseline-production-change-release-ledger.yaml` 作为证据节点,证明生产变更登记、发布编排、冲突检测、回滚、失败恢复、紧急变更复盘和 DORA 指标已经闭合。 34. 任意 baseline 或 frozen 晋级都必须把 `baseline-incident-problem-corrective-action-ledger.yaml` 作为证据节点,证明事故定级、时间线、RCA、问题记录、纠正行动、复发防止、runbook/告警/门禁反哺、沟通和 DORA 恢复指标已经闭合。 35. 任意 baseline 或 frozen 晋级都必须把 `baseline-capacity-performance-cost-efficiency-ledger.yaml` 作为证据节点,证明容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、预算、单位经济、成本分摊、异常成本和优化行动已经闭合。 36. 任意 baseline 或 frozen 晋级都必须把 `baseline-service-reliability-slo-error-budget-observability-ledger.yaml` 作为证据节点,证明生产服务、关键用户旅程、SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、遥测覆盖、仪表盘和降级策略已经闭合。 37. 任意 baseline 或 frozen 晋级都必须把 `baseline-backup-restore-disaster-recovery-ledger.yaml` 作为证据节点,证明关键系统、关键数据存储、备份策略、不可变/离线副本、恢复演练、RTO/RPO、完整性校验、勒索隔离和恢复权限已经闭合。 38. 任意 baseline 或 frozen 晋级都必须把 `baseline-regulatory-obligation-ledger.yaml` 作为证据节点,证明强制义务、适用范围、控制目标、控制项、证据路径、owner、监管变更和 POA&M 已经闭合。 39. 任意 baseline 或 frozen 晋级都必须把 `baseline-cryptographic-secrets-key-certificate-ledger.yaml` 作为证据节点,证明 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销、泄露响应和访问边界已经闭合。 40. 任意 baseline 或 frozen 晋级都必须把 `baseline-asset-criticality-classification-ledger.yaml` 作为证据节点,证明资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、AI 风险、互联网暴露和分级复核已经闭合。 41. 任意 baseline 或 frozen 晋级都必须把 `baseline-identity-entitlement-access-ledger.yaml` 作为证据节点,证明人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、孤儿账号、过期权限和运行时身份绑定已经闭合。 42. 任意 baseline 或 frozen 晋级都必须把 `baseline-processing-activity-inventory-ledger.yaml` 作为证据节点,证明处理活动、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、DPIA、合法基础、AI/数据产品用途和发现覆盖已经闭合。 43. 任意 baseline 或 frozen 晋级都必须把 `baseline-privacy-rights-consent-ledger.yaml` 作为证据节点,证明处理目的、合法基础、同意偏好、撤回传播、主体权利请求、自动化决策复核、下游处理限制和第三方传播已经闭合。 44. 任意 baseline 或 frozen 晋级都必须把 `baseline-records-retention-legal-hold-ledger.yaml` 作为证据节点,证明记录类别、留存排期、义务来源、legal hold、删除资格、删除传播、保全解除和可防御删除回执已经闭合。 ### 10.10.26 基线门禁执行报告 `baseline-gate-execution-report.yaml` 是企业架构基线 release gate 的执行事实记录。它不替代 `release-gate-decision.yaml`,而是证明这次门禁到底由哪个命令、哪个 runner、哪个策略包、哪些输入摘要和哪些规则结果产生, 并且同一输入可以被重放得到同一结论。 ```yaml baselineGateExecutionReport: reportId: bger-20260602-mea-v253-candidate-to-baseline baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: governance-platform generatedAt: 2026-06-02T18:40:00+08:00 execution: command: internal-command://architecture/check-modern-architecture-kit runnerImage: ghcr.io/company/architecture-gate-runner@sha256: policyBundle: governance/policies/baseline-gates/bundle.tar.gz policyBundleDigest: sha256: schemaBundleDigest: sha256: verificationLock: governance/evidence/verification/baseline-verification-lock.yaml exitCode: 0 result: pass inputs: versionGovernance: path: governance/control-plane/version-governance.yaml digest: sha256: standardsBaseline: path: governance/control-plane/standards-baseline.yaml digest: sha256: controlPlane: path: governance/control-plane/control-plane.yaml digest: sha256: releaseEvidence: path: governance/evidence/baselines/baseline-release-evidence.yaml digest: sha256: publishTransaction: path: governance/evidence/baselines/baseline-publish-transaction.yaml digest: sha256: revocationRecord: path: governance/evidence/baselines/baseline-revocation-record.yaml digest: sha256: compatibilityLedger: path: governance/evidence/compatibility/baseline-compatibility-ledger.yaml digest: sha256: supportMatrix: path: governance/evidence/support/baseline-support-matrix.yaml digest: sha256: evidenceTraceGraph: path: governance/evidence/baselines/baseline-evidence-trace-graph.yaml digest: sha256: stateReconciliation: path: governance/evidence/baselines/baseline-state-reconciliation-report.yaml digest: sha256: versionPolicyReleaseControlLedger: path: governance/evidence/baselines/baseline-version-policy-release-control-ledger.yaml digest: sha256: adoptionLedger: path: governance/evidence/adoption/baseline-adoption-ledger.yaml digest: sha256: consumptionLock: path: governance/evidence/conformance/baseline-consumption-lock.yaml digest: sha256: migrationWorkOrder: path: governance/evidence/migrations/baseline-migration-work-order.yaml digest: sha256: migrationExecutionReceipt: path: governance/evidence/migrations/baseline-migration-execution-receipt.yaml digest: sha256: localArtifactBoundary: path: governance/evidence/baselines/baseline-local-artifact-boundary.yaml digest: sha256: auditExportExclusionManifest: path: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml digest: sha256: privateArtifactEscrowManifest: path: governance/evidence/baselines/private-artifact-escrow-manifest.yaml digest: sha256: cleanRoomReconstructionReceipt: path: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml digest: sha256: evidenceArchiveReceipt: path: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml digest: sha256: signatureLtvReceipt: path: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml digest: sha256: runtimeAdmissionReceipt: path: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml digest: sha256: runtimeAdmissionDecisionLedger: path: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml digest: sha256: continuousControlMonitoringLedger: path: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml digest: sha256: controlAssuranceSamplingLedger: path: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml digest: sha256: controlInheritanceLedger: path: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml digest: sha256: dataResidencyTransferLedger: path: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml digest: sha256: thirdPartyRiskLedger: path: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml digest: sha256: operationalResilienceLedger: path: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml digest: sha256: threatModelAttackSurfaceRiskLedger: path: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml digest: sha256: vulnerabilityExposureRemediationLedger: path: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml digest: sha256: secureConfigurationPostureDriftLedger: path: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml digest: sha256: productionChangeReleaseLedger: path: governance/evidence/baselines/baseline-production-change-release-ledger.yaml digest: sha256: incidentProblemCorrectiveActionLedger: path: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml digest: sha256: dataProductQualityContractObservabilityLedger: path: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml digest: sha256: engineeringQualityTestReleaseVerificationLedger: path: governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml digest: sha256: workforceCompetencyTrainingDutySegregationLedger: path: governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml digest: sha256: businessOutcomeValueRealizationPortfolioLedger: path: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml digest: sha256: valueStreamJourneyProcessLedger: path: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml digest: sha256: architectureViewRuntimeTopologyDependencyLedger: path: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml digest: sha256: qualityAttributeArchitectureDriverTradeoffLedger: path: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml digest: sha256: architecturePrincipleConstraintExceptionLedger: path: governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml digest: sha256: architectureDecisionRecord: path: governance/evidence/architecture-decisions/architecture-decision-record.yaml digest: sha256: capacityPerformanceCostEfficiencyLedger: path: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml digest: sha256: serviceReliabilitySloErrorBudgetObservabilityLedger: path: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml digest: sha256: backupRestoreDisasterRecoveryLedger: path: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml digest: sha256: regulatoryObligationLedger: path: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml digest: sha256: cryptographicSecretsKeyCertificateLedger: path: governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml digest: sha256: assetCriticalityClassificationLedger: path: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml digest: sha256: identityEntitlementAccessLedger: path: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml digest: sha256: processingActivityInventoryLedger: path: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml digest: sha256: aiEvidenceLedger: path: governance/evidence/ai/ai-evidence.yaml digest: sha256: dataProductContracts: path: contracts/datasets/ digest: sha256: privacyRightsConsentLedger: path: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml digest: sha256: recordsRetentionLegalHoldLedger: path: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml digest: sha256: reviewBoardDecision: path: governance/evidence/baselines/baseline-review-board-decision.yaml digest: sha256: exceptionLedger: path: governance/evidence/exceptions/baseline-exception-ledger.yaml digest: sha256: riskRegister: path: governance/evidence/risk/risk-register.yaml digest: sha256: ruleResults: - id: BGE-001 title: document version and baseline id match source: governance/policies/baseline-gates/version.rego inputRefs: - versionGovernance - releaseEvidence result: pass blocking: true - id: BGE-002 title: required evidence graph is closed source: governance/policies/baseline-gates/evidence-graph.rego inputRefs: - evidenceTraceGraph result: pass blocking: true - id: BGE-003 title: gate execution decision is replayable source: governance/policies/baseline-gates/replay.rego inputRefs: - versionGovernance - releaseEvidence - evidenceTraceGraph result: pass blocking: true - id: BGE-004 title: baseline consumption lock uses immutable refs source: governance/policies/baseline-gates/consumption-lock.rego inputRefs: - consumptionLock - releaseEvidence - evidenceTraceGraph result: pass blocking: true - id: BGE-005 title: baseline migration work order is executable source: governance/policies/baseline-gates/migration-work-order.rego inputRefs: - migrationWorkOrder - consumptionLock - stateReconciliation result: pass blocking: true - id: BGE-006 title: baseline migration execution receipt is verifiable source: governance/policies/baseline-gates/migration-execution-receipt.rego inputRefs: - migrationExecutionReceipt - migrationWorkOrder - consumptionLock - stateReconciliation result: pass blocking: true - id: BGE-007 title: local private artifacts are declared and absent from remote source: governance/policies/baseline-gates/local-artifact-boundary.rego inputRefs: - localArtifactBoundary - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-008 title: audit export excludes local private raw artifacts source: governance/policies/baseline-gates/audit-export-exclusion.rego inputRefs: - auditExportExclusionManifest - localArtifactBoundary - evidenceTraceGraph result: pass blocking: true - id: BGE-009 title: local private artifacts are escrowed and restorable source: governance/policies/baseline-gates/private-artifact-escrow.rego inputRefs: - privateArtifactEscrowManifest - localArtifactBoundary - auditExportExclusionManifest - evidenceTraceGraph result: pass blocking: true - id: BGE-010 title: baseline can be reconstructed from clean runner source: governance/policies/baseline-gates/clean-room-reconstruction.rego inputRefs: - cleanRoomReconstructionReceipt - privateArtifactEscrowManifest - auditExportExclusionManifest - localArtifactBoundary - evidenceTraceGraph result: pass blocking: true - id: BGE-011 title: baseline evidence is archived immutably and restorable source: governance/policies/baseline-gates/evidence-archive.rego inputRefs: - evidenceArchiveReceipt - cleanRoomReconstructionReceipt - privateArtifactEscrowManifest - evidenceTraceGraph result: pass blocking: true - id: BGE-012 title: baseline signatures remain verifiable after certificate and log lifecycle changes source: governance/policies/baseline-gates/signature-ltv.rego inputRefs: - signatureLtvReceipt - evidenceArchiveReceipt - cleanRoomReconstructionReceipt - evidenceTraceGraph result: pass blocking: true - id: BGE-013 title: runtime admission enforces baseline policy at production API boundary source: governance/policies/baseline-gates/runtime-admission.rego inputRefs: - runtimeAdmissionReceipt - runtimeAdmissionDecisionLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-014 title: runtime admission decisions are backed by immutable per-request evidence source: governance/policies/baseline-gates/runtime-admission-decision-ledger.rego inputRefs: - runtimeAdmissionDecisionLedger - runtimeAdmissionReceipt - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-015 title: critical controls are continuously monitored after release source: governance/policies/baseline-gates/continuous-control-monitoring.rego inputRefs: - continuousControlMonitoringLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-016 title: critical controls have independent assurance sampling evidence source: governance/policies/baseline-gates/control-assurance-sampling.rego inputRefs: - controlAssuranceSamplingLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-017 title: shared and inherited controls have explicit responsibility boundaries source: governance/policies/baseline-gates/control-inheritance.rego inputRefs: - controlInheritanceLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-018 title: data residency and cross-border processing are approved and traceable source: governance/policies/baseline-gates/data-residency-transfer.rego inputRefs: - dataResidencyTransferLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-019 title: critical third-party suppliers are approved, evidenced, and exit-ready source: governance/policies/baseline-gates/third-party-risk.rego inputRefs: - thirdPartyRiskLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-020 title: important business services remain within approved impact tolerances source: governance/policies/baseline-gates/operational-resilience.rego inputRefs: - operationalResilienceLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence - thirdPartyRiskLedger result: pass blocking: true - id: BGE-021 title: critical systems and data stores are backed up, isolated, and restorable source: governance/policies/baseline-gates/backup-restore-disaster-recovery.rego inputRefs: - backupRestoreDisasterRecoveryLedger - operationalResilienceLedger - assetCriticalityClassificationLedger - recordsRetentionLegalHoldLedger - identityEntitlementAccessLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-022 title: applicable regulatory and compliance obligations are mapped to controls and evidence source: governance/policies/baseline-gates/regulatory-obligation.rego inputRefs: - regulatoryObligationLedger - controlInheritanceLedger - dataResidencyTransferLedger - thirdPartyRiskLedger - operationalResilienceLedger - aiEvidenceLedger - dataProductContracts - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-023 title: records retention, legal hold, and defensible deletion are enforceable source: governance/policies/baseline-gates/records-retention-legal-hold.rego inputRefs: - recordsRetentionLegalHoldLedger - regulatoryObligationLedger - dataResidencyTransferLedger - evidenceArchiveReceipt - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-024 title: privacy rights, consent preferences, and lawful basis are enforceable source: governance/policies/baseline-gates/privacy-rights-consent.rego inputRefs: - privacyRightsConsentLedger - processingActivityInventoryLedger - recordsRetentionLegalHoldLedger - regulatoryObligationLedger - dataResidencyTransferLedger - thirdPartyRiskLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-025 title: processing activity inventory and RoPA coverage are complete source: governance/policies/baseline-gates/processing-activity-inventory.rego inputRefs: - processingActivityInventoryLedger - privacyRightsConsentLedger - recordsRetentionLegalHoldLedger - regulatoryObligationLedger - dataResidencyTransferLedger - thirdPartyRiskLedger - operationalResilienceLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-026 title: identity entitlement, privileged access, and workload identity are governed source: governance/policies/baseline-gates/identity-entitlement-access.rego inputRefs: - identityEntitlementAccessLedger - runtimeAdmissionDecisionLedger - runtimeAdmissionReceipt - controlInheritanceLedger - thirdPartyRiskLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-027 title: asset criticality, data classification, and risk tiers drive baseline gates source: governance/policies/baseline-gates/asset-criticality-classification.rego inputRefs: - assetCriticalityClassificationLedger - identityEntitlementAccessLedger - processingActivityInventoryLedger - dataResidencyTransferLedger - thirdPartyRiskLedger - operationalResilienceLedger - regulatoryObligationLedger - releaseEvidence - stateReconciliation - evidenceTraceGraph result: pass blocking: true - id: BGE-028 title: cryptographic materials, keys, certificates, and secrets lifecycle is governed source: governance/policies/baseline-gates/cryptographic-secrets-key-certificate.rego inputRefs: - cryptographicSecretsKeyCertificateLedger - assetCriticalityClassificationLedger - identityEntitlementAccessLedger - runtimeAdmissionDecisionLedger - runtimeAdmissionReceipt - releaseEvidence - stateReconciliation - evidenceTraceGraph result: pass blocking: true - id: BGE-029 title: critical assets have fresh threat models, attack surfaces, tests, and signed residual risks source: governance/policies/baseline-gates/threat-model-attack-surface-risk.rego inputRefs: - threatModelAttackSurfaceRiskLedger - assetCriticalityClassificationLedger - identityEntitlementAccessLedger - dataResidencyTransferLedger - thirdPartyRiskLedger - aiEvidenceLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-030 title: critical vulnerabilities, KEV findings, exposed highs, and remediation retests are closed or accepted source: governance/policies/baseline-gates/vulnerability-exposure-remediation.rego inputRefs: - vulnerabilityExposureRemediationLedger - threatModelAttackSurfaceRiskLedger - assetCriticalityClassificationLedger - supplyChainAttestation - runtimeAdmissionReceipt - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-031 title: secure configuration baselines, posture checks, and drift remediations are closed or accepted source: governance/policies/baseline-gates/secure-configuration-posture-drift.rego inputRefs: - secureConfigurationPostureDriftLedger - vulnerabilityExposureRemediationLedger - threatModelAttackSurfaceRiskLedger - runtimeAdmissionReceipt - runtimeAdmissionDecisionLedger - controlInheritanceLedger - assetCriticalityClassificationLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-032 title: production changes, release orchestration, conflicts, and failed-change recovery are governed source: governance/policies/baseline-gates/production-change-release.rego inputRefs: - productionChangeReleaseLedger - secureConfigurationPostureDriftLedger - vulnerabilityExposureRemediationLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - operationalResilienceLedger - runtimeAdmissionDecisionLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-033 title: incidents, problem records, corrective actions, and recurrence prevention are governed source: governance/policies/baseline-gates/incident-problem-corrective-action.rego inputRefs: - incidentProblemCorrectiveActionLedger - productionChangeReleaseLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - operationalResilienceLedger - vulnerabilityExposureRemediationLedger - secureConfigurationPostureDriftLedger - aiEvidenceLedger - thirdPartyRiskLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-034 title: critical services have capacity forecasts, fresh load tests, autoscaling, and cost controls source: governance/policies/baseline-gates/capacity-performance-cost-efficiency.rego inputRefs: - capacityPerformanceCostEfficiencyLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - operationalResilienceLedger - costAllocationEvidence - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-035 title: critical services have measurable SLOs, error budgets, alerts, and observability source: governance/policies/baseline-gates/service-reliability-slo-error-budget-observability.rego inputRefs: - serviceReliabilitySloErrorBudgetObservabilityLedger - operationalResilienceLedger - backupRestoreDisasterRecoveryLedger - incidentProblemCorrectiveActionLedger - incidentPostmortems - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-036 title: data product contracts, quality, lineage, consumers, and AI usage are governed source: governance/policies/baseline-gates/data-product-quality-contract-observability.rego inputRefs: - dataProductQualityContractObservabilityLedger - dataProductContracts - processingActivityInventoryLedger - privacyRightsConsentLedger - dataResidencyTransferLedger - recordsRetentionLegalHoldLedger - aiEvidenceLedger - incidentProblemCorrectiveActionLedger - evidenceTraceGraph - stateReconciliation - releaseEvidence result: pass blocking: true - id: BGE-037 title: engineering quality, test evidence, defects, and release verification are governed source: governance/policies/baseline-gates/engineering-quality-test-release-verification.rego inputRefs: - engineeringQualityTestReleaseVerificationLedger - releaseEvidence - evidenceTraceGraph - stateReconciliation - productionChangeReleaseLedger - incidentProblemCorrectiveActionLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - dataProductQualityContractObservabilityLedger - aiEvidenceLedger result: pass blocking: true - id: BGE-038 title: workforce competency, training, duty performance, and segregation are governed source: governance/policies/baseline-gates/workforce-competency-training-duty-segregation.rego inputRefs: - workforceCompetencyTrainingDutySegregationLedger - identityEntitlementAccessLedger - reviewBoardDecision - releaseEvidence - evidenceTraceGraph - stateReconciliation - productionChangeReleaseLedger - incidentProblemCorrectiveActionLedger - operationalResilienceLedger - aiEvidenceLedger result: pass blocking: true - id: BGE-039 title: business outcomes, value realization, and portfolio benefits are governed source: governance/policies/baseline-gates/business-outcome-value-realization.rego inputRefs: - businessOutcomeValueRealizationPortfolioLedger - adoptionLedger - productionChangeReleaseLedger - capacityPerformanceCostEfficiencyLedger - reviewBoardDecision - releaseEvidence - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-040 title: value streams, critical journeys, and end-to-end processes are governed source: governance/policies/baseline-gates/value-stream-journey-process.rego inputRefs: - valueStreamJourneyProcessLedger - businessOutcomeValueRealizationPortfolioLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - operationalResilienceLedger - dataProductQualityContractObservabilityLedger - productionChangeReleaseLedger - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-041 title: architecture views, runtime topology, and dependency impact are governed source: governance/policies/baseline-gates/architecture-view-runtime-topology-dependency.rego inputRefs: - architectureViewRuntimeTopologyDependencyLedger - valueStreamJourneyProcessLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - operationalResilienceLedger - productionChangeReleaseLedger - incidentProblemCorrectiveActionLedger - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-042 title: quality attributes, architecture drivers, and tradeoffs are governed source: governance/policies/baseline-gates/quality-attribute-architecture-driver-tradeoff.rego inputRefs: - qualityAttributeArchitectureDriverTradeoffLedger - businessOutcomeValueRealizationPortfolioLedger - valueStreamJourneyProcessLedger - architectureViewRuntimeTopologyDependencyLedger - serviceReliabilitySloErrorBudgetObservabilityLedger - capacityPerformanceCostEfficiencyLedger - threatModelAttackSurfaceRiskLedger - operationalResilienceLedger - architectureDecisionRecord - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-043 title: architecture principles, constraints, anti-patterns, and exceptions are governed source: governance/policies/baseline-gates/architecture-principle-constraint-exception.rego inputRefs: - architecturePrincipleConstraintExceptionLedger - standardsBaseline - controlPlane - releaseEvidence - qualityAttributeArchitectureDriverTradeoffLedger - architectureViewRuntimeTopologyDependencyLedger - threatModelAttackSurfaceRiskLedger - architectureDecisionRecord - exceptionLedger - riskRegister - evidenceTraceGraph - stateReconciliation result: pass blocking: true - id: BGE-044 title: version policy, release channels, compatibility, and freeze controls are governed source: governance/policies/baseline-gates/version-policy-release-control.rego inputRefs: - versionPolicyReleaseControlLedger - versionGovernance - releaseEvidence - publishTransaction - compatibilityLedger - supportMatrix - adoptionLedger - consumptionLock - migrationWorkOrder - migrationExecutionReceipt - revocationRecord - evidenceTraceGraph - stateReconciliation result: pass blocking: true replay: replayCommand: internal-command://architecture/check-modern-architecture-kit --replay governance/evidence/baselines/baseline-gate-execution-report.yaml replayedAt: 2026-06-02T18:45:00+08:00 replayResult: pass deterministic: true outputDigestMatches: true decisionBinding: releaseGateDecision: governance/control-plane/release-gate-decision.yaml releaseGateDecisionDigest: sha256: decisionMatchesExecution: true findings: blockingFailures: 0 nonBlockingWarnings: 0 exceptionsUsed: 0 decision: result: pass blockBaseline: false blockFrozen: false ``` 门禁执行状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `pass` | 所有阻断规则通过,且可重放 | 否 | | `fail` | 至少一条阻断规则失败 | 是 | | `conditional-pass` | 非阻断规则有条件放行,且已绑定动作、owner 和到期日 | 视阻断范围而定 | | `exception` | 依赖已批准例外放行 | 视例外等级而定 | | `break-glass` | 紧急放行,必须绑定事故、安全或合规编号 | 是,除紧急通道外 | | `not-run` | 未执行或缺少执行记录 | 是 | | `replay-failed` | 初次执行通过但重放失败 | 是 | | `expired` | 执行报告超过证据新鲜度要求 | 是 | 执行规则: 1. `baseline-gate-execution-report.yaml` 必须在 `release-gate-decision.yaml` 最终落盘前生成,并由门禁决策引用其摘要。 2. 所有阻断型控制项必须在 `ruleResults` 中出现;不能只记录总结果。 3. `execution.runnerImage`、`policyBundleDigest`、`schemaBundleDigest` 和 `verificationLock` 必须与 `baseline-verification-lock.yaml` 一致。 4. `inputs` 中每个摘要必须与发布证据包、基线版本策略、发布通道、兼容性与冻结控制总账、基线消费锁定文件、基线迁移工作单、基线迁移执行回执、本地私有制品边界、审计导出排除清单、私有制品托管交接清单、干净环境基线重建回执、基线证据不可变归档回执、基线长期验签回执、基线运行时准入回执、基线连续控制监测总账、基线独立控制保证抽样总账、基线共享责任与继承控制总账、基线数据驻留与跨境处理总账、基线第三方与关键供应商风险总账、基线运营韧性与重要业务服务影响容忍总账、基线漏洞、暴露面与修复验证总账、基线安全配置、加固姿态与配置漂移修复总账、基线架构原则、约束、反模式与例外执行总账、基线服务可靠性、SLO、错误预算与可观测性总账、基线监管与合规义务可追溯总账、基线密码材料、密钥、证书与秘密生命周期总账、基线资产关键性、数据分类与风险分级总账、基线身份权限、特权访问与工作负载身份总账、基线处理活动、个人数据清单与 RoPA 覆盖总账、基线隐私权利请求、同意偏好与合法基础执行总账、基线记录留存、法律保全与可防御删除总账、状态对账报告和证据追踪图中的摘要一致。 5. `exitCode` 非 0、任一阻断规则失败、输入摘要不一致、策略包漂移或重放失败时,`decision.result` 不得为 `pass`。 6. 任何 `exception`、`conditional-pass` 或 `break-glass` 必须引用例外总账、POA&M、风险接受或事故编号,并声明到期动作。 7. 基线进入 `baseline`、`frozen` 或 `eol` 前必须完成重放;重放结果必须进入状态对账、发布证据包、会审裁决和审计导出。 8. 门禁执行报告不得写入临时日志目录;必须作为基线证据进入版本控制、审计导出和长期留存。 可执行验收标准: 1. 任意 release gate 的通过、阻断、条件放行或 break-glass 都能找到对应执行报告。 2. 任意执行报告都能证明命令、runner、策略包、schema 包、输入摘要、版本策略与发布控制摘要、迁移执行回执摘要、本地私有制品边界摘要、审计导出排除清单摘要、私有制品托管交接摘要、干净环境重建摘要、证据不可变归档摘要、长期验签摘要、运行时准入摘要、连续控制监测摘要、独立控制保证抽样摘要、共享责任与继承控制摘要、数据驻留与跨境处理摘要、第三方与关键供应商风险摘要、架构原则与约束执行摘要、服务可靠性与可观测性摘要、密码材料与密钥证书生命周期摘要、资产关键性与分类摘要、身份权限与工作负载身份摘要、隐私权利与同意执行摘要、记录留存摘要、规则结果、退出码和最终决策一致。 3. 任意审计人员都能重放同一报告,并得到与初次执行一致的结果。 4. 任意规则失败都能定位到规则 ID、策略来源、输入引用、阻断属性和整改路径。 5. 任意最终决策为 `pass` 的基线都不能存在未运行、未重放或摘要不一致的阻断规则。 ### 10.10.26.1 基线门禁负例测试套件 `baseline-gate-negative-test-suite.yaml` 是 V2.97 起新增的 fail-closed 证明。它不替代门禁执行报告,而是要求企业把坏样例、故障注入、预期失败规则和实际拒绝证据一起纳入基线,证明门禁不是只会放行好样例。 ```yaml baselineGateNegativeTestSuite: suiteId: bgnts-20260603-mea-v297 baselineId: mea-v2.97-20260603 documentVersion: V2.97 owner: governance-platform generatedAt: 2026-06-03T20:20:00+08:00 verificationLock: governance/evidence/verification/baseline-verification-lock.yaml policyBundle: path: governance/policies/baseline-gates/bundle.tar.gz digest: sha256: requiredCoverage: gates: - starter-schema-gate - release-gate - audit-export-gate - runtime-admission-gate - lifecycle-state-transition-gate negativeCategories: - missing-required-evidence - stale-evidence - assurance-below-threshold - digest-drift - unsigned-artifact - expired-exception - private-artifact-leaked - revoked-baseline-consumed testCases: - id: neg-evidence-assurance-rejected gate: release-gate category: assurance-below-threshold fixture: governance/tests/negative/evidence-assurance-rejected.yaml expectedFailureRule: baseline.gates.evidence_assurance.minimum_level expectedDecision: deny actualDecision: deny actualExitCode: 1 failureLogDigest: sha256: replayCommand: internal-command://architecture/check-modern-architecture-kit --fixture governance/tests/negative/evidence-assurance-rejected.yaml regressionOwner: governance-platform lastReplayedAt: 2026-06-03T20:25:00+08:00 - id: neg-private-artifact-in-audit-export gate: audit-export-gate category: private-artifact-leaked fixture: governance/tests/negative/private-artifact-in-audit-export.yaml expectedFailureRule: baseline.audit_export.exclusion.private_payload expectedDecision: deny actualDecision: deny actualExitCode: 1 failureLogDigest: sha256: replayCommand: internal-command://architecture/check-modern-architecture-audit-export --fixture governance/tests/negative/private-artifact-in-audit-export.yaml regressionOwner: audit-platform lastReplayedAt: 2026-06-03T20:26:00+08:00 - id: neg-unsigned-runtime-image gate: runtime-admission-gate category: unsigned-artifact fixture: governance/tests/negative/unsigned-runtime-image-admission-review.yaml expectedFailureRule: baseline.runtime_admission.signature.required expectedDecision: deny actualDecision: deny actualExitCode: 1 failureLogDigest: sha256: replayCommand: internal-command://architecture/replay-runtime-admission --fixture governance/tests/negative/unsigned-runtime-image-admission-review.yaml regressionOwner: sre-platform lastReplayedAt: 2026-06-03T20:27:00+08:00 summary: totalCases: 3 expectedDenyCases: 3 actualDenyCases: 3 unexpectedAllows: 0 staleCases: 0 result: pass downstreamConsumers: - baseline-gate-execution-report.yaml - release-gate-decision.yaml - baseline-review-board-decision.yaml - audit-export-manifest.yaml - baseline-lifecycle-state-machine.yaml ``` 执行规则: 1. 每个 critical gate 至少保留一个负例;L3 / L4、baseline 和 frozen 必须覆盖 release、starter、audit export、runtime admission 与 state transition 五类门禁。 2. 每个负例必须同时声明 `expectedDecision` 和 `actualDecision`;如果实际结果不是 deny/fail,当前基线只能停留在 candidate 或进入 quarantined。 3. 负例 fixture 必须进入制品清单或私有制品边界;本地私有 fixture 只能保留摘要、取回入口和排除证明,不能进入公开远端。 4. 负例测试必须能与 `baseline-gate-execution-report.yaml` 同源重放,策略包、schema 包、runner 和验证锁摘要必须一致。 5. 会审裁决和审计导出必须消费负例套件摘要;不能只引用 release gate pass 结果。 ### 10.10.26.2 AI 系统监管分类与影响评估总账 `baseline-ai-system-regulatory-impact-ledger.yaml` 是 V2.98 起新增的 AI 合规分类证明。它不替代 `ai-product.yaml`、 `ai-evidence.yaml`、DPIA、监管义务总账或风险登记;它负责把每个 AI 系统的监管身份、风险分类、生命周期义务和 发布阻断条件统一成一份可审计总账,避免高风险 AI 只靠“风险等级字段”或模型卡片被放行。 ```yaml baselineAiSystemRegulatoryImpactLedger: ledgerId: basr-20260603-mea-v298 baselineId: mea-v2.98-20260603 documentVersion: V2.98 owner: ai-governance generatedAt: 2026-06-03T21:10:00+08:00 scope: assets: - catalog/ai-products/customer-service-agent.yaml - catalog/models/support-answer-style-v3/model-card.md - governance/evidence/ai/ai-evidence.yaml jurisdictions: - EU - US - CN lifecycleStages: - design - training - evaluation - deployment - monitoring - retirement systems: - systemId: customer-service-agent aiProduct: customer-service-agent deploymentRole: deployer provider: internal-ai-platform purpose: customer support answer drafting with human review userImpact: customer-facing-assisted-decision regulatoryClassification: prohibitedUse: false highRisk: false generalPurposeAiDependency: true classificationBasis: - NIST AI RMF Govern Map Measure Manage - EU AI Act limited-risk transparency and logging review - ISO/IEC 42001 AI management system control mapping requiredControls: riskManagement: governance/ai-risk/customer-service-agent-risk.md dataGovernance: governance/data-products/customer-service-agent-data-quality.md technicalDocumentation: governance/ai-docs/customer-service-agent-system-card.md logging: observability/genai/customer-service-agent-logging-policy.yaml transparencyNotice: governance/legal/customer-service-agent-ai-disclosure.md humanOversight: governance/ai-controls/customer-service-agent-human-oversight.yaml accuracyRobustnessCybersecurity: governance/ai-evals/customer-service-agent-eval-report.md postMarketMonitoring: governance/ai-monitoring/customer-service-agent-post-market-monitoring.yaml supplierResponsibility: modelProvider: model-provider-x contract: contracts/vendors/model-provider-x-ai-terms.pdf assuranceReport: governance/third-party/model-provider-x-assurance.md fallbackProvider: model-provider-y gaps: - gapId: ai-transparency-notice-refresh severity: low owner: ai-governance dueDate: 2026-06-30 status: closed gateDecision: result: pass blocking: false reason: required classification, logging, human oversight, documentation and monitoring evidence are present rollups: totalSystems: 1 highRiskSystems: 0 prohibitedUseSystems: 0 openBlockingGaps: 0 systemsWithoutHumanOversight: 0 systemsWithoutPostMarketMonitoring: 0 downstreamConsumers: - ai-evidence.yaml - baseline-regulatory-obligation-ledger.yaml - privacy-impact-assessment.yaml - risk-register.yaml - baseline-review-board-decision.yaml - release-gate-decision.yaml ``` 执行规则: 1. 每个生产 AI 产品、Agent、RAG、微调模型、模型供应商接入和自动化决策流程都必须有一条系统记录。 2. `regulatoryClassification` 必须声明是否触及禁止用途、高风险用途、通用目的 AI 依赖、透明度义务和适用司法辖区;不能只写内部风险等级。 3. 高风险 AI 必须绑定风险管理、数据治理、技术文档、日志、人工监督、准确性/鲁棒性/网络安全、后市场监测和供应商责任证据。 4. 涉及个人数据、自动化决策、客户影响或受监管业务的 AI 系统,必须能追溯到 DPIA、处理活动总账、隐私权利总账和监管义务总账。 5. 任一禁止用途为 true、关键分类未知、人工监督缺失、日志缺失、技术文档缺失、后市场监测缺失或阻断型 gap 未关闭时,release gate、baseline 晋级和 frozen 晋级必须 fail-closed。 ### 10.10.27 基线发布事务回执 `baseline-publish-transaction.yaml` 是基线真正发布到远端后的事务回执。它不替代 Git、tag、release gate 或发布证据包; 它负责把提交前状态、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证绑定成同一个 不可变事实,避免“文档已经声明 baseline,但远端没有对应发布事实”的治理空洞。 ```yaml baselinePublishTransaction: transactionId: bpt-20260602-mea-v253-candidate baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: release-engineering startedAt: 2026-06-02T19:10:00+08:00 completedAt: 2026-06-02T19:20:00+08:00 preflight: branch: develop upstream: origin/develop worktreeCleanBeforeCommit: true forbiddenLocalAssetsTracked: false requiredChecks: - command: make sync-doc-toc result: pass - command: make test result: pass - command: git diff --check result: pass commit: sourceCommit: parentCommit: commitSigned: true author: architecture-document-owner committedFiles: - docs/references/modern-enterprise-architecture-template.md - docs/README.md - docs/references/README.md tag: name: architecture/v2.53-candidate targetCommit: signed: true signatureVerified: true immutable: true remote: name: origin protectedBranch: develop branchRef: refs/heads/develop branchRefBefore: branchRefAfter: tagRef: refs/tags/architecture/v2.53-candidate pushResult: pass remoteRefVerified: true protection: branchProtectionVerified: true requiredChecksEnforced: true directPushAllowed: false tagProtectionVerified: true forbiddenAssets: boundaryEvidence: governance/evidence/baselines/baseline-local-artifact-boundary.yaml boundaryEvidenceDigest: sha256: auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml auditExportExclusionManifestDigest: sha256: privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml privateArtifactEscrowManifestDigest: sha256: cleanRoomReconstructionReceipt: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml cleanRoomReconstructionReceiptDigest: sha256: evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml evidenceArchiveReceiptDigest: sha256: signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml signatureLtvReceiptDigest: sha256: runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml runtimeAdmissionReceiptDigest: sha256: declaredLocalOnlyArtifacts: 7 escrowedLocalOnlyArtifacts: 7 privateEscrowRestoreFailures: 0 trackedInHead: false trackedInOriginDevelop: false trackedInOriginMaster: false ignoredOnly: true auditExportRawInclusions: 0 signaturePayloadRawInclusions: 0 postPublishVerification: commands: - git ls-remote --heads origin develop - git ls-remote --tags origin architecture/v2.53-candidate - make test - internal-command://architecture/check-modern-architecture-kit --clean-room-reconstruct governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml - internal-command://architecture/check-modern-architecture-kit --check-evidence-archive governance/evidence/baselines/baseline-evidence-archive-receipt.yaml - internal-command://architecture/check-modern-architecture-kit --check-signature-ltv governance/evidence/baselines/baseline-signature-ltv-receipt.yaml - internal-command://architecture/check-modern-architecture-kit --check-runtime-admission governance/evidence/baselines/baseline-runtime-admission-receipt.yaml result: pass decision: result: published blockBaseline: false ``` 发布事务状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `pending` | 事务尚未完成或等待远端验证 | 是 | | `published` | commit、tag、远端 ref、push 回执和发布后验证一致 | 否 | | `rejected` | 发布事务被人工或策略拒绝 | 是 | | `push-failed` | push 未成功或无法确认远端写入 | 是 | | `remote-mismatch` | 远端 branch/tag ref 与本地 source commit 不一致 | 是 | | `dirty-worktree` | 提交或发布前工作树存在未解释变更 | 是 | | `unsigned-tag` | 发布 tag 未签名或验签失败 | 是 | | `protection-missing` | 受保护分支、必需检查或 tag 保护缺失 | 是 | | `forbidden-assets-published` | 禁推本地资产进入 `HEAD` 或远端树 | 是 | | `post-verify-failed` | 发布后 `ls-remote`、门禁重跑或回执校验失败 | 是 | 执行规则: 1. `baseline-publish-transaction.yaml` 必须在 commit、tag、push 和远端验证后生成,并在基线标记为 `baseline` 或 `frozen` 前进入证据链。 2. `baselineId`、`documentVersion`、`commit.sourceCommit` 和 `tag.name` 必须与 `version-governance.yaml`、发布证据包和证据追踪图一致。 3. 发布前必须证明工作树干净、只包含允许提交的文件、禁推本地资产已经进入 `baseline-local-artifact-boundary.yaml`、`audit-export-exclusion-manifest.yaml`、`private-artifact-escrow-manifest.yaml`、`baseline-clean-room-reconstruction-receipt.yaml` 和 `baseline-evidence-archive-receipt.yaml`,且没有进入 `HEAD`、`origin/develop` 或 `origin/master`。 4. 生产级基线必须使用签名 tag;tag 目标 commit 必须等于 `commit.sourceCommit`,远端 tag ref 必须与本地 tag 一致。 5. 远端 branch ref 必须包含或等于 `commit.sourceCommit`;具体策略由仓库拓扑决定,但不能只依赖本地 commit。 6. 受保护分支、必需检查、禁止直推和 tag 保护必须被验证;无法验证时必须转入风险接受或阻断晋级。 7. 发布后必须至少验证远端 branch ref、远端 tag ref、核心门禁结果、干净环境重建结果、证据不可变归档结果、长期验签结果和运行时准入拒绝样例;任一失败都不得把 `decision.result` 置为 `published`。 8. 发布事务回执必须进入发布证据包、状态对账报告、证据追踪图、会审裁决、干净环境基线重建回执、基线证据不可变归档回执、基线长期验签回执、基线运行时准入回执和审计导出包,不能只作为发布日志留存在 CI 中。 可执行验收标准: 1. 任意 baseline 或 frozen 基线都能找到一份发布事务回执,证明源 commit、签名 tag、远端 ref、push 回执和发布后验证一致。 2. 任意审计人员都能判断本地-only 资产是否进入远端;若出现禁推资产,基线发布必须被阻断或撤销。 3. 任意发布失败都能定位到 preflight、commit、tag、remote、protection、forbiddenAssets 或 postPublishVerification 的具体阶段。 4. 任意远端保护规则漂移都能进入 release gate 阻断、POA&M 或风险接受,不能靠人工口头确认放行。 5. 任意版本声明为已发布时,都能用 `git ls-remote`、tag 验签和门禁重放证实该声明不是本地文档状态。 6. 任意禁推本地资产都能从发布事务回执反查到本地私有制品边界摘要、审计导出排除清单摘要、私有制品托管交接摘要、干净环境重建摘要、证据不可变归档摘要、长期验签摘要和运行时准入摘要,证明它是受控私有制品而不是漏提交文件,也没有进入审计导出原文或签名 payload。 ### 10.10.28 基线撤销与隔离记录 `baseline-revocation-record.yaml` 是已发布基线发生严重发布错误后的撤销与隔离证据。它不替代回滚验证、事故复盘或风险登记; 它负责证明坏基线已经被隔离、撤销或恢复,并且受影响引用、通知对象、恢复目标、风险接受、状态回写和审计归档都闭环。 ```yaml baselineRevocationRecord: revocationId: brr-20260602-mea-v253-001 baselineId: mea-v2.53-20260602 documentVersion: V2.53 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.53-candidate publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml quarantine: required: false startedAt: null blockedNewAdoption: false blockedReleaseGate: false blockedGitopsPromotion: false blockedPlatformScaffolds: false blockedCatalogRegistration: false blockedRuntimeAdmission: 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 enforcementPolicyUpdated: true supportMatrixUpdated: true adoptionLedgerUpdated: true releaseTrainPaused: false auditExportManifestUpdated: true evidenceRetention: archived: true archiveLocation: governance/archive/baselines/mea-v2.53-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` 前,必须阻断新采用、release gate、GitOps 晋级、runtime admission、平台脚手架和 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. 任意已隔离或已撤销基线都能证明新采用、release gate、GitOps 晋级、runtime admission、平台脚手架和 catalog 注册已阻断,受影响引用已盘点,owner 已通知,恢复目标已验证。 3. 任意撤销恢复都能证明它不是改旧 tag 或口头恢复,而是通过回滚验证、替代基线、会审裁决和状态回写完成。 4. 任意审计人员都能从撤销记录追到发布事务、发布证据、状态对账、通知确认、风险接受和审计归档。 5. 任意签名泄露、证据污染或禁推资产误入远端都不能只靠删除文件解决;必须留下撤销与隔离记录。 ### 10.10.29 基线准入执行策略 `baseline-enforcement-policy.yaml` 是版本基线进入运行入口前的统一准入策略。它不替代支持矩阵、采纳总账、 资产符合性声明、消费锁、迁移工作单、撤销记录或例外总账;它负责把这些账本翻译成 release gate、GitOps、catalog、平台脚手架、 Developer Portal 和运行准入可以执行的阻断规则。 ```yaml baselineEnforcementPolicy: policyId: bep-20260602-mea-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: governance-platform policyEngine: primary: OPA supported: - OPA - Cedar - Kyverno bundleRef: governance/policies/baseline-enforcement/bundle.tar.gz bundleDigest: sha256: inputs: versionGovernance: governance/control-plane/version-governance.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml conformanceClaims: governance/evidence/conformance/baseline-conformance-claim.yaml consumptionLocks: governance/evidence/conformance/baseline-consumption-lock.yaml migrationWorkOrders: governance/evidence/migrations/baseline-migration-work-order.yaml migrationExecutionReceipts: governance/evidence/migrations/baseline-migration-execution-receipt.yaml exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml revocationRecord: governance/evidence/baselines/baseline-revocation-record.yaml eolRetirementCertificate: governance/evidence/baselines/baseline-eol-retirement-certificate.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml scope: admissionPoints: - release-gate - gitops-promotion - catalog-registration - platform-golden-path-scaffold - developer-portal-template - runtime-admission assetTypes: - domain - service - data-product - ai-product - platform-capability - gitops-environment rules: - id: baseline-minimum-version blocking: true effect: deny condition: asset.baseline < supportMatrix.minimumAcceptedBaselines[asset.gateLevel] exceptionAllowed: true - id: baseline-support-state blocking: true effect: deny condition: baseline.supportState in ["security-only", "superseded", "eol"] and request.type in ["new-project", "new-adoption", "promotion"] exceptionAllowed: false - id: baseline-revoked-or-quarantined blocking: true effect: deny condition: revocationRecord.currentDisposition in ["quarantine-required", "quarantined", "revoked"] exceptionAllowed: false - id: baseline-eol-runtime blocking: true effect: deny condition: baseline.supportState == "eol" and request.type in ["deploy", "promote", "register", "scaffold"] exceptionAllowed: false - id: conformance-claim-required blocking: true effect: deny condition: asset.gateLevel in ["L3", "L4"] and asset.conformanceClaim.status != "signed" exceptionAllowed: true - id: baseline-consumption-lock-required blocking: true effect: deny condition: asset.gateLevel in ["L3", "L4"] and (asset.consumptionLock.status != "locked" or asset.consumptionLock.releaseTag is null or asset.consumptionLock.evidenceTraceGraphDigest is null) exceptionAllowed: false - id: baseline-migration-work-order-required blocking: true effect: deny condition: asset.gateLevel in ["L3", "L4"] and adoptionLedger.targetBaseline != asset.currentBaseline and migrationWorkOrder.status != "completed" exceptionAllowed: true - id: baseline-migration-execution-receipt-required blocking: true effect: deny condition: asset.gateLevel in ["L3", "L4"] and adoptionLedger.targetBaseline != asset.currentBaseline and (migrationExecutionReceipt.status != "accepted" or migrationExecutionReceipt.beforeAfterDigestsMatch != true or migrationExecutionReceipt.rollbackVerified != true) exceptionAllowed: false - id: floating-baseline-reference blocking: true effect: deny condition: asset.baseline matches "^V[0-9]+\\.[0-9]+$" and asset.consumptionLock.baselineId is null exceptionAllowed: false - id: exception-expiry blocking: true effect: deny condition: exception.status == "expired" or exception.riskAcceptanceMissing == true exceptionAllowed: false decisions: - requestId: gitops-prod-order-service-20260602 asset: service:order-command admissionPoint: gitops-promotion requestedBaseline: V2.53 gateLevel: L3 result: allow evaluatedRules: deny: 0 warn: 1 evidence: supportMatrixDigest: sha256: conformanceClaimDigest: sha256: consumptionLockDigest: sha256: migrationWorkOrderDigest: sha256: migrationExecutionReceiptDigest: sha256: exceptionLedgerDigest: sha256: decisionLoggedAt: 2026-06-02T21:00:00+08:00 - requestId: catalog-legacy-billing-20260602 asset: service:legacy-billing-adapter admissionPoint: catalog-registration requestedBaseline: V2.33 gateLevel: L4 result: deny deniedBy: - baseline-minimum-version remediation: targetBaseline: V2.53 exceptionPath: governance/evidence/exceptions/baseline-exception-ledger.yaml poam: governance/evidence/poam/legacy-billing-adapter-poam.yaml writeBack: releaseGateDecisionUpdated: true gateExecutionReportUpdated: true adoptionLedgerUpdated: true migrationWorkOrderUpdated: true migrationExecutionReceiptUpdated: true stateReconciliationUpdated: true runtimeAdmissionReceiptUpdated: true auditExportManifestUpdated: true gates: blockIfPolicyBundleMissing: true blockIfDecisionNotLogged: true blockIfUnsupportedBaselineAllowed: true blockIfRevokedOrEolBaselineAllowed: true blockIfRequiredMigrationWorkOrderMissing: true blockIfRequiredMigrationExecutionReceiptMissing: true blockIfExpiredExceptionAllowed: true ``` 准入决策结果只能使用以下值: | 结果 | 含义 | 是否允许继续 | | ---- | ---- | ------------ | | `allow` | 所有阻断规则通过 | 是 | | `warn` | 仅非阻断规则触发,必须记录改进动作 | 是 | | `conditional-allow` | 有未过期例外、POA&M 或风险接受 | 视到期日而定 | | `deny` | 至少一条阻断规则命中 | 否 | | `break-glass` | 紧急放行,必须有事件编号、到期和事后复核 | 短期允许 | 执行规则: 1. 所有 L3 / L4 生产资产的发布、GitOps 晋级、catalog 注册和平台脚手架创建必须执行 `baseline-enforcement-policy.yaml`。 2. 支持矩阵中低于最低可接受基线、`eol`、`security-only` 或 `superseded` 且不允许新采用的基线,不得被新项目、模板或 GitOps 晋级使用。 3. 撤销记录处于 `quarantine-required`、`quarantined` 或 `revoked` 时,不得通过例外恢复新采用;只能走恢复裁决、替代基线或回滚验证。 4. 资产符合性声明缺失、过期或未签署时,L3 / L4 资产不得进入 `baseline`、`frozen` 或生产 GitOps 晋级。 5. 资产消费锁缺失、过期、摘要与发布证据不一致或只声明浮动版本时,L3 / L4 资产不得进入 `baseline`、`frozen` 或生产 GitOps 晋级。 6. 采纳总账要求迁移但迁移工作单缺失、过期、阻塞、无验收证据、未更新消费锁,或迁移执行回执缺失、未接受、before/after 摘要不一致、回滚未验证时,L3 / L4 资产不得被标记为已采用或进入生产晋级。 7. 例外只能影响允许例外的规则;过期例外、无风险接受例外、无 POA&M 例外必须被阻断。 8. 策略执行必须记录决策 ID、输入摘要、命中规则、结果、整改路径和写回对象,不能只在 CI 日志中输出自然语言。 9. 策略语言可以使用 OPA、Cedar 或 Kyverno,但同一企业基线必须声明主策略引擎和 bundle 摘要,避免团队各写一套不可比较的规则。 10. 生产 `runtime-admission` 不是 release gate 的别名;必须由 Kubernetes admission、Kyverno、Sigstore Policy Controller、OPA Gatekeeper 或等价受控入口生成独立执行回执。 可执行验收标准: 1. 任意生产发布都能证明它经过了基线准入执行策略,而不是只看支持矩阵或采纳总账。 2. 任意低于最低可接受基线的 L3 / L4 资产都会被阻断,除非存在未过期、可审计、允许例外的策略路径。 3. 任意撤销、隔离或 EOL 基线都不能被新项目、GitOps 晋级、catalog 注册或平台脚手架继续采用。 4. 任意策略放行都能追到输入账本摘要、策略 bundle 摘要、命中规则、决策记录和 release gate 写回。 5. 任意 L3 / L4 资产的准入都能证明消费锁没有过期,且锁定的证据摘要与发布证据包一致。 6. 任意 L3 / L4 资产迁移准入都能证明迁移工作单已经完成、迁移执行回执已接受、消费锁已更新、GitOps / catalog 指针已更新、before/after 摘要一致且回滚动作已验证。 7. 任意 `break-glass` 都必须进入例外总账、风险登记、POA&M、事故复盘或会审裁决,且有明确到期和回收动作。 8. 任意生产命名空间都能证明运行时准入策略已启用,并对未签名镜像、可变 tag、provenance 不匹配、SBOM 缺失、撤销/EOL 基线和过期例外产生可复核拒绝记录。 ### 10.10.30 基线消费锁定文件 `baseline-consumption-lock.yaml` 是资产仓库本地的基线锁文件。它不替代 `baseline-conformance-claim.yaml`; 符合性声明回答“资产是否符合”,消费锁回答“资产到底消费了哪一个不可变基线事实”。没有消费锁时, `V2.53` 这种版本字符串仍然可能变成浮动引用,导致项目在不同时间拿到不同证据、不同策略包或不同 catalog 指针。 ```yaml baselineConsumptionLock: lockId: bclo-20260602-order-command-service-v253 asset: id: service:order-command-service type: service domain: order owner: team-order sourceRoot: domains/order/services/order-command-service catalogRef: catalog/components/order-command-service.yaml gitopsRef: infra/gitops/environments/prod/order/order-command-service/kustomization.yaml lockedBaseline: documentVersion: V2.53 baselineId: mea-v2.53-20260602 releaseChannel: candidate sourceCommit: releaseTag: architecture/v2.53-candidate tagSignatureVerified: true releaseEvidenceDigest: sha256: evidenceTraceGraphDigest: sha256: artifactInventoryDigest: sha256: verificationLockDigest: sha256: enforcementPolicyDigest: sha256: supportMatrixDigest: sha256: localEvidence: conformanceClaim: governance/evidence/conformance/baseline-conformance-claim.yaml releaseGateDecision: governance/control-plane/release-gate-decision.yaml catalogComponent: catalog/components/order-command-service.yaml gitopsOverlay: infra/gitops/environments/prod/order/order-command-service/kustomization.yaml controlAssessment: governance/evidence/control-assessments/order-command-service-v253.yaml lockState: status: locked lockedAt: 2026-06-02T22:10:00+08:00 expiresAt: 2026-09-02T23:59:59+08:00 lockedBy: - team-order-tech-lead - platform-governance-reviewer reason: baseline-upgrade verification: noFloatingVersionReference: true sourceCommitMatchesReleaseEvidence: true releaseTagMatchesVersionGovernance: true evidenceTraceGraphDigestMatchesReleaseEvidence: true artifactInventoryDigestMatchesReleaseEvidence: true verificationLockDigestMatchesReleaseEvidence: true enforcementPolicyDigestMatchesReleaseEvidence: true catalogRuntimePointerMatchesLock: true gitopsBaselineAnnotationMatchesLock: true rollup: adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml conformanceClaim: governance/evidence/conformance/baseline-conformance-claim.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml lastReconciledAt: 2026-06-02T22:20:00+08:00 gates: blockIfFloatingVersionReference: true blockIfDigestMismatch: true blockIfLockExpired: true blockIfUnsignedTag: true blockIfCatalogOrGitopsDrift: true ``` 消费锁状态只能使用以下值: | 状态 | 含义 | 是否允许生产准入 | | ---- | ---- | ---------------- | | `locked` | 已锁定不可变基线事实,且摘要一致 | 是 | | `pending` | 锁文件已生成但等待签署或 rollup 回写 | 否 | | `drifted` | catalog、GitOps、发布证据或本地声明与锁摘要不一致 | 否 | | `expired` | 锁文件超过复核有效期 | 否 | | `revoked` | 锁定基线已撤销或隔离 | 否 | | `superseded` | 资产已转向新锁,旧锁只保留审计归档 | 否 | 执行规则: 1. L3 / L4 资产不得只声明 `claimedBaseline.version`;必须生成 `baseline-consumption-lock.yaml` 并锁定 `baselineId`、`sourceCommit`、`releaseTag` 和关键证据摘要。 2. 消费锁必须位于资产仓库或资产治理证据目录中,并进入 catalog、GitOps overlay、符合性声明和采纳总账的引用链。 3. `sourceCommit`、`releaseTag`、证据追踪图摘要、制品清单摘要、验证锁摘要和准入策略摘要必须与 `baseline-release-evidence.yaml` 一致。 4. 消费锁不得使用 `latest`、分支名、未签名 tag、浮动 `V2.x` 或未带摘要的远程 URL 作为基线事实。 5. 锁文件过期、摘要漂移、catalog/GitOps 指针漂移或签署缺失时,`baseline-enforcement-policy.yaml` 必须阻断生产准入。 6. 资产迁移到新基线时必须生成新锁,旧锁只能进入 `superseded` 或审计归档,不得原地改写历史摘要。 可执行验收标准: 1. 任意 L3 / L4 生产资产都能在本地或治理证据目录中找到未过期的消费锁。 2. 任意消费锁都能证明它锁定的是一个具体 baseline ID、source commit、release tag 和一组关键证据摘要,而不是浮动版本字符串。 3. 任意消费锁都能回写采纳总账、符合性声明、catalog 和 GitOps 指针,形成双向追踪。 4. 任意锁摘要漂移都会被 release gate、GitOps 晋级、catalog 注册或 runtime admission 阻断。 5. 任意审计人员都能从资产消费锁反向追到版本控制面、发布证据包、证据追踪图、制品清单、验证环境锁和准入策略。 ### 10.10.31 基线迁移工作单 `baseline-migration-work-order.yaml` 是逐资产执行迁移的工单。它不替代采纳总账、兼容性总账或消费锁; 采纳总账回答“谁应该迁移”,兼容性总账回答“迁移影响谁”,消费锁回答“迁移后锁到哪条基线”,迁移工作单回答 “谁在什么时间做了哪些动作、变更了哪些仓库指针、用什么证据证明迁移完成、失败时如何回滚”。 ```yaml baselineMigrationWorkOrder: workOrderId: bmwo-20260602-order-command-service-v253 baselineId: mea-v2.53-20260602 documentVersion: V2.53 owner: team-order requestedBy: architecture-governance-board createdAt: 2026-06-02T22:20:00+08:00 dueAt: 2026-07-15T23:59:59+08:00 asset: id: service:order-command-service type: service domain: order currentBaseline: V2.52 targetBaseline: V2.53 conformanceProfile: standard-prod gateLevel: L3 sourceRoot: domains/order/services/order-command-service catalogRef: catalog/components/order-command-service.yaml gitopsRef: infra/gitops/environments/prod/order/order-command-service/kustomization.yaml sourceLedgers: adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml compatibilityLedger: governance/evidence/compatibility/baseline-compatibility-ledger.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml conformanceClaim: governance/evidence/conformance/baseline-conformance-claim.yaml currentConsumptionLock: governance/evidence/conformance/baseline-consumption-lock-v252.yaml targetReleaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml migrationScope: requiredChanges: - update-service-contract-required-fields - update-catalog-baseline-pointer - update-gitops-baseline-annotation - regenerate-consumption-lock impactedConsumers: - customer-service-workbench breakingChange: false outageRequired: false maintenanceWindow: none prerequisites: - id: pre-001 check: target baseline is active or candidate evidence: governance/evidence/support/baseline-support-matrix.yaml status: pass - id: pre-002 check: compatibility ledger has no blocking unknown consumer evidence: governance/evidence/compatibility/baseline-compatibility-ledger.yaml status: pass - id: pre-003 check: target release evidence and evidence graph digests are available evidence: governance/evidence/baselines/baseline-release-evidence.yaml status: pass executionPlan: steps: - id: step-001 action: update baseline conformance claim target owner: team-order path: governance/evidence/conformance/order-command-service-baseline-claim.yaml expectedEvidence: sha256: status: completed - id: step-002 action: regenerate target consumption lock owner: team-order path: governance/evidence/conformance/baseline-consumption-lock.yaml expectedEvidence: sha256: status: completed - id: step-003 action: update catalog baseline pointer owner: team-order path: catalog/components/order-command-service.yaml expectedEvidence: sha256: status: completed - id: step-004 action: update GitOps baseline annotation owner: sre-team path: infra/gitops/environments/prod/order/order-command-service/kustomization.yaml expectedEvidence: sha256: status: completed verification: executionReceipt: governance/evidence/migrations/baseline-migration-execution-receipt.yaml commands: - internal-command://architecture/check-modern-architecture-kit --asset service:order-command-service - git diff --check - make test results: releaseGate: pass gitopsDiff: pass catalogSync: pass consumptionLockDigestMatchesReleaseEvidence: true adoptionLedgerUpdated: true rollback: rollbackRequired: false previousBaseline: V2.52 previousConsumptionLock: governance/evidence/conformance/baseline-consumption-lock-v252.yaml rollbackGitopsRevision: rollbackCommand: git revert smokeTest: internal-command://architecture/check-modern-architecture-kit --asset service:order-command-service --baseline V2.52 writeBack: adoptionLedgerTargetStatus: adopted conformanceClaimUpdated: true consumptionLockSupersedesPrevious: true migrationExecutionReceiptAccepted: true stateReconciliationUpdated: true evidenceTraceGraphUpdated: true auditExportManifestUpdated: true decision: status: completed completedAt: 2026-06-02T23:00:00+08:00 approvedBy: architecture-governance-board decisionRef: governance/control-plane/release-gate-decision.yaml ``` 迁移工作单状态只能使用以下值。工作单状态表达计划闭环,不能替代执行回执;`completed` 只有在执行回执 进入 `accepted` 后才允许被采纳总账视为已完成迁移。 | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `planned` | 已生成工单但未执行 | 视截止日期和资产等级而定 | | `in-progress` | 正在执行,有 owner、步骤和证据 | 视截止日期和阻断项而定 | | `blocked` | 依赖、兼容性或资源阻塞 | 是 | | `completed` | 所有步骤完成、证据回写且执行回执已接受 | 否 | | `rolled-back` | 已按回滚动作恢复上一基线 | 否,但必须复盘 | | `expired` | 超过截止日期仍未完成 | L3 / L4 阻断 | | `cancelled` | 经审批取消,必须说明不再适用原因 | 视原因而定 | 执行规则: 1. 采纳总账中 L3 / L4 资产从旧基线迁移到新基线时,必须生成 `baseline-migration-work-order.yaml`。 2. 工作单必须绑定资产、当前基线、目标基线、owner、截止日期、采纳总账、兼容性总账、消费锁和 GitOps / catalog 指针。 3. 每个执行步骤必须有路径、owner、预期证据和状态;不能只写“升级到新基线”这种自然语言动作。 4. 迁移完成前,必须生成新的 `baseline-consumption-lock.yaml`,并把旧锁标记为 `superseded` 或审计归档。 5. 工作单必须声明回滚动作,包括上一基线、上一消费锁、GitOps revision、回滚命令和最小烟测。 6. 工作单完成后必须回写采纳总账、符合性声明、迁移执行回执、状态对账报告、证据追踪图和审计导出清单。 7. 工作单不能自证完成;`decision.status=completed` 必须引用 `baseline-migration-execution-receipt.yaml`,并证明执行命令、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证已经落盘。 8. 过期、阻塞、缺少验收证据或缺少已接受执行回执的 L3 / L4 迁移不得被采纳总账标记为 `adopted`。 可执行验收标准: 1. 任意 L3 / L4 资产从旧基线迁移到新基线时,都能找到一份对应迁移工作单。 2. 任意迁移工作单都能证明执行步骤、证据路径、GitOps 变更、catalog 变更、消费锁更新和回滚动作。 3. 任意标记为 `completed` 的迁移都必须能从工作单追到新的消费锁、迁移执行回执、采纳总账回写、状态对账和审计导出。 4. 任意迁移失败都能按工作单回滚到上一基线、上一消费锁和上一 GitOps revision。 5. 任意审计人员都能判断迁移是否过期、阻塞、完成、已回滚或已取消,而不是只看采纳总账的最终状态。 ### 10.10.32 基线迁移执行回执 `baseline-migration-execution-receipt.yaml` 是逐资产迁移的执行事实回执。它不替代 `baseline-migration-work-order.yaml`; 工作单回答“计划做什么”,执行回执回答“实际由谁、在哪个环境、用哪些命令做过,执行前后摘要是否吻合,失败时能否回滚”。 没有执行回执时,`completed` 只是流程状态,不是可审计事实。 ```yaml baselineMigrationExecutionReceipt: receiptId: bmer-20260602-order-command-service-v257 workOrder: governance/evidence/migrations/baseline-migration-work-order.yaml workOrderId: bmwo-20260602-order-command-service-v257 baselineId: mea-v2.57-20260602 documentVersion: V2.57 owner: team-order asset: id: service:order-command-service type: service domain: order currentBaseline: V2.56 targetBaseline: V2.57 gateLevel: L3 sourceRoot: domains/order/services/order-command-service catalogRef: catalog/components/order-command-service.yaml gitopsRef: infra/gitops/environments/prod/order/order-command-service/kustomization.yaml executionContext: runnerImage: ghcr.io/company/baseline-migration-runner@sha256: executedBy: team-order-release-bot approvedBy: - team-order-tech-lead - architecture-governance-board startedAt: 2026-06-02T23:10:00+08:00 completedAt: 2026-06-02T23:25:00+08:00 sourceCommitBefore: sourceCommitAfter: gitopsRevisionBefore: gitopsRevisionAfter: stepReceipts: - stepId: step-001 command: internal-command://architecture/check-modern-architecture-kit --asset service:order-command-service --update-conformance-claim executedBy: team-order-release-bot result: pass beforeDigest: sha256: afterDigest: sha256: logDigest: sha256: - stepId: step-002 command: internal-command://architecture/check-modern-architecture-kit --asset service:order-command-service --regenerate-consumption-lock executedBy: team-order-release-bot result: pass beforeDigest: sha256: afterDigest: sha256: logDigest: sha256: - stepId: step-003 command: git diff -- catalog/components/order-command-service.yaml executedBy: team-order-release-bot result: pass beforeDigest: sha256: afterDigest: sha256: logDigest: sha256: - stepId: step-004 command: git diff -- infra/gitops/environments/prod/order/order-command-service/kustomization.yaml executedBy: sre-release-bot result: pass beforeDigest: sha256: afterDigest: sha256: logDigest: sha256: afterState: conformanceClaimDigest: sha256: consumptionLockDigest: sha256: catalogDigest: sha256: gitopsOverlayDigest: sha256: adoptionLedgerDigest: sha256: validation: commands: - internal-command://architecture/check-modern-architecture-kit --asset service:order-command-service - make test - git diff --check results: releaseGate: pass catalogSync: pass gitopsDiff: pass beforeAfterDigestsMatch: true workOrderStepsAllReceipted: true rollbackVerification: previousBaseline: V2.53 previousConsumptionLockDigest: sha256: previousGitopsRevision: command: internal-command://architecture/check-modern-architecture-kit --asset service:order-command-service --baseline V2.53 --rollback-smoke smokeTestResult: pass verified: true decision: status: accepted acceptedAt: 2026-06-02T23:30:00+08:00 acceptedBy: architecture-governance-board decisionRef: governance/control-plane/release-gate-decision.yaml ``` 执行回执状态只能使用以下值: | 状态 | 含义 | 是否允许采纳 | | ---- | ---- | ------------ | | `created` | 回执已创建但尚未执行步骤 | 否 | | `running` | 命令正在执行,尚未形成完整摘要 | 否 | | `accepted` | 所有步骤、摘要、验收和回滚验证通过 | 是 | | `failed` | 任一阻断步骤失败或命令输出不可信 | 否 | | `rolled-back` | 已按工作单恢复上一基线并完成烟测 | 否,但可关闭失败迁移 | | `superseded` | 被更新的回执替代,只保留审计归档 | 否 | | `expired` | 回执超过证据新鲜度或引用旧 baseline | 否 | | `invalid` | 摘要、actor、命令或工作单引用不一致 | 否 | 执行规则: 1. 执行回执必须由 CI runner、GitOps runner、SRE runbook 或治理平台生成,不能由工作单作者手工自证。 2. 回执必须绑定 `workOrderId`、资产 ID、当前基线、目标基线、执行环境、source commit before/after 和 GitOps revision before/after。 3. 工作单中的每个 `executionPlan.steps.id` 都必须在 `stepReceipts.stepId` 中出现;缺失步骤必须阻断 `accepted`。 4. 每个步骤必须记录实际命令、执行 actor、执行结果、before digest、after digest 和日志摘要,不能只写“已执行”。 5. `afterState` 必须与消费锁、catalog、GitOps overlay、采纳总账和符合性声明的最新摘要一致。 6. `rollbackVerification.verified=true` 前,必须证明上一基线、上一消费锁、上一 GitOps revision 和最小烟测命令可用。 7. `decision.status=accepted` 后,采纳总账、状态对账报告、证据追踪图、门禁执行报告、发布证据包和审计导出清单必须引用该回执摘要。 8. 回执摘要不一致、命令日志缺失、actor 不可信、before/after 摘要无法匹配或回滚未验证时,L3 / L4 资产不得进入生产准入。 可执行验收标准: 1. 任意 `completed` 工作单都能找到一份 `accepted` 的执行回执。 2. 任意执行回执都能逐步映射到工作单步骤,并证明实际命令、actor、环境、日志摘要和 before/after 摘要。 3. 任意迁移后的消费锁、catalog 指针和 GitOps 指针都能从执行回执反向追到具体命令。 4. 任意回执失败都能触发回滚或重新执行,并在采纳总账、状态对账和审计导出中保持失败事实。 5. 任意审计人员都能用执行回执判断“迁移是否真实发生”,而不是只看工作单状态。 ### 10.10.33 本地私有制品边界 `baseline-local-artifact-boundary.yaml` 是可执行资产的远端安全边界证据。它不替代 `baseline-artifact-inventory.yaml` 或 `baseline-publish-transaction.yaml`;制品清单回答“基线包含什么”,发布事务回答“远端发布了什么”,本地私有制品边界回答 “哪些可执行资产被刻意留在本地或私有制品库、为什么不能进远端、如何验证它们没有被提交或签名”。 ```yaml baselineLocalArtifactBoundary: boundaryId: blab-20260602-mea-v257 baselineId: mea-v2.57-20260602 documentVersion: V2.57 owner: architecture-governance-board generatedAt: 2026-06-02T23:45:00+08:00 classification: remotePolicy: never-push-to-public-remote auditPolicy: retain-digest-and-command-evidence signaturePolicy: exclude-from-public-release-payload exportPolicy: exclude-raw-assets-include-boundary-evidence localPrivateArtifacts: - path: assets/templates/modern-enterprise-architecture-private/kit/ type: internal-starter-kit reason: 本地私有 starter kit 包含可执行 schema/example 和组织定制模板,只在本地或私有制品库验证。 storage: local-workspace-or-private-artifact-registry digestStrategy: recursive-sha256-manifest allowedUse: - local-validation - private-ci - evidence-generation remoteExclusionRequired: true - path: assets/templates/modern-enterprise-architecture-private/controls.json type: generated-control-catalog reason: 由本地私有控制项覆盖清单生成,远端只保留边界证据和摘要,不提交生成物本体。 storage: local-workspace-or-private-artifact-registry digestStrategy: file-sha256 allowedUse: - local-validation - audit-export-generation remoteExclusionRequired: true - path: assets/templates/modern-enterprise-architecture-private/version.json type: generated-version-manifest reason: 由版本控制面生成,远端只保留文档和边界摘要,避免生成物漂移被误当源制品。 storage: local-workspace-or-private-artifact-registry digestStrategy: file-sha256 allowedUse: - local-validation - audit-export-generation remoteExclusionRequired: true - path: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py type: local-validation-script reason: 本地 starter gate 脚本不作为公开基线源制品发布。 storage: local-workspace digestStrategy: file-sha256 allowedUse: - local-validation remoteExclusionRequired: true - path: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py type: local-validation-script reason: 本地审计导出门禁脚本不作为公开基线源制品发布。 storage: local-workspace digestStrategy: file-sha256 allowedUse: - local-validation remoteExclusionRequired: true - path: assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py type: local-generation-script reason: 本地审计导出生成脚本只用于私有证据包生成,不进入公开远端。 storage: local-workspace digestStrategy: file-sha256 allowedUse: - audit-export-generation remoteExclusionRequired: true - path: assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py type: local-validation-script reason: 本地远端保护验证脚本只用于发布前检查,不进入公开远端。 storage: local-workspace digestStrategy: file-sha256 allowedUse: - remote-protection-validation remoteExclusionRequired: true requiredChecks: - command: git status --short --ignored -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py expected: ignored-only - command: git ls-files -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py expected: empty - command: git ls-tree -r --name-only HEAD -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py expected: empty - command: git ls-tree -r --name-only origin/develop -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py expected: empty integrations: artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml readinessScorecard: governance/evidence/baselines/baseline-readiness-scorecard.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml gates: allLocalPrivateArtifactsDeclared: true noLocalPrivateArtifactsTracked: true noLocalPrivateArtifactsInHead: true noLocalPrivateArtifactsInRemote: true rawArtifactsExcludedFromAuditExport: true rawArtifactsExcludedFromSignaturePayload: true privateEscrowRefsDeclared: true privateEscrowRetrievalVerified: true decision: status: accepted acceptedBy: architecture-governance-board ``` 本地私有制品状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `accepted` | 已声明、未跟踪、未进入远端,且摘要策略和用途清晰 | 否 | | `missing-boundary` | 本地或私有资产存在,但没有边界声明 | 是 | | `tracked` | 本地私有资产被 Git 跟踪 | 是 | | `published` | 本地私有资产进入 `HEAD`、远端分支、tag、审计导出原文或签名 payload | 是 | | `stale-digest` | 摘要策略存在但摘要未更新或不可复现 | 是 | | `unknown-owner` | 资产没有 owner、用途或禁推原因 | 是 | | `not-applicable` | 当前基线没有本地私有资产 | 否,但必须显式声明 | 执行规则: 1. 任意 `excludePatterns`、`.gitignore`、私有制品库或本地生成物必须能反查到本地私有制品边界,不能只靠口头说明。 2. 本地私有制品不得进入 `HEAD`、`origin/develop`、`origin/master`、release tag、审计导出原文或公开签名 payload。 3. 边界证据必须记录 path、type、reason、storage、digestStrategy、allowedUse 和 remoteExclusionRequired。 4. 禁推资产检查必须同时覆盖 `git status --ignored`、`git ls-files`、`git ls-tree HEAD` 和远端树查询。 5. 审计导出可以包含边界证据和摘要,但不得包含本地私有原文、内部脚本或生成 JSON 本体。 6. 若本地私有资产误入远端,不能只删除文件;必须触发基线撤销与隔离记录、发布事务失败或新基线修复。 可执行验收标准: 1. 任意本地、私有、生成或禁推资产都能在 `baseline-local-artifact-boundary.yaml` 中找到声明。 2. 任意审计人员都能判断可执行 starter kit 是受控私有资产,而不是缺失源制品。 3. 任意发布事务都能证明本地私有资产没有进入本地提交、远端分支、tag、审计导出原文或签名 payload。 4. 任意 exclude pattern 都有 owner、禁推原因、摘要策略、允许用途和验证命令。 5. 任意本地私有资产边界变化都必须形成基线变更记录或 ADR,并重新生成发布事务回执。 ### 10.10.34 审计导出排除清单 `audit-export-exclusion-manifest.yaml` 是审计导出包的内容边界证据。它不替代 `audit-export-manifest.yaml`, 也不替代 `baseline-local-artifact-boundary.yaml`;审计导出清单回答“导出了哪些包”,本地私有制品边界回答 “哪些资产不能进远端”,审计导出排除清单回答“哪些原文可以进审计包,哪些只能留摘要,哪些必须从签名 payload 中排除”。 ```yaml auditExportExclusionManifest: manifestId: aeex-20260602-mea-v257 baselineId: mea-v2.57-20260602 documentVersion: V2.57 owner: governance-platform generatedAt: 2026-06-02T23:55:00+08:00 sourceEvidence: localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml signingPolicy: governance/evidence/audit-export/audit-export-signing-policy.yaml exportPolicy: defaultRawExport: deny allowRawExportOnlyWhenDeclared: true requireDigestForExcludedRawArtifact: true requireBoundaryRefForLocalPrivateArtifact: true excludeRawLocalPrivateArtifactsFromSignaturePayload: true rawAllowlist: - path: docs/references/modern-enterprise-architecture-template.md reason: public-source-document digest: sha256: includedIn: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.md - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json digestOnly: - path: assets/templates/modern-enterprise-architecture-private/kit/ boundaryRef: assets/templates/modern-enterprise-architecture-private/kit/ digestStrategy: recursive-sha256-manifest digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false - path: assets/templates/modern-enterprise-architecture-private/controls.json boundaryRef: assets/templates/modern-enterprise-architecture-private/controls.json digestStrategy: file-sha256 digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false - path: assets/templates/modern-enterprise-architecture-private/version.json boundaryRef: assets/templates/modern-enterprise-architecture-private/version.json digestStrategy: file-sha256 digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false - path: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py boundaryRef: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py digestStrategy: file-sha256 digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false - path: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py boundaryRef: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py digestStrategy: file-sha256 digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false - path: assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py boundaryRef: assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py digestStrategy: file-sha256 digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false - path: assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py boundaryRef: assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py digestStrategy: file-sha256 digest: sha256: rawExportAllowed: false signaturePayloadRawAllowed: false forcedExclusions: - assets/templates/modern-enterprise-architecture-private/kit/** - assets/templates/modern-enterprise-architecture-private/controls.json - assets/templates/modern-enterprise-architecture-private/version.json - assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py - assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py - assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py - assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py signaturePayloadExclusions: - assets/templates/modern-enterprise-architecture-private/kit/** - assets/templates/modern-enterprise-architecture-private/controls.json - assets/templates/modern-enterprise-architecture-private/version.json - assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py - assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py - assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py - assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py postExportVerification: - command: internal-command://architecture/check-modern-architecture-audit-export --assert-no-raw-private-artifacts expected: pass - command: internal-command://architecture/check-modern-architecture-audit-export --assert-digest-only-private-artifacts expected: pass - command: internal-command://architecture/check-modern-architecture-audit-export --assert-signature-payload-exclusions expected: pass summary: rawAllowlistEntries: 1 digestOnlyEntries: 7 forcedExclusions: 7 signaturePayloadExclusions: 7 rawPayloadViolations: 0 missingBoundaryRefs: 0 gates: blockExportOnRawPrivateArtifact: true blockExportOnMissingBoundaryRef: true blockSignatureOnPayloadViolation: true blockPublishOnDigestMismatch: true ``` 导出排除状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `allow-raw` | 原文允许进入审计导出和签名 payload | 否 | | `digest-only` | 只允许摘要、边界引用和用途说明进入审计导出 | 否 | | `force-exclude` | 原文必须从审计导出和签名 payload 中排除 | 是,若误包含 | | `payload-excluded` | 原文不进入签名 payload,但摘要可进入 payload | 否 | | `missing-boundary-ref` | 排除项无法反查到本地私有制品边界 | 是 | | `payload-violation` | 强制排除项进入审计导出原文或签名 payload | 是 | 执行规则: 1. 正式审计导出必须先生成 `audit-export-exclusion-manifest.yaml`,再生成完整性清单、provenance 和签名策略。 2. 所有本地私有资产必须进入 `digestOnly`、`forcedExclusions` 和 `signaturePayloadExclusions`,并反查到 `baseline-local-artifact-boundary.yaml`。 3. `rawAllowlist` 必须显式声明;默认不得把未声明路径的原文导出到审计包。 4. 签名 payload 可以包含排除清单、摘要和边界证据,但不得包含本地私有资产原文。 5. 任何 `missing-boundary-ref`、`payload-violation` 或摘要不一致都必须阻断审计导出、发布事务和基线晋级。 6. 排除清单变化必须重新生成审计导出完整性清单、provenance statement、签名策略和签名验签回执。 可执行验收标准: 1. 任意正式审计导出都能找到同版本的 `audit-export-exclusion-manifest.yaml`。 2. 任意本地私有资产都能证明只以摘要和边界引用进入审计包,不以原文进入导出包或签名 payload。 3. 任意签名 payload 都能反查到排除清单摘要,证明签名覆盖范围清晰。 4. 任意强制排除项误入审计包、OSCAL 摘要或签名 payload 时,导出门禁必须失败。 5. 任意审计人员都能从排除清单判断“为什么看不到某个内部可执行资产原文”,而不是把它误判为漏交。 ### 10.10.35 私有制品托管交接清单 `private-artifact-escrow-manifest.yaml` 是禁推可执行资产的企业内部托管证据。它不替代 `baseline-local-artifact-boundary.yaml`,也不替代 `audit-export-exclusion-manifest.yaml`;本地私有制品边界回答 “为什么不能进远端”,审计导出排除清单回答“为什么不能进审计包原文和签名 payload”,私有制品托管交接清单回答 “这些资产已经托管在哪里、谁能取、取回后能否恢复同一摘要”。 ```yaml privateArtifactEscrowManifest: manifestId: paem-20260602-mea-v257 baselineId: mea-v2.57-20260602 documentVersion: V2.57 owner: architecture-governance-board generatedAt: 2026-06-02T23:59:00+08:00 sourceEvidence: localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml escrowPolicy: publicRemoteAllowed: false rawAuditExportAllowed: false immutableDigestRequired: true privateRepositoryRequired: true restoreVerificationRequired: true retentionMinimumDays: 2555 accessReviewCadence: quarterly escrowedArtifacts: - path: assets/templates/modern-enterprise-architecture-private/kit/ type: internal-starter-kit storageRef: oci://registry.company.internal/architecture/modern-enterprise-architecture-kit@sha256: digestStrategy: recursive-sha256-manifest sourceDigest: sha256: boundaryDigest: sha256: accessRoles: - architecture-governance-board - platform-governance-ci retention: class: architecture-baseline-private-artifact retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact modern-enterprise-architecture-kit --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/kit/ restoreVerification: command: internal-command://architecture/check-modern-architecture-kit --verify-restored-private-artifact assets/templates/modern-enterprise-architecture-private/kit/ result: pass - path: assets/templates/modern-enterprise-architecture-private/controls.json type: generated-control-catalog storageRef: artifact://evidence.company.internal/architecture/controls/modern-enterprise-architecture-controls.json@sha256: digestStrategy: file-sha256 sourceDigest: sha256: accessRoles: - architecture-governance-board - audit-readonly retention: class: generated-control-evidence retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact modern-enterprise-architecture-controls.json --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/controls.json restoreVerification: command: internal-command://architecture/check-modern-architecture-audit-export --verify-control-catalog-digest sha256: result: pass - path: assets/templates/modern-enterprise-architecture-private/version.json type: generated-version-manifest storageRef: artifact://evidence.company.internal/architecture/version/modern-enterprise-architecture-version.json@sha256: digestStrategy: file-sha256 sourceDigest: sha256: accessRoles: - architecture-governance-board - audit-readonly retention: class: generated-version-evidence retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact modern-enterprise-architecture-version.json --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/version.json restoreVerification: command: internal-command://architecture/check-modern-architecture-audit-export --verify-version-manifest-digest sha256: result: pass - path: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py type: local-validation-script storageRef: artifact://evidence.company.internal/architecture/assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py@sha256: digestStrategy: file-sha256 sourceDigest: sha256: accessRoles: - architecture-governance-board - platform-governance-ci retention: class: private-validation-script retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact check-modern-architecture-kit.py --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py restoreVerification: command: python3 assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py --version result: pass - path: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py type: local-validation-script storageRef: artifact://evidence.company.internal/architecture/assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py@sha256: digestStrategy: file-sha256 sourceDigest: sha256: accessRoles: - architecture-governance-board - platform-governance-ci retention: class: private-validation-script retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact check-modern-architecture-audit-export.py --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py restoreVerification: command: python3 assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py --version result: pass - path: assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py type: local-generation-script storageRef: artifact://evidence.company.internal/architecture/assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py@sha256: digestStrategy: file-sha256 sourceDigest: sha256: accessRoles: - architecture-governance-board - platform-governance-ci retention: class: private-generation-script retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact export-modern-architecture-audit.py --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py restoreVerification: command: python3 assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py --version result: pass - path: assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py type: local-validation-script storageRef: artifact://evidence.company.internal/architecture/assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py@sha256: digestStrategy: file-sha256 sourceDigest: sha256: accessRoles: - architecture-governance-board - release-engineering retention: class: private-validation-script retainUntil: 2033-06-02 retrieval: command: internal-command://architecture/fetch-private-artifact --artifact check-repository-remote-protection.py --digest sha256: expectedRestorePath: assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py restoreVerification: command: python3 assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py --version result: pass summary: escrowedArtifacts: 7 missingStorageRefs: 0 digestMismatches: 0 accessRolesReviewed: true restoreVerificationFailures: 0 publicRemoteInclusions: 0 gates: blockOnMissingStorageRef: true blockOnDigestMismatch: true blockOnUnreviewedAccessRole: true blockOnRestoreVerificationFailure: true blockOnPublicRemoteInclusion: true ``` 私有托管状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `escrowed` | 已进入私有制品库或私有 registry,摘要、权限、留存和恢复验证齐全 | 否 | | `missing-storage-ref` | 只有本地路径,没有私有托管引用 | 是 | | `digest-mismatch` | 私有托管摘要与边界证据或审计摘要不一致 | 是 | | `access-unreviewed` | 访问角色未复核或不符合最小权限 | 是 | | `restore-failed` | 取回或恢复验证失败 | 是 | | `retention-expired` | 留存期限不足或已经过期 | 是 | | `not-applicable` | 当前基线没有本地私有资产 | 否,但必须显式声明 | 执行规则: 1. 任意不进入公开远端的可执行资产都必须进入私有制品托管交接清单;只留本地副本不能作为企业基线证据。 2. `storageRef` 必须使用不可变 digest,而不是浮动 tag、latest、临时目录或个人机器路径。 3. `sourceDigest` 必须与本地私有制品边界、审计导出排除清单和制品清单中的摘要一致。 4. 每个托管制品必须有访问角色、留存类别、留存截止日期、取回命令和恢复验证命令。 5. 访问角色必须进入访问复核;恢复验证必须进入基线验证环境锁、门禁执行报告和状态对账。 6. 任何托管引用缺失、摘要不一致、取回失败、权限未复核或留存过期都必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意禁推可执行资产都能从 `private-artifact-escrow-manifest.yaml` 找到不可变私有制品引用。 2. 任意审计人员都能用托管清单证明资产没有丢失,只是受控留在私有制品库。 3. 任意恢复演练都能按清单中的取回命令恢复资产,并得到与边界证据一致的 SHA-256 摘要。 4. 任意权限复核都能看到哪些角色可以读取这些私有制品,以及为什么允许。 5. 任意私有制品托管失败都能被 release gate 定位为缺存储引用、摘要不一致、权限未复核、留存过期或恢复失败。 ### 10.10.36 干净环境基线重建回执 `baseline-clean-room-reconstruction-receipt.yaml` 是基线可重建性的最终证明。它不替代 `baseline-verification-lock.yaml`、`baseline-artifact-inventory.yaml` 或 `private-artifact-escrow-manifest.yaml`; 验证锁回答“用什么工具和命令验证”,制品清单回答“这一版包含什么”,私有托管清单回答“禁推资产在哪里”,干净环境重建回执回答 “一台没有个人工作区残留的 runner,是否能只靠远端 commit、私有托管制品和锁定工具链重建同一结果”。 ```yaml baselineCleanRoomReconstructionReceipt: receiptId: bcrr-20260602-mea-v258 baselineId: mea-v2.58-20260602 documentVersion: V2.58 owner: governance-platform generatedAt: 2026-06-02T23:59:30+08:00 runner: type: ephemeral-container image: registry.company.com/platform/architecture-baseline-runner@sha256: workspacePolicy: emptyBeforeCheckout: true noMountedDeveloperHome: true noUnpinnedNetworkDownload: true destroyAfterRun: true environmentDigest: sha256: immutableInputs: sourceRemote: git@github.com:company/vibe-coding-cn.git sourceCommit: releaseTag: architecture/v2.58-candidate tagSignatureVerified: true artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml auditExportExclusionManifest: governance/evidence/audit-export/audit-export-exclusion-manifest.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml reconstructionSteps: - id: checkout-source command: git clone --filter=blob:none git@github.com:company/vibe-coding-cn.git /tmp/clean-room/vibe-coding-cn && git checkout result: pass outputDigest: sha256: - id: verify-forbidden-assets-absent-before-restore command: git ls-files -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py expectedResult: empty result: pass - id: restore-private-artifacts command: internal-command://architecture/fetch-private-artifact --manifest governance/evidence/baselines/private-artifact-escrow-manifest.yaml --target /tmp/clean-room/vibe-coding-cn restoredArtifacts: 7 digestMismatches: 0 result: pass - id: verify-restored-private-artifacts command: internal-command://architecture/check-modern-architecture-kit --verify-restored-private-artifacts governance/evidence/baselines/private-artifact-escrow-manifest.yaml result: pass - id: rebuild-audit-export command: internal-command://architecture/export-modern-architecture-audit expectedOutputs: - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.md - assets/templates/modern-enterprise-architecture-private/build/audit/oscal-summary.json - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-integrity.json - assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-provenance.json result: pass - id: replay-release-gate command: internal-command://architecture/check-modern-architecture-kit --replay governance/evidence/baselines/baseline-gate-execution-report.yaml result: pass - id: verify-private-assets-still-not-publishable command: git status --short --ignored -- assets/templates/modern-enterprise-architecture-private/kit assets/templates/modern-enterprise-architecture-private/controls.json assets/templates/modern-enterprise-architecture-private/version.json assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-kit.py assets/templates/modern-enterprise-architecture-private/scripts/check-modern-architecture-audit-export.py assets/templates/modern-enterprise-architecture-private/scripts/export-modern-architecture-audit.py assets/templates/modern-enterprise-architecture-private/scripts/check-repository-remote-protection.py expectedResult: ignored-only result: pass rebuiltDigests: sourceTree: sha256: restoredPrivateArtifacts: sha256: auditExport: sha256: auditExportIntegrity: sha256: gateExecutionReport: sha256: comparisons: artifactInventoryMatches: true verificationLockMatches: true privateArtifactEscrowMatches: true auditExportDigestMatchesReleaseEvidence: true gateReplayMatchesOriginal: true forbiddenAssetsAbsentFromRemote: true summary: sourceCheckout: pass privateArtifactsRestored: 7 restoredDigestMismatches: 0 auditExportRebuilt: true gateReplayResult: pass hiddenLocalDependencyDetected: false forbiddenRemoteAssetsAfterRebuild: 0 gates: blockOnWorkspaceNotClean: true blockOnSourceCheckoutFailure: true blockOnPrivateArtifactRestoreFailure: true blockOnDigestMismatch: true blockOnAuditExportRebuildFailure: true blockOnGateReplayFailure: true blockOnForbiddenRemoteAsset: true ``` 重建状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `pass` | 干净 runner 重建成功,摘要和门禁结果一致 | 否 | | `workspace-dirty` | runner 启动时存在未解释文件、挂载或个人工作区残留 | 是 | | `checkout-failed` | 远端 commit、tag 或签名无法验证 | 是 | | `private-restore-failed` | 私有制品无法按清单取回或恢复摘要不一致 | 是 | | `audit-rebuild-failed` | 审计导出无法重建或输出摘要漂移 | 是 | | `gate-replay-failed` | 门禁重放结果和原始执行不一致 | 是 | | `forbidden-asset-drift` | 重建后禁推资产进入远端树、源制品清单、审计原文或签名 payload | 是 | 执行规则: 1. `baseline-clean-room-reconstruction-receipt.yaml` 必须在 `candidate -> baseline`、`baseline -> frozen` 和正式审计导出前生成。 2. 重建 runner 必须是临时、空工作区、无开发者 home 挂载、无未锁定网络下载的环境。 3. `sourceCommit`、`releaseTag`、验证锁、制品清单、私有托管清单和审计导出排除清单必须使用不可变摘要。 4. 私有制品只能通过 `private-artifact-escrow-manifest.yaml` 的取回命令恢复,不能从个人工作区、临时缓存或未登记路径补文件。 5. 重建后必须重新生成审计导出、完整性清单和 provenance,并与发布证据包摘要一致。 6. 门禁执行报告必须在干净环境中重放;任何重放失败都必须阻断晋级。 7. 重建过程必须再次验证禁推资产没有进入 `HEAD`、`origin/develop`、`origin/master`、审计导出原文或签名 payload。 可执行验收标准: 1. 任意 baseline 或 frozen 晋级都能找到一份同版本干净环境重建回执。 2. 任意审计人员都能证明基线不是依赖某个开发者本机才能运行。 3. 任意私有制品恢复都能从托管清单反查到不可变引用、恢复路径、恢复命令和摘要。 4. 任意审计导出摘要漂移都能定位到源 commit、私有制品、验证锁、生成命令或签名 payload 边界。 5. 任意重建失败都能被 release gate 定位为 workspace、checkout、private restore、digest、audit rebuild、gate replay 或 forbidden asset drift 的具体阶段。 ### 10.10.37 基线证据不可变归档回执 `baseline-evidence-archive-receipt.yaml` 是基线证据长期可审计性的最终留存证明。它不替代 `audit-export-manifest.yaml`、`audit-export-integrity.yaml`、`audit-export-provenance.yaml`、 `audit-export-signature-receipt.yaml` 或 `baseline-clean-room-reconstruction-receipt.yaml`;审计导出回答“生成了什么”, 完整性清单回答“摘要是什么”,provenance 回答“从哪里生成”,签名回执回答“谁签过”,干净环境回执回答“能否重建”, 不可变归档回执回答“这些证据是否已经进入不能随意改写或删除的留存库,并能在审计期恢复”。 ```yaml baselineEvidenceArchiveReceipt: receiptId: bear-20260602-mea-v260 baselineId: mea-v2.60-20260602 documentVersion: V2.60 owner: architecture-governance-board generatedAt: 2026-06-02T23:59:45+08:00 sourceEvidence: baselineReleaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml baselineGateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml baselineCleanRoomReconstructionReceipt: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml auditExportManifest: governance/evidence/audit-export/audit-export-manifest.yaml auditExportIntegrity: governance/evidence/audit-export/audit-export-integrity.yaml auditExportProvenance: governance/evidence/audit-export/audit-export-provenance.intoto.jsonl auditExportSignatureReceipt: governance/evidence/audit-export/audit-export-signature-receipt.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml privateArtifactEscrowManifest: governance/evidence/baselines/private-artifact-escrow-manifest.yaml evidenceTraceGraph: governance/evidence/baselines/baseline-evidence-trace-graph.yaml archivePolicy: immutableStorageRequired: true objectLockMode: compliance wormRequired: true legalHoldSupported: true legalHoldEnabledForAuditWindow: true deleteProtectionRequired: true accessLoggingRequired: true restoreDrillRequired: true retentionMinimumDays: 2555 retentionUntil: 2033-06-02 archiveStore: providerClass: internal-object-store storageClass: evidence-worm-archive bucketOrVault: architecture-baseline-evidence region: primary-compliance-region replication: enabled: true target: architecture-baseline-evidence-dr replicationDigest: sha256: accessControl: readRoles: - audit-readonly - architecture-governance-board writeRoles: - platform-governance-ci deleteRoles: [] breakGlassDeleteRequires: - security-lead - audit-lead - legal-lead archivedObjects: - id: audit-export-json sourcePath: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json archiveRef: worm://architecture-baseline-evidence/mea-v2.60/audit-export.json@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: audit-export-integrity sourcePath: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-integrity.json archiveRef: worm://architecture-baseline-evidence/mea-v2.60/audit-export-integrity.json@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: audit-export-provenance sourcePath: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-provenance.intoto.jsonl archiveRef: worm://architecture-baseline-evidence/mea-v2.60/audit-export-provenance.intoto.jsonl@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: audit-export-signature-receipt sourcePath: governance/evidence/audit-export/audit-export-signature-receipt.yaml archiveRef: worm://architecture-baseline-evidence/mea-v2.60/audit-export-signature-receipt.yaml@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: baseline-signature-ltv-receipt sourcePath: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml archiveRef: worm://architecture-baseline-evidence/mea-v2.60/baseline-signature-ltv-receipt.yaml@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: baseline-release-evidence sourcePath: governance/evidence/baselines/baseline-release-evidence.yaml archiveRef: worm://architecture-baseline-evidence/mea-v2.60/baseline-release-evidence.yaml@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: baseline-gate-execution-report sourcePath: governance/evidence/baselines/baseline-gate-execution-report.yaml archiveRef: worm://architecture-baseline-evidence/mea-v2.60/baseline-gate-execution-report.yaml@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 - id: baseline-clean-room-reconstruction-receipt sourcePath: governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml archiveRef: worm://architecture-baseline-evidence/mea-v2.60/baseline-clean-room-reconstruction-receipt.yaml@sha256: sourceDigest: sha256: archiveDigest: sha256: objectLockMode: compliance legalHold: true retainedUntil: 2033-06-02 verification: archiveDigestRollup: sha256: sourceDigestMismatches: 0 archiveDigestMismatches: 0 objectLockVerified: true legalHoldVerified: true accessLoggingVerified: true deleteProtectionVerified: true replicationVerified: true restoreDrill: performedAt: 2026-06-02T23:59:50+08:00 command: 证据归档恢复演练命令 --receipt governance/evidence/baselines/baseline-evidence-archive-receipt.yaml --target /tmp/evidence-restore/mea-v2.60 restoredObjects: 8 digestMismatches: 0 restoredAuditExportDigest: sha256: restoredGateExecutionDigest: sha256: restoredCleanRoomReceiptDigest: sha256: result: pass accessLogReview: logSource: audit://object-store/access-log/architecture-baseline-evidence/mea-v2.60 unauthorizedReads: 0 unauthorizedWrites: 0 deleteAttempts: 0 breakGlassEvents: 0 reviewedBy: audit-lead reviewedAt: 2026-06-02T23:59:55+08:00 summary: archivedObjects: 8 immutableStorageRefs: 8 retentionLockedObjects: 8 legalHoldObjects: 8 archiveDigestMismatches: 0 restoreDrillResult: pass unauthorizedAccessEvents: 0 deleteProtectionViolations: 0 gates: blockOnMissingArchiveRef: true blockOnMutableArchiveStorage: true blockOnRetentionLockMissing: true blockOnLegalHoldMissing: true blockOnAccessLoggingMissing: true blockOnDeleteProtectionMissing: true blockOnRestoreDrillFailure: true blockOnArchiveDigestMismatch: true ``` 归档状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `archived` | 证据对象已进入不可变留存库,摘要、留存、访问日志和恢复演练齐全 | 否 | | `missing-archive-ref` | 证据对象没有不可变归档引用 | 是 | | `mutable-storage` | 归档位置可被普通写入、覆盖或删除 | 是 | | `retention-unlocked` | 对象锁、WORM 或留存到期未生效 | 是 | | `legal-hold-missing` | 审计窗口需要 legal hold 但未启用 | 是 | | `access-log-missing` | 归档对象访问日志不可审计 | 是 | | `restore-failed` | 归档恢复演练失败或恢复摘要不一致 | 是 | | `not-applicable` | 当前基线无正式审计留存要求,且有明确风险接受 | 否,但不能用于 baseline/frozen | 执行规则: 1. `baseline-evidence-archive-receipt.yaml` 必须在 `candidate -> baseline`、`baseline -> frozen`、正式审计导出和 EOL 归档前生成。 2. 归档引用必须使用不可变摘要,禁止使用普通对象 URL、latest、临时 CI 路径、个人网盘或可覆盖路径。 3. 审计导出、完整性清单、provenance、签名验签回执、长期验签回执、发布证据、门禁执行报告、干净环境重建回执和私有制品托管摘要必须进入归档对象清单。 4. 留存策略必须声明 `retentionMinimumDays`、`retentionUntil`、对象锁模式、WORM 要求和 legal hold 状态。 5. 归档必须启用访问日志、删除保护和最小权限;任何删除角色或 break-glass 删除必须进入访问复核、风险接受和审计日志。 6. 每次正式归档后必须执行恢复演练;恢复对象摘要必须与源证据摘要和归档摘要一致。 7. 任意归档引用缺失、可改写存储、留存锁缺失、legal hold 缺失、访问日志缺失、恢复演练失败或摘要不一致都必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意 baseline 或 frozen 晋级都能找到同版本的 `baseline-evidence-archive-receipt.yaml`。 2. 任意审计人员都能从归档回执追到每个关键证据对象的源路径、归档引用、源摘要、归档摘要、留存到期和 legal hold 状态。 3. 任意恢复演练都能按回执命令恢复审计导出、门禁执行报告、签名验签回执、长期验签回执和干净环境重建回执,并得到一致摘要。 4. 任意证据删除、覆盖、未授权访问或 break-glass 访问都能从访问日志中看到,并进入事故复盘或风险接受。 5. 任意 EOL 或撤销关闭都不能只写“已归档”;必须引用不可变归档回执证明长期留存位置、摘要和恢复演练闭环。 ### 10.10.38 基线长期验签回执 `baseline-signature-ltv-receipt.yaml` 是签名证据的长期验证闭环。它不替代 `audit-export-signature-receipt.yaml`;签名验签回执回答“这次签名当下是否通过”,长期验签回执回答 “证书过期、身份提供方变更、透明日志生命周期变化或验证工具升级之后,是否仍能独立证明签名对象、签名时间和签名身份”。 ```yaml baselineSignatureLtvReceipt: receiptId: bslr-20260602-mea-v260 baselineId: mea-v2.60-20260602 documentVersion: V2.60 owner: security-team generatedAt: 2026-06-02T23:59:58+08:00 sourceEvidence: auditExportSignatureReceipt: governance/evidence/audit-export/audit-export-signature-receipt.yaml auditExportProvenance: governance/evidence/audit-export/audit-export-provenance.intoto.jsonl artifactInventory: governance/evidence/baselines/baseline-artifact-inventory.yaml verificationLock: governance/evidence/verification/baseline-verification-lock.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml validationPolicy: requireImmutableSubjectDigest: true requireCertificateChainArchive: true requireOidcIssuerAndSubject: true requireTransparencyLogInclusionProof: true requireSignedEntryTimestamp: true requireRfc3161Timestamp: true requireRevocationStatusSnapshot: true requireVerificationToolchainLock: true requireArchiveRefForValidationMaterials: true digestScope: exclude-self-digest-and-signature signedSubjects: - id: audit-export-provenance subjectPath: governance/evidence/audit-export/audit-export-provenance.intoto.jsonl subjectDigest: sha256: signatureBundle: assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-provenance.sigstore.bundle bundleDigest: sha256: certificate: identity: architecture-release-bot@company.com oidcIssuer: https://token.actions.githubusercontent.com chainDigest: sha256: notBefore: 2026-06-02T23:50:00+08:00 notAfter: 2026-06-03T00:00:00+08:00 transparencyLog: provider: rekor logId: sha256: logIndex: 1234567 inclusionProofDigest: sha256: signedEntryTimestampDigest: sha256: timestampAuthority: protocol: RFC3161 tsaName: enterprise-tsa tokenDigest: sha256: signingTime: 2026-06-02T23:59:30+08:00 revocation: checkedAt: 2026-06-02T23:59:40+08:00 ocspStatus: good crlDigest: sha256: verification: command: cosign verify-blob --bundle assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-provenance.sigstore.bundle governance/evidence/audit-export/audit-export-provenance.intoto.jsonl toolchainRef: governance/evidence/verification/baseline-verification-lock.yaml result: pass archivedValidationMaterials: - id: sigstore-bundle archiveRef: worm://architecture-baseline-evidence/mea-v2.60/audit-export-provenance.sigstore.bundle@sha256: digest: sha256: - id: certificate-chain archiveRef: worm://architecture-baseline-evidence/mea-v2.60/certificate-chain.pem@sha256: digest: sha256: - id: rekor-proof archiveRef: worm://architecture-baseline-evidence/mea-v2.60/rekor-inclusion-proof.json@sha256: digest: sha256: - id: rfc3161-token archiveRef: worm://architecture-baseline-evidence/mea-v2.60/rfc3161-token.tsr@sha256: digest: sha256: - id: revocation-snapshot archiveRef: worm://architecture-baseline-evidence/mea-v2.60/revocation-snapshot.json@sha256: digest: sha256: longTermVerification: replayedAt: 2026-06-02T23:59:59+08:00 command: 长期验签命令 --receipt governance/evidence/baselines/baseline-signature-ltv-receipt.yaml certificateChainValidAtSigningTime: true timestampBeforeCertificateExpiry: true transparencyLogProofVerified: true signedEntryTimestampVerified: true rfc3161TimestampVerified: true revocationStatusGoodAtSigningTime: true archiveRefsRestorable: true result: pass summary: signedSubjects: 1 certificateChainsArchived: 1 transparencyLogProofsArchived: 1 signedEntryTimestampsVerified: 1 rfc3161TimestampsVerified: 1 revocationSnapshotsArchived: 1 ltvDigestMismatches: 0 verificationToolchainPinned: true gates: blockOnMissingBundle: true blockOnMissingCertificateChain: true blockOnMissingTransparencyLogProof: true blockOnMissingSignedEntryTimestamp: true blockOnMissingRfc3161Timestamp: true blockOnUnknownRevocationStatus: true blockOnUnpinnedVerificationTool: true blockOnMissingArchiveRef: true blockOnLtvVerificationFailure: true ``` 长期验签状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `ltv-pass` | 签名对象、证书链、时间戳、透明日志、撤销状态和工具链均可复核 | 否 | | `missing-bundle` | 签名 bundle 或验签材料缺失 | 是 | | `missing-certificate-chain` | 没有归档证书链,证书过期后无法复核 | 是 | | `missing-transparency-proof` | 透明日志 inclusion proof 或 signed entry timestamp 缺失 | 是 | | `missing-rfc3161-timestamp` | 没有独立可信时间戳,无法证明签名发生在证书有效期内 | 是 | | `revocation-unknown` | 签名时间点的 OCSP/CRL 状态不可证明 | 是 | | `toolchain-unpinned` | 验签工具、策略或 trust root 未锁定 | 是 | | `archive-ref-missing` | 长期验签材料没有进入不可变归档 | 是 | | `ltv-failed` | 长期验签重放失败或摘要不一致 | 是 | 执行规则: 1. `baseline-signature-ltv-receipt.yaml` 必须在 `candidate -> baseline`、`baseline -> frozen`、正式审计导出、撤销关闭和 EOL 归档前生成。 2. 长期验签必须绑定签名对象摘要、签名 bundle 摘要、证书链摘要、透明日志 proof、signed entry timestamp、RFC3161 TSA token 和撤销状态快照。 3. `signingTime` 必须早于证书过期时间,并由透明日志时间戳或 RFC3161 token 独立证明。 4. 验签工具、trust root、策略包和命令必须来自 `baseline-verification-lock.yaml`,禁止使用未锁定的 `latest` 工具或临时下载。 5. 所有长期验签材料必须进入 `baseline-evidence-archive-receipt.yaml` 的不可变归档对象,且归档摘要与本回执一致。 6. 任意签名材料缺失、时间戳缺失、撤销状态未知、证书链无法复核、工具链未锁定或归档引用缺失,都必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意审计人员都能在证书过期后,用长期验签回执中的归档材料证明签名对象、签名身份和签名时间。 2. 任意签名 bundle 都能追溯到同一份 provenance subject digest、证书链、OIDC issuer、透明日志 proof 和 TSA token。 3. 任意验签重放都能使用锁定工具链执行,并给出和原始验签一致的结果。 4. 任意撤销、EOL 或审计归档都能证明长期验签材料已经进入不可变留存库,不依赖外部日志即时可用性。 5. 任意长期验签失败都能定位为 bundle、证书链、透明日志、时间戳、撤销状态、工具链或归档引用的具体问题。 ### 10.10.39 基线运行时准入回执 `baseline-runtime-admission-receipt.yaml` 是生产运行入口的准入执行证明。它不替代 `baseline-enforcement-policy.yaml`、GitOps diff 或 release gate;准入执行策略回答“规则是什么”,GitOps 回答“期望状态是什么”, 运行时准入回执回答“生产 API 入口是否真实执行了这些规则,并且能拒绝不合规对象”。 ```yaml baselineRuntimeAdmissionReceipt: receiptId: brar-20260602-mea-v261 baselineId: mea-v2.61-20260602 documentVersion: V2.61 owner: governance-platform generatedAt: 2026-06-02T23:59:59+08:00 sourceEvidence: baselineEnforcementPolicy: governance/control-plane/baseline-enforcement-policy.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml consumptionLock: governance/evidence/conformance/baseline-consumption-lock.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml supplyChainAttestation: governance/evidence/supply-chain/order-command-service-attestation.yaml gitopsState: infra/gitops/environments/prod/order/order-command-service/kustomization.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml runtimeScope: cluster: prod-primary apiServer: kubernetes namespaces: - order-prod - payment-prod - risk-prod workloads: - deployment/order-command-service - deployment/payment-command-service admissionPoints: - kubernetes-validating-admission - image-policy-admission - gitops-sync-admission policyRuntime: primaryEngine: kyverno supportedEngines: - kyverno - sigstore-policy-controller - opa-gatekeeper policyBundle: governance/policies/runtime-admission/bundle.tar.gz policyBundleDigest: sha256: controllerImages: - name: kyverno image: ghcr.io/kyverno/kyverno@sha256: - name: policy-controller image: ghcr.io/sigstore/policy-controller@sha256: enforcementMode: enforce auditModeAllowedFor: - dev - sandbox requiredChecks: requireImageDigest: true rejectMutableTags: true verifyImageSignature: true verifySlsaProvenance: true requireSbomDigest: true requireBaselineConsumptionLock: true rejectRevokedBaseline: true rejectEolBaseline: true rejectExpiredException: true requireNamespaceLabels: - governance.company.com/baseline-id - governance.company.com/gate-level requireServiceAccountBoundary: true requireNetworkPolicyDefaultDeny: true admittedWorkloads: - workload: deployment/order-command-service namespace: order-prod gitopsRevision: gitops@sha256: image: registry.company.com/order/order-command-service@sha256: baselineId: mea-v2.61-20260602 consumptionLockDigest: sha256: signatureVerified: true provenanceVerified: true sbomDigest: sha256: admissionDecision: allow admissionDecisionDigest: sha256: rejectSamples: - id: unsigned-image objectKind: Deployment namespace: order-prod expectedRule: verify-image-signature expectedDecision: deny actualDecision: deny decisionLogDigest: sha256: - id: mutable-tag objectKind: Deployment namespace: order-prod expectedRule: reject-mutable-image-tag expectedDecision: deny actualDecision: deny decisionLogDigest: sha256: - id: revoked-baseline objectKind: Deployment namespace: order-prod expectedRule: reject-revoked-baseline expectedDecision: deny actualDecision: deny decisionLogDigest: sha256: - id: expired-exception objectKind: Deployment namespace: order-prod expectedRule: reject-expired-exception expectedDecision: deny actualDecision: deny decisionLogDigest: sha256: observations: admissionWebhookReady: true policyReportsReady: true namespacesCovered: 14 workloadsEvaluated: 128 denyEventsLast24h: 4 unexpectedAllows: 0 policyBundleDrift: false auditOnlyPoliciesInProd: 0 runtimeBypassFindings: 0 summary: result: pass enforcedPolicies: 8 rejectSamplesExecuted: 6 rejectSamplesPassed: 6 unsignedImagesRejected: true mutableTagsRejected: true revokedBaselinesRejected: true expiredExceptionsRejected: true provenanceMismatchesRejected: true sbomMissingRejected: true gates: blockOnAdmissionControllerUnavailable: true blockOnPolicyBundleDrift: true blockOnAuditOnlyPolicyInProd: true blockOnUnsignedImageAllowed: true blockOnMutableTagAllowed: true blockOnProvenanceMismatchAllowed: true blockOnMissingSbomAllowed: true blockOnRevokedBaselineAllowed: true blockOnEolBaselineAllowed: true blockOnExpiredExceptionAllowed: true blockOnRejectSampleFailure: true blockOnRuntimeBypassFinding: true ``` 运行时准入状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `pass` | admission controller、策略 bundle、镜像证明、消费锁和拒绝样例全部通过 | 否 | | `admission-unavailable` | admission webhook、policy controller 或策略引擎不可用 | 是 | | `policy-drift` | 集群运行策略摘要与基线策略 bundle 不一致 | 是 | | `audit-only-in-prod` | 生产环境策略处于 audit 模式而非 enforce | 是 | | `reject-sample-failed` | 未签名镜像、可变 tag、撤销/EOL 基线或过期例外样例未被拒绝 | 是 | | `unexpected-allow` | 实际运行对象绕过策略被允许 | 是 | | `runtime-bypass` | 发现直接写 API、豁免 namespace、豁免 ServiceAccount 或 break-glass 未关闭 | 是 | | `not-applicable` | 当前基线不进入生产运行入口,且有签署的风险接受 | 否,但不能用于 L3/L4 生产资产 | 执行规则: 1. `baseline-runtime-admission-receipt.yaml` 必须在 L3 / L4 生产资产进入 baseline、frozen、正式审计导出、撤销关闭和 EOL 归档前生成。 2. 回执必须绑定 `baseline-enforcement-policy.yaml`、策略 bundle 摘要、GitOps revision、镜像 digest、签名验签、SLSA provenance、SBOM、消费锁和状态对账报告。 3. 生产命名空间不得只用 audit 模式;策略必须处于 enforce,除非存在短期 break-glass 且已经进入例外总账和事故复盘。 4. 拒绝样例必须覆盖未签名镜像、可变 tag、provenance 不匹配、SBOM 缺失、撤销基线、EOL 基线和过期例外。 5. 运行时准入日志必须有不可变摘要,并进入证据追踪图、门禁执行报告、状态对账报告、审计导出和不可变归档。 6. 任意 admission controller 不可用、策略 bundle 漂移、拒绝样例失败、生产 audit-only、unexpected allow 或 runtime bypass 都必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意生产工作负载都能从运行时准入回执追到 GitOps revision、镜像 digest、签名验签、provenance、SBOM 和基线消费锁。 2. 任意不合规工作负载都能找到 admission 拒绝日志,且日志摘要与回执一致。 3. 任意撤销、隔离或 EOL 基线都能证明运行入口已经拒绝新建、更新和重新调度。 4. 任意策略变更都能证明策略 bundle 摘要、控制面、验证锁、门禁执行报告和集群运行策略一致。 5. 任意运行时绕过都必须被标记为阻断发现,进入事故复盘、风险登记或撤销隔离流程。 ### 10.10.40 基线运行时准入决策总账 `baseline-runtime-admission-decision-ledger.yaml` 是生产运行入口的逐条准入决策证据。它不替代 `baseline-runtime-admission-receipt.yaml`;运行时准入回执回答“整体是否生效”,准入决策总账回答“每次 allow / deny 是由谁、在什么入口、依据哪条策略、针对哪个对象做出的,并且原始日志在哪里”。 ```yaml baselineRuntimeAdmissionDecisionLedger: ledgerId: bradl-20260602-mea-v262 baselineId: mea-v2.62-20260602 documentVersion: V2.62 owner: governance-platform generatedAt: 2026-06-02T23:59:59+08:00 sourceEvidence: runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml kubernetesAuditPolicy: governance/policies/runtime-admission/kubernetes-audit-policy.yaml runtimePolicyBundle: governance/policies/runtime-admission/bundle.tar.gz stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml logSources: kubernetesAudit: enabled: true cluster: prod-primary retentionRef: worm://audit/prod-primary/kubernetes-audit/2026-06-02 rawDigest: sha256: kyvernoPolicyReports: enabled: true retentionRef: worm://audit/prod-primary/kyverno-policyreports/2026-06-02 rawDigest: sha256: opaDecisionLogs: enabled: true retentionRef: worm://audit/prod-primary/opa-decision-logs/2026-06-02 rawDigest: sha256: sigstorePolicyControllerEvents: enabled: true retentionRef: worm://audit/prod-primary/sigstore-policy-controller/2026-06-02 rawDigest: sha256: coverage: timeWindow: from: 2026-06-02T00:00:00+08:00 to: 2026-06-02T23:59:59+08:00 namespacesCovered: 14 workloadsEvaluated: 128 requestUidCoveragePercent: 100 decisions: allow: 122 deny: 6 unexpectedAllow: 0 missingPolicyRuleRef: 0 rawDigestMismatch: 0 decisionEntries: - decisionId: radl-allow-0001 requestUID: 3b2b9bb4-f49d-4d21-82d6-6f8f0e8a0001 timestamp: 2026-06-02T10:12:08+08:00 actor: username: system:serviceaccount:argocd:argocd-application-controller groups: - system:serviceaccounts admissionPoint: kubernetes-validating-admission policyEngine: kyverno policyId: require-signed-digest-image policyVersion: runtime-admission-bundle@sha256: ruleId: verify-image-signature-and-provenance namespace: order-prod object: apiVersion: apps/v1 kind: Deployment name: order-command-service image: registry.company.com/order/order-command-service@sha256: baselineId: mea-v2.62-20260602 checks: imageDigestPinned: true signatureVerified: true provenanceVerified: true sbomDigestPresent: true consumptionLockMatched: true decision: allow reason: signed-image-digest-and-baseline-lock-match rawEventDigests: kubernetesAudit: sha256: policyEngineDecision: sha256: archived: true - decisionId: radl-deny-0001 requestUID: 68b7e2dd-b0f0-41e8-a49a-6bca90f00001 timestamp: 2026-06-02T10:14:35+08:00 actor: username: system:serviceaccount:ci:release-bot groups: - system:serviceaccounts admissionPoint: image-policy-admission policyEngine: sigstore-policy-controller policyId: reject-unsigned-image policyVersion: runtime-admission-bundle@sha256: ruleId: require-image-signature namespace: order-prod object: apiVersion: apps/v1 kind: Deployment name: unsigned-image-sample image: registry.company.com/order/unsigned-image@sha256: baselineId: mea-v2.62-20260602 checks: imageDigestPinned: true signatureVerified: false provenanceVerified: false sbomDigestPresent: false consumptionLockMatched: false decision: deny reason: missing-signature-provenance-sbom-and-consumption-lock rejectSampleId: unsigned-image rawEventDigests: kubernetesAudit: sha256: policyEngineDecision: sha256: archived: true gates: blockOnMissingRequestUid: true blockOnMissingRawLogDigest: true blockOnMissingPolicyRuleRef: true blockOnUnexpectedAllow: true blockOnRejectSampleWithoutDenyLog: true blockOnRawDigestMismatch: true blockOnRetentionUnlocked: true ``` 准入决策状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `complete` | 决策有 requestUID、策略规则、对象、actor、结果、原始日志摘要和归档引用 | 否 | | `missing-request-uid` | 缺少 Kubernetes audit requestUID 或无法与策略引擎决策对齐 | 是 | | `missing-policy-ref` | 缺少 policy ID、rule ID 或策略 bundle 摘要 | 是 | | `missing-raw-digest` | 缺少 Kubernetes audit、PolicyReport、OPA decision log 或 policy controller 原始摘要 | 是 | | `unexpected-allow` | 策略应拒绝但实际 allow | 是 | | `reject-sample-without-deny-log` | 拒绝样例声称成功,但没有对应 deny 决策日志 | 是 | | `retention-unlocked` | 原始日志未进入不可变留存或留存引用不可审计 | 是 | 执行规则: 1. L3 / L4 生产命名空间必须开启 Kubernetes audit,并把 admission 相关 request/response、actor、object、namespace 和 responseStatus 纳入日志策略。 2. 准入决策总账必须能对齐 Kubernetes audit requestUID、admission webhook 响应、策略引擎决策、PolicyReport 或 OPA decision log。 3. 每条 `allow` 必须能追到策略 bundle、镜像 digest、签名/provenance/SBOM 结果和基线消费锁;否则不能证明允许是合规允许。 4. 每条拒绝样例必须能追到对应 `deny` 日志;只有测试命令成功但没有原始 deny 事件时不得晋级。 5. 原始日志必须进入不可变归档或受控日志留存系统;只保存流水线输出或控制台截图不算证据。 6. 任意 missing requestUID、missing policy ref、missing raw digest、unexpected allow、拒绝样例无 deny 日志或留存未锁定,都必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意 allow 决策都能从总账追到 actor、requestUID、策略规则、工作负载、镜像 digest、签名/provenance/SBOM 和消费锁。 2. 任意 deny 决策都能从总账追到拒绝原因、策略规则、原始 Kubernetes audit 事件和策略引擎决策日志。 3. 任意拒绝样例都能证明不是脚本自说自话,而是生产 admission 入口实际产生了 deny 决策。 4. 任意审计导出都能只导出决策摘要和留存引用,避免把敏感原始日志全文误放入公开文档或签名 payload。 5. 任意日志留存系统不可用、摘要错配或 requestUID 覆盖率下降,都必须进入状态对账、风险登记和 POA&M。 ### 10.10.41 基线连续控制监测总账 `baseline-continuous-control-monitoring-ledger.yaml` 是基线发布后的控制运行证据。它不替代发布门禁、 控制评估报告或状态对账报告;发布门禁证明“上线前可以放行”,连续控制监测总账证明“上线后关键控制仍在运行、 被观测、会告警、有人处理,并且证据没有过期”。 ```yaml baselineContinuousControlMonitoringLedger: ledgerId: bccml-20260602-mea-v263 baselineId: mea-v2.63-20260602 documentVersion: V2.63 owner: governance-platform generatedAt: 2026-06-02T23:59:59+08:00 monitoringWindow: from: 2026-06-02T00:00:00+08:00 to: 2026-06-02T23:59:59+08:00 cadence: 15m sourceEvidence: controlPlane: governance/control-plane/control-plane.yaml controlEvidenceMap: governance/control-plane/control-evidence-map.yaml evidenceFreshnessPolicy: governance/control-plane/evidence-freshness-policy.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml riskRegister: governance/evidence/risk/risk-register.yaml poam: governance/evidence/poam/poam-record.yaml signalSources: prometheus: enabled: true ruleBundle: observability/prometheus/rules/baseline-controls.yaml ruleBundleDigest: sha256: alertmanager: enabled: true routeDigest: sha256: opentelemetry: enabled: true collectorConfigDigest: sha256: kubernetesAudit: enabled: true logDigest: sha256: siem: enabled: true queryPackDigest: sha256: monitoredControls: - controlId: MEA-SC-IMAGE-SIGNATURE title: signed image enforcement remains active owner: security-platform criticality: critical evidenceRefs: - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml - governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml signals: - name: unsigned_image_allowed_total source: prometheus query: sum(increase(runtime_admission_unsigned_image_allowed_total[15m])) threshold: 0 comparator: equals - name: unsigned_image_denied_total source: kubernetes-audit queryRef: siem://queries/runtime-admission/unsigned-image-denied minimumExpected: 1 alert: ruleId: RuntimeAdmissionUnsignedImageAllowed severity: critical route: security-platform-oncall runbook: governance/runbooks/runtime-admission.md slo: mttdMinutes: 15 mttrHours: 4 currentState: status: healthy lastEvaluatedAt: 2026-06-02T23:45:00+08:00 openDrift: 0 staleEvidence: 0 - controlId: MEA-AUDIT-EVIDENCE-FRESHNESS title: required evidence remains fresh owner: architecture-governance-board criticality: high evidenceRefs: - governance/control-plane/evidence-freshness-policy.yaml - governance/evidence/baselines/baseline-state-reconciliation-report.yaml signals: - name: stale_required_evidence_total source: prometheus query: sum(baseline_required_evidence_stale) threshold: 0 comparator: equals alert: ruleId: BaselineRequiredEvidenceStale severity: high route: governance-oncall runbook: governance/runbooks/evidence-freshness.md slo: mttdMinutes: 30 mttrHours: 24 currentState: status: healthy lastEvaluatedAt: 2026-06-02T23:45:00+08:00 openDrift: 0 staleEvidence: 0 driftEvents: - driftId: ccm-drift-20260602-001 controlId: MEA-AUDIT-EVIDENCE-FRESHNESS severity: medium detectedAt: 2026-06-02T08:30:00+08:00 detectedBy: BaselineRequiredEvidenceStale status: closed owner: governance-oncall ticket: POAM-20260602-001 closedAt: 2026-06-02T09:10:00+08:00 evidenceDigest: sha256: summary: monitoredControls: 48 criticalControlsCovered: 48 highControlsCovered: 36 alertRulesConfigured: 48 openCriticalDrift: 0 openHighDrift: 0 staleEvidenceItems: 0 unassignedAlerts: 0 mttdMinutesP95: 8 mttrHoursP95: 6 result: pass gates: blockOnMissingCriticalControlCoverage: true blockOnMissingAlertRule: true blockOnOpenCriticalDrift: true blockOnOpenHighDriftPastSla: true blockOnStaleRequiredEvidence: true blockOnUnassignedAlert: true blockOnMonitoringSourceUnavailable: true ``` 连续控制监测状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `healthy` | 控制有监测信号、告警规则、owner、处置路径,且无阻断漂移 | 否 | | `degraded` | 控制仍被监测,但存在非阻断告警或短期信号缺口 | 视严重度而定 | | `missing-signal` | 缺少指标、日志、审计事件或策略报告信号 | 是 | | `missing-alert` | 关键控制没有告警规则或路由 | 是 | | `open-critical-drift` | critical 控制漂移未关闭 | 是 | | `stale-evidence` | 必需证据超过新鲜度策略 | 是 | | `unassigned` | 告警或控制没有 owner / on-call | 是 | | `monitoring-unavailable` | 监测源、告警路由或日志留存不可用 | 是 | 执行规则: 1. 所有 critical 控制必须有至少一个指标或日志信号、一个告警规则、一个 owner、一个 runbook 和一个处置队列。 2. 连续控制监测必须覆盖发布准入、运行时准入、准入决策日志、证据新鲜度、制品摘要、签名验签、EOL/撤销阻断、例外到期和禁推资产排除。 3. 监测信号应优先复用 Prometheus、Alertmanager、OpenTelemetry、Kubernetes audit、Kyverno PolicyReports、OPA decision logs、SIEM 和云平台安全中心,不自研通用监测基础设施。 4. 任意 critical drift 未关闭、关键告警无路由、证据过期、owner 缺失或监测源不可用,都必须阻断 baseline/frozen 晋级。 5. 所有 drift 事件必须有检测时间、严重度、owner、处置工单、关闭证据和复发处理;不能只在告警系统里自动消失。 6. 审计导出只能导出控制监测摘要、告警规则摘要、处置工单引用和证据摘要;原始日志全文继续由受控日志/证据留存系统保存。 可执行验收标准: 1. 任意 critical 控制都能从总账追到监测指标、日志源、告警规则、owner、runbook 和处置队列。 2. 任意控制漂移都能查到检测时间、告警、责任人、工单、修复证据和关闭时间。 3. 任意 evidence freshness 失败都能自动阻断 release gate 或进入 POA&M,不能靠季度人工审计发现。 4. 任意监测源不可用都能被视为控制失效,而不是把“没有告警”解释为“没有问题”。 5. 任意 baseline/frozen 晋级都能证明关键控制在最近监测窗口内健康,且 open critical drift 为 0。 ### 10.10.42 基线独立控制保证抽样总账 `baseline-control-assurance-sampling-ledger.yaml` 是基线控制有效性的独立保证证据。它不替代连续控制监测、 控制评估报告或 POA&M;连续控制监测证明控制信号持续存在,独立控制保证抽样总账证明关键控制已经由非执行 owner 按可复现样本执行设计有效性和运行有效性测试,并把发现项、整改、残余风险和 OSCAL Assessment Results 输出绑定到同一基线。 ```yaml baselineControlAssuranceSamplingLedger: ledgerId: bcasl-20260602-mea-v264 baselineId: mea-v2.64-20260602 documentVersion: V2.64 owner: independent-assurance-team generatedAt: 2026-06-02T23:59:59+08:00 assessmentScope: targetChannel: baseline environments: - prod-primary - prod-dr gateLevel: - L3 - L4 period: from: 2026-06-02T00:00:00+08:00 to: 2026-06-02T23:59:59+08:00 assessor: organization: enterprise-assurance-team role: independent-control-assessor independenceVerified: true conflictOfInterestChecked: true signedBy: control-assurance-lead sourceEvidence: controlPlane: governance/control-plane/control-plane.yaml controlEvidenceMap: governance/control-plane/control-evidence-map.yaml continuousControlMonitoringLedger: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml stateReconciliation: governance/evidence/baselines/baseline-state-reconciliation-report.yaml controlAssessmentReport: governance/evidence/control-assessments/control-assessment-report.yaml oscalAssessmentResults: governance/evidence/oscal/assessment-results.json poam: governance/evidence/poam/poam-record.yaml samplingPlan: populationRef: governance/control-plane/control-plane.yaml#controls populationSize: 48 samplingMethod: risk-based-and-random confidenceTarget: high randomSeedRef: governance/evidence/baselines/baseline-verification-lock.yaml#randomSeed strata: - criticality: critical populationSize: 48 minimumSampleSize: 48 selectionRule: full-coverage - criticality: high populationSize: 36 minimumSampleSize: 24 selectionRule: random-plus-recent-finding - criticality: medium populationSize: 72 minimumSampleSize: 18 selectionRule: random controlSamples: - controlId: MEA-SC-IMAGE-SIGNATURE criticality: critical sampleSize: 10 sampleMethod: full-critical-plus-runtime-events evidenceRefs: - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml - governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml - governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml testOfDesign: objective: policy blocks unsigned or mutable image references result: pass evidenceDigest: sha256: testOfOperatingEffectiveness: objective: sampled runtime requests enforce signed digest-only images result: pass evidenceDigest: sha256: findings: [] - controlId: MEA-AUDIT-EVIDENCE-FRESHNESS criticality: high sampleSize: 8 sampleMethod: random-required-evidence evidenceRefs: - governance/control-plane/evidence-freshness-policy.yaml - governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml - governance/evidence/baselines/baseline-state-reconciliation-report.yaml testOfDesign: objective: required evidence has max-age policy and blocking action result: pass evidenceDigest: sha256: testOfOperatingEffectiveness: objective: sampled stale evidence is detected and closed through POA&M result: pass evidenceDigest: sha256: findings: - findingId: CAS-20260602-001 severity: medium status: closed poamRef: governance/evidence/poam/poam-record.yaml#POAM-20260602-001 closedAt: 2026-06-02T09:10:00+08:00 summary: totalControls: 48 criticalControlsSampled: 48 highControlsSampled: 24 designPassRate: 100 operatingEffectivenessPassRate: 100 openCriticalFindings: 0 openHighFindings: 0 residualRiskAccepted: true oscalAssessmentResultsGenerated: true result: pass gates: blockOnAssessorNotIndependent: true blockOnCriticalControlNotSampled: true blockOnSamplingPlanMissing: true blockOnTestOfDesignFail: true blockOnOperatingEffectivenessFail: true blockOnOpenCriticalFinding: true blockOnOpenHighFindingPastSla: true blockOnMissingOscalAssessmentResults: true ``` 独立控制保证抽样状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `assured` | 独立性、样本、设计有效性、运行有效性和整改闭环均通过 | 否 | | `design-failed` | 控制设计不能满足控制目标 | 是 | | `operating-failed` | 控制设计存在但样本运行结果失败 | 是 | | `sampling-incomplete` | 控制总体、样本数量、随机种子或抽样方法不可复现 | 是 | | `assessor-conflict` | 评估人与控制执行 owner 存在利益冲突或独立性未验证 | 是 | | `open-critical-finding` | 存在未关闭 critical finding | 是 | | `open-high-finding` | 存在超 SLA 的 high finding | 是 | | `evidence-not-verifiable` | 样本引用的证据摘要、路径或留存状态不可验证 | 是 | | `not-applicable` | 当前基线风险等级明确不要求独立抽样,且有签署豁免 | 否,但不得用于 L3 / L4 | 执行规则: 1. L3 / L4 的 `baseline`、`frozen` 和正式审计导出必须生成独立控制保证抽样总账。 2. 抽样总体必须来自控制面和控制证据映射,不能由评估人临时手工挑选。 3. 所有 critical 控制必须全覆盖或给出风险签署;high 控制至少使用风险驱动加随机抽样。 4. 设计有效性和运行有效性必须分开测试;不能用“有策略文件”代替“策略在生产运行中有效”。 5. 评估人必须独立于控制执行 owner;独立性或利益冲突检查缺失时阻断晋级。 6. 任意 critical finding 必须关闭;任意 high finding 必须关闭或在 SLA 内进入 POA&M / 风险接受。 7. OSCAL Assessment Results 输出必须能回指样本、发现项、整改和签署;缺失时阻断 frozen 和正式审计导出。 可执行验收标准: 1. 任意 critical 控制都能从总账追到样本、抽样方法、评估人、设计有效性、运行有效性和证据摘要。 2. 任意失败控制都能追到 finding、POA&M、风险接受或阻断决策。 3. 任意独立复核人员都能用总体、随机种子和样本规则复现样本集合。 4. 任意 baseline/frozen 晋级都能证明 open critical findings 为 0,open high findings 为 0 或已风险接受。 5. 任意审计导出都能包含 OSCAL Assessment Results 摘要,并证明其与控制评估报告和 POA&M 一致。 ### 10.10.43 基线共享责任与继承控制总账 `baseline-control-inheritance-ledger.yaml` 是企业级基线的共享责任和继承控制证据。它不替代 RACI、控制面或 符合性声明;RACI 说明角色,控制面说明控制项,继承控制总账说明“谁真正承担、谁可以继承、继承条件是什么、 消费者还必须做什么、继承何时失效”。没有这张总账,平台公共控制、云服务商控制、第三方 SaaS 控制和领域团队自有控制会在审计时混成一团。 ```yaml baselineControlInheritanceLedger: ledgerId: bcil-20260602-mea-v265 baselineId: mea-v2.65-20260602 documentVersion: V2.65 owner: architecture-governance-board generatedAt: 2026-06-02T23:59:59+08:00 sourceEvidence: controlPlane: governance/control-plane/control-plane.yaml controlEvidenceMap: governance/control-plane/control-evidence-map.yaml conformanceClaim: governance/evidence/conformance/baseline-conformance-claim.yaml controlAssessmentReport: governance/evidence/control-assessments/control-assessment-report.yaml controlAssuranceSamplingLedger: governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml cloudProviderAttestation: governance/evidence/third-party/cloud-provider-attestation.yaml thirdPartyAssuranceReport: governance/evidence/third-party/assurance-report.yaml poam: governance/evidence/poam/poam-record.yaml responsibilityModel: allowedResponsibilityTypes: - provider-managed - platform-managed - inherited - shared - domain-owned - consumer-owned - third-party-managed defaultForUnmappedControl: block controls: - controlId: MEA-SC-IMAGE-SIGNATURE responsibilityType: platform-managed controlProvider: security-platform inheritingAssets: - catalog/components/customer-profile-service.yaml - catalog/components/order-service.yaml consumerResponsibilities: - use-digest-only-image-reference - include-baseline-consumption-lock - do-not-disable-runtime-admission inheritanceConditions: - cluster-admission-controller-enabled - policy-bundle-digest-matches-release - namespace-in-covered-scope evidenceRefs: - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml - governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml - governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml validUntil: 2026-09-01T00:00:00+08:00 failureMode: block-inheritance status: inherited-valid - controlId: MEA-CLOUD-KMS-HSM responsibilityType: inherited controlProvider: cloud-provider providerEvidence: reportRef: governance/evidence/third-party/cloud-provider-attestation.yaml reportDigest: sha256: reportValidUntil: 2026-09-01T00:00:00+08:00 inheritingAssets: - catalog/components/payment-service.yaml consumerResponsibilities: - enable-managed-key - bind-key-policy-to-service-account - rotate-customer-managed-key-on-schedule inheritanceConditions: - workload-uses-approved-kms-key - key-policy-reviewed - secret-rotation-evidence-present evidenceRefs: - governance/evidence/secrets/secrets-rotation-evidence.yaml - governance/evidence/access/identity-access-review.yaml validUntil: 2026-09-01T00:00:00+08:00 failureMode: convert-to-consumer-owned status: inherited-valid - controlId: MEA-DATA-DELETION-PROPAGATION responsibilityType: shared controlProvider: data-platform inheritingAssets: - catalog/data-products/customer-360.yaml - catalog/ai-products/support-assistant.yaml consumerResponsibilities: - publish-delete-event - confirm-vector-index-deletion - retain-deletion-receipt inheritanceConditions: - data-product-contract-declares-delete-semantics - rag-index-contract-has-delete-hook - deletion-receipt-linked-to-privacy-assessment evidenceRefs: - contracts/privacy/customer-data.yaml - contracts/ai/rag/support-assistant-index.yaml - governance/evidence/privacy/privacy-assessment.yaml validUntil: 2026-09-01T00:00:00+08:00 failureMode: block-ai-data-use status: inherited-valid exceptions: - exceptionId: not-applicable status: none summary: totalControls: 56 inheritedControls: 18 sharedControls: 22 providerManagedControls: 10 domainOwnedControls: 16 consumerOwnedControls: 8 unownedControls: 0 expiredInheritanceEvidence: 0 missingConsumerResponsibilities: 0 invalidInheritanceClaims: 0 openInheritanceExceptions: 0 result: pass gates: blockOnUnmappedControl: true blockOnUnownedControl: true blockOnExpiredProviderEvidence: true blockOnMissingConsumerResponsibility: true blockOnInvalidInheritanceCondition: true blockOnOpenCriticalInheritanceException: true ``` 继承控制状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `inherited-valid` | 控制可继承,provider 证据、消费者义务和继承条件均有效 | 否 | | `shared-valid` | 控制由多个 owner 共同承担,边界和消费者义务清晰 | 否 | | `consumer-action-required` | 控制可继承但消费者必须先完成配置或证据提交 | 是 | | `provider-evidence-expired` | 云、平台或第三方控制证明过期 | 是 | | `inheritance-condition-failed` | 命名空间、策略包、配置、合同或证据不满足继承条件 | 是 | | `unowned` | 控制没有明确承担方 | 是 | | `invalid-claim` | 资产声明继承控制,但总账没有覆盖该资产或证据 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、POA&M 和到期日 | 视等级而定 | 执行规则: 1. 所有生产控制必须明确责任类型;未映射控制默认阻断。 2. inherited / provider-managed / third-party-managed 控制必须有 provider evidence、有效期、适用范围和失效条件。 3. shared 控制必须列出每一方责任,尤其是消费者必须完成的配置、声明、证据和运行义务。 4. 资产的 `baseline-conformance-claim.yaml` 只能引用继承总账中覆盖自己的控制;不能口头继承平台公共控制。 5. 任意 provider evidence 过期、消费者义务缺失、继承条件失败或控制无 owner,都必须阻断 baseline/frozen 晋级。 6. 继承失效时必须按 `failureMode` 转入阻断、consumer-owned、POA&M、风险接受或撤销隔离,不得继续声明 pass。 可执行验收标准: 1. 任意控制都能追到责任类型、承担方、继承方、消费者义务、证据引用和有效期。 2. 任意资产声明继承控制时,都能从符合性声明反查到继承总账中的对应资产和控制。 3. 任意共享控制都能说明平台、领域、消费者、云服务商或第三方各自承担什么。 4. 任意 provider evidence 过期都会进入状态对账、门禁执行报告和 POA&M,而不是只在报告里标注提醒。 5. 任意 audit export 都能导出继承控制摘要,证明公共控制、继承控制和消费者义务没有责任空白。 ### 10.10.44 基线数据驻留与跨境处理总账 `baseline-data-residency-transfer-ledger.yaml` 是企业级基线的数据驻留、跨区域处理和跨境传输证据。它不替代 `privacy-impact-assessment.yaml`、数据产品契约或 AI 证据账本;隐私影响评估说明处理目的和风险,数据驻留总账说明 “数据实际在哪里存储、在哪里处理、在哪里备份、日志和向量索引在哪里、模型供应商和子处理方在哪里、传输机制是什么、补充保护措施是否生效”。 没有这张总账,企业很容易出现 DPIA 已批准但备份、日志、RAG 索引、人工支持访问或模型供应商处理位置无法证明的审计断层。 ```yaml baselineDataResidencyTransferLedger: ledgerId: bdrtl-20260602-mea-v266 baselineId: mea-v2.66-20260602 documentVersion: V2.66 owner: privacy-governance-team generatedAt: 2026-06-02T23:59:59+08:00 sourceEvidence: privacyImpactAssessment: governance/evidence/privacy/privacy-impact-assessment.yaml dataProductContracts: contracts/datasets/ aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml ragIndexContracts: contracts/ai/rag/ dataProcessingInventory: governance/privacy/data-processing-inventory.yaml subprocessorRegister: governance/privacy/subprocessor-register.yaml transferImpactAssessment: governance/privacy/transfer-impact-assessment.yaml deletionPropagationEvidence: governance/evidence/privacy/deletion-propagation-receipt.yaml controlPlane: governance/control-plane/control-plane.yaml dataResidencyPolicy: governance/policies/privacy/data-residency-policy.yaml jurisdictionPolicy: defaultForUnmappedDataClass: block allowedTransferMechanisms: - none - adequacy - standard-contractual-clauses - binding-corporate-rules - derogation - anonymized-or-aggregated - synthetic-only - local-regulatory-exemption - blocked requiredSupplementalMeasures: - encryption-in-transit - encryption-at-rest - customer-managed-key - least-privilege-support-access - data-minimization - audit-log-retention - deletion-propagation dataFlows: - flowId: customer-profile-eu-primary assetRef: catalog/data-products/customer-profile.yaml dataClass: personal-data specialCategory: false regulatoryRegions: - EU allowedStorageRegions: - eu-central-1 - eu-west-1 actualStorageRegions: - eu-central-1 actualProcessingRegions: - eu-central-1 backupRegions: - eu-west-1 logRegions: - eu-central-1 vectorIndexRegions: [] modelProviderRegions: [] supportAccessRegions: - EU transferMechanism: none subprocessors: [] supplementalMeasures: - encryption-in-transit - encryption-at-rest - customer-managed-key - audit-log-retention - deletion-propagation deletionPropagation: dataProduct: pass backup: pass logs: pass vectorIndex: not-applicable status: residency-valid - flowId: support-assistant-rag-eu-to-approved-provider assetRef: catalog/ai-products/support-assistant.yaml dataClass: pseudonymized-support-transcript specialCategory: false regulatoryRegions: - EU allowedStorageRegions: - eu-central-1 actualStorageRegions: - eu-central-1 actualProcessingRegions: - eu-central-1 backupRegions: - eu-west-1 logRegions: - eu-central-1 vectorIndexRegions: - eu-central-1 modelProviderRegions: - approved-provider-eu supportAccessRegions: - EU transferMechanism: standard-contractual-clauses transferEvidence: transferImpactAssessment: governance/privacy/transfer-impact-assessment.yaml contractualSafeguardRef: governance/privacy/scc/support-assistant-provider.yaml validUntil: 2026-09-01T00:00:00+08:00 subprocessors: - name: approved-llm-provider approvalRef: governance/privacy/subprocessor-register.yaml#approved-llm-provider allowedDataClasses: - pseudonymized-support-transcript validUntil: 2026-09-01T00:00:00+08:00 supplementalMeasures: - encryption-in-transit - data-minimization - no-foundation-model-training - prompt-and-output-redaction - audit-log-retention - deletion-propagation deletionPropagation: dataProduct: pass backup: pass logs: pass vectorIndex: pass status: transfer-valid exceptions: - exceptionId: not-applicable status: none summary: regulatedDataClasses: 14 assetsCovered: 32 approvedProcessingRegions: 18 crossBorderTransfers: 9 transfersWithMechanism: 9 transfersMissingSupplementalMeasures: 0 unapprovedSubprocessors: 0 unapprovedProcessingRegions: 0 backupRegionViolations: 0 logRegionViolations: 0 vectorIndexRegionViolations: 0 modelProviderRegionUnknown: 0 deletionPropagationGaps: 0 openResidencyExceptions: 0 result: pass gates: blockOnUnmappedDataClass: true blockOnUnapprovedProcessingRegion: true blockOnMissingTransferMechanism: true blockOnMissingSupplementalMeasure: true blockOnUnapprovedSubprocessor: true blockOnUnknownModelProviderRegion: true blockOnDeletionPropagationGap: true ``` 数据驻留与传输状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `residency-valid` | 数据只在批准区域存储、处理、备份和留存日志 | 否 | | `transfer-valid` | 存在跨区域或跨境处理,但传输机制、补充措施、子处理方和有效期均可证明 | 否 | | `consumer-action-required` | 资产 owner 必须补充区域声明、删除传播、子处理方或传输证据 | 是 | | `transfer-mechanism-missing` | 存在跨区域或跨境处理,但缺少可接受传输机制 | 是 | | `supplemental-measure-missing` | 高敏或受监管数据出境缺少加密、最小化、密钥托管、审计或删除传播等补充措施 | 是 | | `subprocessor-unapproved` | 子处理方未批准、适用数据类别不匹配或证明过期 | 是 | | `region-drift` | 实际存储、处理、备份、日志、向量索引或模型供应商区域偏离批准区域 | 是 | | `deletion-propagation-failed` | 删除请求未传播到备份、日志、向量索引或下游数据产品 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、POA&M、到期日和补偿控制 | 视等级而定 | 执行规则: 1. 任意含 PII、敏感数据、受监管数据或 AI 可识别上下文的数据流必须进入总账;未映射数据类别默认阻断。 2. 总账必须同时覆盖主存储、计算处理、备份、日志、RAG / 向量索引、模型供应商、人工支持访问和子处理方;不得只登记主数据库区域。 3. 任意跨区域或跨境处理必须声明传输机制、转移影响评估、合同或等效保障、补充保护措施、有效期和失效条件。 4. AI 产品不得只声明“使用脱敏数据”;必须证明 Prompt、RAG chunk、embedding、向量索引、模型供应商日志和人工审核链路的区域边界。 5. 子处理方必须按数据类别授权;授权过期、数据类别不匹配或供应商处理区域未知时,release gate 必须阻断。 6. 删除传播必须覆盖数据产品、备份、日志、向量索引和 AI 评估/回放数据集;缺少删除回执时不能进入 baseline/frozen。 7. 任意 region drift、transfer mechanism missing、supplemental measure missing 或 unapproved subprocessor 都必须进入状态对账、门禁执行报告、POA&M 或风险接受。 可执行验收标准: 1. 任意数据产品、AI 产品或生产服务都能回答数据在哪些区域存储、处理、备份、留存日志和索引。 2. 任意跨区域或跨境处理都能追到传输机制、补充措施、子处理方批准、有效期和失效阻断策略。 3. 任意 RAG / 向量索引都能证明来源数据、embedding、索引、刷新和删除传播没有越过批准区域。 4. 任意模型供应商或人工支持访问都能证明处理区域、数据类别、日志保留、训练排除和审计留存。 5. 任意审计导出都能包含数据驻留摘要,证明隐私影响评估、数据契约、AI 证据账本和实际运行区域没有互相矛盾。 ### 10.10.45 基线第三方与关键供应商风险总账 `baseline-third-party-risk-ledger.yaml` 是企业级基线的第三方、关键供应商和 ICT 服务风险证据。它不替代采购系统、合同库、 供应商清单或子处理方登记;采购系统说明“买了谁”,合同库说明“签了什么”,供应商风险总账说明“这个供应商对哪些关键资产 构成依赖、有哪些控制可以继承、哪些义务仍由企业承担、是否具备审计权、保证报告、退出计划、替代路径和连续性证明”。 没有这张总账,云平台、SaaS、模型供应商、外包方、数据处理方和关键子处理方会在采购、法务、隐私、安全、架构和运行团队之间 形成分散台账,导致关键供应商事件、合同失效、保证报告过期或集中度风险不能进入 release gate。 ```yaml baselineThirdPartyRiskLedger: ledgerId: btprl-20260602-mea-v267 baselineId: mea-v2.67-20260602 documentVersion: V2.67 owner: third-party-risk-team generatedAt: 2026-06-02T20:40:00+08:00 linkedEvidence: supplierRegister: governance/third-party/supplier-register.yaml contractRegister: governance/third-party/contract-register.yaml dpaRegister: governance/privacy/data-processing-agreements.yaml slaRegister: governance/third-party/service-level-agreements.yaml assuranceReports: governance/third-party/assurance-reports/ exitPlans: governance/third-party/exit-plans/ controlInheritanceLedger: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml riskRegister: governance/evidence/risk/risk-register.yaml poamRegister: governance/evidence/poam/poam-record.yaml incidentPostmortems: governance/postmortems/ policy: criticalityLevels: - critical - high - standard - low serviceTypes: - cloud-platform - saas - ict-service - model-provider - data-processor - payment-provider - observability-provider - security-provider - outsourcing - subprocessor assuranceMaxAgeDays: critical: 365 high: 365 standard: 730 concentrationThresholds: criticalSingleProviderMaxPercent: 70 modelProviderMaxPercent: 60 regionSingleProviderMaxPercent: 80 requireAuditRightsFor: - critical - high requireExitPlanFor: - critical - high blockOnUnapprovedCriticalSupplier: true blockOnMissingContractControls: true blockOnMissingAuditRights: true blockOnExpiredAssurance: true blockOnMissingExitPlan: true blockOnConcentrationBreach: true blockOnOpenCriticalSupplierIncident: true suppliers: - supplierId: supplier-cloud-platform-primary legalName: approved-cloud-platform serviceType: cloud-platform criticality: critical owner: cloud-platform-team affectedAssets: - platform:kubernetes-prod - infra:object-storage - data-platform:lakehouse dataClassesHandled: - pii - confidential-business-data - regulated-transaction-data regions: primaryProcessing: - us-east-1 - eu-central-1 backup: - us-west-2 supportAccess: - approved-support-region contractControls: masterAgreement: governance/third-party/contracts/cloud-platform-msa.yaml dpa: governance/privacy/data-processing-agreements/cloud-platform-dpa.yaml sla: governance/third-party/service-level-agreements/cloud-platform-sla.yaml auditRights: explicit breachNotificationHours: 24 subcontractorNotificationRequired: true dataReturnAndDeletionClause: present terminationAssistanceClause: present assurance: reportType: soc2-type-ii reportRef: governance/third-party/assurance-reports/cloud-platform-soc2-2026.pdf issuedAt: 2026-02-15 expiresAt: 2027-02-15 bridgeLetterRequired: false openFindings: 0 inheritedControls: controlInheritanceRef: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml#cloud-platform consumerObligations: - enable-customer-managed-key - configure-logging - enforce-network-policy residency: residencyRef: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml#cloud-platform transferMechanism: dpa-and-scc supplementalMeasures: - customer-managed-key - least-privilege-support-access - support-session-audit-log continuity: exitPlanRef: governance/third-party/exit-plans/cloud-platform-exit-plan.yaml lastExitDrillAt: 2026-05-15 rtoHoursIfSupplierUnavailable: 24 portability: dataExportTested: true configExportTested: true backupRestoreToAlternateProviderTested: true alternateSuppliers: - supplier-cloud-platform-secondary concentration: workloadPercent: 62 modelTrafficPercent: 0 regionDependencyPercent: 68 thresholdBreached: false incidents: openSupplierIncidents: 0 lastIncidentRef: governance/postmortems/cloud-platform-outage-2026-04.md status: approved-current - supplierId: supplier-llm-provider-primary legalName: approved-llm-provider serviceType: model-provider criticality: high owner: ai-platform-team affectedAssets: - ai-product:customer-support-agent - ai-product:knowledge-search dataClassesHandled: - pii-minimized - support-ticket-text - enterprise-knowledge aiUsage: modelFamilies: - frontier-llm - embedding disallowed: - foundation-model-training - provider-side-human-review-without-approval fallbackRoute: provider: supplier-llm-provider-secondary modelFamily: fallback-llm killSwitch: contracts/release/feature-flags/llm-provider-primary-disable.yaml contractControls: masterAgreement: governance/third-party/contracts/llm-provider-msa.yaml dpa: governance/privacy/data-processing-agreements/llm-provider-dpa.yaml sla: governance/third-party/service-level-agreements/llm-provider-sla.yaml auditRights: explicit dataTrainingExclusion: present logRetentionDays: 30 subprocessorNotificationRequired: true assurance: reportType: third-party-security-assessment reportRef: governance/third-party/assurance-reports/llm-provider-assessment-2026.pdf issuedAt: 2026-03-20 expiresAt: 2027-03-20 openFindings: 0 residency: residencyRef: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml#llm-provider transferMechanism: dpa-and-scc supplementalMeasures: - prompt-minimization - pii-redaction - tenant-isolated-logging continuity: exitPlanRef: governance/third-party/exit-plans/llm-provider-exit-plan.yaml lastFailoverDrillAt: 2026-05-20 fallbackTestResult: pass rtoHoursIfSupplierUnavailable: 4 concentration: modelTrafficPercent: 48 thresholdBreached: false incidents: openSupplierIncidents: 0 status: approved-current - supplierId: supplier-observability-platform legalName: approved-observability-saas serviceType: observability-provider criticality: high owner: sre-team affectedAssets: - platform:observability - services:tier-1 dataClassesHandled: - application-logs - traces - metrics contractControls: masterAgreement: governance/third-party/contracts/observability-saas-msa.yaml dpa: governance/privacy/data-processing-agreements/observability-saas-dpa.yaml sla: governance/third-party/service-level-agreements/observability-saas-sla.yaml auditRights: explicit logRetentionDays: 90 dataExportClause: present assurance: reportType: iso-27001-certificate reportRef: governance/third-party/assurance-reports/observability-iso27001-2026.pdf issuedAt: 2026-01-10 expiresAt: 2027-01-10 openFindings: 0 continuity: exitPlanRef: governance/third-party/exit-plans/observability-saas-exit-plan.yaml exportDrillAt: 2026-05-25 alternateSuppliers: - supplier-observability-self-hosted concentration: telemetryIngestPercent: 55 thresholdBreached: false status: approved-current summary: suppliersCovered: 38 criticalSuppliers: 12 criticalSuppliersApproved: 12 suppliersHandlingRegulatedData: 14 supplierRecordsMissingContractControls: 0 missingDpaOrSla: 0 missingAuditRights: 0 expiredAssuranceReports: 0 missingExitPlans: 0 concentrationThresholdBreaches: 0 unapprovedCriticalSuppliers: 0 openCriticalSupplierFindings: 0 openSupplierPoamOverdue: 0 supplierIncidentsOpen: 0 result: pass gates: blockOnUnapprovedCriticalSupplier: true blockOnMissingContractControls: true blockOnMissingDpaOrSla: true blockOnMissingAuditRights: true blockOnExpiredAssuranceReports: true blockOnMissingExitPlan: true blockOnConcentrationThresholdBreach: true blockOnOpenCriticalSupplierIncident: true blockOnSupplierPoamOverdue: true ``` 第三方风险状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `approved-current` | 供应商已批准,合同、审计权、保证报告、退出计划和连续性证据均有效 | 否 | | `consumer-action-required` | 业务、平台、AI、数据或 SRE owner 需要补充消费者义务或配置证明 | 是 | | `assurance-expired` | SOC、ISO、独立评估或其他保证证据过期 | 是 | | `contract-control-missing` | 主协议、DPA、SLA、数据删除、违约通知或转包通知等关键条款缺失 | 是 | | `audit-right-missing` | 关键或高风险供应商缺少审计权、报告获取权或等效保证机制 | 是 | | `exit-plan-missing` | 关键或高风险供应商缺少退出、迁移、数据导出、替代供应商或演练证据 | 是 | | `concentration-breach` | 单一供应商、模型供应商、区域或服务类别依赖超过阈值 | 是 | | `unapproved-critical` | critical/high 供应商未进入批准清单或批准范围不覆盖当前服务 | 是 | | `supplier-incident-open` | 供应商事故仍未关闭,且影响关键资产、数据、AI 或连续性 | 是 | | `poam-overdue` | 供应商风险发现项的 POA&M 超期 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、POA&M、补偿控制和到期日 | 视等级而定 | 执行规则: 1. 所有 critical/high 供应商、ICT 服务、云平台、SaaS、模型供应商、数据处理方、外包方和关键子处理方必须进入总账;未知关键性默认按 high 处理。 2. 每个关键供应商必须绑定 owner、服务范围、受影响资产、数据类别、合同控制、DPA/SLA、审计权、保证报告、退出计划、替代路径和连续性证据。 3. 供应商处理 PII、受监管数据、AI Prompt/RAG 内容、日志、备份或特征数据时,必须引用数据驻留总账和隐私证据;不得只引用采购合同。 4. 使用模型供应商时,必须声明训练排除、日志保留、人工审核限制、fallback 路由、kill switch、成本异常响应和供应商中断降级路径。 5. 供应商保证报告过期、审计权缺失、合同控制缺失、退出计划缺失、集中度超阈值或关键供应商未批准时,release gate 必须阻断。 6. 供应商事件必须进入事故复盘、风险登记、POA&M、状态对账和证据追踪图;不能只留在采购或供应商管理系统中。 7. 供应商集中度必须按业务能力、运行平台、模型调用、区域、数据类别和关键流程分别度量;单一“供应商数量很多”不能证明集中度健康。 8. 第三方总账必须与共享责任与继承控制总账联动:能继承什么控制、企业仍必须配置什么控制、继承何时失效,必须写到同一条证据链。 可执行验收标准: 1. 任意关键生产资产都能列出依赖的 critical/high 供应商、服务范围、关键性、owner、合同、保证报告、退出计划和替代路径。 2. 任意供应商处理敏感或受监管数据时,都能追到数据类别、处理区域、DPA、转包/子处理方、传输机制、日志保留和删除传播证据。 3. 任意 AI 产品都能证明模型供应商具备训练排除、日志留存、fallback、kill switch、供应商中断降级和成本异常处置证据。 4. 任意供应商保证报告过期、审计权缺失、合同控制缺失、集中度超阈值或退出计划缺失都会阻断 baseline/frozen 晋级,直到补证、整改或正式风险接受。 5. 任意正式审计导出都能包含第三方风险摘要,证明供应商清单、合同库、控制继承、数据驻留、AI 证据账本、风险登记和 POA&M 没有互相矛盾。 ### 10.10.46 基线运营韧性与重要业务服务影响容忍总账 `baseline-operational-resilience-ledger.yaml` 是企业级基线的运营韧性证据。它不替代 SLO、RTO/RPO、恢复演练、事故复盘、 第三方风险总账或业务连续性计划;这些证据回答“系统是否可靠、是否能恢复、供应商是否可控”,运营韧性总账回答“哪些重要业务 服务一旦中断会伤害客户、市场、监管或企业生存;可承受影响边界是多少;在严重但合理冲击下,端到端业务结果是否仍能落在影响 容忍以内”。没有这张总账,企业容易把韧性退化成组件级灾备,把业务影响、客户影响、数据影响、人员替代、供应商失效、AI 降级 和监管沟通割裂在不同团队的文件里。 ```yaml baselineOperationalResilienceLedger: ledgerId: borl-20260602-mea-v268 baselineId: mea-v2.68-20260602 documentVersion: V2.68 owner: operational-resilience-team generatedAt: 2026-06-02T21:20:00+08:00 linkedEvidence: businessImpactAnalysis: governance/resilience/bia/ importantBusinessServiceCatalog: catalog/business-services/ serviceCatalog: catalog/components/ dataProducts: catalog/data-products/ aiProducts: catalog/ai-products/ recoveryDrills: governance/evidence/recovery/ thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml continuousControlMonitoringLedger: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml incidentPlaybooks: governance/playbooks/ communicationsPlans: governance/resilience/communications/ poamRegister: governance/evidence/poam/poam-record.yaml riskRegister: governance/evidence/risk/risk-register.yaml policy: serviceCriticalityLevels: - important-business-service - critical-internal-service - standard-service impactDimensions: - customer-harm - market-integrity - regulatory-obligation - financial-loss - data-integrity - safety - reputational-harm biaMaxAgeDays: 365 dependencyMapMaxAgeDays: 180 scenarioTestMaxAgeDays: 365 requireBoardOrRiskOwnerApprovalFor: - important-business-service blockOnMissingImportantBusinessServiceOwner: true blockOnMissingImpactTolerance: true blockOnStaleBia: true blockOnIncompleteDependencyMap: true blockOnScenarioNotTested: true blockOnScenarioResultAboveTolerance: true blockOnUnownedCriticalDependency: true blockOnMissingManualWorkaround: true blockOnMissingCommunicationsPlan: true blockOnOpenCriticalResilienceGap: true importantBusinessServices: - serviceId: ibs-customer-ordering name: customer ordering owner: retail-business-owner accountableExecutive: chief-operating-officer riskOwner: enterprise-risk-office serviceCriticality: important-business-service customerGroups: - retail-customers - enterprise-buyers impactTolerances: maxTotalUnavailability: PT2H maxSevereDegradation: PT4H maxOrdersDelayed: 5000 maxDataLoss: PT5M maxCustomerNotificationDelay: PT30M maxRegulatoryNotificationDelay: PT24H approvedBy: executive-risk-committee approvedAt: 2026-05-18 bia: biaRef: governance/resilience/bia/customer-ordering-bia-2026.yaml lastReviewedAt: 2026-05-10 financialImpactPerHour: high customerHarmLevel: high regulatoryImpact: medium endToEndDependencies: domainServices: - domains/order/services/order-command-service/service.yaml - domains/payment/services/payment-authorization-service/service.yaml - domains/inventory/services/inventory-reservation-service/service.yaml dataProducts: - catalog/data-products/order-facts.yaml - catalog/data-products/payment-events.yaml aiProducts: - catalog/ai-products/customer-support-agent.yaml platformDependencies: - platform:api-gateway - platform:kubernetes-prod - platform:identity - platform:observability thirdPartyDependencies: - supplier-cloud-platform-primary - supplier-payment-provider-primary - supplier-llm-provider-primary peopleAndProcess: - on-call:sre-tier-1 - on-call:order-domain - manual-order-intake-team criticalDependenciesUnowned: 0 recoveryAndContinuity: rto: PT1H rpo: PT5M lastRecoveryDrill: governance/evidence/recovery/customer-ordering-2026-05.yaml manualWorkaround: available: true runbook: governance/resilience/manual-workarounds/customer-ordering.md maxManualThroughputPerHour: 1200 communicationsPlan: governance/resilience/communications/customer-ordering-comms.yaml customerNotificationTemplate: governance/resilience/communications/customer-ordering-customer-notice.md regulatorNotificationRunbook: governance/resilience/communications/regulator-notification.md severeButPlausibleScenarios: - scenarioId: sp-ibs-ordering-cloud-region-loss description: primary cloud region unavailable with payment provider latency testedAt: 2026-05-22 testEvidence: governance/evidence/recovery/customer-ordering-region-loss-2026-05.yaml dependenciesExercised: - cloud-region-failover - payment-provider-fallback - data-replication - customer-communications actualUnavailability: PT1H15M severeDegradation: PT2H ordersDelayed: 3200 dataLoss: PT0M customerNotificationDelay: PT18M withinImpactTolerance: true - scenarioId: sp-ibs-ordering-llm-support-failure description: LLM provider outage during order incident support surge testedAt: 2026-05-24 testEvidence: governance/evidence/recovery/customer-ordering-llm-failure-2026-05.yaml dependenciesExercised: - ai-support-agent-fallback - human-support-surge - customer-communications actualUnavailability: PT0M severeDegradation: PT1H10M ordersDelayed: 0 dataLoss: PT0M customerNotificationDelay: PT20M withinImpactTolerance: true currentResilienceGaps: openCritical: 0 openHigh: 0 poamRefs: [] status: within-tolerance - serviceId: ibs-regulatory-reporting name: regulatory reporting owner: finance-operations-owner accountableExecutive: chief-financial-officer riskOwner: enterprise-risk-office serviceCriticality: important-business-service impactTolerances: maxReportSubmissionDelay: PT4H maxDataReconciliationLag: PT30M maxDataLoss: PT0M maxRegulatoryNotificationDelay: PT2H approvedBy: executive-risk-committee approvedAt: 2026-05-18 bia: biaRef: governance/resilience/bia/regulatory-reporting-bia-2026.yaml lastReviewedAt: 2026-05-12 regulatoryImpact: high financialImpactPerHour: medium endToEndDependencies: domainServices: - domains/finance/services/reporting-service/service.yaml dataProducts: - catalog/data-products/general-ledger.yaml - catalog/data-products/regulatory-reporting-dataset.yaml platformDependencies: - platform:lakehouse - platform:batch-orchestration - platform:identity thirdPartyDependencies: - supplier-cloud-platform-primary - supplier-regulatory-filing-gateway criticalDependenciesUnowned: 0 recoveryAndContinuity: rto: PT2H rpo: PT0M lastRecoveryDrill: governance/evidence/recovery/regulatory-reporting-2026-05.yaml manualWorkaround: available: true runbook: governance/resilience/manual-workarounds/regulatory-reporting.md communicationsPlan: governance/resilience/communications/regulatory-reporting-comms.yaml severeButPlausibleScenarios: - scenarioId: sp-ibs-reporting-lakehouse-corruption description: lakehouse table corruption before filing window testedAt: 2026-05-26 testEvidence: governance/evidence/recovery/regulatory-reporting-lakehouse-corruption-2026-05.yaml dependenciesExercised: - backup-restore - data-reconciliation - regulator-communications reportSubmissionDelay: PT2H20M dataReconciliationLag: PT20M dataLoss: PT0M withinImpactTolerance: true currentResilienceGaps: openCritical: 0 openHigh: 0 poamRefs: [] status: within-tolerance summary: importantBusinessServices: 9 servicesWithApprovedImpactTolerance: 9 servicesWithCurrentBia: 9 endToEndDependencyMapsCurrent: 9 severeButPlausibleScenarios: 18 scenariosTested: 18 scenariosWithinImpactTolerance: 18 scenarioFailures: 0 toleranceBreaches: 0 criticalDependenciesUnowned: 0 thirdPartyDependenciesUntested: 0 aiDependenciesUntested: 0 missingManualWorkarounds: 0 missingCommunicationsPlans: 0 openCriticalResilienceGaps: 0 overdueResiliencePoam: 0 result: pass breachAndEscalation: breachDefinition: - actual impact exceeds approved impact tolerance - important business service owner unknown - severe but plausible scenario not tested within required window - critical dependency unowned or unmapped - critical resilience gap open without risk acceptance escalationPath: - operational-resilience-team - enterprise-risk-office - executive-risk-committee - regulator-communications-owner requiredActions: - create incident or near-miss record - open POA&M or risk acceptance - update BIA and dependency map - rerun affected scenario test - block baseline or frozen promotion until closure gates: blockOnMissingImportantBusinessService: true blockOnMissingImpactTolerance: true blockOnStaleBia: true blockOnIncompleteDependencyMap: true blockOnScenarioNotTested: true blockOnScenarioResultAboveTolerance: true blockOnUnownedCriticalDependency: true blockOnMissingManualWorkaround: true blockOnMissingCommunicationsPlan: true blockOnOpenCriticalResilienceGap: true blockOnToleranceBreachWithoutEscalation: true ``` 运营韧性状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `within-tolerance` | 重要业务服务已识别,影响容忍已批准,场景测试结果在容忍边界内 | 否 | | `dependency-action-required` | 端到端依赖缺 owner、缺证据、缺第三方/数据/AI 关联或依赖图过期 | 是 | | `bia-stale` | 业务影响分析超过最大有效期,或重大业务变化后未复核 | 是 | | `impact-tolerance-missing` | 重要业务服务没有批准的影响容忍 | 是 | | `scenario-test-overdue` | 严重但合理场景未在有效期内测试 | 是 | | `scenario-failed` | 场景测试失败、恢复超时、数据丢失或沟通延迟超限 | 是 | | `tolerance-breached` | 实际事故或演练结果超出影响容忍 | 是 | | `manual-workaround-missing` | 重要业务服务缺少可执行人工替代或业务降级流程 | 是 | | `communications-plan-missing` | 客户、内部、监管或关键伙伴沟通计划缺失 | 是 | | `open-critical-gap` | critical 韧性缺口未关闭、未进入 POA&M 或未完成风险接受 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、POA&M、补偿控制、到期日和重测计划 | 视等级而定 | 执行规则: 1. 运营韧性必须按重要业务服务建模,不能只按应用、数据库、集群、供应商或团队建模。 2. 每个重要业务服务必须绑定业务 owner、accountable executive、risk owner、客户群、影响容忍、BIA、端到端依赖、恢复证据和沟通计划。 3. 影响容忍必须表达客户、市场、监管、财务、数据完整性、声誉或安全等业务影响边界;不能只写系统 RTO/RPO。 4. 端到端依赖必须覆盖领域服务、数据产品、AI 产品、平台能力、GitOps/runtime、人员流程、第三方供应商、通信渠道和人工替代。 5. 严重但合理场景必须覆盖至少一种技术失效、一种数据或完整性失效、一种第三方或云依赖失效,以及高风险 AI 产品的模型/工具降级。 6. 场景测试必须记录测试时间、证据路径、依赖范围、实际不可用时间、严重降级时间、数据损失、客户通知延迟、监管通知延迟和是否落在影响容忍内。 7. 任意实际事故、near miss 或演练超出影响容忍时,必须进入事故复盘、风险登记、POA&M、状态对账和证据追踪图。 8. 运营韧性总账必须与第三方风险总账、数据驻留总账、AI 证据账本、连续控制监测总账和恢复演练证据联动;不能只在业务连续性文档里自证。 9. 重要业务服务的 open critical resilience gap、未批准影响容忍、过期 BIA、未测场景、超限场景或缺少沟通计划必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意重要业务服务都能列出 owner、影响容忍、BIA、客户群、端到端依赖、恢复证据、人工替代和沟通计划。 2. 任意 Tier-1 / Tier-2 生产资产都能追溯到它支撑的业务服务,以及该业务服务的影响容忍和场景测试证据。 3. 任意第三方、云、SaaS、模型供应商或关键子处理方失效场景都能证明是否仍在影响容忍内,或已进入 POA&M / 风险接受 / 超限升级。 4. 任意 AI 产品参与重要业务服务时,都能证明模型供应商中断、RAG 污染、工具禁用、人工接管和成本异常不会让业务影响越过容忍边界。 5. 任意正式审计导出都能包含运营韧性摘要,证明 BIA、SLO/RTO/RPO、恢复演练、第三方风险、数据驻留、AI 证据、事故响应和 POA&M 没有互相矛盾。 ### 10.10.47 基线监管与合规义务可追溯总账 `baseline-regulatory-obligation-ledger.yaml` 是企业级基线的监管、合规、合同和内部政策义务追溯证据。它不替代 `control-plane.yaml`、`control-evidence-map.yaml`、`standards-baseline.yaml`、风险登记、法务台账或合同库;这些对象分别说明 “执行哪些控制、证据在哪里、引用哪些标准、有哪些风险和合同”。监管义务总账回答的是:“这条控制为什么存在;它覆盖了哪条适用 义务;义务适用于哪些资产、区域、数据类别、AI 产品、重要业务服务和第三方;强制义务是否有 owner、证据、例外、整改和监管变更 跟踪”。没有这张总账,企业只能证明“有控制”,不能证明“控制覆盖了适用义务”。 ```yaml baselineRegulatoryObligationLedger: ledgerId: brol-20260602-mea-v269 baselineId: mea-v2.69-20260602 documentVersion: V2.69 owner: compliance-governance-team generatedAt: 2026-06-02T22:30:00+08:00 linkedEvidence: standardsBaseline: governance/control-plane/standards-baseline.yaml controlPlane: governance/control-plane/control-plane.yaml controlEvidenceMap: governance/control-plane/control-evidence-map.yaml oscalProfile: governance/evidence/oscal/oscal-export-profile.yaml riskRegister: governance/evidence/risk/risk-register.yaml poamRegister: governance/evidence/poam/poam-record.yaml auditEvidenceIndex: governance/evidence/audit-evidence-index.md legalRegister: governance/compliance/legal-register.yaml contractRegister: governance/third-party/contract-register.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml policy: obligationTypes: - law - regulation - supervisory-guidance - industry-standard - customer-contract - internal-policy obligationStrength: - mandatory - risk-based - contractual - advisory - reference defaultForUnmappedMandatoryObligation: block sourceReviewCadenceDays: 90 regulatoryChangeReviewSlaDays: critical: 7 high: 30 standard: 90 requireLegalSignoffFor: - law - regulation - customer-contract blockOnUnmappedMandatoryObligation: true blockOnMissingControlObjective: true blockOnMissingControlMapping: true blockOnMissingEvidenceForMandatoryObligation: true blockOnUnownedObligation: true blockOnOverdueRegulatoryChange: true blockOnOverdueObligationPoam: true obligations: - obligationId: OBL-EU-GDPR-ART32-SECURITY source: type: law name: GDPR sourceUrl: https://eur-lex.europa.eu/eli/reg/2016/679/oj jurisdiction: - EU citation: Article 32 version: Regulation (EU) 2016/679 effectiveDate: 2018-05-25 obligationStrength: mandatory obligationTextSummary: ensure appropriate technical and organizational measures for processing security appliesTo: dataClasses: - personal-data - pseudonymized-support-transcript assetTypes: - service - data-product - ai-product regions: - EU thirdParties: - supplier-cloud-platform-primary - supplier-llm-provider-primary controlObjectives: - protect personal data confidentiality, integrity and availability - maintain restoration and access resilience mappedControls: - controlId: MEA-SEC-ENCRYPTION-AT-REST controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-SEC-ENCRYPTION-AT-REST responsibility: shared - controlId: MEA-PRIV-DELETION-PROPAGATION controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-PRIV-DELETION-PROPAGATION responsibility: domain-owned - controlId: MEA-RES-RECOVERY-DRILL controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-RES-RECOVERY-DRILL responsibility: platform-managed evidenceRefs: - governance/evidence/privacy/privacy-impact-assessment.yaml - governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml - governance/evidence/recovery/recovery-drill-evidence.yaml - governance/evidence/control-map/control-evidence-map.yaml owners: obligationOwner: privacy-governance-team controlOwner: security-platform legalOwner: privacy-counsel exceptions: [] poamRefs: [] regulatoryChange: monitoredBy: compliance-governance-team lastReviewedAt: 2026-06-02 nextReviewDue: 2026-09-02 openChangeItems: 0 status: mapped-and-evidenced - obligationId: OBL-EU-DORA-ICT-RISK-THIRD-PARTY source: type: regulation name: EU DORA sourceUrl: https://eur-lex.europa.eu/eli/reg/2022/2554/oj jurisdiction: - EU citation: ICT risk management and ICT third-party risk management version: Regulation (EU) 2022/2554 effectiveDate: 2025-01-17 obligationStrength: mandatory obligationTextSummary: manage ICT risk and critical third-party ICT provider dependencies appliesTo: assetTypes: - service - platform-capability - ai-product businessServices: - ibs-customer-ordering - ibs-regulatory-reporting thirdParties: - supplier-cloud-platform-primary - supplier-payment-provider-primary - supplier-llm-provider-primary controlObjectives: - maintain ICT risk controls across critical business services - keep critical third-party dependencies exit-ready and monitored mappedControls: - controlId: MEA-TPRM-CRITICAL-SUPPLIER-APPROVAL controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-TPRM-CRITICAL-SUPPLIER-APPROVAL responsibility: third-party-managed - controlId: MEA-RES-IMPACT-TOLERANCE controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-RES-IMPACT-TOLERANCE responsibility: business-owned - controlId: MEA-RUNTIME-ADMISSION controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-RUNTIME-ADMISSION responsibility: platform-managed evidenceRefs: - governance/evidence/baselines/baseline-third-party-risk-ledger.yaml - governance/evidence/baselines/baseline-operational-resilience-ledger.yaml - governance/evidence/baselines/baseline-runtime-admission-receipt.yaml - governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml owners: obligationOwner: enterprise-risk-office controlOwner: third-party-risk-team legalOwner: financial-regulatory-counsel exceptions: [] poamRefs: [] regulatoryChange: monitoredBy: compliance-governance-team lastReviewedAt: 2026-06-02 nextReviewDue: 2026-09-02 openChangeItems: 0 status: mapped-and-evidenced - obligationId: OBL-EU-AI-ACT-HIGH-RISK-RECORDS source: type: regulation name: EU AI Act sourceUrl: https://eur-lex.europa.eu/eli/reg/2024/1689/oj jurisdiction: - EU citation: high-risk AI governance and record keeping version: Regulation (EU) 2024/1689 effectiveDate: 2024-08-01 obligationStrength: risk-based obligationTextSummary: high-risk AI systems require stronger risk management, data governance, logging and human oversight appliesTo: assetTypes: - ai-product aiRiskTiers: - R4 - R5 controlObjectives: - ensure high-risk AI products have documented risk management and evidence - ensure AI decisions can be reviewed, downgraded and audited mappedControls: - controlId: MEA-AI-EVIDENCE-LEDGER controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-AI-EVIDENCE-LEDGER responsibility: ai-product-owned - controlId: MEA-AI-HUMAN-OVERSIGHT controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-AI-HUMAN-OVERSIGHT responsibility: business-owned - controlId: MEA-AI-INCIDENT-PLAYBOOK controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-AI-INCIDENT-PLAYBOOK responsibility: ai-platform-managed evidenceRefs: - governance/evidence/ai/ai-evidence.yaml - governance/playbooks/ai-incident-playbook.yaml - contracts/ai/observability/ - governance/evidence/baselines/baseline-third-party-risk-ledger.yaml owners: obligationOwner: ai-governance-team controlOwner: ai-platform-team legalOwner: ai-regulatory-counsel exceptions: [] poamRefs: [] regulatoryChange: monitoredBy: ai-governance-team lastReviewedAt: 2026-06-02 nextReviewDue: 2026-07-02 openChangeItems: 0 status: mapped-and-evidenced - obligationId: OBL-ISO-37301-COMPLIANCE-MANAGEMENT source: type: industry-standard name: ISO 37301 sourceUrl: https://www.iso.org/standard/75080.html jurisdiction: - global citation: compliance management system requirements version: ISO 37301:2021 obligationStrength: advisory obligationTextSummary: maintain a compliance management system with obligations, controls, monitoring and improvement appliesTo: assetTypes: - enterprise-baseline - governance-control-plane controlObjectives: - maintain compliance obligations and control mappings - monitor regulatory change and corrective actions mappedControls: - controlId: MEA-COMP-OBLIGATION-TRACEABILITY controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-COMP-OBLIGATION-TRACEABILITY responsibility: compliance-owned - controlId: MEA-POAM-CORRECTIVE-ACTION controlPlaneRef: governance/control-plane/control-plane.yaml#MEA-POAM-CORRECTIVE-ACTION responsibility: governance-owned evidenceRefs: - governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml - governance/evidence/poam/poam-record.yaml - governance/evidence/control-assessments/control-assessment-report.yaml owners: obligationOwner: compliance-governance-team controlOwner: architecture-governance-board legalOwner: compliance-counsel exceptions: [] poamRefs: [] regulatoryChange: monitoredBy: compliance-governance-team lastReviewedAt: 2026-06-02 nextReviewDue: 2026-09-02 openChangeItems: 0 status: mapped-and-evidenced summary: obligationsCovered: 64 mandatoryObligations: 42 riskBasedObligations: 12 contractualObligations: 6 advisoryObligations: 4 obligationsMappedToControls: 64 obligationsMappedToEvidence: 64 unmappedMandatoryObligations: 0 missingControlObjectives: 0 missingEvidenceForMandatoryObligation: 0 unownedObligations: 0 staleSourceReviews: 0 overdueRegulatoryChanges: 0 activeObligationExceptions: 0 overdueObligationPoam: 0 result: pass gates: blockOnUnmappedMandatoryObligation: true blockOnMissingControlObjective: true blockOnMissingControlMapping: true blockOnMissingEvidenceForMandatoryObligation: true blockOnUnownedObligation: true blockOnStaleSourceReview: true blockOnOverdueRegulatoryChange: true blockOnExpiredObligationException: true blockOnOverdueObligationPoam: true ``` 监管与合规义务状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `mapped-and-evidenced` | 义务源、适用范围、控制目标、控制项、证据、owner 和复核状态均闭合 | 否 | | `mapping-required` | 义务已识别,但缺少控制目标、控制项或适用资产映射 | 是 | | `evidence-required` | 强制义务已映射控制,但缺少可复核证据或证据过期 | 是 | | `owner-required` | 义务 owner、控制 owner 或 legal owner 缺失 | 是 | | `regulatory-change-open` | 监管变化、合同变化或标准升级尚未完成影响分析 | 视等级而定 | | `poam-overdue` | 义务整改或控制差距 POA&M 超期 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、补偿控制、到期日和复核计划 | 视等级而定 | | `not-applicable` | 已由法务/合规确认不适用,并有适用性判断证据 | 否 | 执行规则: 1. 所有 `mandatory` 和 `contractual` 义务必须进入总账;未知适用性不能默认为不适用。 2. 义务源必须绑定版本、来源 URL、司法辖区、适用对象、生效日期和复核周期;禁止只写“满足 GDPR / DORA / AI Act”。 3. 每条强制义务必须至少映射一个控制目标、一个控制项、一个责任 owner 和一个证据路径;缺一项即阻断 baseline/frozen 晋级。 4. 义务适用范围必须能落到资产类型、数据类别、区域、AI 风险等级、重要业务服务或第三方依赖;不能停留在企业级自然语言说明。 5. 监管变化、客户合同变化、标准版本升级或内部政策变化必须形成 change item,并在 SLA 内完成影响分析、控制更新和证据回写。 6. 义务例外必须进入例外总账、风险登记和 POA&M;不能在法务邮件、合同批注或会议纪要中单独保留。 7. `control-plane.yaml` 中的关键控制应能反向追溯到至少一类义务源、风险或架构决策;否则要标记为工程控制或内部改进控制,避免审计解释混乱。 8. `baseline-regulatory-obligation-ledger.yaml` 必须与数据驻留、第三方风险、运营韧性、AI 证据、控制继承和 OSCAL 导出联动,证明监管义务没有被局部台账切碎。 可执行验收标准: 1. 任意控制项都能反查到它服务的义务、风险、合规等级或架构决策,不会成为无来源控制。 2. 任意强制义务都能追到适用资产、控制目标、控制项、证据路径、owner、复核日期和整改状态。 3. 任意监管或合同变化都能看到影响分析、受影响控制、受影响资产、截止日期、POA&M 或风险接受。 4. 任意审计导出都能包含义务到控制、控制到证据、证据到 owner 的摘要,并能证明强制义务缺口为 0。 5. 任意 baseline/frozen 晋级都能证明无未映射强制义务、无强制义务证据缺口、无义务 owner 缺失、无超期监管变化和无超期义务 POA&M。 ### 10.10.48 基线记录留存、法律保全与可防御删除总账 `baseline-records-retention-legal-hold-ledger.yaml` 是企业级基线的记录留存、legal hold 和可防御删除证据。它不替代 数据处理清单、隐私影响评估、审计日志策略、证据不可变归档回执、对象存储生命周期策略或法务案件系统;这些对象分别说明 “处理什么数据、日志怎么写、证据怎么归档、存储怎么锁、案件怎么管理”。记录留存总账回答的是:“哪些记录必须留,留多久, 为什么留,谁负责,是否处于 legal hold,何时可以删,删除是否传播到日志、备份、向量索引、数据产品快照和 AI 运行记录, 以及删除完成后能否被审计复核”。 ```yaml baselineRecordsRetentionLegalHoldLedger: ledgerId: brrl-20260602-mea-v270 baselineId: mea-v2.70-20260602 documentVersion: V2.70 owner: records-governance-team generatedAt: 2026-06-02T23:10:00+08:00 linkedEvidence: regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml privacyImpactAssessment: governance/evidence/privacy/privacy-impact-assessment.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml auditEvidenceIndex: governance/evidence/audit-evidence-index.md objectLockPolicy: governance/storage/object-lock-policy.yaml storageLifecyclePolicy: governance/storage/lifecycle-policy.yaml deletionReceiptsIndex: governance/evidence/deletion/deletion-receipts-index.yaml legalHoldRegister: governance/legal/legal-hold-register.yaml policy: defaultForUnclassifiedRecord: block retentionScheduleReviewCadenceDays: 180 legalHoldReleaseRequiresDualApproval: true blockDeletionWhenLegalHoldActive: true blockDeletionWhenRegulatoryRetentionActive: true blockOverRetentionWithoutPurpose: true requireDefensibleDeletionReceipt: true requireBackupDisposalPlan: true requireVectorIndexDisposalPlan: true requireAiTraceRetentionSchedule: true deletionConflictPrecedence: - active-legal-hold - statutory-or-contractual-retention - regulatory-investigation - privacy-erasure-request - storage-lifecycle-disposal recordClasses: - recordClassId: RC-AUDIT-SECURITY-LOGS name: security and audit logs owner: security-operations description: Kubernetes audit logs, admission decisions, policy reports, OPA decision logs and SIEM evidence classification: sensitivity: confidential containsPersonalData: true containsProductionSecrets: false businessCriticality: high obligations: - obligationId: OBL-NIST-SP800-92-LOG-MANAGEMENT sourceUrl: https://csrc.nist.gov/pubs/sp/800/92/final obligationType: standard - obligationId: OBL-NIST-800-53-AU-11 sourceUrl: https://csrc.nist.gov/pubs/sp/800/53/r5/upd1/final obligationType: control-baseline retentionSchedule: trigger: log-created minimumRetention: P2Y maximumRetention: P7Y approvedJurisdictions: - US - EU storageRefs: - worm://audit/prod-primary/kubernetes-audit/ - worm://audit/prod-primary/opa-decision-logs/ storageMode: worm-object-lock reviewDue: 2026-12-02 legalHold: active: false holdRefs: [] releaseWorkflow: governance/legal/legal-hold-release-workflow.md deletion: eligibleAfter: 2033-06-02 deletionMethod: lifecycle-disposal-with-tombstone backupDisposal: expire-after-retention-window vectorIndexDisposal: not-applicable deletionReceiptRequired: true latestDeletionReceipt: governance/evidence/deletion/audit-logs-2033-06-receipt.yaml status: retained-and-locked - recordClassId: RC-AI-PROMPT-OUTPUT-TRACES name: AI prompt, output, tool and RAG traces owner: ai-governance-team description: AI product prompts, model outputs, tool calls, RAG citations, model routing and evaluation traces classification: sensitivity: restricted containsPersonalData: possible containsProductionSecrets: prohibited businessCriticality: high obligations: - obligationId: OBL-EU-AI-ACT-HIGH-RISK-RECORDS sourceUrl: https://eur-lex.europa.eu/eli/reg/2024/1689/oj obligationType: regulation - obligationId: OBL-GDPR-STORAGE-LIMITATION-ERASURE sourceUrl: https://eur-lex.europa.eu/eli/reg/2016/679/oj obligationType: law retentionSchedule: trigger: ai-interaction-completed minimumRetention: P1Y maximumRetention: P3Y approvedJurisdictions: - EU - US storageRefs: - evidence://ai/traces/ - evidence://ai/evals/ storageMode: encrypted-evidence-store reviewDue: 2026-09-02 legalHold: active: true holdRefs: - LH-2026-003-customer-support-ai-investigation holdScope: from: 2026-05-01 to: 2026-06-02 products: - ai-product:customer-support-assistant holdAuthority: legal-counsel releaseWorkflow: governance/legal/legal-hold-release-workflow.md deletion: eligibleAfter: hold-release-plus-P90D deletionMethod: privacy-redaction-then-disposal backupDisposal: queue-after-hold-release vectorIndexDisposal: delete-embedding-and-citation-chunks deletionReceiptRequired: true latestDeletionReceipt: null deletionBlockedReason: active-legal-hold status: hold-active - recordClassId: RC-DATA-PRODUCT-SNAPSHOTS name: data product certified snapshots owner: data-governance-team description: certified reporting, metric, lineage and quality snapshots used by downstream analytics and AI evaluation classification: sensitivity: internal containsPersonalData: possible containsProductionSecrets: false businessCriticality: medium obligations: - obligationId: OBL-ISO-15489-RECORDS-MANAGEMENT sourceUrl: https://www.iso.org/standard/62542.html obligationType: industry-standard - obligationId: OBL-CONTRACT-CUSTOMER-REPORTING-RETENTION sourceUrl: contract://customer-master-services-agreement/reporting-retention obligationType: customer-contract retentionSchedule: trigger: certified-snapshot-published minimumRetention: P3Y maximumRetention: P7Y approvedJurisdictions: - US - EU storageRefs: - lakehouse://certified-snapshots/ - evidence://data-products/snapshots/ storageMode: immutable-table-version-plus-object-lock reviewDue: 2026-12-02 legalHold: active: false holdRefs: [] releaseWorkflow: governance/legal/legal-hold-release-workflow.md deletion: eligibleAfter: 2033-06-02 deletionMethod: table-vacuum-with-retention-proof backupDisposal: expire-after-backup-retention vectorIndexDisposal: delete-derived-embedding-indexes deletionReceiptRequired: true latestDeletionReceipt: governance/evidence/deletion/data-product-snapshot-2033-06-receipt.yaml status: retained-and-review-current - recordClassId: RC-BASELINE-AUDIT-EVIDENCE name: baseline audit evidence and signed export bundles owner: architecture-governance-board description: release evidence, gate execution, audit export, provenance, signatures and immutable archive receipts classification: sensitivity: confidential containsPersonalData: no containsProductionSecrets: no businessCriticality: high obligations: - obligationId: OBL-NARA-RECORDS-DISPOSAL-SCHEDULE sourceUrl: https://www.archives.gov/about/laws/disposal-of-records.html obligationType: official-records-practice - obligationId: OBL-NIST-OSCAL-ASSESSMENT-EVIDENCE sourceUrl: https://pages.nist.gov/OSCAL/ obligationType: evidence-exchange retentionSchedule: trigger: baseline-published minimumRetention: P7Y maximumRetention: P10Y approvedJurisdictions: - US storageRefs: - worm://architecture-baselines/ - transparency-log://sigstore/ storageMode: worm-object-lock-and-signature-ltv reviewDue: 2026-12-02 legalHold: active: false holdRefs: [] releaseWorkflow: governance/legal/legal-hold-release-workflow.md deletion: eligibleAfter: 2036-06-02 deletionMethod: governance-board-approved-disposal backupDisposal: expire-after-retention-window vectorIndexDisposal: delete-audit-search-index-document deletionReceiptRequired: true latestDeletionReceipt: null status: retained-and-locked legalHolds: - holdId: LH-2026-003-customer-support-ai-investigation status: active authority: legal-counsel reason: customer dispute and model output investigation openedAt: 2026-06-01T09:00:00+08:00 scope: recordClasses: - RC-AI-PROMPT-OUTPUT-TRACES products: - ai-product:customer-support-assistant dateRange: from: 2026-05-01 to: 2026-06-02 custodianNoticeSent: true releaseRequires: - legal-counsel - records-governance-team deletionBlocked: true deletionConflicts: - conflictId: RDC-2026-001 requestRef: privacy-erasure-request:dsr-2026-8842 affectedRecordClass: RC-AI-PROMPT-OUTPUT-TRACES conflict: privacyErasureRequested: true legalHoldActive: true regulatoryRetentionActive: true decision: block-deletion-until-hold-release approvers: - privacy-counsel - legal-counsel - records-governance-team evidenceRefs: - governance/legal/legal-holds/LH-2026-003.yaml - governance/evidence/privacy/dsr-2026-8842.yaml status: hold-prevails summary: recordClassesCovered: 38 recordClassesWithRetentionSchedule: 38 mandatoryRecordClasses: 24 activeLegalHolds: 3 deletionRequestsUnderHoldBlocked: 5 deletionReceiptsIssued: 24 orphanRecordClasses: 0 missingRetentionSchedules: 0 missingObligationSources: 0 unownedRecordClasses: 0 overdueRetentionDisposals: 0 overRetentionWithoutPurpose: 0 deletionPropagationGaps: 0 backupDisposalGaps: 0 vectorIndexDisposalGaps: 0 aiTraceRetentionGaps: 0 result: pass gates: blockOnUnclassifiedRecordClass: true blockOnMissingRetentionSchedule: true blockOnMissingObligationSource: true blockOnUnownedRecordClass: true blockOnDeletionUnderActiveLegalHold: true blockOnDeletionUnderRegulatoryRetention: true blockOnMissingDeletionReceipt: true blockOnBackupDisposalGap: true blockOnVectorIndexDisposalGap: true blockOnOverdueRetentionDisposal: true blockOnOverRetentionWithoutPurpose: true blockOnAiTraceRetentionGap: true ``` 记录留存状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `retained-and-locked` | 记录类别有留存排期、不可变存储或锁定策略,并且处置窗口未到 | 否 | | `retained-and-review-current` | 记录类别有留存排期,复核仍有效,可继续保留 | 否 | | `hold-active` | legal hold 生效,任何删除、压缩、脱敏覆盖或索引删除都必须阻断 | 是 | | `disposal-eligible` | 留存期限已满足且无 hold、无监管留存、无合同留存,可进入处置流程 | 视是否有删除回执 | | `disposal-completed` | 删除、备份处置、索引处置和回执均已完成 | 否 | | `schedule-required` | 记录类别存在但没有留存排期或义务来源 | 是 | | `owner-required` | 记录类别缺 owner、legal owner 或 system owner | 是 | | `over-retained` | 已超出最大留存期限且没有合法目的、legal hold 或风险接受 | 是 | | `deletion-propagation-gap` | 主数据已删,但日志、备份、向量索引、数据快照或 AI trace 未完成处置 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、补偿控制、到期日和复核计划 | 视等级而定 | 执行规则: 1. 所有业务记录、监管记录、审计日志、安全日志、AI Prompt/输出/工具调用/RAG trace、评估集、数据产品快照、合同、事故复盘、发布证据和备份类别必须进入总账;未知类别不能默认不适用。 2. 每个记录类别必须绑定 record owner、system owner、legal owner、留存触发条件、最小留存、最大留存、义务来源、司法辖区、存储位置、删除条件和回执路径。 3. legal hold 是删除优先级最高的阻断信号;任何隐私删除、存储生命周期、数据产品 vacuum、备份过期或向量索引重建都不得绕过 active legal hold。 4. 监管留存、合同留存和 legal hold 与隐私删除请求冲突时,必须形成 `deletionConflicts` 裁决,并由法务、隐私和记录治理 owner 签署。 5. 可防御删除不能只删除主表;必须覆盖日志、备份、对象存储、搜索索引、向量索引、数据产品快照、AI trace、审计导出副本和下游缓存,并生成删除传播回执。 6. AI 产品必须单独声明 Prompt、输出、工具调用、RAG citation、模型路由、评估集和人工审批记录的留存排期;不得只继承通用日志策略。 7. 备份和不可变归档不能成为无限保留借口;超过最大留存期限但仍需保留时,必须绑定合法目的、legal hold、监管义务、风险接受或 POA&M。 8. 记录留存总账必须与监管义务总账、数据驻留总账、AI 证据账本、证据不可变归档回执、审计证据索引和存储生命周期策略联动;不能由某个系统单独自证。 9. 缺少留存排期、legal hold 下允许删除、删除传播缺回执、过期记录未处置、超期留存无目的、AI trace 缺留存策略或备份/向量索引处置缺口,必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意记录类别都能追到 owner、义务来源、留存触发、最小/最大留存、存储位置、legal hold 状态、删除条件和删除回执。 2. 任意 privacy erasure、DSAR、账户关闭、合同终止或数据产品退役请求都能证明是否被 legal hold、监管留存或合同留存阻断,并有裁决记录。 3. 任意删除完成声明都能证明主数据、日志、备份、向量索引、搜索索引、数据产品快照、AI trace 和审计副本的处置状态一致。 4. 任意 active legal hold 都能列出范围、custodian notice、影响记录类别、阻断入口、审批人、释放流程和释放后的删除重试队列。 5. 任意审计导出都能包含记录留存摘要,证明无无主记录类别、无缺失留存排期、无 under-hold 删除、无过期未处置记录、无无目的超期留存和无删除传播缺口。 ### 10.10.49 基线隐私权利请求、同意偏好与合法基础执行总账 `baseline-privacy-rights-consent-ledger.yaml` 是企业级基线的隐私权利、同意偏好和合法基础执行证据。它不替代 DPIA、隐私政策、同意管理平台、偏好中心、DSAR 工单系统或数据处理清单;这些对象分别说明“为什么处理、如何告知、 在哪里收集同意、用户在哪里改偏好、请求由谁办理”。隐私权利执行总账回答的是:“每个处理目的是否有合法基础, 同意是否仍有效,撤回是否已经传播到营销、AI、数据产品、RAG、向量索引和第三方,主体访问、更正、删除、限制、携带、 反对、opt-out 和自动化决策复核请求是否按期闭环,以及任何未知同意状态、未知合法基础或逾期请求是否会阻断发布”。 ```yaml baselinePrivacyRightsConsentLedger: ledgerId: bprcl-20260602-mea-v271 baselineId: mea-v2.71-20260602 documentVersion: V2.71 owner: privacy-governance-team generatedAt: 2026-06-02T23:40:00+08:00 linkedEvidence: privacyImpactAssessment: governance/evidence/privacy/privacy-impact-assessment.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml dataProductContracts: contracts/datasets/ consentManagementPlatform: privacy/consent/consent-management-platform.yaml preferenceCenter: privacy/preferences/preference-center.yaml dsarCaseSystem: privacy/rights/dsar-case-system.yaml thirdPartyPropagationIndex: governance/evidence/privacy/third-party-preference-propagation.yaml policy: defaultForUnknownLegalBasis: block defaultForUnknownConsentState: block requestResponseSlaDays: 30 identityVerificationRequired: true blockProcessingWhenConsentWithdrawn: true blockOnMissingLawfulBasis: true blockOnUnpropagatedPreference: true blockOnOverdueRightsRequest: true blockOnAutomatedDecisionReviewMissing: true requireThirdPartyPreferencePropagationReceipt: true requireVectorIndexPreferencePropagationReceipt: true requireAiUsageRestrictionForDisallowedPurpose: true processingPurposes: - purposeId: PP-CUSTOMER-SUPPORT-PERSONALIZATION description: personalize support responses using account profile, support history and approved knowledge sources owner: customer-experience-domain legalBasis: consent lawfulBasisSource: obligationId: OBL-GDPR-CONSENT-ART-6 sourceUrl: https://eur-lex.europa.eu/eli/reg/2016/679/oj dataClasses: - customer-profile - support-ticket-history assets: - service:customer-support-assistant - data-product:support-ticket-facts aiProducts: - ai-product:customer-support-assistant thirdParties: - supplier:managed-llm-provider consentRequired: true consentVersion: consent-v2026-05 compatibleUseAssessment: governance/evidence/privacy/compatible-use/customer-support-personalization.yaml aiUsage: ragAllowed: true vectorIndexAllowed: true foundationModelTrainingAllowed: false evaluationAllowed: true downstreamRestrictions: marketing: blocked-without-separate-consent analytics: aggregate-only thirdPartySharing: approved-subprocessors-only status: lawful-and-current - purposeId: PP-SECURITY-AUDIT-LOGGING description: collect security, audit and policy decision logs for abuse prevention, investigation and compliance evidence owner: security-operations legalBasis: legitimate-interest lawfulBasisSource: obligationId: OBL-NIST-SP800-92-LOG-MANAGEMENT sourceUrl: https://csrc.nist.gov/pubs/sp/800/92/final dataClasses: - security-audit-event - policy-decision-log assets: - platform:runtime-admission - evidence:baseline-gate-execution-report consentRequired: false compatibleUseAssessment: governance/evidence/privacy/legitimate-interest/security-audit-logging.yaml linkedRecordClass: RC-AUDIT-SECURITY-LOGS status: lawful-and-current consentAndPreferences: - preferenceId: pref-20260602-0001 subjectRef: subject:pseudonymous-customer-8842 purposeId: PP-CUSTOMER-SUPPORT-PERSONALIZATION channel: privacy-preference-center consentVersion: consent-v2026-05 capturedAt: 2026-05-18T08:30:00+08:00 captureEvidence: privacy/consent/evidence/pref-20260602-0001-capture.yaml status: consent-current withdrawnAt: null downstreamPropagation: marketingSuppression: not-applicable dataProductFilters: propagated aiProductRouting: propagated ragIndex: propagated vectorIndex: propagated thirdParties: - supplier:managed-llm-provider propagationStatus: propagated receipt: governance/evidence/privacy/third-party/managed-llm-pref-0001.yaml - preferenceId: pref-20260602-0002 subjectRef: subject:pseudonymous-customer-8843 purposeId: PP-CUSTOMER-SUPPORT-PERSONALIZATION channel: privacy-preference-center consentVersion: consent-v2026-05 capturedAt: 2026-05-14T09:00:00+08:00 withdrawnAt: 2026-06-01T10:10:00+08:00 withdrawalEvidence: privacy/consent/evidence/pref-20260602-0002-withdrawal.yaml downstreamPropagation: marketingSuppression: propagated dataProductFilters: propagated aiProductRouting: propagated ragIndex: propagated vectorIndex: propagated thirdParties: - supplier:managed-llm-provider propagationStatus: propagated receipt: governance/evidence/privacy/third-party/managed-llm-pref-0002.yaml status: withdrawn-propagated rightsRequests: - requestId: dsr-2026-8842 requestType: erasure jurisdiction: - EU receivedAt: 2026-06-01T12:00:00+08:00 dueAt: 2026-07-01T12:00:00+08:00 identityVerification: required: true result: verified verifiedAt: 2026-06-01T12:20:00+08:00 scopedAssets: - service:customer-support-assistant - data-product:support-ticket-facts - record-class:RC-AI-PROMPT-OUTPUT-TRACES fulfillment: decision: partially-denied-due-to-legal-hold fulfilledAt: 2026-06-02T14:00:00+08:00 denialReason: active-legal-hold-and-regulatory-retention denialEvidence: governance/evidence/privacy/dsr-2026-8842-denial.yaml propagationEvidence: dataProducts: queued-after-hold-release aiProducts: blocked-from-personalization ragIndex: queued-after-hold-release vectorIndex: queued-after-hold-release thirdParties: blocked-from-further-processing linkedDeletionConflict: RDC-2026-001 status: rights-request-open - requestId: dsr-2026-8844 requestType: access jurisdiction: - US-CA receivedAt: 2026-05-28T09:00:00+08:00 dueAt: 2026-06-27T09:00:00+08:00 identityVerification: required: true result: verified fulfillment: decision: fulfilled fulfilledAt: 2026-06-02T11:15:00+08:00 fulfillmentEvidence: governance/evidence/privacy/dsr-2026-8844-access-package.yaml propagationEvidence: thirdParties: not-applicable status: fulfilled automatedDecisionReview: - reviewId: adr-2026-0042 aiProduct: ai-product:customer-support-assistant decisionType: refund-recommendation riskLevel: R3 requiresHumanReview: true humanReviewPath: governance/playbooks/ai-human-review/refund-recommendation.md explanationEvidence: governance/evidence/ai/explanations/adr-2026-0042.yaml userObjectionSupported: true reviewSlaDays: 30 openReviewRequests: 0 status: lawful-and-current summary: processingPurposesCovered: 46 purposesWithLawfulBasis: 46 consentPreferencesTracked: 1200000 withdrawalsPropagated: true rightsRequestsOpen: 7 overdueRightsRequests: 0 unpropagatedPreferences: 0 unknownLawfulBasis: 0 unknownConsentState: 0 automatedDecisionReviewGaps: 0 thirdPartyPropagationGaps: 0 result: pass gates: blockOnMissingLawfulBasis: true blockOnUnknownConsentState: true blockOnUnpropagatedWithdrawal: true blockOnOverdueRightsRequest: true blockOnMissingIdentityVerification: true blockOnAutomatedDecisionReviewGap: true blockOnThirdPartyPreferencePropagationGap: true blockOnPurposeIncompatibleWithAiUse: true ``` 隐私权利与同意执行状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `lawful-and-current` | 处理目的有合法基础、owner、适用范围、证据和复核状态 | 否 | | `consent-current` | 同意仍有效,版本、采集渠道和证据完整 | 否 | | `withdrawn-propagated` | 同意或偏好已经撤回,且所有下游传播完成 | 否 | | `withdrawn-propagation-pending` | 同意或偏好已经撤回,但营销、数据产品、AI、RAG、向量索引或第三方尚未完成传播 | 是 | | `rights-request-open` | 权利请求仍在 SLA 内处理 | 条件阻断,必须有 owner、dueAt 和当前进度 | | `rights-request-overdue` | 权利请求超过 SLA 或缺少处理证据 | 是 | | `fulfilled` | 权利请求已经完成并有履约或拒绝证据 | 否 | | `lawful-basis-required` | 处理目的缺少合法基础、owner 或适用范围 | 是 | | `purpose-incompatible` | 当前数据用途与已声明目的、授权范围或 AI 使用限制不兼容 | 是 | | `automated-decision-review-required` | 自动化决策或画像场景缺少人工复核、解释或异议入口 | 是 | | `exception` | 已批准例外,但必须绑定风险接受、补偿控制、到期日和复核计划 | 视等级而定 | | `not-applicable` | 当前资产或处理目的明确不适用,并有判断证据 | 否 | 执行规则: 1. 所有处理目的必须进入总账,并绑定合法基础、owner、适用数据类别、适用资产、复核日期和证据路径;未知合法基础默认阻断。 2. 以同意为合法基础的处理必须记录同意版本、采集渠道、采集时间、撤回入口和撤回传播证据;未知同意状态默认阻断。 3. 同意撤回、反对处理、opt-out、限制处理或画像退出必须传播到营销、分析、个性化、数据产品、AI 产品、RAG、向量索引、特征、缓存和第三方处理方。 4. 主体访问、更正、删除、限制、携带、反对、opt-out、自动化决策复核请求必须记录收到时间、dueAt、身份验证、范围、处理决定、履约或拒绝证据和下游传播证据。 5. 删除请求与 legal hold、监管留存或合同留存冲突时,隐私权利总账必须记录请求 disposition,并链接 `baseline-records-retention-legal-hold-ledger.yaml` 的冲突裁决;不能简单标记为已删除或已拒绝。 6. 数据产品、特征平台、向量索引和 AI 产品不能把数据产品直接当作无限制 RAG 或训练输入;必须读取处理目的、合法基础、AI 使用限制、同意状态和撤回传播状态。 7. 第三方、模型供应商和子处理方必须返回偏好传播、删除传播或处理限制回执;缺少回执时不得把内部处理状态标记为完成。 8. 自动化决策、画像或高风险 AI 辅助决策必须有人工复核路径、解释证据、异议入口、SLA 和状态回写。 9. 隐私权利总账必须与监管义务总账、记录留存总账、数据驻留总账、第三方风险总账、AI 证据账本、数据产品契约和同意管理系统联动;不得由单个隐私系统自证。 10. 缺少合法基础、同意状态未知、撤回传播未完成、权利请求逾期、自动化决策复核缺失、第三方传播缺口或目的不兼容,必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意处理目的都能追到合法基础、owner、数据类别、资产、AI 使用限制、第三方处理方和复核证据。 2. 任意同意撤回或偏好变更都能证明传播到营销、数据产品、AI 产品、RAG、向量索引、缓存和第三方,且无未传播对象。 3. 任意主体权利请求都能证明身份验证、处理范围、dueAt、履约或拒绝证据、下游传播和留存/法律保全冲突裁决。 4. 任意 AI 产品或数据产品都能证明自己没有绕过合法基础、同意状态、用途限制和撤回传播状态继续处理。 5. 任意审计导出都能包含隐私权利和同意执行摘要,证明无未知合法基础、无未知同意状态、无逾期权利请求、无未传播撤回和无自动化决策复核缺口。 ### 10.10.50 基线处理活动、个人数据清单与 RoPA 覆盖总账 `baseline-processing-activity-inventory-ledger.yaml` 是企业级基线的处理活动、个人数据清单和 RoPA 覆盖证据。它不替代 RoPA register、数据目录、CMDB、DPIA、数据产品契约、AI 证据账本、同意管理平台或第三方风险总账;这些对象分别说明 “法定登记、数据资产、运行系统、隐私影响、数据契约、AI 运行、授权偏好和供应商控制”。处理活动覆盖总账回答的是: “哪些个人数据处理活动真实存在,哪些系统、服务、数据产品、AI 产品和第三方参与处理,数据主体和个人数据类别是什么, 控制者/处理者角色是什么,接收方和跨境传输在哪里,保留策略、合法基础、DPIA 和发现扫描是否闭合,以及 RoPA 与运行资产 是否一致”。它是隐私权利执行、可防御删除、数据驻留、第三方传播和 AI 使用限制的上游范围真相源。 ```yaml baselineProcessingActivityInventoryLedger: ledgerId: bpail-20260602-mea-v272 baselineId: mea-v2.72-20260602 documentVersion: V2.72 owner: privacy-governance-team generatedAt: 2026-06-02T23:55:00+08:00 linkedEvidence: ropaRegister: governance/privacy/ropa/register.yaml dataCatalog: catalog/data-products/ systemCatalog: catalog/components/ serviceCatalog: catalog/components/ aiProductCatalog: catalog/ai-products/ aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml privacyImpactAssessment: governance/evidence/privacy/privacy-impact-assessment.yaml privacyRightsConsentLedger: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml discoveryFindings: governance/evidence/privacy/personal-data-discovery-findings.yaml policy: defaultForUnknownProcessingActivity: block defaultForUnknownPersonalDataCategory: block requireOwner: true requireLawfulBasisRef: true requireDpiaRefForHighRisk: true requireRetentionMapping: true requireRecipientAndTransferMapping: true requireDiscoveryFindingsClosed: true requireAiAndDataProductUsageRefs: true requireRuntimeInventoryMatch: true reviewCadenceDays: 90 processingActivities: - activityId: pa-customer-profile-001 name: customer profile management controllerRole: controller owner: customer-platform-team businessPurpose: maintain customer profile and account preferences systems: - catalog/components/customer-profile-service.yaml dataProducts: - catalog/data-products/customer-profile.yaml aiProducts: - catalog/ai-products/customer-support-assistant.yaml thirdParties: - supplier:crm-saas-provider dataSubjectCategories: - customer personalDataCategories: - contact - account - preference specialCategoryData: false recipients: internal: - customer-operations external: - crm-saas-provider crossBorderTransfers: - region: US mechanism: standard-contractual-clauses ledgerRef: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml#transfer-customer-profile-us lawfulBasisRef: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml#PP-CUSTOMER-PROFILE-MANAGEMENT dpiaRef: governance/evidence/privacy/dpia/customer-profile-management.yaml privacyRightsRef: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml retentionRef: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml#RC-CUSTOMER-PROFILE residencyRef: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRef: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml#supplier-crm-saas-provider discoveryEvidence: scanner: personal-data-discovery lastScan: 2026-06-02T10:00:00+08:00 openUnclassifiedFindings: 0 evidenceRef: governance/evidence/privacy/personal-data-discovery-findings.yaml#customer-profile status: inventory-current - activityId: pa-customer-support-ai-001 name: customer support AI assistance controllerRole: controller owner: customer-experience-domain businessPurpose: assist support agents with approved customer context and knowledge retrieval systems: - catalog/components/customer-support-service.yaml dataProducts: - catalog/data-products/support-ticket-facts.yaml aiProducts: - catalog/ai-products/customer-support-assistant.yaml dataSubjectCategories: - customer - support-agent personalDataCategories: - support-ticket - contact - interaction-history specialCategoryData: false recipients: internal: - support-operations external: - managed-llm-provider crossBorderTransfers: - region: EU mechanism: regional-processing-only ledgerRef: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml#transfer-support-ai-eu lawfulBasisRef: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml#PP-CUSTOMER-SUPPORT-PERSONALIZATION dpiaRef: governance/evidence/privacy/dpia/customer-support-ai.yaml privacyRightsRef: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml retentionRef: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml#RC-AI-PROMPT-OUTPUT-TRACES aiEvidenceRef: governance/evidence/ai/ai-evidence.yaml#customer-support-assistant discoveryEvidence: scanner: personal-data-discovery lastScan: 2026-06-02T11:00:00+08:00 openUnclassifiedFindings: 0 status: inventory-current runtimeCoverage: systemsDiscovered: 43 systemsMappedToProcessingActivities: 43 servicesMappedToProcessingActivities: 86 dataProductsMappedToProcessingActivities: 24 aiProductsMappedToProcessingActivities: 9 thirdPartyFlowsMappedToProcessingActivities: 34 runtimeInventoryDrift: 0 summary: processingActivitiesCovered: 88 processingActivitiesWithOwners: 88 unownedActivities: 0 dataSubjectCategoriesDeclared: 12 personalDataCategoriesClassified: 126 recipientsMapped: 34 crossBorderTransfersMapped: 14 retentionMappingsComplete: true lawfulBasisMappingsComplete: true dpiaMappingsCompleteForHighRisk: true openDiscoveryFindings: 0 unknownPersonalDataCategories: 0 runtimeInventoryDrift: 0 result: pass gates: blockOnUninventoriedProcessingActivity: true blockOnUnownedActivity: true blockOnUnknownPersonalDataCategory: true blockOnMissingLawfulBasis: true blockOnMissingDpiaForHighRisk: true blockOnMissingRetentionMapping: true blockOnMissingRecipientOrTransferMapping: true blockOnOpenDiscoveryFinding: true blockOnRuntimeInventoryDrift: true ``` 处理活动覆盖状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `inventory-current` | 处理活动有 owner、用途、角色、数据主体、个人数据类别、系统/数据/AI/第三方映射和证据 | 否 | | `needs-owner` | 处理活动缺 owner、业务 owner 或隐私 owner | 是 | | `needs-classification` | 数据主体类别、个人数据类别、特殊类别数据或敏感字段未分类 | 是 | | `needs-lawful-basis` | 处理活动缺合法基础、处理目的或授权证据 | 是 | | `needs-dpia` | 高风险、特殊类别、AI 决策或大规模处理缺 DPIA | 是 | | `needs-retention-mapping` | 处理活动无法映射到记录类别、留存排期、删除条件或 legal hold 规则 | 是 | | `needs-transfer-mapping` | 接收方、子处理方、跨境传输、传输机制或补充保护措施缺失 | 是 | | `discovery-finding-open` | PII/个人数据发现扫描存在未归类字段、未知流向或未关闭发现项 | 是 | | `runtime-drift` | 运行资产、数据产品、AI 产品、第三方流或 RoPA 登记不一致 | 是 | | `retired` | 处理活动已经退役,历史证据、删除/留存处置和下游通知闭合 | 否 | | `not-applicable` | 当前系统、服务或数据流明确不处理个人数据,并有扫描或 owner 签署证据 | 否 | 执行规则: 1. 所有处理个人数据的业务流程、系统、服务、数据产品、AI 产品、RAG/向量索引、特征、日志、报表、批处理和第三方流都必须进入处理活动覆盖总账。 2. 每个系统、服务、数据产品、AI 产品和第三方流必须映射到至少一个处理活动,或显式声明 `not-applicable` 并绑定扫描证据和 owner 签署。 3. 每个处理活动必须绑定 owner、控制者/处理者角色、业务目的、数据主体类别、个人数据类别、接收方、系统/服务/数据/AI/第三方引用和复核日期。 4. 高风险处理、特殊类别数据、自动化决策、画像、大规模监控、儿童数据或 AI 辅助决策必须绑定 DPIA、合法基础和人工复核/异议机制。 5. 接收方、子处理方、模型供应商、跨境传输和区域处理必须链接数据驻留总账与第三方风险总账;不得只在 RoPA 文本里声明。 6. 每个处理活动必须链接记录留存总账,证明记录类别、留存排期、删除条件、legal hold 冲突和删除传播路径可追溯。 7. 隐私权利、同意偏好、删除、限制处理、opt-out 和自动化决策复核必须以本总账作为范围输入;不能只按某个系统自己的清单处理。 8. 个人数据发现扫描、数据血缘、CMDB、API gateway、事件总线、数据仓库、向量库和第三方出口的未归类发现项必须关闭后才能 baseline/frozen 晋级。 9. 处理活动退役不能删除历史记录;必须标记 `retired`,保留停用时间、删除/留存处置、下游通知、合同/供应商关闭和审计证据。 10. 未入账处理活动、无 owner、未知个人数据类别、未知合法基础、缺 DPIA、缺保留映射、接收方/跨境传输缺失、发现项未关闭或 RoPA 与运行资产不一致,必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意个人数据处理活动都能追到 owner、处理目的、控制者/处理者角色、数据主体类别、个人数据类别、系统、服务、数据产品、AI 产品、第三方、接收方和跨境传输。 2. 任意系统、服务、数据产品、AI 产品、向量索引、特征、日志或第三方流都能证明自己已映射到处理活动,或有不处理个人数据的扫描证据和 owner 签署。 3. 任意隐私权利请求、同意撤回、删除请求、数据驻留检查、第三方传播或 AI 使用限制都能从处理活动总账反推出完整影响范围。 4. 任意 RoPA、数据目录、CMDB、DPIA、数据产品契约、AI 证据账本和发现扫描之间的不一致都能形成阻断发现项,而不是由单个系统自证通过。 5. 任意审计导出都能包含处理活动覆盖摘要,证明无未入账处理活动、无未知个人数据类别、无无主活动、无开放发现项和无运行资产漂移。 ### 10.10.51 基线身份权限、特权访问与工作负载身份总账 `baseline-identity-entitlement-access-ledger.yaml` 是企业级基线的身份权限、特权访问和工作负载身份覆盖证据。它不替代 IAM、IdP、PAM、Kubernetes RBAC、Cloud IAM、SCIM、HRIS、访问复核报告或运行时准入回执;这些系统分别管理身份源、 权限授予、特权会话、集群绑定、云资源授权、人员生命周期、复核流程和生产准入事实。身份权限总账回答的是: “哪些人类身份、服务账号和工作负载身份可以访问生产、控制面、数据、AI、供应链和审计资产;这些授权是否有 owner、 业务理由、最小权限、审批、到期、MFA、PAM/JIT、break-glass 关闭、JML 复核和运行时绑定证据;是否存在孤儿账号、 过期权限、离职未撤销、工作负载身份漂移或未复核的特权访问”。它是 Zero Trust、最小权限、生产准入和审计证据之间 的身份真相源。 ```yaml baselineIdentityEntitlementAccessLedger: ledgerId: bieal-20260602-mea-v273 baselineId: mea-v2.73-20260602 documentVersion: V2.73 owner: security-identity-team generatedAt: 2026-06-02T23:58:00+08:00 linkedEvidence: identityProvider: governance/identity/idp.yaml hris: governance/identity/hris.yaml scimDirectory: governance/identity/scim-directory.yaml accessReview: governance/evidence/access/identity-access-review.yaml pamSystem: governance/evidence/access/pam-jit.yaml breakGlassLedger: governance/evidence/access/break-glass-ledger.yaml kubernetesRbac: infra/kubernetes/rbac/ cloudIam: infra/cloud/iam/ runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml runtimeAdmissionDecisionLedger: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml controlInheritanceLedger: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml catalogComponents: catalog/components/ policy: defaultForUnknownIdentity: block defaultForUnreviewedPrivilegedAccess: block requireMfaForHumanAccess: true requirePamJitForPrivilegedAccess: true requireOwnerForServiceAccount: true requireWorkloadIdentityBinding: true requireJmlReconciliation: true requireBreakGlassClosureHours: 72 reviewCadenceDays: 90 identities: - identityId: user-1234 type: human owner: employee:alice employmentStatus: active source: idp mfaStatus: enforced roles: - role: customer-support-read assetRef: catalog/components/customer-support-service.yaml reason: support case handling expiresAt: 2026-09-02T00:00:00+08:00 approvalRef: governance/evidence/access/approvals/apr-1234.yaml reviewStatus: reviewed privilegedAccess: - role: prod-admin accessMode: jit approvalRef: governance/evidence/access/pam/pam-20260602-001.yaml expiresAt: 2026-06-02T18:00:00+08:00 mfaRequired: true sessionRecorded: true status: current status: access-current - identityId: svc-customer-profile type: service-account owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml source: cloud-iam credentialRotationCurrent: true sharedHumanUseAllowed: false entitlements: - role: customer-profile-db-writer assetRef: catalog/components/customer-profile-db.yaml reason: application write path expiresAt: 2026-09-02T00:00:00+08:00 reviewStatus: reviewed status: access-current - identityId: workload-customer-profile-prod type: workload-identity owner: customer-platform-team runtimeRef: k8s://prod/customer/customer-profile-service serviceAccount: customer-profile-sa catalogRef: catalog/components/customer-profile-service.yaml spiffeId: spiffe://company.local/ns/customer/sa/customer-profile-sa admissionBindingCurrent: true rbacRefs: - infra/kubernetes/rbac/customer/customer-profile-rolebinding.yaml cloudIamRefs: - infra/cloud/iam/customer/customer-profile-workload-identity.yaml status: access-current jmlReconciliation: joinerEvents: 12 moverEvents: 18 leaverEvents: 13 unreconciledLeavers: 0 orphanedAccounts: 0 sourceRefs: - governance/identity/hris.yaml - governance/identity/idp.yaml - governance/evidence/access/identity-access-review.yaml breakGlass: openEvents: 0 closedWithinHours: 72 postReviewRequired: true latestReviewRef: governance/evidence/access/break-glass-ledger.yaml#bg-20260602-001 summary: humanIdentitiesCovered: 560 serviceAccountsCovered: 84 workloadIdentitiesCovered: 62 privilegedRolesCovered: 18 mfaCoveragePercent: 100 pamJitRequestsReviewed: 27 breakGlassEventsOpen: 0 orphanedAccounts: 0 staleEntitlements: 0 workloadIdentityDrift: 0 unreviewedPrivilegedAccess: 0 result: pass gates: blockOnUnknownIdentity: true blockOnUnreviewedPrivilegedAccess: true blockOnMissingMfa: true blockOnOpenBreakGlass: true blockOnOrphanedAccount: true blockOnStaleEntitlement: true blockOnWorkloadIdentityDrift: true ``` 身份权限状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `access-current` | 身份、权限、owner、MFA、审批、到期和复核状态当前有效 | 否 | | `review-required` | 权限超过复核周期,或复核证据缺失 | 是 | | `mfa-required` | 人类身份或特权路径缺少 MFA 证据 | 是 | | `privileged-approval-required` | 特权角色没有审批、PAM/JIT 或会话审计 | 是 | | `jit-expired` | JIT 授权已过期但仍可使用 | 是 | | `break-glass-open` | break-glass 仍处于打开状态,或关闭后未完成复盘 | 是 | | `orphaned-account` | 身份、服务账号或权限没有 owner、资产或来源系统 | 是 | | `stale-entitlement` | 权限已过期、无业务理由、角色过宽或未被使用仍保留 | 是 | | `leaver-not-revoked` | 离职、调岗或合同结束后权限未及时撤销 | 是 | | `workload-identity-drift` | Kubernetes ServiceAccount、SPIFFE ID、Cloud IAM 或 catalog 绑定不一致 | 是 | | `service-account-owner-required` | 服务账号缺 owner、轮换策略或禁止共享人用声明 | 是 | | `not-applicable` | 当前资产明确无该类身份或权限,且有 owner 签署证据 | 否 | 执行规则: 1. 所有能访问生产、控制面、数据、AI、供应链、审计证据或 L3/L4 资产的 human、service account、workload identity、bot、federated identity 和 vendor identity 都必须入账。 2. 每个 entitlement 必须绑定 owner、资产、角色、业务理由、最小权限说明、审批证据、到期时间、复核状态和撤销路径。 3. 特权访问必须启用 MFA 和 PAM/JIT;break-glass 只能用于事故或安全编号,并必须在 72 小时内关闭、复盘和回收权限。 4. JML 对账必须覆盖 HRIS、IdP、SCIM、IAM、PAM、Kubernetes RBAC、Cloud IAM、catalog 和 runtime admission;离职未撤销必须阻断。 5. 服务账号必须有团队 owner、资产引用、轮换状态、最小权限、禁用共享人用声明和到期复核,不得变成长期无人负责的生产密钥。 6. 工作负载身份必须绑定 catalog asset、runtime admission、Kubernetes ServiceAccount、SPIFFE ID 或 Cloud IAM 角色;任一绑定漂移都必须阻断。 7. 第三方、外包方或供应商身份必须链接第三方风险总账、合同控制、访问期限和退出计划;不能只存在于 IdP 组里。 8. 访问复核必须覆盖人类身份、服务账号、工作负载身份和特权角色;不能只复核员工账号,忽略非人类身份。 9. 过期权限、孤儿账号、未使用高权限、未复核特权访问和无 owner 服务账号必须形成阻断发现项,而不是进入普通优化 backlog。 10. 未知身份、缺 MFA、无审批特权访问、开放 break-glass、离职未撤销、工作负载身份漂移、孤儿账号或过期权限未关闭时,必须阻断 baseline/frozen 晋级。 可执行验收标准: 1. 任意生产身份都能追到身份源、owner、资产、权限、审批、复核、到期、MFA/PAM 状态和撤销路径。 2. 任意特权访问都能证明经过 JIT、MFA、审批、会话审计和到期回收,或有合规 break-glass 记录与复盘。 3. 任意 Kubernetes ServiceAccount、SPIFFE ID、Cloud IAM 角色或 workload identity 都能与 catalog 资产、runtime admission 决策和 RBAC/策略文件一致。 4. 任意离职、调岗、供应商退出或服务退役都能证明权限已经撤销,孤儿账号和过期权限为 0。 5. 任意审计导出都能包含身份权限摘要,证明无未知身份、无开放 break-glass、无未复核特权访问、无工作负载身份漂移和无过期权限。 ### 10.10.52 基线资产关键性、数据分类与风险分级总账 `baseline-asset-criticality-classification-ledger.yaml` 是企业级基线的资产关键性、数据分类与风险分级覆盖证据。它不替代 catalog、CMDB、数据目录、AI 产品目录、风险登记、SLO、conformance profile、隐私影响评估或 AI 影响评估;这些系统分别管理 资产发现、配置事实、数据语义、AI 风险、风险处置、可靠性承诺、门禁等级和专项评估。资产分级总账回答的是: “哪些资产进入基线治理;谁拥有它;它对业务有多关键;它的 CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露和第三方 关键性是什么;这些风险分级是否与 SLO Tier、L3/L4 合规等级、conformance profile、release gate 和运行准入策略一致”。它是 NIST FIPS 199 / SP 800-60 式信息影响定级、NIST CSF 2.0 ID.AM 资产识别与 CIS Control 1 企业资产清单之间的执行桥梁。 ```yaml baselineAssetCriticalityClassificationLedger: ledgerId: baccl-20260602-mea-v274 baselineId: mea-v2.74-20260602 documentVersion: V2.74 owner: architecture-governance-board generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: serviceCatalog: catalog/components/ dataCatalog: catalog/data-products/ aiProductCatalog: catalog/ai-products/ cmdb: governance/inventory/cmdb.yaml conformanceProfiles: governance/control-plane/conformance-profile.yaml riskRegister: governance/evidence/risks/risk-register.yaml sloCatalog: governance/reliability/slo-catalog.yaml privacyImpactAssessment: governance/evidence/privacy/privacy-impact-assessment.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml processingActivityInventoryLedger: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml identityEntitlementAccessLedger: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml policy: defaultForUnknownAsset: block defaultForUnknownDataClassification: block requireOwner: true requireCiaImpactRating: true requireConformanceProfileAlignment: true requireInternetExposureClassification: true requireAiRiskTierForAiAsset: true requireReviewCadenceDays: 90 blockUnderclassifiedCriticalAsset: true assets: - assetId: service-customer-profile type: service owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml businessCriticality: high sloTier: tier-1 conformanceLevel: L4 dataSensitivity: confidential regulatedData: - personal-data ciaImpact: confidentiality: high integrity: high availability: high exposure: internetFacing: true production: true aiRiskTier: not-applicable thirdPartyCriticality: medium reviewStatus: current status: classification-current - assetId: ai-customer-support-assistant type: ai-product owner: customer-experience-domain catalogRef: catalog/ai-products/customer-support-assistant.yaml businessCriticality: high sloTier: tier-2 conformanceLevel: L4 dataSensitivity: confidential regulatedData: - personal-data ciaImpact: confidentiality: high integrity: medium availability: medium exposure: internetFacing: false production: true aiRiskTier: high thirdPartyCriticality: high reviewStatus: current status: classification-current - assetId: data-customer-profile type: data-product owner: customer-data-product-team catalogRef: catalog/data-products/customer-profile.yaml businessCriticality: high sloTier: tier-1 conformanceLevel: L4 dataSensitivity: restricted regulatedData: - personal-data ciaImpact: confidentiality: high integrity: high availability: medium exposure: internetFacing: false production: true aiRiskTier: not-applicable thirdPartyCriticality: low reviewStatus: current status: classification-current summary: assetsCovered: 214 assetsWithOwners: 214 criticalAssets: 28 l3Assets: 42 l4Assets: 12 unknownDataClassification: 0 missingCiaImpactRatings: 0 conformanceProfileMismatches: 0 underclassifiedCriticalAssets: 0 staleClassificationReviews: 0 internetExposureUnclassified: 0 aiRiskTierUnknown: 0 result: pass gates: blockOnUnknownAsset: true blockOnMissingOwner: true blockOnUnknownDataClassification: true blockOnMissingCiaImpact: true blockOnConformanceProfileMismatch: true blockOnUnderclassifiedCriticalAsset: true blockOnUnclassifiedInternetExposure: true blockOnUnknownAiRiskTier: true blockOnStaleReview: true ``` 资产分级状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `classification-current` | 资产有 owner、关键性、CIA 影响、数据分类、门禁等级和复核证据 | 否 | | `owner-required` | 资产缺业务 owner、技术 owner 或治理 owner | 是 | | `data-classification-required` | 数据敏感度、监管数据类别或处理范围未知 | 是 | | `cia-impact-required` | 保密性、完整性或可用性影响未评级 | 是 | | `conformance-profile-mismatch` | 资产分级与 L3/L4、SLO Tier 或 conformance profile 不一致 | 是 | | `criticality-review-required` | 分级复核超过周期,或业务关键性变化未重新评估 | 是 | | `underclassified-critical-asset` | 关键业务资产被低估到较低门禁等级、较低 SLO Tier 或非阻断控制 | 是 | | `internet-exposure-unclassified` | 互联网暴露、外部 API 或公共入口未标记 | 是 | | `ai-risk-tier-required` | AI 产品、Agent、RAG 或模型调用资产缺 AI 风险等级 | 是 | | `regulatory-exposure-required` | 资产适用监管、合同义务或行业标准未映射 | 是 | | `retired` | 资产已经退役,历史分级、证据留存和下游引用关闭 | 否 | | `not-applicable` | 当前对象明确不属于基线治理资产,并有 owner 签署 | 否 | 执行规则: 1. 所有生产服务、数据产品、AI 产品、平台能力、GitOps 环境、关键第三方依赖、身份控制面、审计证据系统和 L3/L4 资产都必须进入资产分级总账。 2. 每个资产必须绑定 owner、catalog/CMDB 引用、业务关键性、SLO Tier、conformance level、CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露和复核状态。 3. CIA 影响评级必须能追溯到业务影响、数据影响和运行影响;不能只按团队主观感受填写 high/medium/low。 4. L3/L4、SLO Tier、release gate、runtime admission、身份权限、数据驻留、第三方风险和运营韧性必须使用同一资产分级事实;不得各自维护风险等级。 5. 处理个人数据、受监管数据、客户合同约束、AI 决策、互联网暴露、关键供应商依赖或重要业务服务依赖的资产,不能低于其最高风险来源要求的门禁等级。 6. 新资产进入 catalog、CMDB、数据目录、AI 产品目录或 GitOps 生产环境前,必须先有分级记录;未知资产默认阻断。 7. 资产退役不能删除历史分级;必须标记 `retired`,保留退役时间、下游引用清理、数据/权限/证据处置和审计留存。 8. 任意分级变更都必须进入基线发布证据、状态对账、证据追踪图和门禁执行报告;不能只改 catalog 标签。 9. 任意资产分级冲突、未知数据分类、CIA 缺失、关键资产低估、互联网暴露未分类、AI 风险未知或复核过期必须形成阻断发现项。 10. 条件放行不得降低资产分级;只能限定补证期限、补偿控制和风险接受范围。 可执行验收标准: 1. 任意生产资产都能追到 owner、catalog/CMDB、业务关键性、SLO Tier、conformance level、CIA 影响、数据分类、AI 风险、互联网暴露和最近复核。 2. 任意 L3/L4 资产都能证明 release gate、runtime admission、身份权限、数据驻留、第三方风险、运营韧性和监管义务使用同一资产分级事实。 3. 任意高风险 AI 产品、受监管数据产品、互联网暴露服务或关键供应商依赖都不能被低估到较低门禁等级。 4. 任意审计导出都能包含资产分级摘要,证明无未知资产、无无主资产、无未知数据分类、无 CIA 缺失、无 conformance profile 错配和无关键资产低估。 5. 任意资产分级变更都能在状态对账和证据追踪图中看到摘要变化、下游消费和 release gate 结果。 ### 10.10.53 基线密码材料、密钥、证书与秘密生命周期总账 `baseline-cryptographic-secrets-key-certificate-ledger.yaml` 是企业级基线的密码材料、密钥、证书和秘密生命周期覆盖证据。 它不替代 KMS、HSM、Vault、Secret Manager、cert-manager、企业 CA、CI 签名系统、TLS 扫描器或密钥轮换记录;这些系统分别 管理密钥托管、硬件保护、秘密分发、证书签发、签名、扫描和轮换事件。该总账回答的是:“哪些生产密码材料真实存在;谁拥有; 用途是什么;托管在哪里;算法和强度是否满足基线;什么时候轮换、过期、吊销;泄露后如何关闭;这些材料是否绑定到资产、身份、 运行时准入和发布证据”。它是 NIST SP 800-57 式密钥生命周期管理、NIST SP 800-52 式 TLS 配置要求、CIS Controls 对数据保护 和企业资产管理要求之间的执行桥梁。 ```yaml baselineCryptographicSecretsKeyCertificateLedger: ledgerId: bcskcl-20260602-mea-v275 baselineId: mea-v2.75-20260602 documentVersion: V2.75 owner: security-cryptography-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: kms: governance/security/kms-inventory.yaml hsm: governance/security/hsm-inventory.yaml secretManager: governance/security/secret-manager-inventory.yaml certificateAuthority: governance/security/certificate-authority.yaml certManager: infra/kubernetes/cert-manager/ tlsScan: governance/evidence/security/tls-scan-report.yaml secretScan: governance/evidence/security/secret-scan-report.yaml secretsRotationEvidence: governance/evidence/secrets/secrets-rotation-evidence.yaml signatureLtvReceipt: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml runtimeAdmissionDecisionLedger: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml identityEntitlementAccessLedger: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml policy: defaultForUnknownMaterial: block defaultForPlaintextSecret: block requireOwner: true requireAssetBinding: true requireManagedStorage: true requireRotationCadence: true requireRevocationPath: true maxCertificateTtlDays: 398 maxTokenTtlDays: 90 blockWeakAlgorithms: true materials: - materialId: tls-customer-api-prod type: tls-certificate owner: customer-platform-team assetRef: catalog/components/customer-profile-service.yaml storageRef: cert-manager://prod/customer/customer-profile-tls issuer: company-intermediate-ca algorithm: ecdsa-p256 keyLength: 256 notBefore: 2026-06-01T00:00:00+08:00 notAfter: 2026-08-30T00:00:00+08:00 rotationCadenceDays: 60 lastRotatedAt: 2026-06-01T00:00:00+08:00 revocationPath: governance/security/certificate-revocation-runbook.md accessBoundary: readableBy: - workload:customer-profile-service humanAccessAllowed: false status: crypto-current - materialId: signing-key-architecture-baseline type: signing-key owner: platform-release-engineering assetRef: catalog/components/architecture-baseline-publisher.yaml storageRef: kms://prod/signing/architecture-baseline algorithm: ecdsa-p256 keyLength: 256 hardwareBacked: true rotationCadenceDays: 180 lastRotatedAt: 2026-05-10T00:00:00+08:00 revocationPath: governance/security/signing-key-revocation-runbook.md ltvReceiptRef: governance/evidence/baselines/baseline-signature-ltv-receipt.yaml status: crypto-current - materialId: db-customer-profile-prod type: database-credential owner: customer-platform-team assetRef: catalog/components/customer-profile-db.yaml storageRef: vault://prod/customer/customer-profile-db rotationCadenceDays: 30 lastRotatedAt: 2026-05-30T00:00:00+08:00 expiresAt: 2026-06-29T00:00:00+08:00 revocationPath: governance/security/database-credential-rotation.md accessBoundary: readableBy: - workload:customer-profile-service humanAccessAllowed: false status: crypto-current summary: cryptographicMaterialsCovered: 312 kmsKeysCovered: 74 hsmKeysCovered: 8 tlsCertificatesCovered: 126 signingKeysCovered: 18 apiTokensCovered: 52 databaseCredentialsCovered: 34 workloadSecretsCovered: 68 plaintextProductionSecrets: 0 expiredCertificates: 0 overdueRotations: 0 weakAlgorithms: 0 missingRevocationPaths: 0 openSecretLeaks: 0 unmanagedSigningKeys: 0 result: pass gates: blockOnUnknownMaterial: true blockOnMissingOwner: true blockOnPlaintextSecret: true blockOnWeakAlgorithm: true blockOnExpiredCertificate: true blockOnOverdueRotation: true blockOnMissingRevocationPath: true blockOnOpenLeak: true ``` 密码材料状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `crypto-current` | 密码材料有 owner、资产绑定、托管位置、算法强度、轮换、过期、吊销和访问边界证据 | 否 | | `owner-required` | 密码材料缺业务 owner、技术 owner 或安全 owner | 是 | | `asset-binding-required` | 密码材料无法绑定到 catalog、运行资产、身份或发布证据 | 是 | | `managed-storage-required` | 密码材料不在 KMS、HSM、Vault、Secret Manager、cert-manager 或受控 CA 中 | 是 | | `plaintext-secret` | 生产秘密明文存在于 Git、镜像、日志、环境变量快照或非托管配置中 | 是 | | `weak-algorithm` | 算法、密钥长度、TLS 配置或签名参数低于基线要求 | 是 | | `rotation-overdue` | 密钥、token、凭据或证书超过轮换周期 | 是 | | `certificate-expired` | TLS、mTLS、代码签名或内部 CA 证书已过期或即将超出准入窗口 | 是 | | `revocation-path-required` | 缺少吊销、禁用、替换或泄露响应路径 | 是 | | `leak-open` | 泄露扫描、事故或外部通知发现秘密泄露但未关闭、吊销或轮换 | 是 | | `retired` | 密码材料已经退役,引用清理、吊销、销毁和审计留存已经完成 | 否 | | `not-applicable` | 当前资产明确不持有该类密码材料,并有 owner 签署 | 否 | 执行规则: 1. 所有生产 KMS/HSM key、TLS/mTLS 证书、签名密钥、API token、数据库凭据、webhook secret、OAuth client secret、CI secret、工作负载密钥和第三方访问密钥都必须入账。 2. 每条记录必须绑定 owner、资产、用途、托管位置、算法、强度、创建时间、轮换周期、最近轮换、过期时间、吊销路径、泄露响应路径和访问边界。 3. 生产秘密不得以明文进入 Git、镜像、日志、环境变量快照、审计导出原文或签名 payload;必须使用托管秘密系统和摘要留存。 4. 签名密钥、CA key、生产 KMS key 和 L4 关键资产密钥必须声明硬件保护、双人审批、访问审计和吊销路径。 5. 证书过期、密钥轮换超期、弱算法、缺 owner、缺资产绑定、缺吊销路径、泄露未关闭或签名密钥托管不清必须形成阻断发现项。 6. 密码材料退役不能只删除 Secret;必须证明下游引用清零、证书吊销、key disabled/destroy scheduled、凭据轮换和审计证据留存。 7. 第三方、模型供应商、SaaS、云平台和外包方使用的 token 或凭据必须链接第三方风险总账、合同控制、退出计划和供应商事件流程。 8. AI 工具、RAG、Agent、CI/CD、GitOps 和 runtime admission 使用的秘密必须绑定到对应 AI 证据、工具契约、发布证据和运行时准入决策。 9. 任意密码材料变更必须进入状态对账、证据追踪图、门禁执行报告和审计导出;不能只在 KMS 或证书平台本地更新。 10. 条件放行不能延长过期证书或明文秘密;只能限定补证期限、补偿控制和风险接受范围。 可执行验收标准: 1. 任意生产密码材料都能追到 owner、资产、托管位置、算法强度、用途、访问边界、最近轮换、过期时间和吊销路径。 2. 任意 L3/L4 资产都能证明密钥、证书、token、凭据和签名材料与资产分级、身份权限、运行时准入和发布证据一致。 3. 任意签名密钥、CA key、KMS/HSM key 和关键凭据都能证明硬件保护或托管保护、访问审计、轮换、吊销和泄露响应路径。 4. 任意审计导出都能包含密码材料摘要,证明无未知材料、无明文生产秘密、无弱算法、无过期证书、无轮换超期、无缺失吊销路径和无开放泄露。 5. 任意密码材料退役都能证明下游引用清零、吊销或禁用完成、替代材料已生效、历史证据已留存。 ### 10.10.54 基线备份、恢复、灾备与可恢复性验证总账 `baseline-backup-restore-disaster-recovery-ledger.yaml` 是企业级基线的备份、恢复、灾备和可恢复性验证覆盖证据。 它不替代备份平台、对象锁、灾备系统、恢复演练记录、SRE runbook、运营韧性总账或记录留存总账;这些系统分别管理备份任务、 不可变副本、跨区域复制、演练执行、业务影响容忍和记录留存。该总账回答的是:“哪些关键系统和数据真实存在备份;备份是否 可读、可恢复、可隔离、可审计;最近一次恢复是否在 RTO/RPO 内完成;勒索、误删、区域故障、账号失陷和供应商中断时是否还能 恢复”。它对齐 CIS Controls v8 Control 11 Data Recovery、NIST SP 800-34 Contingency Planning 和 NIST Cybersecurity Framework Recover Function 的共同底线:备份不能只是任务配置,必须被恢复结果证明。 ```yaml baselineBackupRestoreDisasterRecoveryLedger: ledgerId: bbdr-20260602-mea-v276 baselineId: mea-v2.76-20260602 documentVersion: V2.76 owner: sre-platform-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml evidenceArchiveReceipt: governance/evidence/baselines/baseline-evidence-archive-receipt.yaml recoveryDrillEvidence: governance/evidence/reliability/recovery-drill-evidence.yaml backupPlatformInventory: governance/reliability/backup-platform-inventory.yaml storageLifecyclePolicy: governance/reliability/storage-lifecycle-policy.yaml ransomwareResponsePlaybook: governance/playbooks/ransomware-recovery-playbook.md incidentPlaybook: governance/playbooks/incident-response-playbook.md restoreAccessReview: governance/evidence/identity/restore-access-review.yaml poam: governance/evidence/poam/poam-record.yaml policy: defaultForUnknownCriticalAsset: block requireOwner: true requireBackupPolicy: true requireEncryptedBackups: true requireImmutableOrOfflineCopyForCritical: true requireCrossAccountOrCrossRegionIsolationForL4: true requireRestoreDrill: true restoreDrillMaxAgeDays: tier-1: 90 tier-2: 180 tier-3: 365 requireIntegrityCheck: true requireRansomwareIsolationProof: true requireControlledRestoreAccess: true protectedAssets: - assetId: customer-profile-db-prod type: database owner: customer-platform-team catalogRef: catalog/components/customer-profile-db.yaml businessCriticality: high sloTier: tier-1 conformanceLevel: L4 dataSensitivity: restricted backupPolicy: schedule: every-15-minutes-incremental-daily-full retention: P35D encryption: kms://prod/backup/customer-profile immutableCopy: true offlineOrCrossAccountCopy: true replication: primaryRegion: cn-north-1 recoveryRegion: cn-east-1 crossAccount: true recoveryObjective: rtoMinutes: 60 rpoMinutes: 15 lastSuccessfulRestore: evidenceRef: governance/evidence/reliability/customer-profile-db-restore-20260601.yaml testedAt: 2026-06-01T02:30:00+08:00 restoredTo: isolated-restore-env/customer-profile-db actualRtoMinutes: 42 actualRpoMinutes: 8 dataIntegrityCheck: pass applicationSmokeTest: pass ransomwareIsolationCheck: pass restoreAccess: restoreRole: pam://roles/customer-db-restore-operator approvalRequired: true mfaRequired: true breakGlassAllowed: true lastAccessReview: 2026-05-28 status: recoverable-current - assetId: customer-attachments-object-store type: object-storage owner: customer-platform-team catalogRef: catalog/components/customer-attachments.yaml businessCriticality: medium sloTier: tier-2 conformanceLevel: L3 dataSensitivity: confidential backupPolicy: versioning: enabled objectLock: governance-mode retention: P90D lifecyclePolicyRef: governance/reliability/storage-lifecycle-policy.yaml replication: primaryRegion: cn-north-1 recoveryRegion: cn-east-1 crossAccount: true recoveryObjective: rtoMinutes: 240 rpoMinutes: 60 lastSuccessfulRestore: evidenceRef: governance/evidence/reliability/customer-attachments-restore-20260515.yaml testedAt: 2026-05-15T03:30:00+08:00 actualRtoMinutes: 120 actualRpoMinutes: 22 objectCountVerified: 25000 sampleChecksumVerification: pass ransomwareIsolationCheck: pass restoreAccess: restoreRole: pam://roles/object-store-restore-operator approvalRequired: true mfaRequired: true lastAccessReview: 2026-05-20 status: recoverable-current - assetId: platform-gitops-prod type: configuration-repository owner: platform-sre-team catalogRef: catalog/components/platform-gitops-prod.yaml businessCriticality: high sloTier: tier-1 conformanceLevel: L4 dataSensitivity: internal backupPolicy: sourceOfTruth: git protectedRemote: true signedTagsRequired: true mirrorRepository: git@escrow.company.com:platform/gitops-prod.git bundleArchive: governance/evidence/backup/gitops-prod-bundle-20260601.tar.zst immutableArchive: true recoveryObjective: rtoMinutes: 120 rpoMinutes: 5 lastSuccessfulRestore: evidenceRef: governance/evidence/reliability/gitops-prod-reconstruct-20260601.yaml testedAt: 2026-06-01T04:00:00+08:00 actualRtoMinutes: 75 actualRpoMinutes: 0 signatureVerification: pass gitopsReconciliationDryRun: pass restoreAccess: restoreRole: pam://roles/platform-gitops-restore-admin approvalRequired: true mfaRequired: true lastAccessReview: 2026-05-29 status: recoverable-current summary: protectedAssets: 186 criticalDataStoresCovered: 74 immutableBackupsEnabled: 74 offlineOrCrossAccountCopies: 61 restoreDrillsInWindow: 74 successfulRestoreDrills: 74 rpoBreaches: 0 rtoBreaches: 0 backupIntegrityFailures: 0 unprotectedCriticalDataStores: 0 ransomwareIsolationGaps: 0 overdueRestoreDrills: 0 uncontrolledRestoreAccess: 0 result: pass gates: blockOnUnprotectedCriticalAsset: true blockOnMissingOwner: true blockOnMissingBackupPolicy: true blockOnMissingImmutableOrOfflineCopy: true blockOnMissingCrossAccountOrCrossRegionIsolation: true blockOnOverdueRestoreDrill: true blockOnRtoBreach: true blockOnRpoBreach: true blockOnIntegrityFailure: true blockOnRansomwareIsolationGap: true blockOnUncontrolledRestoreAccess: true ``` 备份恢复状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `recoverable-current` | 关键资产有 owner、备份策略、不可变/离线副本、恢复演练、RTO/RPO、完整性校验和恢复权限证据 | 否 | | `backup-required` | 关键资产或关键数据存储缺备份策略、备份任务或备份成功证据 | 是 | | `owner-required` | 资产、数据存储、备份任务或恢复流程缺业务 owner、技术 owner 或 SRE owner | 是 | | `immutable-copy-required` | L3/L4 或关键数据存储缺不可变、对象锁、WORM、离线或等效防篡改副本 | 是 | | `offsite-copy-required` | L4、关键业务服务或监管要求资产缺跨区域、跨账号、离线或第三方托管副本 | 是 | | `restore-drill-overdue` | 最近成功恢复演练超过基线窗口,或演练只恢复组件未恢复业务路径 | 是 | | `rpo-breach` | 演练或事故恢复结果超过 RPO,且没有关闭的 POA&M 或风险接受 | 是 | | `rto-breach` | 演练或事故恢复结果超过 RTO,且没有关闭的 POA&M 或风险接受 | 是 | | `integrity-failed` | 备份校验、checksum、数据一致性、应用烟测或回放校验失败 | 是 | | `ransomware-isolation-gap` | 备份副本、恢复账号、控制面或恢复环境无法证明与生产失陷域隔离 | 是 | | `restore-access-uncontrolled` | 恢复权限缺审批、MFA、PAM/JIT、break-glass 审计或最近访问复核 | 是 | | `retired` | 资产已退役,备份保留、legal hold、删除传播和历史证据留存已经完成 | 否 | | `not-applicable` | 当前资产明确无持久化状态或非关键恢复对象,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 生产系统、关键数据库、对象存储、消息队列、配置仓库、向量索引、审计证据库、身份控制面、GitOps 仓库和关键第三方托管数据都必须入账。 2. 每条记录必须绑定 owner、catalog/CMDB 引用、资产关键性、SLO Tier、conformance level、数据敏感度、备份策略、保留周期、加密、不可变/离线副本、复制位置、恢复步骤和恢复权限。 3. RTO/RPO 只能由最近成功恢复演练、事故恢复或干净环境重建证明;不能只引用 SLA、架构图或备份任务配置。 4. L4、受监管、重要业务服务依赖或关键客户数据资产必须有不可变/离线副本和跨账号或跨区域隔离;同一生产账号内的普通副本不足以抵御勒索或账号失陷。 5. 备份留存必须与记录留存、legal hold、隐私删除传播、数据驻留和跨境处理总账一致;不能为了恢复保留绕过删除、驻留或法律保全规则。 6. 恢复权限必须使用最小权限、PAM/JIT、MFA、审批、break-glass 审计和访问复核;恢复账号不得成为长期高权限绕行入口。 7. 恢复演练必须覆盖数据完整性、应用启动、配置重建、身份依赖、网络策略、密钥恢复、RAG/向量索引恢复和下游消费者校验。 8. 任意备份策略变更、恢复目标变更、RTO/RPO 变化或演练失败必须进入状态对账、证据追踪图、门禁执行报告、POA&M 和风险登记。 9. 云、SaaS、模型供应商、支付、消息、对象存储或托管数据库等第三方恢复能力必须链接第三方风险总账、合同控制、退出计划和供应商连续性证据。 10. 条件放行不能绕过关键数据存储无备份、备份不可读、勒索隔离缺失或恢复权限失控;只能限定补证期限、补偿控制和风险接受范围。 可执行验收标准: 1. 任意关键资产都能追到 owner、备份策略、备份位置、不可变/离线副本、复制区域或账号、RTO/RPO、最近成功恢复演练、完整性校验和恢复权限。 2. 任意 L4 或重要业务服务依赖都能证明恢复演练覆盖端到端业务路径,而不是只恢复单个数据库快照或单个对象桶。 3. 任意审计导出都能证明无关键数据存储未备份、无缺失不可变副本、无恢复演练超期、无 RTO/RPO 失败、无备份完整性失败、无勒索隔离缺口和无恢复权限失控。 4. 任意备份恢复证据都能与资产分级、运营韧性、记录留存、数据驻留、第三方风险、密码材料和身份权限总账对账一致。 5. 任意灾备或恢复例外都必须有 POA&M、风险接受、补偿控制、到期日和下次演练计划;过期或阻断例外不得进入 baseline/frozen。 ### 10.10.55 基线服务可靠性、SLO、错误预算与可观测性总账 `baseline-service-reliability-slo-error-budget-observability-ledger.yaml` 是企业级基线的服务可靠性运行证据。 它不替代 `service.yaml`、监控平台、日志平台、Tracing、SRE runbook、事故复盘、连续控制监测总账或运营韧性总账; 这些系统分别管理服务声明、遥测采集、告警执行、响应流程和业务韧性。该总账回答的是:“哪些生产服务和用户旅程真正由 SLI/SLO 约束;错误预算是否仍在策略内;关键告警是否有人接;runbook、合成探测、指标、日志、链路追踪和降级策略是否 覆盖用户可见可靠性”。它对齐 Google SRE 的 SLO / Error Budget 实践、OpenTelemetry 的可观测性模型和 Prometheus / Alertmanager 的告警路由底线:可靠性不能只写在服务契约里,必须由可测量信号、错误预算和响应链路证明。 ```yaml baselineServiceReliabilitySloErrorBudgetObservabilityLedger: ledgerId: bsrso-20260602-mea-v277 baselineId: mea-v2.77-20260602 documentVersion: V2.77 owner: sre-platform-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: catalog: catalog/components/ serviceContracts: domains/*/services/*/service.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml backupRestoreDisasterRecoveryLedger: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml continuousControlMonitoringLedger: governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml incidentPostmortems: governance/evidence/incidents/ runbooks: governance/playbooks/ alertmanagerRoutes: platform/observability/alertmanager/ opentelemetryCollectors: platform/observability/opentelemetry/ syntheticMonitoring: platform/observability/synthetic/ dashboards: platform/observability/dashboards/ poam: governance/evidence/poam/poam-record.yaml policy: defaultForUnknownCriticalService: block requireOwner: true requireSloForTier: - tier-1 - tier-2 requireMeasurableSli: true requireErrorBudgetPolicy: true blockRiskyChangeOnBudgetBreach: true requireCriticalAlertRoute: true requireOnCallForCriticalAlerts: true requireRunbookForCriticalAlerts: true requireSyntheticJourneyForUserCriticalPath: true requireMetricLogTraceCoverage: true requireDashboardForTierOne: true requireDegradationPlan: true services: - serviceId: customer-profile-service owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml sourceRoot: domains/customer/services/customer-profile-service businessCriticality: high sloTier: tier-1 conformanceLevel: L4 userJourneys: - customer-profile-read - customer-profile-update slos: availability: objective: 99.9 window: 30d sli: successful-http-requests / total-http-requests source: prometheus://http_requests_total latency: objective: p95_under_300ms window: 7d sli: http_request_duration_seconds_bucket source: prometheus://histogram_quantile errorRate: objective: less_than_0.1_percent window: 30d sli: 5xx_requests / total_requests errorBudget: remainingPercent: 72 burnRateAlerts: - name: customer-profile-fast-burn route: alertmanager://sre-critical/customer threshold: 14x-5m - name: customer-profile-slow-burn route: alertmanager://sre-warning/customer threshold: 2x-1h riskyChangeFreeze: false response: onCall: pagerduty://customer-platform-primary escalation: pagerduty://sre-lead runbook: governance/playbooks/customer-profile-service-runbook.md dashboard: platform/observability/dashboards/customer-profile.json syntheticProbe: platform/observability/synthetic/customer-profile-read.yaml telemetry: metrics: complete logs: complete traces: complete tracePropagation: w3c-trace-context opentelemetryServiceName: customer-profile-service degradation: mode: read-cache-only featureFlag: feature-flags/customer-profile-write-disable customerCommunication: governance/communications/customer-profile-degraded.md status: reliability-current - serviceId: payment-webhook-consumer owner: payments-platform-team catalogRef: catalog/components/payment-webhook-consumer.yaml sourceRoot: domains/payment/services/payment-webhook-consumer businessCriticality: high sloTier: tier-1 conformanceLevel: L4 asyncSlos: processingLatency: objective: p95_under_60s window: 7d source: prometheus://payment_webhook_processing_seconds queueLag: objective: p99_under_5000_messages source: prometheus://kafka_consumer_lag deadLetterRate: objective: less_than_0.01_percent source: prometheus://payment_webhook_dead_letter_total response: onCall: pagerduty://payments-primary runbook: governance/playbooks/payment-webhook-consumer-runbook.md dashboard: platform/observability/dashboards/payment-webhook-consumer.json telemetry: metrics: complete logs: complete traces: complete degradation: mode: queue-buffer-and-manual-replay status: reliability-current - serviceId: support-ai-assistant owner: team-support-ai catalogRef: catalog/components/support-ai-assistant.yaml sourceRoot: ai/applications/support-ai-assistant businessCriticality: medium sloTier: tier-2 conformanceLevel: L3 aiReliability: groundingPassRate: objective: greater_than_98_percent source: ai-evals://support-grounding toolErrorRate: objective: less_than_0.5_percent source: opentelemetry://genai.tool.call fallbackSuccessRate: objective: greater_than_99_percent fallback: human-support-queue response: onCall: pagerduty://support-ai-primary runbook: governance/playbooks/ai-incident-playbook.md dashboard: platform/observability/dashboards/support-ai-assistant.json telemetry: metrics: complete logs: redacted-complete traces: complete degradation: mode: human-handoff-only status: reliability-current summary: criticalServicesCovered: 64 criticalServicesWithSlos: 64 criticalUserJourneysCovered: 18 measurableSlis: 192 errorBudgetBreaches: 0 criticalAlertsRoutedToOnCall: 64 runbooksCurrent: 64 syntheticJourneysCovered: 18 metricCoverageGaps: 0 logCoverageGaps: 0 traceCoverageGaps: 0 dashboardCoverageGaps: 0 unownedCriticalAlerts: 0 result: pass gates: blockOnMissingCriticalServiceSlo: true blockOnUnmeasurableSli: true blockOnErrorBudgetBreachWithoutFreeze: true blockOnUnownedCriticalAlert: true blockOnMissingOnCall: true blockOnMissingRunbook: true blockOnMissingSyntheticJourney: true blockOnTelemetryCoverageGap: true blockOnMissingDashboard: true blockOnMissingDegradationPlan: true ``` 服务可靠性状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `reliability-current` | 服务有 owner、SLI/SLO、错误预算、告警、on-call、runbook、合成探测、遥测覆盖和降级策略 | 否 | | `slo-required` | L3/L4、tier-1/tier-2 或关键用户旅程服务缺 SLO | 是 | | `sli-unmeasurable` | SLO 已声明但没有可采集、可查询、可回放的 SLI | 是 | | `error-budget-breached` | 错误预算超支且未冻结风险变更、未进入事故或 POA&M | 是 | | `alert-route-required` | critical 告警缺 Alertmanager / paging 路由或升级路径 | 是 | | `on-call-required` | critical 告警没有值班组、升级人或覆盖窗口 | 是 | | `runbook-required` | critical 告警或关键服务缺可执行 runbook | 是 | | `synthetic-journey-required` | 用户关键旅程没有合成探测或探测没有进入门禁 | 是 | | `telemetry-coverage-gap` | 指标、日志或链路追踪覆盖缺口影响 SLI、排障或审计 | 是 | | `dashboard-required` | tier-1 服务没有生产仪表盘或仪表盘无法追到 SLI/SLO | 是 | | `degradation-plan-required` | 关键服务没有降级、限流、只读、队列缓冲、人工接管或回滚策略 | 是 | | `retired` | 服务已退役,告警、SLO、runbook、合成探测和 catalog 引用已清理 | 否 | | `not-applicable` | 明确非生产、非关键、无用户影响,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 生产服务、tier-1/tier-2 服务、关键用户旅程、外部 API、异步处理链路、AI 产品、数据产品入口和平台能力必须入账。 2. 每条服务记录必须绑定 owner、catalogRef、sourceRoot、业务关键性、SLO Tier、conformance level、用户旅程、SLI/SLO、错误预算策略、告警路由、on-call、runbook、仪表盘、合成探测、遥测覆盖和降级策略。 3. SLI 必须来自可查询的指标、日志、链路追踪、合成探测或评估系统;不能只写“可用性 99.9%”而没有计算公式和数据源。 4. 错误预算超支时,风险变更、非紧急发布和高风险实验必须冻结,直到事故、POA&M、风险接受或预算恢复证据闭合。 5. 告警必须按用户影响和错误预算燃尽设计;只告警 CPU、内存或 Pod 重启不足以证明用户可见可靠性。 6. critical 告警必须有 route、on-call、升级路径和 runbook;没有 owner 的告警不得进入 baseline/frozen。 7. 合成探测必须覆盖关键用户旅程和外部依赖路径;只探测 `/healthz` 不能替代用户旅程探测。 8. 遥测覆盖必须同时说明 metrics、logs、traces;AI 产品还必须说明 GenAI span、工具调用、RAG span、脱敏日志和人工接管指标。 9. 服务可靠性总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在监控系统或 SRE 文档里。 10. 条件放行不能绕过关键服务无 SLO、SLI 不可测、错误预算超支、critical 告警无人接、runbook 缺失或遥测覆盖缺口;只能限定补证期限、补偿控制和风险接受范围。 可执行验收标准: 1. 任意生产关键服务都能追到 owner、catalog、服务源码、SLI/SLO、错误预算、告警路由、on-call、runbook、仪表盘、合成探测、遥测覆盖和降级策略。 2. 任意 SLO 都能证明其 SLI 可采集、可查询、可回放,并能说明窗口、目标、数据源和错误预算策略。 3. 任意错误预算超支都能证明风险变更冻结、事故复盘、POA&M、风险接受或预算恢复动作已经闭合。 4. 任意 critical 告警都能证明有人接、能升级、有 runbook、能追到服务 owner 和用户影响。 5. 任意审计导出都能证明无关键服务缺 SLO、无不可测 SLI、无开放错误预算超支、无无人值守 critical 告警、无 runbook 缺口、无合成探测缺口和无指标/日志/链路覆盖缺口。 ### 10.10.56 基线容量、性能、弹性伸缩与成本效率总账 `baseline-capacity-performance-cost-efficiency-ledger.yaml` 是企业级基线的容量、性能和成本效率运行证据。 它不替代压测报告、APM、Kubernetes requests/limits、ResourceQuota、HPA/VPA/KEDA、FinOps 报表、 OpenCost、FOCUS 数据集或成本分摊证据;这些系统分别管理测试结果、运行信号、调度边界、弹性动作和成本事实。 该总账回答的是:“哪些关键服务、数据/AI 工作负载和平台共享能力有容量模型;性能基准是否仍在阈值内; 资源声明和弹性伸缩是否覆盖峰值;预算、单位经济、成本分摊和异常成本是否已经闭环”。它对齐 FinOps Framework 的成本优化和单位经济实践、FOCUS 的成本数据标准化、OpenCost 的 Kubernetes 成本分摊,以及 Kubernetes 资源 requests/limits、ResourceQuota 和 HPA/VPA/KEDA 的运行边界:容量、性能和成本不是上线后月底补看的报表, 而是发布前必须可证明的架构属性。 ```yaml baselineCapacityPerformanceCostEfficiencyLedger: ledgerId: bcpce-20260602-mea-v278 baselineId: mea-v2.78-20260602 documentVersion: V2.78 owner: sre-finops-platform-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: serviceReliabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml costAllocationEvidence: governance/evidence/cost/cost-allocation-period.yaml loadTestReports: governance/evidence/performance/ gitOpsManifests: infra/gitops/ hpaPolicies: infra/kubernetes/base/services/*/hpa.yaml resourceQuotas: infra/kubernetes/policies/resource-quota.yaml opencost: platform/finops/opencost/ focusDataset: platform/finops/focus/ apmDashboards: platform/observability/dashboards/ poam: governance/evidence/poam/poam-record.yaml policy: defaultForUnknownCriticalWorkload: block requireOwner: true requireCapacityForecastForTier: - tier-1 - tier-2 requireFreshLoadTestDays: 90 requirePerformanceBaseline: true requireRequestsLimitsForProduction: true requireAutoscalingForElasticWorkloads: true requireQueueBacklogPolicy: true requireDatabaseCapacityPolicy: true requireBudgetOwner: true requireUnitEconomicsForRevenueOrAiWorkload: true blockOnUnapprovedBudgetBreach: true blockOnOpenAnomalousCost: true workloads: - workloadId: customer-profile-service owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml sourceRoot: domains/customer/services/customer-profile-service businessCriticality: high sloTier: tier-1 conformanceLevel: L4 capacity: forecastWindow: 90d peakRpsForecast: 12000 peakRpsTested: 15000 headroomPercent: 25 capacityModelRef: governance/evidence/performance/customer-profile-capacity-model.yaml performance: baselineRef: governance/evidence/performance/customer-profile-loadtest-20260601.yaml testedAt: 2026-06-01T01:00:00+08:00 p95LatencyMsTarget: 300 p95LatencyMsObserved: 238 p99LatencyMsTarget: 900 p99LatencyMsObserved: 640 errorRateTargetPercent: 0.1 errorRateObservedPercent: 0.03 runtimeResources: requests: cpu: "500m" memory: "768Mi" limits: cpu: "2" memory: "2Gi" hpa: enabled: true minReplicas: 6 maxReplicas: 80 targetCpuUtilizationPercent: 65 pdb: minAvailable: "80%" resourceQuotaRef: infra/kubernetes/policies/customer-prod-quota.yaml cost: budgetMonthlyUsd: 12000 forecastMonthlyUsd: 10400 unitCostMetric: usd_per_1000_successful_requests unitCostObserved: 0.018 allocationCoveragePercent: 100 opencostRef: platform/finops/opencost/customer-profile.yaml focusDatasetRef: platform/finops/focus/2026-06/customer.parquet anomaliesOpen: 0 status: capacity-current - workloadId: payment-webhook-consumer owner: payments-platform-team catalogRef: catalog/components/payment-webhook-consumer.yaml businessCriticality: high sloTier: tier-1 capacity: peakMessagesPerMinuteForecast: 240000 peakMessagesPerMinuteTested: 300000 queueBacklogPolicy: p99_under_5000_messages performance: processingLatencyP95TargetSeconds: 60 processingLatencyP95ObservedSeconds: 42 deadLetterRateTargetPercent: 0.01 deadLetterRateObservedPercent: 0.002 runtimeResources: requests: cpu: "1" memory: "1Gi" limits: cpu: "4" memory: "4Gi" keda: enabled: true trigger: kafka-lag maxReplicaCount: 120 cost: budgetMonthlyUsd: 18000 forecastMonthlyUsd: 15100 unitCostMetric: usd_per_million_messages unitCostObserved: 0.74 anomaliesOpen: 0 status: capacity-current - workloadId: support-ai-assistant owner: team-support-ai catalogRef: catalog/components/support-ai-assistant.yaml businessCriticality: medium sloTier: tier-2 capacity: peakSessionsPerHourForecast: 22000 peakSessionsPerHourTested: 26000 performance: firstTokenP95MsTarget: 1800 firstTokenP95MsObserved: 1320 toolRoundTripP95MsTarget: 2500 toolRoundTripP95MsObserved: 1900 runtimeResources: requests: cpu: "750m" memory: "1Gi" limits: cpu: "3" memory: "3Gi" hpa: enabled: true minReplicas: 4 maxReplicas: 60 cost: budgetMonthlyUsd: 30000 forecastMonthlyUsd: 24800 unitCostMetric: usd_per_successful_ai_task unitCostObserved: 0.12 modelCostCapUsdPerTask: 0.18 anomaliesOpen: 0 status: capacity-current summary: criticalWorkloadsCovered: 64 capacityForecastsCurrent: 64 loadTestsFresh: 64 performanceBaselineBreaches: 0 requestsLimitsDeclared: 64 autoscalingPoliciesDeclared: 58 queueBacklogBreaches: 0 databaseCapacityBreaches: 0 budgetBreachesUnapproved: 0 allocationCoveragePercent: 100 unitEconomicsMeasured: 42 anomalousCostsOpen: 0 optimizationActionsOverdue: 0 result: pass gates: blockOnMissingCapacityForecast: true blockOnStaleLoadTest: true blockOnPerformanceRegression: true blockOnMissingRequestsLimits: true blockOnMissingAutoscalingPolicy: true blockOnQueueOrDatabaseCapacityBreach: true blockOnUnapprovedBudgetBreach: true blockOnUnmeasuredUnitEconomics: true blockOnOpenAnomalousCost: true ``` 容量性能成本状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `capacity-current` | 容量预测、压测、性能基准、资源声明、弹性伸缩、预算和单位经济均在策略内 | 否 | | `capacity-forecast-required` | 关键工作负载缺容量模型或预测窗口 | 是 | | `load-test-stale` | 关键服务压测证据超过允许窗口或不覆盖当前版本 | 是 | | `performance-regression` | p95/p99、吞吐、错误率、队列积压或批处理窗口超过基准阈值 | 是 | | `resources-required` | 生产工作负载缺 requests/limits、ResourceQuota 或 PDB | 是 | | `autoscaling-required` | 弹性工作负载缺 HPA/VPA/KEDA 或伸缩阈值不可解释 | 是 | | `capacity-breach` | 队列、数据库、缓存、存储、连接池或批处理容量超阈值 | 是 | | `budget-breached` | 预算超支且无审批、风险接受或优化计划 | 是 | | `unit-economics-required` | 收入相关、AI 或高成本工作负载缺单位成本指标 | 是 | | `cost-anomaly-open` | 异常成本未关闭、未解释或未进入 POA&M | 是 | | `retired` | 工作负载已退役,预算、资源和成本分摊引用已清理 | 否 | | `not-applicable` | 明确非生产、非关键、无显著成本或容量风险,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 生产服务、tier-1/tier-2 服务、关键用户旅程、AI 推理服务、数据处理任务、队列消费者、数据库、缓存和平台共享能力必须入账。 2. 每条记录必须绑定 owner、catalogRef、业务关键性、SLO Tier、容量预测、性能基准、压测证据、运行资源、弹性伸缩、预算、成本分摊、单位经济和异常成本状态。 3. 压测证据必须说明测试时间、目标版本、峰值负载、p95/p99、错误率、资源饱和点和回归阈值;不能只保留压测截图或自然语言结论。 4. Kubernetes 工作负载必须声明 requests/limits、ResourceQuota、PDB 和伸缩策略;批处理、队列和数据库必须声明积压、窗口、连接池、存储和吞吐阈值。 5. AI 工作负载必须把模型调用成本、GPU/推理成本、向量检索成本、评估流水线成本和单位任务成本纳入预算与异常检测。 6. 成本分摊必须能追到 owner、标签覆盖率、OpenCost 或云账单来源、FOCUS 字段映射、未分摊成本和优化行动。 7. 预算超支、单位成本异常、未解释成本突增、容量超限或性能退化必须进入 release gate、风险登记、POA&M 或风险接受;不能等月底人工解释。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档。 9. 条件放行不能绕过关键服务无容量模型、压测过期、性能退化、资源未声明、自动扩缩容缺失、预算超支无审批或异常成本未关闭;只能限定补证期限、补偿控制和风险接受范围。 可执行验收标准: 1. 任意关键服务都能追到容量预测、压测证据、性能基准、资源声明、弹性伸缩策略、预算、单位成本和成本分摊 owner。 2. 任意 p95/p99、吞吐、错误率、队列积压或批处理窗口退化都能证明是否阻断发布、进入事故、POA&M 或风险接受。 3. 任意 Kubernetes 生产工作负载都能证明 requests/limits、ResourceQuota、PDB、HPA/VPA/KEDA 和运行成本归属已经闭合。 4. 任意 AI 或高成本工作负载都能证明单位经济、预算上限、模型成本、异常成本处置和优化行动已经闭合。 5. 任意审计导出都能证明无关键容量模型缺口、无过期压测、无开放性能退化、无未声明资源、无未审批预算超支、无未解释单位成本和无开放异常成本。 ### 10.10.57 基线威胁建模、攻击面与安全风险总账 `baseline-threat-model-attack-surface-risk-ledger.yaml` 是企业级基线的威胁建模与攻击面治理证据。 它不替代 `ai-threat-model.yaml`、漏洞扫描、渗透测试、ASVS/API 安全评估、风险登记或 POA&M;这些证据分别覆盖 AI 产品、已知漏洞、测试执行、验证标准和风险整改。该总账回答的是:“哪些关键资产必须建模;信任边界和数据流是否清楚; 攻击面和滥用场景是否已被识别;缓解控制、安全测试、剩余风险和签署是否已经进入同一条 release gate 证据链”。它对齐 OWASP Threat Modeling Cheat Sheet、OWASP ASVS、OWASP API Security Top 10、OWASP SAMM、NIST SSDF 和 CISA Secure by Design 的共同要求:安全不能只靠发布前扫描和上线后修漏洞,必须在架构、设计、实现、测试和发布门禁中持续建模。 ```yaml baselineThreatModelAttackSurfaceRiskLedger: ledgerId: btmasr-20260602-mea-v279 baselineId: mea-v2.79-20260602 documentVersion: V2.79 owner: application-security-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml identityEntitlementAccessLedger: governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml aiThreatModels: governance/evidence/ai/ai-threat-model.yaml apiInventory: catalog/apis/ eventInventory: catalog/events/ dataFlowDiagrams: governance/evidence/security/data-flows/ securityTestEvidence: governance/evidence/security/tests/ riskRegister: governance/evidence/risk/risk-register.yaml poam: governance/evidence/poam/poam-record.yaml policy: defaultForUnknownCriticalAsset: block requireOwner: true requireThreatModelForLevels: - L3 - L4 requireThreatModelRefreshDays: 180 requireInternetExposureReview: true requireTrustBoundaryMap: true requireDataFlowMap: true requireAbuseCasesForExternalEntryPoints: true requireSecurityTestsLinkedToThreats: true requireResidualRiskSignoff: true blockOnUnsignedHighResidualRisk: true blockOnOpenCriticalAbuseCase: true assets: - assetId: customer-profile-service assetType: service owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml sourceRoot: domains/customer/services/customer-profile-service businessCriticality: high conformanceLevel: L4 exposure: internetFacing: true entryPoints: - api: contracts/apis/customer-profile.openapi.yaml - event: contracts/events/customer.profile.updated.yaml authentication: method: oauth2-oidc workloadIdentity: kubernetes-service-account privilegedOperations: - profile-merge - gdpr-export threatModel: method: - STRIDE - OWASP-ASVS - OWASP-API-Top-10 modelRef: governance/evidence/security/threat-models/customer-profile-service.yaml reviewedAt: 2026-06-01T16:00:00+08:00 nextReviewDue: 2026-11-28 trustBoundaries: - browser-to-api-gateway - api-gateway-to-service-mesh - service-to-database - service-to-third-party-kyc dataFlows: - flowId: customer-profile-read dataClass: personal-data encryptionInTransit: true authorizationControl: relationship-based-access - flowId: customer-profile-export dataClass: regulated-personal-data encryptionInTransit: true approvalRequired: true abuseCases: - abuseCaseId: account-enumeration risk: high mitigation: rate-limit-plus-privacy-preserving-errors testRef: governance/evidence/security/tests/customer-profile-api-abuse.yaml status: closed - abuseCaseId: unauthorized-profile-export risk: critical mitigation: step-up-auth-plus-dual-control testRef: governance/evidence/security/tests/customer-profile-export-authz.yaml status: accepted-by-risk-owner residualRisk: level: medium acceptedBy: customer-risk-owner acceptedUntil: 2026-09-30 poamRef: governance/evidence/poam/poam-customer-profile-202606.yaml status: threat-model-current - assetId: payment-webhook-consumer assetType: event-consumer owner: payments-platform-team catalogRef: catalog/components/payment-webhook-consumer.yaml conformanceLevel: L4 exposure: internetFacing: false entryPoints: - event: contracts/events/payment.webhook.received.yaml authentication: method: signed-webhook-plus-mtls threatModel: method: - STRIDE - OWASP-API-Top-10 modelRef: governance/evidence/security/threat-models/payment-webhook-consumer.yaml reviewedAt: 2026-05-30T12:00:00+08:00 trustBoundaries: - payment-provider-to-edge-ingress - ingress-to-event-bus - consumer-to-ledger-service dataFlows: - flowId: payment-event-ingest dataClass: financial-transaction-data replayProtection: idempotency-key-plus-signature-timestamp abuseCases: - abuseCaseId: replayed-payment-event risk: critical mitigation: signature-timestamp-window-plus-idempotency-store testRef: governance/evidence/security/tests/payment-webhook-replay.yaml status: closed residualRisk: level: low acceptedBy: payments-risk-owner acceptedUntil: 2026-12-31 status: threat-model-current - assetId: support-ai-assistant assetType: ai-product owner: team-support-ai catalogRef: catalog/components/support-ai-assistant.yaml conformanceLevel: L3 exposure: internetFacing: true entryPoints: - ui: apps/support-ai-assistant - tool: contracts/ai/tools/customer-case-lookup.yaml authentication: method: workforce-sso-plus-tool-approval threatModel: method: - STRIDE - LINDDUN - OWASP-LLM-Top-10 modelRef: governance/evidence/security/threat-models/support-ai-assistant.yaml reviewedAt: 2026-06-01T10:00:00+08:00 trustBoundaries: - user-to-agent-runtime - agent-runtime-to-llm-gateway - llm-gateway-to-rag-index - agent-runtime-to-tools dataFlows: - flowId: support-rag-query dataClass: customer-support-data accessControl: case-owner-or-approved-support-role - flowId: tool-case-lookup dataClass: personal-data humanApprovalRequired: true abuseCases: - abuseCaseId: prompt-injection-tool-exfiltration risk: critical mitigation: llm-gateway-policy-plus-tool-allowlist-plus-output-filter testRef: governance/evidence/security/tests/support-ai-prompt-injection.yaml status: closed - abuseCaseId: unauthorized-rag-retrieval risk: high mitigation: document-level-acl-plus-retrieval-audit testRef: governance/evidence/security/tests/support-ai-rag-acl.yaml status: closed residualRisk: level: medium acceptedBy: support-ai-risk-owner acceptedUntil: 2026-09-30 poamRef: governance/evidence/poam/poam-support-ai-202606.yaml status: threat-model-current summary: criticalAssetsCovered: 92 criticalAssetsWithThreatModels: 92 freshThreatModels: 92 attackSurfacesInventoried: 92 trustBoundariesMapped: 92 dataFlowsMapped: 214 highRiskDataFlowsWithoutMitigation: 0 openCriticalAbuseCases: 0 securityTestsLinkedToThreats: 92 unsignedResidualRisks: 0 overdueThreatModelReviews: 0 releaseGateReferences: 92 result: pass gates: blockOnMissingThreatModel: true blockOnStaleThreatModel: true blockOnUnknownInternetExposure: true blockOnMissingTrustBoundary: true blockOnMissingDataFlow: true blockOnUnmitigatedHighRiskDataFlow: true blockOnOpenCriticalAbuseCase: true blockOnMissingSecurityTest: true blockOnUnsignedResidualRisk: true blockOnMissingReleaseGateReference: true ``` 威胁建模与攻击面状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `threat-model-current` | 威胁模型、攻击面、信任边界、数据流、滥用场景、安全测试和剩余风险均在策略内 | 否 | | `threat-model-required` | L3/L4、互联网暴露、关键数据或关键业务资产缺威胁模型 | 是 | | `threat-model-stale` | 威胁模型超过复核窗口,或未覆盖当前版本、入口、数据流和依赖 | 是 | | `exposure-unknown` | 互联网暴露、第三方入口、AI 工具入口或 GitOps 入口未被明确分类 | 是 | | `trust-boundary-unmapped` | 信任边界、跨域调用、身份转换或第三方边界未映射 | 是 | | `data-flow-unmapped` | 关键数据流、个人数据流、支付/交易流、RAG 检索流或模型工具流未映射 | 是 | | `unmitigated-high-risk-flow` | 高风险数据流或权限流没有控制映射、测试或补偿控制 | 是 | | `abuse-case-open` | critical/high 滥用场景未关闭、未接受或未进入 POA&M | 是 | | `security-test-required` | 威胁、滥用场景或控制没有对应安全测试证据 | 是 | | `residual-risk-unsigned` | 剩余风险没有 risk owner 签署、到期日或整改计划 | 是 | | `retired` | 资产已退役,入口、数据流和风险登记引用已清理 | 否 | | `not-applicable` | 明确非生产、非关键、无敏感数据、无外部入口,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 资产、互联网暴露资产、处理个人/支付/监管数据的资产、AI 产品、GitOps 入口、平台共享能力和关键第三方接入必须入账。 2. 每条资产记录必须绑定 owner、catalogRef、sourceRoot 或契约路径、conformance level、暴露面、认证方式、入口、信任边界、数据流、滥用场景、安全测试和剩余风险。 3. 威胁模型必须覆盖当前版本的真实入口、身份边界、数据流、第三方依赖、事件链路、AI 工具链和运行环境;不能只保留一次性评审纪要。 4. STRIDE 可用于服务/API/事件边界,LINDDUN 可用于隐私数据流,OWASP ASVS/API/LLM 可用于验证要求映射;具体方法可以裁剪,但必须记录方法和适用理由。 5. 滥用场景必须绑定缓解控制和安全测试;测试可以来自 SAST/DAST/IAST、API fuzzing、契约测试、策略测试、红队、LLM 攻击评估或手工渗透测试,但必须能回放到证据路径。 6. AI 产品不得只依赖 `ai-threat-model.yaml`;还必须在本总账中说明 AI 工具、RAG、模型供应商、数据授权、人工审批和越权检索如何进入企业攻击面。 7. 剩余风险必须由 risk owner 签署,带有效期、POA&M 或风险接受;high/critical 剩余风险未签署时不得进入 baseline/frozen。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在安全评审系统、白板图或漏洞平台。 9. 条件放行不能绕过缺失威胁模型、过期威胁模型、未知互联网暴露、未映射信任边界、未缓解高风险数据流、开放 critical 滥用场景、安全测试缺失或剩余风险未签署。 可执行验收标准: 1. 任意关键资产都能追到 owner、catalog/source、入口、信任边界、数据流、威胁模型、滥用场景、安全测试、剩余风险、POA&M 和风险签署。 2. 任意互联网暴露、第三方接入、AI 工具入口、GitOps 入口或关键数据流都能证明攻击面已登记,且有适用控制和测试证据。 3. 任意 high/critical 滥用场景都能证明已关闭、已接受或进入 POA&M,并且风险接受有 owner、到期日和复核入口。 4. 任意安全测试失败都能证明是否阻断发布、进入整改、风险接受或例外,并能回写到风险登记和门禁执行报告。 5. 任意审计导出都能证明无关键威胁模型缺失、无过期威胁模型、无未知暴露面、无未映射信任边界、无未缓解高风险数据流、无开放 critical 滥用场景和无未签署剩余风险。 ### 10.10.58 基线漏洞、暴露面与修复验证总账 `baseline-vulnerability-exposure-remediation-ledger.yaml` 是企业级基线的漏洞治理和暴露面修复闭环证据。 它不替代 SCA、SBOM、容器扫描、IaC 扫描、云安全态势管理、外部攻击面管理、VEX/CSAF、漏洞平台或单项 `vulnerability-remediation-evidence.yaml`;这些系统负责发现、记录或交换局部事实。该总账回答的是: “哪些资产、镜像、依赖、配置和外部入口处于治理范围;漏洞是否按 KEV、EPSS、CVSS、业务暴露和资产关键性排序; 修复、缓解、例外、复测和发布准入是否已经进入同一条 release gate 证据链”。它对齐 CISA KEV、FIRST EPSS、 CVSS v4.0、CycloneDX VEX、OASIS CSAF 和 NIST SSDF 的共同要求:漏洞管理必须从扫描结果升级为可证明的 风险优先级、修复执行、复测关闭和例外治理闭环。 ```yaml baselineVulnerabilityExposureRemediationLedger: ledgerId: bverm-20260602-mea-v280 baselineId: mea-v2.80-20260602 documentVersion: V2.80 owner: security-vulnerability-management-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml threatModelAttackSurfaceRiskLedger: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml supplyChainAttestation: governance/evidence/supply-chain/{service-attestation}.yaml sbomRegistry: artifact-registry/sbom/ vulnerabilityRemediationEvidence: governance/evidence/vulnerabilities/{vulnerability-remediation}.yaml containerImageScan: governance/evidence/security/scans/container-images/ dependencyScan: governance/evidence/security/scans/dependencies/ iacScan: governance/evidence/security/scans/iac/ kubernetesPosture: governance/evidence/security/scans/kubernetes/ cloudSecurityPosture: governance/evidence/security/scans/cloud/ externalAttackSurface: governance/evidence/security/attack-surface/ vexOrCsafStatements: governance/evidence/vulnerabilities/vex-csaf/ riskRegister: governance/evidence/risk/risk-register.yaml poam: governance/evidence/poam/poam-record.yaml policy: defaultForUnknownAsset: block requireOwner: true requireCoverageForLevels: - L3 - L4 severitySources: - CVSS-v4.0 - EPSS - CISA-KEV - asset-criticality - internet-exposure sla: kev: P7D critical: P14D highInternetExposed: P14D highInternal: P30D medium: P90D requireVexOrCsafForNotAffected: true requireRetestForClosedFinding: true blockOnOpenKev: true blockOnOpenCritical: true blockOnOpenInternetExposedHigh: true blockOnExpiredException: true blockOnMissingScannerCoverage: true coverage: assets: services: 64 dataProducts: 28 aiProducts: 9 platformCapabilities: 18 gitopsEnvironments: 12 scanners: dependencies: pass containerImages: pass baseImages: pass iac: pass kubernetes: pass cloud: pass secrets: pass externalExposure: pass findings: - findingId: vuln-customer-profile-202606-001 assetId: customer-profile-service assetType: service owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml sourceRoot: domains/customer/services/customer-profile-service component: type: container-image image: registry.company.com/customer/customer-profile-service@sha256: sbomRef: artifact-registry/sbom/customer-profile-service.spdx.json vulnerability: cve: CVE-2026-0001 package: openssl installedVersion: 3.2.0 fixedVersion: 3.2.4 cvssV4: 9.1 epss: 0.73 kev: false vexStatus: affected exposure: internetFacing: true reachableFromRuntime: true privilegedPath: false exploitObserved: false remediation: status: remediated slaDue: 2026-06-08 fixedInCommit: fixedImageDigest: sha256: retestEvidence: governance/evidence/security/retests/customer-profile-service-cve-2026-0001.yaml retestedAt: 2026-06-02T20:30:00+08:00 releaseGate: decision: pass consumedBy: BGE-030 - findingId: vuln-payment-webhook-202606-002 assetId: payment-webhook-consumer assetType: event-consumer owner: payments-platform-team component: type: dependency package: jackson-databind sbomRef: artifact-registry/sbom/payment-webhook-consumer.cyclonedx.json vulnerability: cve: CVE-2025-9999 cvssV4: 8.7 epss: 0.91 kev: true vexStatus: affected exposure: internetFacing: false reachableFromRuntime: true exploitObserved: true remediation: status: remediated slaDue: 2026-06-04 mitigation: dependency-upgrade-plus-webhook-signature-window retestEvidence: governance/evidence/security/retests/payment-webhook-cve-2025-9999.yaml releaseGate: decision: pass consumedBy: BGE-030 - findingId: vuln-support-ai-202606-003 assetId: support-ai-assistant assetType: ai-product owner: team-support-ai component: type: ai-tool-endpoint toolContract: contracts/ai/tools/customer-case-lookup.yaml vulnerability: cve: none category: exposed-tool-permission cvssV4: 7.8 epss: not-applicable kev: false vexStatus: not-affected vexRef: governance/evidence/vulnerabilities/vex-csaf/support-ai-tool-permission.vex.json exposure: internetFacing: true reachableFromRuntime: true privilegedPath: true remediation: status: risk-accepted mitigation: tool-allowlist-plus-human-approval-plus-output-filter acceptedBy: support-ai-risk-owner acceptedUntil: 2026-07-31 poamRef: governance/evidence/poam/poam-support-ai-tool-permission.yaml releaseGate: decision: conditional-pass consumedBy: BGE-030 summary: assetsCovered: 186 scannerCoverageComplete: true openCriticalFindings: 0 openHighFindings: 0 openKevFindings: 0 openInternetExposedHighFindings: 0 findingsWithOwner: "100%" findingsWithinSla: true remediationsRetested: 148 staleScans: 0 expiredExceptions: 0 vexOrCsafStatusesRecorded: 74 releaseGateReferences: 186 result: pass gates: blockOnOpenKev: true blockOnOpenCritical: true blockOnOpenInternetExposedHigh: true blockOnMissingOwner: true blockOnSlaBreach: true blockOnMissingRetest: true blockOnExpiredException: true blockOnMissingVexOrCsafForNotAffected: true blockOnMissingReleaseGateReference: true ``` 漏洞与暴露面状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `vulnerability-remediation-current` | 漏洞发现、暴露判断、修复、复测、例外和发布准入均在策略内 | 否 | | `scan-coverage-required` | 资产、镜像、依赖、IaC、Kubernetes、云配置或外部暴露缺少扫描覆盖 | 是 | | `owner-required` | 漏洞、资产、组件或修复动作没有 owner | 是 | | `kev-open` | CISA KEV 或已知被利用漏洞仍开放且无有效风险接受 | 是 | | `critical-open` | critical 漏洞仍开放且未完成修复、缓解或风险接受 | 是 | | `exposed-high-open` | 互联网暴露 high 漏洞仍开放 | 是 | | `sla-breached` | 修复 SLA 超期且没有批准例外、POA&M 或风险接受 | 是 | | `retest-required` | 声称已修复但没有复测证据或复测失败 | 是 | | `exception-expired` | 例外、风险接受或 POA&M 到期 | 是 | | `vex-status-required` | 声明 not_affected、fixed、under_investigation 或 mitigated 时缺少 VEX/CSAF 状态 | 是 | | `retired` | 资产已退役,运行入口、依赖、镜像和暴露面已清理 | 否 | | `not-applicable` | 明确非生产、非关键、无运行暴露,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 资产、生产服务、容器镜像、基础镜像、依赖、IaC、Kubernetes 配置、云资源、API、AI 工具、外部暴露入口和关键第三方接入必须入账。 2. 每条漏洞记录必须绑定资产、组件、owner、SBOM 或扫描来源、CVE 或缺陷类别、CVSS、EPSS、KEV、VEX/CSAF 状态、暴露判断、SLA、修复动作、复测证据和 release gate 引用。 3. KEV、已被利用、critical 或互联网暴露 high 漏洞不得用“待确认”长期放行;只能关闭、缓解、风险接受或进入有期限 POA&M。 4. VEX/CSAF 只能表达产品上下文下的影响状态,不能替代修复、复测、例外审批或风险接受。 5. 漏洞优先级必须同时看可利用性、资产关键性、互联网暴露、运行可达性、权限路径和业务影响,不能只按 CVSS 排序。 6. 修复完成必须复测;复测证据应绑定构建 digest、镜像 digest、运行环境或配置版本,不能只写“已升级依赖”。 7. AI 工具、RAG、模型网关和 Agent runtime 的暴露面要进入同一总账;不得把 AI 工具权限缺陷只放在 AI 威胁模型里。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在漏洞平台或安全团队工单里。 9. 条件放行不能绕过 open KEV、open critical、互联网暴露 high、扫描覆盖缺口、复测缺失、例外过期或 VEX/CSAF 状态缺失。 可执行验收标准: 1. 任意关键资产都能追到资产 owner、SBOM、扫描来源、漏洞发现、暴露判断、修复 SLA、修复动作、复测证据、例外和发布准入。 2. 任意 KEV、critical 或互联网暴露 high 漏洞都能证明已经关闭、缓解、风险接受或被 release gate 阻断。 3. 任意 not affected、fixed、under investigation 或 mitigated 状态都能找到 VEX/CSAF 或等价结构化影响说明。 4. 任意修复完成的漏洞都能从复测证据追到构建 digest、镜像 digest、配置版本或运行入口。 5. 任意审计导出都能证明无开放 KEV、无开放 critical、无开放互联网暴露 high、无扫描覆盖缺口、无复测缺失、无过期例外和无缺失 VEX/CSAF 状态。 ### 10.10.59 基线安全配置、加固姿态与配置漂移修复总账 `baseline-secure-configuration-posture-drift-ledger.yaml` 是企业级基线的安全配置基线、运行加固姿态和配置漂移修复闭环证据。它不替代 CIS Benchmarks、SCAP、CSPM、KSPM、IaC policy scan、Kubernetes Pod Security、runtime admission、租户边界、云配置扫描或单项加固工单;这些系统负责定义、扫描或阻断局部事实。该总账回答的是:“哪些资产必须有安全配置基线;实际运行姿态是否符合基线;配置漂移是否按严重度、资产关键性和暴露面排序;修复、复测、例外、POA&M、风险接受和 release gate 是否已经进入同一条证据链”。它对齐 CIS Controls v8 Control 4、CIS Benchmarks、NIST SP 800-128、NIST SP 800-53 CM 控制族、SCAP、Kubernetes Pod Security Standards 和 Kubernetes Hardening Guidance 的共同要求:安全配置必须从一次性加固清单升级为可证明的基线、监测、漂移修复和例外治理闭环。 ```yaml baselineSecureConfigurationPostureDriftLedger: ledgerId: bscpd-20260602-mea-v281 baselineId: mea-v2.81-20260602 documentVersion: V2.81 owner: platform-security-posture-team generatedAt: 2026-06-02T23:59:00+08:00 linkedEvidence: standardsBaseline: governance/control-plane/standards-baseline.yaml assetCriticalityClassificationLedger: governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml threatModelAttackSurfaceRiskLedger: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml vulnerabilityExposureRemediationLedger: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml controlInheritanceLedger: governance/evidence/baselines/baseline-control-inheritance-ledger.yaml runtimeAdmissionReceipt: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml runtimeAdmissionDecisionLedger: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml cisBenchmarkProfiles: governance/evidence/security/configuration/cis-benchmarks/ scapContent: governance/evidence/security/configuration/scap/ kubernetesPodSecurityEvidence: governance/evidence/security/configuration/pod-security/ cspmFindings: governance/evidence/security/scans/cloud/ kspmFindings: governance/evidence/security/scans/kubernetes/ iacPolicyScan: governance/evidence/security/scans/iac/ configurationDriftReports: governance/evidence/security/configuration/drift/ remediationEvidence: governance/evidence/security/configuration/remediation/ riskRegister: governance/evidence/risk/risk-register.yaml poam: governance/evidence/poam/poam-record.yaml policy: defaultForUnknownAsset: block requireOwner: true requireBaselineForLevels: - L3 - L4 requiredProfiles: - cis-linux-server - cis-kubernetes - cis-cloud-account - nist-configuration-management - scap-supported-platform - pod-security-restricted blockOnMissingBaseline: true blockOnCriticalConfigurationDrift: true blockOnPrivilegedPodWithoutException: true blockOnPublicStorage: true blockOnWeakTls: true blockOnAuditLoggingDisabled: true blockOnExpiredException: true requireRemediationRetest: true requireReleaseGateReference: true coverage: assets: services: 64 dataProducts: 28 aiProducts: 9 platformCapabilities: 18 gitopsEnvironments: 12 cloudAccounts: 8 kubernetesClusters: 6 databases: 24 postureChecks: operatingSystems: pass containerImages: pass kubernetes: pass cloudAccounts: pass iam: pass network: pass storage: pass databases: pass cicd: pass apiGateways: pass aiRuntimes: pass assets: - assetId: customer-profile-service assetType: kubernetes-workload owner: customer-platform-team catalogRef: catalog/components/customer-profile-service.yaml sourceRoot: domains/customer/services/customer-profile-service runtimeRef: infra/gitops/environments/prod/customer/customer-profile-service conformanceLevel: L3 expectedBaselines: osProfile: cis-linux-server-level-1 containerProfile: cis-container-image kubernetesProfile: cis-kubernetes-plus-pod-security-restricted networkProfile: default-deny-network-policy observedPosture: runAsNonRoot: true privileged: false readOnlyRootFilesystem: true allowPrivilegeEscalation: false hostNetwork: false hostPathMounts: 0 networkPolicyDefaultDeny: true resourceRequestsAndLimitsDeclared: true serviceAccountScoped: true auditLoggingEnabled: true drift: criticalOpen: 0 highOpen: 0 lastScannedAt: 2026-06-02T20:00:00+08:00 releaseGate: decision: pass consumedBy: BGE-031 status: secure-configuration-current - assetId: payment-ledger-db assetType: database owner: payments-platform-team catalogRef: catalog/components/payment-ledger-db.yaml conformanceLevel: L4 expectedBaselines: databaseProfile: cis-managed-database encryptionProfile: encryption-at-rest-and-in-transit backupProfile: immutable-backup-required observedPosture: publicNetworkAccess: false encryptionAtRest: true tlsMinVersion: "1.2" auditLoggingEnabled: true adminMfaRequired: true backupImmutabilityEnabled: true drift: criticalOpen: 0 highOpen: 0 remediatedFindings: - findingId: cfg-payment-ledger-public-snapshot-202606 remediation: snapshot-public-access-disabled retestEvidence: governance/evidence/security/configuration/retests/payment-ledger-public-snapshot.yaml retestedAt: 2026-06-02T19:30:00+08:00 releaseGate: decision: pass consumedBy: BGE-031 status: drift-remediated - assetId: support-ai-assistant assetType: ai-product owner: team-support-ai catalogRef: catalog/components/support-ai-assistant.yaml conformanceLevel: L3 expectedBaselines: llmGatewayProfile: approved-provider-plus-region-control agentRuntimeProfile: tool-egress-allowlist-plus-human-approval ragProfile: private-index-plus-document-acl loggingProfile: redacted-audit-logging observedPosture: toolEgressAllowlistEnabled: true requiresHumanApprovalForSensitiveTools: true publicRagIndex: false promptAndToolAuditLoggingEnabled: true piiRedactionEnabled: true modelProviderRegionApproved: true drift: criticalOpen: 0 highOpen: 0 acceptedExceptions: - exceptionId: sec-cfg-support-ai-retention-202606 reason: 延长 AI 工具审计日志留存以覆盖监管调查窗口。 acceptedBy: support-ai-risk-owner acceptedUntil: 2026-09-30 compensatingControl: stricter-redaction-plus-legal-hold-review releaseGate: decision: conditional-pass consumedBy: BGE-031 status: secure-configuration-current summary: assetsCovered: 186 baselinesAssigned: 186 postureChecksExecuted: 1248 criticalConfigurationDriftsOpen: 0 highConfigurationDriftsOpen: 0 privilegedPodsWithoutException: 0 publicStorageFindingsOpen: 0 weakTlsFindingsOpen: 0 auditLoggingDisabled: 0 expiredConfigurationExceptions: 0 remediationsRetested: 96 releaseGateReferences: 186 result: pass gates: blockOnMissingBaseline: true blockOnCriticalConfigurationDrift: true blockOnHighConfigurationDriftWithoutAcceptance: true blockOnPrivilegedPodWithoutException: true blockOnPublicStorage: true blockOnWeakTls: true blockOnAuditLoggingDisabled: true blockOnExpiredException: true blockOnMissingRetest: true blockOnMissingReleaseGateReference: true ``` 安全配置姿态状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `secure-configuration-current` | 期望配置基线、运行姿态、漂移、修复、复测、例外和发布准入均在策略内 | 否 | | `baseline-required` | L3/L4 资产、生产环境、云账号、Kubernetes 集群、数据库、CI/CD 或 AI runtime 缺少安全配置基线 | 是 | | `scan-coverage-required` | OS、容器、Kubernetes、云、IAM、网络、存储、数据库、CI/CD、API Gateway 或 AI runtime 缺少姿态扫描覆盖 | 是 | | `critical-drift-open` | critical 配置漂移仍开放且没有批准风险接受、POA&M 或补偿控制 | 是 | | `high-drift-open` | high 配置漂移超过 SLA,或互联网暴露资产的 high 配置漂移未关闭 | 是 | | `pod-security-violation` | 生产 workload 违反 Pod Security Restricted 或等价组织基线,且无有效例外 | 是 | | `public-exposure-misconfiguration` | 对象存储、数据库、管理端口、Ingress、API Gateway、RAG 索引或 AI 工具入口出现未批准公开暴露 | 是 | | `weak-tls-configuration` | TLS、证书、cipher、mTLS 或网关安全配置低于组织基线 | 是 | | `audit-logging-disabled` | 关键资产、云控制面、Kubernetes、数据库、CI/CD、LLM Gateway 或 Agent Runtime 审计日志未启用 | 是 | | `drift-remediated` | 漂移已修复并有复测证据 | 否 | | `remediation-retest-required` | 声称已修复但没有姿态复测证据或复测失败 | 是 | | `exception-expired` | 配置例外、风险接受或 POA&M 到期 | 是 | | `retired` | 资产已退役,配置入口、运行入口和 catalog 引用已清理 | 否 | | `not-applicable` | 明确非生产、非关键、无运行暴露,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 资产、生产服务、Kubernetes 集群、命名空间、云账号、IAM、数据库、对象存储、网络入口、CI/CD、API Gateway、LLM Gateway、Agent Runtime、RAG 索引、平台共享能力和关键第三方接入必须入账。 2. 每条资产记录必须绑定 owner、catalogRef 或 sourceRoot、运行入口、合规等级、期望安全配置基线、观测姿态、扫描来源、漂移状态、SLA、修复动作、复测证据、例外和 release gate 引用。 3. 安全配置基线应优先复用 CIS Benchmarks、SCAP、NIST 配置管理控制、Kubernetes Pod Security Standards、云服务商安全基线、组织 Policy as Code 和平台 Golden Path;自研规则只用于补充业务差异、环境约束和例外边界。 4. 配置姿态必须覆盖发布前 IaC / GitOps 期望状态、运行时 Kubernetes admission、云控制面、Kubernetes audit、数据库审计、网关配置、CI/CD 配置和 AI runtime 配置;不能只看一个扫描器报告。 5. critical 漂移、未批准公开暴露、特权 Pod、弱 TLS、审计日志关闭、关键加密配置缺失和 CI/CD 安全配置缺失不得用“待确认”长期放行;只能关闭、缓解、风险接受或进入有期限 POA&M。 6. 修复完成必须复测;复测证据应绑定 IaC commit、GitOps revision、Kubernetes resourceVersion、云资源版本、数据库配置版本或 gateway 配置版本。 7. AI 产品的 LLM Gateway、Agent Runtime、工具出站、RAG 索引、Prompt/Tool 审计日志和模型供应商区域控制必须进入同一总账;不得把 AI 运行配置只放在 AI 证据账本或威胁模型里。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在 CSPM/KSPM、云控制台或安全团队工单里。 9. 条件放行不能绕过缺失安全配置基线、critical 漂移、未批准公开暴露、特权 Pod、弱 TLS、审计日志关闭、复测缺失、例外过期或 release gate 引用缺失。 可执行验收标准: 1. 任意关键资产都能追到期望安全配置基线、观测姿态、扫描来源、漂移发现、修复 SLA、修复动作、复测证据、例外和发布准入。 2. 任意 critical 配置漂移、未批准公开暴露、未批准特权 Pod、弱 TLS 或审计日志关闭都能证明已经关闭、缓解、风险接受或被 release gate 阻断。 3. 任意声称已修复的配置漂移都能从复测证据追到 IaC commit、GitOps revision、云资源版本、Kubernetes 对象版本、数据库配置版本或网关配置版本。 4. 任意 AI runtime、LLM Gateway、Agent 工具入口和 RAG 索引都能证明工具出站、人工审批、日志脱敏、区域控制、ACL 和公开暴露配置受控。 5. 任意审计导出都能证明无缺失安全配置基线、无开放 critical 配置漂移、无未批准公开暴露、无未批准特权 Pod、无弱 TLS、无关闭审计日志、无复测缺失、无过期例外和无缺失 release gate 引用。 ### 10.10.60 基线生产变更、发布编排、变更冲突与失败恢复总账 `baseline-production-change-release-ledger.yaml` 是企业级基线的生产变更和发布编排证据。它不替代 GitOps、发布事务回执、发布列车、变更单系统、Feature Flag 平台、数据库迁移工具、AI 评估流水线或事故复盘;这些系统负责局部事实。该总账回答的是:“哪些真实生产变更发生了;变更是否在批准窗口内;是否和依赖、黑窗、冻结期、容量、SLO、数据库迁移、配置漂移、漏洞修复、Prompt/模型变更或第三方变更冲突;回滚和失败恢复是否验证;紧急变更是否事后复盘;变更失败是否进入事故、问题管理、POA&M 或风险接受;DORA 指标是否回写”。它对齐 DORA 软件交付指标、OpenGitOps 声明式变更和持续对账、NIST SP 800-128 安全配置变更管理、ISO/IEC 20000-1 服务管理、ITIL Change Enablement 和 OpenFeature 渐进式发布的共同要求:生产变更不能退回传统大审批队列,也不能只靠 CI 通过;必须把高频小变更、自动化准入、风险分级、冲突检测、回滚、失败恢复和度量闭环放进同一条证据链。 ```yaml baselineProductionChangeReleaseLedger: ledgerId: bpcrl-20260603-mea-v282 baselineId: mea-v2.82-20260603 documentVersion: V2.82 owner: release-engineering generatedAt: 2026-06-03T10:30:00+08:00 linkedEvidence: releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml runtimeAdmissionDecisionLedger: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml secureConfigurationPostureDriftLedger: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml vulnerabilityExposureRemediationLedger: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml serviceReliabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml capacityPerformanceCostEfficiencyLedger: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml backupRestoreDisasterRecoveryLedger: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml fineTuningRunEvidence: governance/evidence/ai/fine-tuning-run.yaml incidentPostmortems: governance/evidence/incidents/ poam: governance/evidence/poam/poam-record.yaml doraMetrics: governance/evidence/metrics/dora-four-keys.yaml gitopsHistory: infra/gitops/environments/ policy: defaultForUnregisteredProductionChange: block requireChangeWindowForLevels: - L3 - L4 requireAutomatedPreflightForStandardChange: true requireHumanApprovalForHighRiskChange: true requireConflictDetection: true requireRollbackPlan: true requireDatabaseMigrationRehearsal: true requireFeatureFlagKillSwitch: true requireAiPromptModelEvalBeforeProduction: true requireEmergencyChangePostReviewHours: 72 requireFailedChangeIncidentLink: true updateDoraMetrics: true changes: - changeId: chg-20260603-customer-profile-001 type: application-deployment owner: customer-platform-team assetRef: catalog/components/customer-profile-service.yaml conformanceLevel: L4 businessReason: release privacy export throttling fix riskLevel: medium changeWindow: windowId: rw-20260603-apac-daytime approved: true blackout: false emergency: false scope: sourceCommit: imageDigest: registry.company.com/customer/customer-profile-service@sha256: gitopsRevision: namespaces: - prod/customer preflight: gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml#BGE-032 runtimeAdmissionDecision: governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml#request-8731 secureConfigurationStatus: secure-configuration-current vulnerabilityStatus: no-blocking-finding sloRisk: within-error-budget conflictDetection: dependencyFreezeConflicts: 0 concurrentChangesSameService: 0 concurrentDatabaseMigrations: 0 thirdPartyMaintenanceConflicts: 0 rollout: strategy: canary startedAt: 2026-06-03T09:30:00+08:00 completedAt: 2026-06-03T10:05:00+08:00 canarySteps: - percent: 10 result: pass - percent: 50 result: pass - percent: 100 result: pass rollback: rollbackPlanRef: governance/evidence/rollback/customer-profile-service-20260603.yaml rollbackTested: true rollbackObjectiveMinutes: 15 rollbackPerformed: false outcome: status: change-successful changeFailure: false incidentLinked: false doraDeploymentRecorded: true - changeId: chg-20260603-payment-ledger-db-001 type: database-migration owner: payments-platform-team assetRef: catalog/components/payment-ledger-db.yaml conformanceLevel: L4 businessReason: add settlement reconciliation index riskLevel: high changeWindow: windowId: rw-20260603-payment-low-traffic approved: true blackout: false emergency: false migration: tool: liquibase planRef: domains/payment/services/payment-ledger-service/migrations/20260603-reconciliation-index.yaml rehearsedInStaging: true backupRestoreRef: governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml#payment-ledger-db lockTimeBudgetSeconds: 30 rollbackScriptTested: true conflictDetection: concurrentDatabaseMigrations: 0 replicationLagRisk: within-threshold longRunningQueryConflicts: 0 outcome: status: change-successful changeFailure: false doraDeploymentRecorded: true - changeId: chg-20260603-support-ai-prompt-001 type: ai-prompt-model-change owner: team-support-ai assetRef: catalog/ai-products/customer-support-assistant.yaml conformanceLevel: L3 businessReason: improve support answer grounding riskLevel: medium changeWindow: windowId: rw-20260603-ai-standard approved: true blackout: false emergency: false aiChange: promptVersion: prompt-support-answer-v18 modelRoute: llm-gateway/support-default evalRef: ai/evals/support-answer-grounding-20260603.yaml ragIndexRefreshRef: ai/rag/support-kb-index-20260603.yaml guardrailPolicyRef: contracts/ai/guardrails/support-output-policy.yaml evalPassed: true regressionFailures: 0 humanApprovalRequired: true approvedBy: support-ai-risk-owner rollback: promptRollbackVersion: prompt-support-answer-v17 ragIndexRollbackReady: true toolKillSwitchReady: true outcome: status: change-successful changeFailure: false doraDeploymentRecorded: true - changeId: chg-20260603-checkout-flag-001 type: feature-flag-change owner: checkout-domain-team assetRef: catalog/components/checkout-service.yaml conformanceLevel: L4 businessReason: enable new fraud screening path for 5 percent traffic riskLevel: medium featureFlag: flagRef: governance/evidence/releases/feature-flag-control.yaml#checkout-fraud-screening-v2 rolloutPercent: 5 killSwitchReady: true rollbackOnSloBurn: true exposureEventsEnabled: true outcome: status: change-successful changeFailure: false doraDeploymentRecorded: true emergencyChanges: total: 4 postReviewedWithinHours: 4 missingPostReview: 0 failedChanges: total: 6 open: 0 linkedToIncident: 6 rollbackCompletedWithinObjective: 6 problemOrPoamCreated: 2 summary: productionChangesCovered: 142 unregisteredProductionChanges: 0 approvedChangeWindows: 142 blackoutViolations: 0 unresolvedChangeConflicts: 0 databaseMigrationsRehearsed: 18 featureFlagsWithKillSwitch: 39 promptOrModelChangesEvaluated: 11 rollbackPlansVerified: 142 emergencyChangesPostReviewed: 4 failedChangesOpen: 0 changesLinkedToIncidents: 6 doraMetricsUpdated: true deploymentFrequencyRecorded: true changeFailureRateRecorded: true leadTimeForChangesRecorded: true failedDeploymentRecoveryTimeRecorded: true releaseGateReferences: 142 result: pass gates: blockOnUnregisteredProductionChange: true blockOnBlackoutViolation: true blockOnUnresolvedConflict: true blockOnMissingRollbackPlan: true blockOnUnrehearsedDatabaseMigration: true blockOnMissingFeatureFlagKillSwitch: true blockOnUnevaluatedPromptOrModelChange: true blockOnMissingEmergencyPostReview: true blockOnOpenFailedChange: true blockOnMissingDoraMetricWriteback: true ``` 生产变更状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `change-successful` | 变更已在批准窗口执行,前置门禁、冲突检测、回滚计划、执行证据和度量回写均完成 | 否 | | `change-scheduled` | 变更已批准但尚未执行 | 否,但不能作为已完成证据 | | `preflight-required` | 变更缺少 release gate、GitOps diff、runtime admission、SLO、漏洞、配置或容量前置检查 | 是 | | `window-approval-required` | L3/L4 生产变更没有批准窗口、窗口已过期或 owner 未确认 | 是 | | `blackout-violation` | 非紧急变更落在黑窗、冻结期或监管禁止窗口 | 是 | | `conflict-open` | 同服务、同数据库、同依赖、同第三方维护窗口或同关键用户旅程存在未解决冲突 | 是 | | `rollback-required` | 缺少回滚计划、回滚脚本、旧版本 digest、Prompt 旧版本、RAG 回滚或 GitOps 回滚入口 | 是 | | `database-rehearsal-required` | 数据库迁移缺 staging 演练、锁时间预算、备份恢复证据或 rollback script 测试 | 是 | | `feature-flag-kill-switch-required` | 灰度或高风险开关缺 kill switch、曝光事件、SLO 燃尽回滚或 owner | 是 | | `ai-eval-required` | Prompt、模型路由、RAG 索引、工具或护栏变更缺评估、人工审批、回滚或事故响应入口 | 是 | | `emergency-post-review-required` | 紧急变更没有在 72 小时内完成事后复盘、风险接受、POA&M 或永久修复计划 | 是 | | `failed-change-open` | 变更失败未关闭、未回滚、未关联事故、未创建问题记录或未进入 POA&M | 是 | | `retired` | 变更对象已经退役,生产引用、窗口、开关、迁移和回滚证据已归档 | 否 | | `not-applicable` | 当前资产无生产变更或仅为非生产实验,并有 owner 签署 | 否 | 执行规则: 1. 所有 L3/L4 生产代码部署、GitOps 晋级、数据库迁移、配置变更、Feature Flag 变更、Prompt/模型/工具/RAG 变更、网关策略变更、运行时准入策略变更、容量策略变更和紧急变更都必须入账。 2. 标准低风险变更应优先走自动化准入和可观测灰度,不应退回人工 CAB 排队;高风险、监管、数据库、AI 行为或关键用户旅程变更必须有明确审批、窗口和回滚验证。 3. 每条变更必须绑定 owner、资产、变更类型、业务动机、风险等级、变更窗口、前置门禁、冲突检测、执行证据、回滚计划、结果、失败状态和 DORA 指标回写。 4. 变更冲突检测必须至少覆盖同一服务、同一数据库、同一队列、同一关键用户旅程、同一第三方维护窗口、同一黑窗、同一错误预算和同一运营韧性场景;不能只看发布日历。 5. 数据库迁移必须演练、声明锁时间预算、备份恢复证据、回滚脚本和兼容窗口;高风险迁移不得只靠“可回滚 SQL”自然语言说明。 6. Feature Flag、Kill Switch、灰度和实验必须绑定 owner、曝光事件、SLO 燃尽回滚、默认值、关闭路径和清理期限;长期打开的临时开关必须进入技术债或 POA&M。 7. AI Prompt、模型路由、RAG 索引、工具权限、护栏和微调模型变更必须先通过 evals、红队或回归评估,绑定人工审批和回滚入口;不能只在应用配置中改模型名称。 8. 紧急变更必须有事故、安全或合规编号,并在 72 小时内补齐事后复盘、风险接受、POA&M、永久修复和门禁反哺。 9. 变更失败必须关闭:要么完成回滚,要么关联事故和问题记录,要么进入 POA&M 或风险接受;不得把失败变更留在“观察中”状态进入 baseline/frozen。 10. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在 Jira、ServiceNow、Argo CD、LaunchDarkly、数据库迁移工具或 AI 平台 UI 中。 可执行验收标准: 1. 任意 L3/L4 生产变更都能追到变更 ID、owner、资产、窗口、风险等级、前置门禁、冲突检测、执行证据、回滚计划和最终结果。 2. 任意 GitOps 晋级都能证明镜像 digest、GitOps revision、runtime admission 决策、SLO 风险、漏洞状态、配置姿态和发布窗口一致。 3. 任意数据库迁移都能证明 staging 演练、锁时间预算、备份恢复、回滚脚本、复制延迟风险和执行结果已经闭合。 4. 任意 Feature Flag 或灰度发布都能证明 kill switch、曝光事件、SLO 燃尽回滚、owner、清理期限和失败恢复入口存在。 5. 任意 Prompt、模型、RAG、工具或护栏变更都能证明评估通过、人工审批、回滚入口、审计日志和事故响应路径存在。 6. 任意紧急变更都能证明事故编号、变更范围、临时风险、72 小时内事后复盘、永久修复计划和门禁反哺。 7. 任意变更失败都能证明已回滚、已关联事故、已创建问题记录或已进入 POA&M,并且 DORA change failure rate 和恢复时间已经回写。 8. 任意审计导出都能证明无未登记生产变更、无黑窗违规、无开放冲突、无缺失回滚、无未演练数据库迁移、无缺 kill switch 的灰度、无未评估 AI 行为变更、无未复盘紧急变更和无开放失败变更。 ### 10.10.61 基线事故、问题、纠正行动与复发防止总账 `baseline-incident-problem-corrective-action-ledger.yaml` 是企业级基线的事故、问题、纠正行动和复发防止证据。它不替代 PagerDuty、Opsgenie、ServiceNow、Jira、Statuspage、Slack 事故频道、SRE 复盘文档、安全事件系统、隐私事件系统、AI 事件 playbook、供应商事件记录、POA&M 或风险登记;这些系统负责记录局部事实。该总账回答的是:“哪些事故和 near miss 真实发生; 是否完成严重度分级、影响评估、时间线、检测/响应/恢复时间、RCA、问题记录、临时遏制、永久纠正行动、复发防止、runbook 更新、 告警调整、门禁反哺、客户/监管沟通和 DORA 恢复指标回写”。它对齐 NIST SP 800-61 Rev. 3 的事件响应风险管理口径、 Google SRE 的 incident management 与 postmortem culture、DORA 的 failed deployment recovery time,以及 ISO/IEC 20000-1 服务管理要求:事故关闭不能等同于工单关闭,复盘完成也不能等同于问题关闭;必须证明学习反馈已经变成工程控制。 ```yaml baselineIncidentProblemCorrectiveActionLedger: ledgerId: bipcal-20260603-mea-v283 baselineId: mea-v2.83-20260603 documentVersion: V2.83 owner: sre-platform-team generatedAt: 2026-06-03T11:30:00+08:00 linkedEvidence: releaseGateDecision: governance/control-plane/release-gate-decision.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml serviceReliabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml vulnerabilityExposureRemediationLedger: governance/evidence/baselines/baseline-vulnerability-exposure-remediation-ledger.yaml secureConfigurationPostureDriftLedger: governance/evidence/baselines/baseline-secure-configuration-posture-drift-ledger.yaml thirdPartyRiskLedger: governance/evidence/baselines/baseline-third-party-risk-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml aiIncidentPlaybooks: governance/playbooks/ai-incident-playbook.md privacyRightsConsentLedger: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml regulatoryObligationLedger: governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml poam: governance/evidence/poam/poam-record.yaml riskRegister: governance/evidence/risk/risk-register.yaml incidentPostmortems: governance/evidence/incidents/ doraMetrics: governance/evidence/metrics/dora-four-keys.yaml policy: severityLevels: - L1 - L2 - L3 - L4 requireLedgerForLevels: - L3 - L4 includeNearMisses: true requireRcaWithinBusinessDays: 5 requireMajorIncidentPostmortemWithinBusinessDays: 10 requireCorrectiveActionOwner: true requireProblemRecordForRecurringIncident: true requireRunbookAndAlertFeedback: true requireGateFeedbackForPreventableFailure: true requireCustomerOrRegulatorCommunicationWhenApplicable: true requireDoraRecoveryMetricWriteback: true blockBaselineOnOpenL3L4Rca: true blockBaselineOnOverdueCorrectiveAction: true blockFrozenOnUnverifiedRecurrencePrevention: true incidents: - incidentId: inc-20260603-payment-timeout-001 type: production-incident severity: L4 owner: payments-sre impactedBusinessService: payment-authorization impactedAssets: - service:payment-ledger-service - database:payment-ledger-db detectedAt: 2026-06-03T09:12:00+08:00 mitigatedAt: 2026-06-03T09:28:00+08:00 recoveredAt: 2026-06-03T09:41:00+08:00 customerImpact: affectedTransactions: 1842 revenueAtRiskUsd: 32000 statusPageUpdated: true timelineComplete: true rootCause: category: change-induced-database-regression rcaRef: governance/evidence/incidents/inc-20260603-payment-timeout-001/postmortem.md completedAt: 2026-06-06T16:00:00+08:00 contributingFactors: - query plan changed after index migration - canary synthetic journey did not cover settlement reconciliation path containment: action: rollback database migration and pin query plan completed: true evidenceRef: governance/evidence/rollback/payment-ledger-db-20260603.yaml problemRecord: problemId: prb-20260603-payment-ledger-query-plan status: closed owner: payments-platform-team correctiveActions: - actionId: ca-20260603-payment-001 title: add query-plan regression test to release gate owner: payments-platform-team dueAt: 2026-06-17T18:00:00+08:00 status: closed closeEvidence: domains/payment/services/payment-ledger-service/tests/query-plan-regression.md - actionId: ca-20260603-payment-002 title: extend synthetic journey for settlement reconciliation owner: sre-platform-team dueAt: 2026-06-17T18:00:00+08:00 status: closed closeEvidence: observability/synthetics/payment-settlement-journey.yaml recurrencePrevention: verified: true verificationRef: governance/evidence/incidents/inc-20260603-payment-timeout-001/recurrence-test.yaml feedback: runbookUpdated: true runbookRef: runbooks/payment-ledger-query-plan.md alertUpdated: true alertRef: observability/alerts/payment-ledger-query-plan.yaml gateRuleUpdated: true gateRuleRef: governance/policies/baseline-gates/production-change-release.rego metrics: mttdMinutes: 4 mttrMinutes: 29 failedDeploymentRecoveryTimeMinutes: 29 doraMetricWritten: true communications: customerCommunicationRequired: true customerCommunicationSent: true regulatorNotificationRequired: false status: incident-closed - incidentId: inc-20260603-support-ai-hallucination-001 type: ai-incident severity: L3 owner: team-support-ai impactedBusinessService: customer-support-assistant detectedAt: 2026-06-03T10:20:00+08:00 recoveredAt: 2026-06-03T10:52:00+08:00 rootCause: category: rag-index-contamination rcaRef: governance/evidence/incidents/inc-20260603-support-ai-hallucination-001/postmortem.md completedAt: 2026-06-05T15:00:00+08:00 containment: action: disable affected RAG index and route to conservative answer policy completed: true correctiveActions: - actionId: ca-20260603-ai-001 title: add source ACL drift check before RAG index publish owner: team-support-ai status: closed closeEvidence: ai/rag/support-kb-index-acl-check.yaml recurrencePrevention: verified: true verificationRef: ai/evals/support-answer-regression-20260603.yaml feedback: playbookUpdated: true playbookRef: governance/playbooks/ai-incident-playbook.md#rag-contamination guardrailUpdated: true guardrailRef: contracts/ai/guardrails/support-output-policy.yaml metrics: failedDeploymentRecoveryTimeMinutes: 32 doraMetricWritten: true communications: customerCommunicationRequired: false regulatorNotificationRequired: false status: incident-closed - incidentId: inc-20260603-token-exposure-001 type: security-incident severity: L3 owner: security-incident-response impactedAssets: - secret:webhook-support-notification-token rootCause: category: secret-exposed-in-ci-log rcaRef: governance/evidence/incidents/inc-20260603-token-exposure-001/postmortem.md completedAt: 2026-06-04T17:00:00+08:00 containment: action: revoke token, rotate downstream credential, purge log artifact completed: true correctiveActions: - actionId: ca-20260603-sec-001 title: block secret-bearing CI log export owner: platform-security-posture-team status: closed closeEvidence: governance/policies/baseline-gates/secure-configuration-posture-drift.rego recurrencePrevention: verified: true communications: customerCommunicationRequired: false regulatorNotificationRequired: false status: incident-closed problemRecords: total: 14 open: 2 openPastDue: 0 recurringIncidentsEscalated: 6 unowned: 0 correctiveActions: total: 62 closed: 55 openWithinSla: 7 overdue: 0 linkedToPoam: 3 withoutOwner: 0 recurrencePrevention: required: 38 verified: 38 unverified: 0 runbookAndAlertFeedback: runbooksUpdated: 31 alertsUpdated: 28 gateRulesUpdated: 9 missingUpdates: 0 communications: majorIncidents: 6 customerCommunicationsRequired: 4 customerCommunicationsSent: 4 regulatorNotificationsRequired: 1 regulatorNotificationsSent: 1 missingRequiredCommunications: 0 doraRecoveryMetrics: incidentsWritten: 38 failedDeploymentRecoveryTimeTracked: true meanTimeToRestoreTracked: true changeFailureRateUpdated: true summary: incidentsCovered: 38 unclassifiedIncidents: 0 incidentsWithoutOwner: 0 incompleteTimelines: 0 missingRca: 0 overdueCorrectiveActions: 0 recurrencePreventionUnverified: 0 runbookUpdatesMissing: 0 alertUpdatesMissing: 0 recurringIncidentsNotEscalated: 0 requiredCommunicationsMissing: 0 releaseGateReferences: 38 readyForBaseline: true readyForFrozen: true gates: blockOnUnclassifiedIncident: true blockOnMissingOwner: true blockOnIncompleteTimeline: true blockOnMissingRca: true blockOnOverdueCorrectiveAction: true blockOnUnverifiedRecurrencePrevention: true blockOnMissingRunbookOrAlertFeedback: true blockOnRecurringIncidentWithoutProblemRecord: true blockOnMissingRequiredCommunication: true blockOnMissingDoraRecoveryMetricWriteback: true ``` 事故闭环状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `incident-closed` | 事故已恢复,时间线、RCA、纠正行动、复发防止、沟通和度量回写均闭合 | 否 | | `problem-open` | 问题记录仍在 SLA 内推进,有 owner、关闭条件和风险接受 | 视期限和风险而定 | | `rca-required` | L3/L4 事故、重大 near miss 或安全/隐私/AI 事件缺 RCA | 是 | | `corrective-action-overdue` | 纠正行动超期,且未进入 POA&M 或风险接受 | 是 | | `recurrence-risk-open` | 复发防止动作未验证,或同类事故复发但未升级为问题记录 | 是 | | `runbook-update-required` | 事故暴露 runbook、告警、合成探测或门禁缺口,但尚未反哺 | 是 | | `communication-required` | 客户、监管、业务 owner 或供应商沟通必需但未完成 | 是 | | `poam-tracked` | 长期修复已进入 POA&M,期限、owner 和补偿控制明确 | 条件放行 | | `risk-accepted` | 残余风险已由授权角色接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前事件不属于纳入范围,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 生产事故、安全事件、隐私事件、AI 事件、供应商事件、重大告警和 near miss 都必须入账。 2. 每条记录必须绑定 incident ID、类型、严重度、owner、影响服务、影响资产、检测时间、恢复时间、客户/监管影响和状态。 3. L3/L4、重大 near miss、安全、隐私、AI 和供应商事件必须有时间线、RCA、促成因素、临时遏制、永久纠正行动和复发防止验证。 4. 重复事故、相同根因复发、跨团队系统性缺陷和长期修复必须进入问题记录、POA&M 或风险接受;不能只关闭单次事故工单。 5. 任何事故暴露的 runbook、告警、合成探测、门禁规则、Feature Flag、RAG 索引、Prompt、工具权限、供应商 SLA 或配置基线缺口,都必须形成反哺证据。 6. AI 事件必须覆盖模型降级、工具停用、RAG 索引回滚、Prompt 回滚、人工接管、评估集补充和供应商降级路径;不能只按普通服务宕机处理。 7. 安全和隐私事件必须联动漏洞修复、安全配置、秘密轮换、数据主体权利、监管义务、法律保全和证据留存;不能只停留在安全团队事件系统。 8. 供应商事件必须联动第三方风险总账、退出计划、替代路径、SLA 违约、客户沟通和运营韧性场景;不能只记录供应商邮件。 9. DORA change failure rate、failed deployment recovery time、mean time to restore、MTTD/MTTR 和问题复发率必须按事故类型回写;不能只在复盘里手写恢复耗时。 10. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在事故管理、工单或 IM 频道里。 可执行验收标准: 1. 任意 L3/L4 事故都能追到事件编号、严重度、owner、时间线、影响范围、检测/响应/恢复时间、RCA、纠正行动和复发防止验证。 2. 任意变更失败都能证明已关联事故、问题记录、POA&M 或风险接受,并且生产变更总账和事故问题总账互相引用。 3. 任意 AI 事件都能证明模型、Prompt、RAG、工具、供应商、评估集、guardrail 和人工接管路径已经复核并反哺。 4. 任意安全或隐私事件都能证明漏洞、配置、身份、密钥、数据处理、监管义务、沟通和留存证据已经联动。 5. 任意重复事故都能证明已升级为问题记录,或者有明确的风险接受和复核期限。 6. 任意纠正行动关闭都能找到代码、配置、门禁、runbook、告警、测试、供应商合同或流程变更证据。 7. 任意复发防止动作都能被测试、演练、合成探测、门禁重放、红队回放或桌面演练验证,而不是只写“已完成”。 8. 任意审计导出都能证明无未定级事故、无无 owner 事故、无缺 RCA、无逾期纠正行动、无未验证复发防止、无缺 runbook/告警反哺、无缺必需沟通和无缺 DORA 恢复指标回写。 ### 10.10.62 基线数据产品质量、契约违约、运行血缘与可观测性总账 `baseline-data-product-quality-contract-observability-ledger.yaml` 是企业级基线的数据产品运行证据。它不替代数据目录、 Open Data Contract / ODCS、OpenLineage、Great Expectations、Soda、Deequ、Feature Store、向量数据库、BI 仪表盘、 数据质量事件系统、隐私总账、AI 证据账本或事故问题总账;这些系统负责产生局部事实。该总账回答的是:“哪些数据产品可被 生产消费;是否有 owner、契约、schema 版本、质量断言、freshness、完整性、唯一性、语义口径、访问授权、运行血缘、下游消费者、 AI/特征/RAG 使用边界、契约违约、修复复测和数据质量事故闭环”。它对齐 Data Mesh 的 data as a product 原则、 Open Data Contract Standard 的契约化数据产品口径、OpenLineage 的运行血缘口径,以及主流数据质量工具的断言执行口径: 数据产品不是“有表、有文档、有血缘图”就能进入生产,而是必须证明持续满足契约和消费者承诺。 ```yaml baselineDataProductQualityContractObservabilityLedger: ledgerId: bdpqco-20260603-mea-v284 baselineId: mea-v2.84-20260603 documentVersion: V2.84 owner: data-platform-team generatedAt: 2026-06-03T12:20:00+08:00 linkedEvidence: dataCatalog: catalog/data-products/ dataProductContracts: contracts/datasets/ lineageEvents: governance/evidence/lineage/ dataQualityReports: governance/evidence/data-quality/ featureStore: governance/evidence/features/feature-store-registry.yaml vectorIndexes: governance/evidence/ai/vector-index-registry.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml processingActivityInventoryLedger: governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml privacyRightsConsentLedger: governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml dataResidencyTransferLedger: governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml recordsRetentionLegalHoldLedger: governance/evidence/baselines/baseline-records-retention-legal-hold-ledger.yaml incidentProblemCorrectiveActionLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml policy: requireLedgerForLevels: - L3 - L4 requireContractForPublishedDataProducts: true requireQualityAssertions: true requireFreshnessSlo: true requireLineageForPublishedDataProduct: true requireConsumerImpactAnalysis: true requireAiFeatureRagUsageAuthorization: true requireBreachRemediationRetest: true blockBaselineOnOpenSchemaDrift: true blockBaselineOnOpenQualityFailure: true blockBaselineOnFreshnessBreach: true blockBaselineOnUnauthorizedAiUsage: true blockFrozenOnOpenConsumerImpact: true dataProducts: - dataProductId: dp-order-facts-v3 name: order-facts domain: order owner: order-data-product-team riskLevel: L4 contractRef: contracts/datasets/order-facts-v3.yaml schemaVersion: 3.4.1 semanticModelRef: contracts/datasets/order-facts-metrics.yaml lineageRef: governance/evidence/lineage/order-facts-20260603.yaml accessPolicyRef: governance/policies/data-access/order-facts.rego consumers: - id: analytics:revenue-dashboard owner: revenue-analytics-team impactIfBreached: financial-reporting-delay notifiedOnContractChange: true - id: ai-product:customer-support-assistant owner: team-support-ai impactIfBreached: wrong-order-status-answer notifiedOnContractChange: true qualityAssertions: - assertionId: qa-order-id-not-null type: completeness threshold: ">= 99.99%" result: pass evidenceRef: governance/evidence/data-quality/order-facts-20260603.yaml - assertionId: qa-order-id-unique type: uniqueness threshold: ">= 99.99%" result: pass evidenceRef: governance/evidence/data-quality/order-facts-20260603.yaml - assertionId: qa-order-event-time-freshness type: freshness threshold: P15M result: pass evidenceRef: governance/evidence/data-quality/order-facts-freshness-20260603.yaml contractBreaches: open: 0 closed: - breachId: dpcb-20260603-order-facts-schema-drift type: schema-drift detectedAt: 2026-06-03T08:15:00+08:00 owner: order-data-product-team consumerImpactAssessed: true consumersNotified: true remediationRef: governance/evidence/data-quality/order-facts-schema-drift-fix.yaml remediationRetested: true status: closed aiFeatureRagUsage: authorized: true allowedUses: - rag-grounding - feature-serving disallowedUses: - foundation-model-training vectorIndexRefs: - governance/evidence/ai/vector-index-registry.yaml#order-facts-support-rag featureRefs: - governance/evidence/features/order-lifetime-value.yaml consentAndRetentionChecked: true dataQualityIncidents: open: 0 linkedIncidents: - inc-20260603-order-facts-late-arrival-001 status: data-product-healthy summary: dataProductsCovered: 72 contractsCurrent: 72 dataProductsWithoutOwner: 0 schemaDriftsOpen: 0 qualityAssertionFailuresOpen: 0 freshnessBreachesOpen: 0 lineageGapsOpen: 0 unauthorizedAiFeatureRagUsage: 0 consumerNotificationsMissing: 0 contractBreachesOpenPastSla: 0 remediationRetestsMissing: 0 dataQualityIncidentsOpen: 0 releaseGateReferences: 72 ``` 数据产品运行状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `data-product-healthy` | 契约、质量、freshness、血缘、授权和消费者影响均闭合 | 否 | | `contract-missing` | 发布数据产品缺少契约或契约未入版本控制 | 是 | | `schema-drift-open` | schema 漂移未关闭或未通知消费者 | 是 | | `quality-failure-open` | 完整性、唯一性、准确性或语义口径断言失败 | 是 | | `freshness-slo-breach` | 数据 freshness 超出声明 SLO | 是 | | `lineage-gap-open` | producer、run、input/output dataset 或质量证据血缘缺失 | 是 | | `consumer-impact-open` | 受影响消费者未识别、未通知或未给迁移窗口 | 是 | | `unauthorized-ai-usage` | AI、特征或 RAG 使用超出授权边界 | 是 | | `remediation-retest-required` | 违约已修但缺少复测证据 | 是 | | `data-quality-incident-open` | 数据质量事故未关闭或未进入问题记录 | 是 | | `poam-tracked` | 长期修复进入 POA&M,期限和补偿控制明确 | 条件放行 | | `risk-accepted` | 残余风险已由授权角色接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前资产不是发布数据产品,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 发布数据产品都必须入账;临时查询、探索性数据集和实验特征不得伪装成生产数据产品。 2. 每个数据产品必须绑定 owner、domain、riskLevel、contractRef、schemaVersion、semanticModelRef、lineageRef、accessPolicyRef 和消费者清单。 3. 质量断言至少覆盖 completeness、uniqueness、freshness 和关键业务语义;高风险数据产品还必须覆盖 referential integrity、range、distribution drift 和 duplicate risk。 4. Schema drift 必须区分 breaking、non-breaking 和 metadata-only;breaking drift 必须有消费者影响分析、迁移窗口和通知证据。 5. Freshness SLO 必须由实际运行结果证明,不能只写在契约里;超过 SLO 必须进入违约、事故、POA&M 或风险接受。 6. 血缘必须覆盖 producer job、run、input dataset、output dataset、schema version、质量证据和血缘后端引用;不能只画静态架构图。 7. AI、特征和 RAG 使用必须绑定授权用途、禁止用途、同意/合法基础、保留策略、向量索引和特征引用;不得把数据产品直接旁路成基础模型训练数据。 8. 契约违约关闭必须包含修复动作、消费者通知、复测证据和回归门禁;不能只关闭数据团队工单。 9. 数据质量事故必须联动事故问题总账、隐私权利总账、处理活动总账、记录留存总账和 AI 证据账本;不能只记录在数据平台告警里。 10. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在数据目录或质量平台里。 可执行验收标准: 1. 任意 L3/L4 数据产品都能追到 owner、契约、schema 版本、语义口径、访问策略、血缘和消费者清单。 2. 任意发布数据产品都能证明最近一次质量断言、freshness SLO、血缘事件和消费者通知状态。 3. 任意 schema drift 或契约违约都能证明是否 breaking、影响哪些消费者、修复是否复测、是否进入 release gate。 4. 任意 AI/特征/RAG 使用都能证明授权用途、禁止用途、同意/合法基础、保留策略和向量/特征索引引用。 5. 任意数据质量事故都能证明已联动事故问题总账、消费者影响、AI 影响和长期纠正行动。 6. 任意审计导出都能证明无无 owner 数据产品、无契约缺失、无开放 schema drift、无开放质量失败、无 freshness 违约、无血缘缺口、无未通知消费者和无未授权 AI 使用。 ### 10.10.63 基线工程质量、测试证据、缺陷与发布验证总账 `baseline-engineering-quality-test-release-verification-ledger.yaml` 是企业级基线的软件正确性和发布质量证据。它不替代 CI、 测试框架、测试管理系统、缺陷平台、UAT 签署、灰度平台、冒烟探测、发布证据包或事故总账;这些系统负责产生局部事实。 该总账回答的是:“哪些 L3/L4 服务、API、事件、数据产品、AI 产品和平台能力具备需求追踪;测试策略是否覆盖真实风险; 关键单元、集成、契约、E2E、回归和验收测试是否通过;覆盖率、flaky、缺陷、修复复测、测试环境、测试数据、灰度、冒烟和 质量风险接受是否闭合”。它对齐 ISO/IEC/IEEE 29119 的测试生命周期口径、NIST SSDF 的验证与响应要求,以及 DORA 对 交付质量、变更失败和恢复指标的要求:质量不能只看 CI 绿勾,必须把测试证据、缺陷状态和发布验证合成一条可审计证据链。 ```yaml baselineEngineeringQualityTestReleaseVerificationLedger: ledgerId: beqtrv-20260603-mea-v285 baselineId: mea-v2.85-20260603 documentVersion: V2.85 owner: quality-engineering-team generatedAt: 2026-06-03T14:40:00+08:00 linkedEvidence: ciRuns: governance/evidence/ci/ testReports: governance/evidence/tests/ coverageReports: governance/evidence/coverage/ contractTestReports: governance/evidence/contracts/ defectTracker: governance/evidence/defects/ releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml incidentProblemCorrectiveActionLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml serviceReliabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml dataProductQualityContractObservabilityLedger: governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml aiEvidenceLedger: governance/evidence/ai/ai-evidence.yaml policy: requireLedgerForLevels: - L3 - L4 requireRequirementsTraceability: true requireRiskBasedTestPlan: true requireUnitIntegrationContractRegressionEvidence: true requireReleaseSmokeAndCanaryVerification: true requireDefectFixRetest: true blockBaselineOnCriticalTestFailure: true blockBaselineOnCriticalOrHighDefectWithoutAcceptance: true blockBaselineOnCoverageBreach: true blockFrozenOnOpenFlakyPastSla: true assets: - assetId: service:payment-ledger-service owner: payments-platform-team riskLevel: L4 requirementsTraceability: requirementSetRef: governance/evidence/requirements/payment-ledger-requirements.yaml criticalRequirementsMappedToTests: true testEvidence: unit: result: pass reportRef: governance/evidence/tests/payment-ledger/unit-20260603.xml coveragePercent: 86 integration: result: pass reportRef: governance/evidence/tests/payment-ledger/integration-20260603.xml contract: result: pass reportRef: governance/evidence/contracts/payment-ledger-contract-20260603.yaml e2e: result: pass reportRef: governance/evidence/tests/payment-ledger/e2e-20260603.xml regression: result: pass reportRef: governance/evidence/tests/payment-ledger/regression-20260603.xml accessibility: result: not-applicable reason: backend service testEnvironment: environmentRef: governance/evidence/test-env/payment-ledger-staging.yaml driftOpen: 0 testDataPolicyCompliant: true defects: criticalOpen: 0 highOpen: 0 knownIssuesAccepted: - defectId: bug-20260603-payment-export-format severity: medium acceptedBy: product-owner-payments expiresAt: 2026-07-03T23:59:59+08:00 fixesRetested: true releaseVerification: smokePassed: true canaryPassed: true rollbackSmokePassed: true qualityRiskAccepted: false status: quality-release-verified summary: assetsCovered: 148 requirementsMapped: 148 criticalTestSuitesPassed: 148 contractTestsPassed: 96 regressionSuitesPassed: 148 releaseSmokeChecksPassed: 148 coverageBreachesOpen: 0 flakyTestsOpenPastSla: 0 criticalDefectsOpen: 0 highDefectsOpenWithoutAcceptance: 0 defectRetestsMissing: 0 testEnvironmentDriftOpen: 0 testDataPolicyViolations: 0 releaseGateReferences: 148 ``` 工程质量与发布验证状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `quality-release-verified` | 需求追踪、关键测试、覆盖率、缺陷、复测和发布验证均闭合 | 否 | | `traceability-missing` | 关键需求未映射到测试或验收证据 | 是 | | `test-plan-missing` | 缺少风险化测试计划或测试范围未覆盖关键风险 | 是 | | `critical-test-failed` | 关键单元、集成、契约、E2E、回归或验收测试失败 | 是 | | `coverage-breach-open` | 覆盖率低于策略阈值且无风险接受 | 是 | | `contract-test-failed` | Provider 或 consumer 契约测试失败 | 是 | | `regression-failed` | 回归测试失败或未覆盖已修缺陷 | 是 | | `flaky-open-past-sla` | flaky 测试超过治理 SLA 仍未隔离或修复 | 是 | | `critical-defect-open` | critical 缺陷未关闭 | 是 | | `high-defect-open-without-acceptance` | high 缺陷未关闭且无授权风险接受 | 是 | | `defect-retest-missing` | 缺陷修复缺少复测或回归证据 | 是 | | `release-verification-missing` | 发布前冒烟、灰度、回滚烟测或验收证据缺失 | 是 | | `test-environment-drift` | 测试环境与声明基线漂移,影响证据可信度 | 是 | | `test-data-policy-violation` | 测试数据违反隐私、授权、保留或脱敏策略 | 是 | | `poam-tracked` | 长期质量风险进入 POA&M,补偿控制明确 | 条件放行 | | `risk-accepted` | 残余质量风险已由授权角色接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前资产不适用该测试类别,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 服务、API、事件、数据产品、AI 产品和平台能力都必须入账;不得用“CI 通过”替代测试证据。 2. 每个资产必须绑定 owner、riskLevel、需求追踪、测试策略、测试环境、测试数据策略、缺陷状态和发布验证结果。 3. 测试证据必须区分单元、集成、契约、E2E、回归和验收测试;某类测试不适用时必须有签署理由。 4. 契约测试失败、回归失败、critical 测试失败、覆盖率违约、critical/high 缺陷未关闭或未接受时,必须阻断 baseline/frozen 晋级。 5. Flaky 测试必须隔离、修复或进入 POA&M;不能通过重跑到绿来放行关键资产。 6. 缺陷关闭必须包含修复证据、复测证据和回归覆盖;不能只关闭缺陷系统状态。 7. 测试环境漂移、测试数据违规和脱敏不完整必须阻断,尤其是涉及 PII、受监管数据、AI 训练数据或生产复制数据时。 8. 发布前验证必须包含冒烟、灰度或金丝雀结果,以及回滚烟测或降级验证;不能只记录“已上线”。 9. AI 产品还必须把评估集、Prompt/RAG/工具回放、guardrail 结果和人工确认点作为工程质量证据的一部分。 10. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在 CI、测试管理或缺陷平台里。 可执行验收标准: 1. 任意 L3/L4 生产资产都能追到需求、测试、缺陷、复测、发布验证和质量风险接受证据。 2. 任意 critical/high 缺陷都能证明已关闭、已复测,或已有期限明确的授权风险接受。 3. 任意契约失败、回归失败、覆盖率违约、flaky 逾期和测试环境漂移都能进入 release gate 阻断、POA&M 或风险接受。 4. 任意生产发布都能证明冒烟、灰度或金丝雀验证通过,并且回滚或降级路径被烟测。 5. 任意修复后复发事故都能从事故问题总账反查到测试证据缺口、回归补测和门禁反哺。 6. 任意审计导出都能证明无关键测试缺失、无覆盖率开放违约、无逾期 flaky、无未关闭 critical/high 缺陷、无缺复测修复和无缺发布验证。 ### 10.10.64 基线人员能力、培训、职责履职与职责分离总账 `baseline-workforce-competency-training-duty-segregation-ledger.yaml` 是企业级基线的人因治理和职责履职证据。它不替代 HRIS、LMS、IAM、PAM、on-call roster、RACI、访问复核、会审裁决、值班系统或培训记录;这些系统负责产生局部事实。该总账回答的是: “关键角色是否被正式任命;是否具备岗位资格;是否完成安全、隐私、平台、AI、值班和审批相关训练;是否确认职责;是否有有效授权; 审批人与执行人是否分离;冲突角色是否关闭;代理授权是否有效;关键岗位是否有备份”。它对齐 NIST SP 800-53 AT / PS / AC 控制族、 CIS Controls v8 Control 14、NIST NICE Framework 和 ISO/IEC 27001 中关于能力、意识、职责、访问控制和职责分离的要求:企业不能只证明“有人负责”, 还必须证明“这个人被正式授权、具备能力、知道职责、没有自审自批,并且职责可以持续履行”。 ```yaml baselineWorkforceCompetencyTrainingDutySegregationLedger: ledgerId: bwctds-20260603-mea-v286 baselineId: mea-v2.86-20260603 documentVersion: V2.86 owner: people-operations-governance-team generatedAt: 2026-06-03T15:20:00+08:00 linkedEvidence: hrisRoleAssignments: governance/evidence/people/hris-role-assignments.yaml trainingCompletion: governance/evidence/people/training-completion.yaml identityAccessReview: governance/evidence/access/identity-access-review.yaml privilegedAccessReview: governance/evidence/access/privileged-access-review.yaml onCallRoster: governance/evidence/reliability/on-call-roster.yaml raciMatrix: governance/ownership/raci.yaml approvalLog: governance/evidence/approvals/approval-log.yaml reviewBoardDecision: governance/evidence/baselines/baseline-review-board-decision.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml productionChangeReleaseLedger: governance/evidence/baselines/baseline-production-change-release-ledger.yaml incidentProblemCorrectiveActionLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml policy: requireLedgerForLevels: - L3 - L4 requireNamedPrimaryAndBackupOwners: true requireMandatoryTrainingCurrent: true requireSpecializedTrainingForPrivilegedRoles: true requireRoleAcknowledgement: true requireOnCallQualificationForTier1Tier2: true requireApprovalAuthorizationCurrent: true requireSegregationOfDuties: true blockOnToxicRoleCombination: true blockOnExpiredDelegation: true criticalRoles: - roleId: role:payments-release-approver personRef: hris:employee:10238 team: payments-platform-team roleType: release-approver riskLevel: L4 assignment: source: governance/ownership/raci.yaml assignedAt: 2026-05-01T09:00:00+08:00 expiresAt: 2026-08-01T09:00:00+08:00 backupPersonRef: hris:employee:10492 competency: baselineTrainingCurrent: true securityAwarenessCurrent: true privacyTrainingCurrent: true aiSafetyTrainingCurrent: true platformGoldenPathTrainingCurrent: true lastReviewAt: 2026-06-01T09:00:00+08:00 dutyAcknowledgement: acknowledged: true evidenceRef: governance/evidence/people/payments-release-approver-ack.yaml authorization: approvalScopes: - release-gate - emergency-change delegatedApprovals: - delegate: hris:employee:10492 validUntil: 2026-06-30T23:59:59+08:00 expiredDelegations: 0 segregationOfDuties: cannotAlsoBe: - change-implementer - independent-assessor toxicCombinationOpen: false lastSoDCheckRef: governance/evidence/access/sod-check-20260603.yaml status: workforce-ready summary: criticalRolesCovered: 96 rolesWithFormalAssignment: 96 rolesWithCurrentTraining: 96 specializedTrainingCurrent: 96 roleAcknowledgementsCurrent: 96 onCallQualifiedRoles: 42 approvalDelegationsCurrent: 18 backupRolesAssigned: 96 segregationOfDutiesViolationsOpen: 0 toxicRoleCombinationsOpen: 0 expiredDelegations: 0 expiredCompetencyReviews: 0 untrainedPrivilegedApprovers: 0 releaseGateReferences: 96 ``` 人员能力、培训、职责履职与职责分离状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `workforce-ready` | 任命、培训、职责确认、授权、职责分离、备份和复核均闭合 | 否 | | `role-assignment-missing` | 关键角色没有正式任命来源或任命已过期 | 是 | | `training-expired` | 基础安全、隐私、平台或合规培训过期 | 是 | | `specialized-training-missing` | 特权、on-call、AI、安全、隐私或审批角色缺少专项训练 | 是 | | `duty-acknowledgement-missing` | 关键角色没有确认职责、授权边界或升级义务 | 是 | | `on-call-qualification-missing` | Tier 1 / Tier 2 值班角色没有值班资格、演练或 runbook 熟悉证据 | 是 | | `approval-authorization-missing` | 审批人没有当前有效审批范围或授权来源 | 是 | | `delegation-expired` | 代理审批或备份授权已过期 | 是 | | `segregation-of-duties-failed` | 审批、执行、独立评估、访问授予或风险接受职责未分离 | 是 | | `toxic-role-combination-open` | 同一人员持有互斥高风险角色且未关闭 | 是 | | `backup-role-missing` | 关键岗位没有备份人员或备份人员未具备资格 | 是 | | `competency-review-expired` | 岗位能力复核、访问复核或授权复核超过有效期 | 是 | | `poam-tracked` | 长期补齐动作进入 POA&M,补偿控制明确 | 条件放行 | | `risk-accepted` | 残余人因风险已由授权角色接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前资产不需要该关键角色,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 基线关键角色都必须入账;包括 domain owner、service owner、data product owner、AI product owner、platform owner、SRE on-call、release approver、security approver、privacy approver、independent assessor、risk owner、break-glass approver 和 emergency commander。 2. 每个关键角色必须绑定 HRIS 身份、团队、角色类型、风险等级、任命来源、任命有效期、备份人员、职责确认、培训记录、授权范围、访问复核和到期复核。 3. 强制培训必须区分基础训练和专项训练;特权审批、AI 产品、安全、隐私、生产变更、on-call 和事故指挥角色不能只靠通用安全意识培训放行。 4. 职责确认必须覆盖职责边界、升级路径、不可执行事项、风险接受边界和审批责任;不能只记录“已阅读制度”。 5. 职责分离检查必须覆盖审批人与执行人、变更实施人与独立评估人、访问申请人与授权人、风险接受人与风险制造人、模型发布人与模型评估人。 6. 代理授权必须有委托人、被委托人、范围、有效期、触发条件和撤销路径;过期代理授权必须阻断 release gate。 7. 关键岗位必须有具备资格的备份人员;备份人员的培训、on-call 资格和职责确认不能低于主责人。 8. 任命、培训、职责确认、授权、职责分离和备份状态必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在 HR、LMS、IAM 或会议纪要里。 可执行验收标准: 1. 任意 L3/L4 关键角色都能追到正式任命、职责确认、培训完成、专项资格、授权范围、备份人员和到期复核。 2. 任意 release gate 的审批人都能证明具备当前有效授权,且没有同时作为变更执行人或独立评估人。 3. 任意 on-call 或 emergency commander 都能证明值班资格、runbook 熟悉、演练记录和升级路径有效。 4. 任意 AI、安全、隐私、特权访问或生产变更相关角色都能证明完成对应专项训练。 5. 任意职责冲突、冲突角色、过期授权、过期培训或无人备份都能进入 release gate 阻断、POA&M 或期限明确的风险接受。 6. 任意审计导出都能证明无未任命关键角色、无过期培训、无职责未确认、无未授权审批、无开放职责分离失败、无开放冲突角色和无关键岗位备份缺口。 ### 10.10.65 基线业务结果、价值实现与组合收益总账 `baseline-business-outcome-value-realization-portfolio-ledger.yaml` 是企业级基线的价值治理和组合收益证据。它不替代 OKR、KPI、投资组合管理、财务预算、产品分析、FinOps 单位经济、采纳总账、发布证据或会审裁决;这些系统负责产生局部事实。 该总账回答的是:“这次架构、平台、数据、AI 或生产变更到底要交付什么业务结果;价值假设由谁负责;关键结果是否可测; 上线前后基线是否存在;采纳是否真的发生;收益是否实现;成本效率是否合理;未实现收益是继续投入、停止、缩小范围还是风险接受”。 它对齐 ISO/IEC 38500 关于 IT 治理应支撑组织目标的原则、COBIT benefits delivery 与 portfolio management 口径、ITIL 4 service value system 的价值共创视角,以及 FinOps Unit Economics 对单位成本和业务结果关系的要求:企业不能只证明“系统交付、控制通过、运行稳定”,还必须证明 “这些投入是否产生了被业务 owner 接受的可度量结果”。 ```yaml businessOutcomeValueRealizationPortfolioLedger: ledgerId: bbovrp-20260603-mea-v287 baselineId: mea-v2.87-20260603 documentVersion: V2.87 owner: portfolio-governance-team generatedAt: 2026-06-03T16:10:00+08:00 linkedEvidence: okr: governance/evidence/business/okr.yaml portfolioBacklog: governance/evidence/portfolio/portfolio-backlog.yaml productAnalytics: governance/evidence/product-analytics/ adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml finopsUnitEconomics: governance/evidence/finops/unit-economics.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml reviewBoardDecision: governance/evidence/baselines/baseline-review-board-decision.yaml policy: requireLedgerForLevels: - L3 - L4 requireBusinessOutcomeOwner: true requireMeasurableKeyResults: true requireBeforeAfterBaseline: true requireAdoptionEvidence: true requireUnitEconomicsForHighCostWorkloads: true blockOnUnownedOutcome: true blockOnUnmeasurableKeyResult: true blockOnMissingStopOrScaleDecision: true outcomes: - outcomeId: outcome:checkout-conversion portfolio: digital-commerce owner: chief-product-owner-commerce linkedCapabilities: - service:checkout-service - data-product:order-facts - ai-product:checkout-assistant valueHypothesis: reduce checkout friction and increase completed orders keyResults: - metric: checkout_completion_rate baselineValue: 63.4 targetValue: 68.0 currentValue: 68.7 unit: percent evidenceRef: governance/evidence/product-analytics/checkout-completion.yaml - metric: p95_checkout_latency_ms baselineValue: 950 targetValue: 650 currentValue: 620 unit: milliseconds adoptionEvidence: adoptionLedgerRef: governance/evidence/adoption/baseline-adoption-ledger.yaml productionTrafficPercent: 100 unitEconomics: costPerCompletedOrderBaseline: 0.034 costPerCompletedOrderCurrent: 0.029 currency: USD evidenceRef: governance/evidence/finops/checkout-unit-economics.yaml valueDecision: decision: scale decidedBy: portfolio-review-board decidedAt: 2026-06-03T15:30:00+08:00 reviewRef: governance/evidence/portfolio/checkout-scale-decision.yaml status: value-realized summary: businessOutcomesCovered: 64 outcomesWithOwners: 64 valueHypothesesDefined: 64 keyResultsMeasurable: 64 beforeAfterBaselinesCaptured: 64 adoptionEvidenceLinked: 64 benefitsReviewed: 64 benefitsRealized: 58 benefitsAtRisk: 6 stopOrScaleDecisionsRecorded: 64 unitEconomicsExplained: 64 unresolvedValueGaps: 0 expiredBenefitReviews: 0 releaseGateReferences: 64 ``` 业务结果、价值实现与组合收益状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `value-realized` | 业务结果达到或超过目标,收益和成本效率已复核 | 否 | | `value-at-risk` | 业务结果偏离目标,但 owner、处置动作和复核期限明确 | 条件放行 | | `outcome-owner-missing` | 业务结果没有收益 owner 或 owner 不具备决策权 | 是 | | `value-hypothesis-missing` | 没有可验证的价值假设 | 是 | | `key-result-unmeasurable` | 关键结果没有指标、口径、数据源或目标值 | 是 | | `baseline-missing` | 缺少上线前基线或上线后观测口径 | 是 | | `adoption-evidence-missing` | 没有采纳总账、流量、用户、资产或生产使用证据 | 是 | | `benefit-review-overdue` | 收益复核超过约定周期 | 是 | | `unit-economics-unexplained` | 高成本工作负载不能解释单位经济或成本变化 | 是 | | `stop-or-scale-decision-missing` | 收益未实现但没有停投、缩小、调整或加投裁决 | 是 | | `portfolio-misaligned` | 业务结果不属于已批准投资组合或战略主题 | 是 | | `risk-accepted` | 未实现收益已由授权组合会审接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前基线不承载业务结果,且有治理委员会签署理由 | 否 | 执行规则: 1. 所有 L3/L4 架构基线、领域能力、平台能力、数据产品、AI 产品和重大生产变更都必须入账;不能只在项目汇报或 OKR 工具里记录价值。 2. 每个业务结果必须绑定投资组合、收益 owner、价值假设、关键结果、上线前基线、上线后观测、采纳证据、成本效率和复核周期。 3. 关键结果必须有指标口径、数据源、目标值、当前值和证据路径;不能只写“提升效率”“改善体验”“降低成本”。 4. 采纳证据必须来自采纳总账、生产流量、资产消费锁、产品分析或同等运行事实;不能用“已经发布”替代“已经被采用”。 5. 高成本、AI、数据、平台共享能力和核心交易链路必须绑定 FinOps 单位经济;成本上升必须解释业务收益、性能收益、风险降低或合规必要性。 6. 收益未实现、目标偏离或成本效率恶化时,必须记录停投、缩小范围、调整方案、继续加投、POA&M 或风险接受裁决;不能默认继续消耗组合预算。 7. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档;不能只留在 OKR、BI、财务或产品分析系统里。 可执行验收标准: 1. 任意 L3/L4 业务结果都能追到业务目标、价值假设、收益 owner、关键结果、前后基线、采用证据和组合裁决。 2. 任意收益 owner 都能说明当前结果是 `value-realized`、`value-at-risk`、`risk-accepted` 还是必须停投/调整。 3. 任意高成本工作负载都能证明单位经济、成本趋势、业务收益和风险收益之间的关系。 4. 任意未实现收益都能进入 release gate 阻断、POA&M、组合会审或期限明确的风险接受。 5. 任意审计导出都能证明无无主业务结果、无不可测关键结果、无缺失前后基线、无缺失采用证据、无未解释单位经济和无缺失停投/加投决策。 ### 10.10.66 基线价值流、关键旅程与端到端流程总账 `baseline-value-stream-journey-process-ledger.yaml` 是企业级基线的价值流、关键旅程和端到端流程执行证据。它不替代 BPMN 模型、流程图、流程挖掘平台、产品分析、服务 SLO、运营韧性总账、业务结果总账或事故系统;这些系统负责产生局部事实。 该总账回答的是:“客户或业务事件从哪里触发;跨哪些领域、服务、数据产品、AI 产品和人工步骤;每一步由谁负责; 什么叫完成;端到端时延、等待、重试、失败、异常和人工兜底是否可观测;瓶颈是否进入改进动作;流程表现是否支撑业务结果”。 它对齐 BPMN 2.0.2 对流程模型与事件/活动/网关的表达、TOGAF Business Architecture 对 business capability / value stream 的建模、ITIL 4 对 value streams and processes 的服务价值链视角,以及 DORA 对价值流交付性能的度量要求:企业不能只证明 “组件健康”和“收益结果”,还必须证明“从触发到完成的跨域流程正在按设计运行”。 ```yaml valueStreamJourneyProcessLedger: ledgerId: vsjp-20260603-mea-v288 baselineId: mea-v2.88-20260603 documentVersion: V2.88 owner: business-architecture-team generatedAt: 2026-06-03T17:20:00+08:00 linkedEvidence: businessCapabilityMap: governance/business-architecture/capability-map.yaml valueStreamMap: governance/business-architecture/value-stream-map.yaml bpmnModels: governance/business-process/bpmn/ journeyAnalytics: governance/evidence/product-analytics/journeys/ serviceReliabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml businessOutcomeLedger: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml incidentProblemLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml policy: requireLedgerForLevels: - L3 - L4 requireNamedJourneyOwner: true requireCurrentProcessModel: true requireStepLevelTelemetry: true requireCrossDomainHandoffOwner: true requireManualFallbackForCriticalJourney: true blockOnUnownedJourney: true blockOnStaleProcessModel: true blockOnMissingStepTelemetry: true blockOnUnresolvedCriticalBottleneck: true valueStreams: - valueStreamId: value-stream:order-to-cash owner: commerce-business-architecture businessOutcomeRefs: - outcome:checkout-conversion trigger: customer submits checkout completionDefinition: payment captured and order committed to fulfillment processModel: notation: BPMN modelRef: governance/business-process/bpmn/order-to-cash.bpmn version: 2026.06.03 lastValidatedAt: 2026-06-03T16:30:00+08:00 steps: - stepId: step:cart-validation owner: checkout-domain-team systems: - service:checkout-service telemetry: traceName: checkout.cart.validate p95LatencyMs: 120 errorRatePercent: 0.02 coveragePercent: 100 handoff: nextStep: step:payment-authorization contractRef: contracts/events/checkout.validated.asyncapi.yaml status: process-step-healthy - stepId: step:payment-authorization owner: payments-domain-team systems: - service:payment-service - data-product:payment-risk-score telemetry: traceName: payment.authorize p95LatencyMs: 420 errorRatePercent: 0.05 coveragePercent: 100 manualFallback: runbookRef: runbooks/payments/manual-authorization.md lastExerciseAt: 2026-05-28T10:00:00+08:00 exerciseResult: pass status: process-step-healthy bottlenecks: - bottleneckId: bottleneck:payment-provider-timeout severity: medium evidenceRef: governance/evidence/product-analytics/payment-timeout-analysis.yaml actionRef: governance/evidence/improvements/payment-provider-retry-tuning.yaml dueAt: 2026-06-20T23:59:59+08:00 status: improvement-tracked controls: segregationOfDutiesChecked: true privacyPurposeMapped: true resilienceScenarioCovered: true rollbackOrFallbackDefined: true status: journey-healthy summary: valueStreamsCovered: 18 criticalJourneysCovered: 42 journeysWithOwners: 42 currentProcessModels: 42 stepTelemetryCoveragePercent: 100 crossDomainHandoffsTraceable: 96 openCriticalBottlenecks: 0 unresolvedProcessExceptions: 0 manualFallbacksExercised: 24 improvementActionsOpen: 6 improvementActionsOverdue: 0 releaseGateReferences: 42 ``` 价值流、关键旅程与端到端流程状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `journey-healthy` | owner、模型、步骤遥测、交接、异常、兜底和改进动作均闭合 | 否 | | `process-step-healthy` | 单个步骤的 owner、契约、遥测和交接均闭合 | 否 | | `journey-owner-missing` | 关键旅程或价值流没有明确 owner | 是 | | `process-model-stale` | BPMN/流程模型超过复核周期或与运行链路不一致 | 是 | | `step-telemetry-missing` | 关键步骤缺少指标、日志、链路追踪、事件或产品分析证据 | 是 | | `handoff-unowned` | 跨领域、系统、数据或人工交接没有 owner、契约或确认机制 | 是 | | `critical-bottleneck-open` | 关键瓶颈影响业务结果、SLO 或影响容忍且无关闭动作 | 是 | | `process-exception-unresolved` | 重试、补偿、人工审核、异常队列或失败订单没有关闭证据 | 是 | | `manual-fallback-untested` | 关键旅程需要人工兜底但未演练、无 runbook 或无授权角色 | 是 | | `improvement-tracked` | 非阻断改进动作进入 backlog、owner 和到期日明确 | 条件放行 | | `risk-accepted` | 残余流程风险已由授权角色接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前资产不承载关键旅程,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 关键价值流、客户旅程、重要业务服务、核心交易链路、跨域运营流程、AI 辅助流程和人工兜底流程都必须入账。 2. 每个价值流必须绑定业务能力、业务结果、流程 owner、触发事件、完成定义、BPMN/流程模型、参与领域、依赖服务、数据产品、AI 产品和人工角色。 3. 每个关键步骤必须有 owner、输入输出、契约或事件、步骤级遥测、错误/异常口径、等待时间、重试或补偿机制;不能只画流程图。 4. 跨域交接必须有明确 owner、契约、SLO/OLA、确认机制和失败处理;不能靠团队口头约定。 5. 关键旅程必须把端到端指标与业务结果、服务可靠性、运营韧性、容量成本和事故问题总账绑定;不能只看单个服务健康。 6. 瓶颈、掉队、异常队列、人工审核积压和反复失败必须进入改进动作、POA&M 或风险接受;不能只在产品分析或流程挖掘工具中展示。 7. 人工兜底必须有 runbook、授权角色、演练证据和升级路径;不能在自动化失败时临时找人处理。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档。 可执行验收标准: 1. 任意 L3/L4 关键旅程都能追到 owner、流程模型、触发事件、完成定义、步骤责任、跨域交接和运行遥测。 2. 任意跨领域流程瓶颈都能追到证据、owner、改进动作、到期日、复核结果或风险接受。 3. 任意流程异常、补偿、重试、人工审核或失败队列都能证明已关闭、已进入改进动作或已被授权风险接受。 4. 任意人工兜底都能证明 runbook、授权角色、最近演练、演练结果和升级路径有效。 5. 任意审计导出都能证明无无主关键旅程、无过期流程模型、无关键步骤遥测缺口、无未关闭 critical 瓶颈、无未演练人工兜底和无孤立流程改进动作。 ### 10.10.67 基线架构视图、运行拓扑与依赖影响总账 `baseline-architecture-view-runtime-topology-dependency-ledger.yaml` 是企业级基线的架构视图、运行拓扑和依赖影响证据。 它不替代架构图、C4 模型、catalog、CMDB、GitOps、服务网格、OpenTelemetry、OpenLineage、APM、网络流量分析或部署平台; 这些系统负责产生局部事实。该总账回答的是:“架构图是不是当前的;catalog 声明的依赖和运行时真实调用是否一致; GitOps 部署拓扑能否追到运行对象;数据、AI、第三方和人工依赖是否被纳入关键路径;一次变更的 blast radius 是否被评估; 未知调用、隐藏依赖和视图过期是否进入整改或风险接受”。它对齐 ISO/IEC/IEEE 42010 对架构描述、stakeholder concern 和 view/viewpoint 的要求、C4 Model 对上下文/容器/组件/部署视图的表达、Backstage catalog 对系统与组件关系的发现入口、 OpenTelemetry 对运行时调用链路的观测,以及 OpenLineage 对数据血缘的运行事件要求:企业不能只证明“流程有模型”,还必须证明 “真实系统拓扑和依赖影响与架构视图一致”。 ```yaml architectureViewRuntimeTopologyDependencyLedger: ledgerId: avrt-20260603-mea-v289 baselineId: mea-v2.89-20260603 documentVersion: V2.89 owner: enterprise-architecture-team generatedAt: 2026-06-03T18:30:00+08:00 linkedEvidence: architectureViews: governance/architecture/views/ c4Model: governance/architecture/c4/ catalog: catalog/components/ gitops: infra/gitops/environments/ deploymentTopology: governance/evidence/runtime/deployment-topology.yaml telemetry: governance/evidence/observability/service-graph.yaml dataLineage: governance/evidence/lineage/openlineage/ valueStreamLedger: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml resilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml incidentLedger: governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml policy: requireLedgerForLevels: - L3 - L4 requireCurrentArchitectureViews: true requireDeclaredObservedDependencyMatch: true requireGitOpsRuntimeTraceability: true requireCriticalDependencyOwner: true requireBlastRadiusForRiskChange: true blockOnStaleView: true blockOnUnknownRuntimeCall: true blockOnUnownedCriticalDependency: true blockOnUnassessedBlastRadius: true topologyScopes: - scopeId: topology:checkout-platform owner: enterprise-architecture-team linkedCapabilities: - service:checkout-service - service:payment-service - data-product:order-facts - ai-product:checkout-assistant architectureViews: - viewId: c4:checkout-container viewType: c4-container sourceRef: governance/architecture/c4/checkout-container.dsl lastReviewedAt: 2026-06-01T10:00:00+08:00 status: view-current - viewId: deployment:checkout-prod viewType: deployment sourceRef: governance/architecture/views/checkout-prod-deployment.md lastReviewedAt: 2026-06-02T15:00:00+08:00 status: view-current declaredDependencies: - from: service:checkout-service to: service:payment-service type: synchronous-api owner: payments-domain-team contractRef: contracts/apis/payment-api.openapi.yaml criticality: high - from: service:checkout-service to: data-product:order-facts type: data-product owner: order-data-product-team contractRef: contracts/datasets/order-facts.yaml criticality: high observedDependencies: - from: service:checkout-service to: service:payment-service evidenceRef: governance/evidence/observability/traces/checkout-payment.yaml observedP95LatencyMs: 420 status: dependency-matched - from: service:checkout-service to: data-product:order-facts evidenceRef: governance/evidence/lineage/order-facts-lineage.yaml status: dependency-matched deploymentTopology: gitopsRef: infra/gitops/environments/prod/checkout/checkout-service/kustomization.yaml namespace: checkout-prod workload: deployment/checkout-service serviceAccount: checkout-service runtimeAdmissionRef: governance/evidence/baselines/baseline-runtime-admission-receipt.yaml status: topology-traceable impactAnalysis: changeRef: governance/evidence/changes/change-20260603-checkout-payment-timeout.yaml blastRadius: affectedServices: - service:checkout-service - service:payment-service affectedJourneys: - journey:checkout affectedDataProducts: - data-product:order-facts affectedThirdParties: - supplier:payment-provider-a rollbackImpact: isolated-to-checkout-and-payment riskDecisionRef: governance/evidence/baselines/baseline-review-board-decision.yaml status: blast-radius-assessed driftFindings: - findingId: dependency-drift:none status: dependency-drift-closed status: topology-healthy summary: architectureViewsCovered: 96 currentViews: 96 runtimeTopologiesCovered: 74 declaredDependencies: 418 observedDependencies: 431 declaredObservedMismatches: 0 unknownRuntimeCallsOpen: 0 criticalDependenciesWithOwners: 128 gitopsTopologyLinks: 74 blastRadiusAssessmentsCurrent: 64 dependencyDriftFindingsOpen: 0 staleViews: 0 releaseGateReferences: 96 ``` 架构视图、运行拓扑与依赖影响状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `topology-healthy` | 架构视图、运行拓扑、依赖、blast radius 和复核均闭合 | 否 | | `view-current` | 架构视图在复核窗口内,且与 catalog、GitOps 和运行遥测一致 | 否 | | `topology-traceable` | GitOps、runtime workload、service account、namespace 和 catalog 指针可追踪 | 否 | | `dependency-matched` | 声明依赖和观测依赖一致,owner、契约和证据均存在 | 否 | | `view-stale` | 架构视图超过复核窗口或与运行事实不一致 | 是 | | `dependency-mismatch` | catalog/架构声明依赖和运行遥测、数据血缘或网络流量不一致 | 是 | | `unknown-runtime-call` | 运行时出现未声明服务调用、数据访问、AI 工具调用或第三方访问 | 是 | | `unowned-critical-dependency` | 关键依赖没有 owner、契约、SLO/OLA 或退出路径 | 是 | | `gitops-topology-gap` | GitOps 期望状态、runtime workload、catalog 指针或准入回执无法互相追踪 | 是 | | `blast-radius-unassessed` | 风险变更没有影响范围、关键路径、回滚影响或受影响 owner 确认 | 是 | | `dependency-drift-open` | 依赖漂移仍开放,未进入整改、风险接受或关闭证据 | 是 | | `dependency-drift-closed` | 依赖漂移已关闭,或已有复测证据和 owner 签署 | 否 | | `risk-accepted` | 残余依赖风险已由授权角色接受,且有期限和复核条件 | 条件放行 | | `not-applicable` | 当前资产不属于 L3/L4 拓扑范围,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 服务、数据产品、AI 产品、平台能力、关键旅程、重要业务服务和核心 GitOps 入口都必须进入拓扑依赖总账。 2. 每个拓扑范围必须绑定至少一个架构视图、catalog 组件、GitOps 入口、运行 workload、声明依赖、观测依赖和 owner。 3. 架构视图必须有来源、view type、owner、复核时间和状态;不能只把截图放进文档。 4. 声明依赖必须和运行遥测、服务网格、OpenTelemetry traces、网络流量、OpenLineage 或审计日志交叉验证;发现未知依赖必须阻断或进入有期限整改。 5. GitOps 期望状态必须能追到 namespace、workload、service account、镜像 digest、runtime admission 回执和 catalog runtime 指针。 6. 每个 high/critical 依赖必须有 owner、契约、SLO/OLA、替代路径、退出计划或风险接受;第三方依赖还必须绑定供应商风险总账。 7. 风险变更、关键依赖变更、部署拓扑变更、数据库/队列/缓存替换、AI 工具权限变化和第三方切换必须完成 blast radius 分析。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档。 可执行验收标准: 1. 任意 L3/L4 资产都能追到当前架构视图、catalog 条目、GitOps 入口、runtime workload、声明依赖和观测依赖。 2. 任意运行时调用、数据血缘、AI 工具调用或第三方访问都能证明已声明、已授权、已有 owner,或已进入漂移整改。 3. 任意关键依赖都能证明 owner、契约、SLO/OLA、替代路径、退出计划或风险接受有效。 4. 任意风险变更都能证明 blast radius、受影响旅程、受影响服务、受影响数据产品、第三方依赖、回滚影响和 owner 确认。 5. 任意审计导出都能证明无过期架构视图、无未声明运行调用、无关键依赖 owner 缺口、无 GitOps 拓扑断链、无未评估 blast radius 和无开放依赖漂移。 ### 10.10.68 基线质量属性、架构驱动与权衡决策总账 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml` 是企业级基线的质量属性、架构驱动和权衡决策证据。 它不替代 ADR、ATAM 评审、质量需求文档、SLO、压测报告、安全测试、韧性演练、成本分析或业务结果总账;这些系统负责产生局部事实。 该总账回答的是:“哪些业务目标驱动了架构设计;哪些质量属性场景是高优先级;刺激、环境、响应和响应度量是否可测; 哪些架构策略满足这些场景;哪些敏感点和权衡点影响结果;关键权衡是否有 ADR;自动化适配度函数是否进入门禁; 验证证据是否仍然新鲜”。它对齐 ISO/IEC 25010 对产品质量属性的分类、SEI ATAM 对质量属性场景和权衡点的分析方法、 arc42 对质量需求和质量场景的记录要求,以及 evolutionary architecture 对 fitness function 的持续验证要求:企业不能只证明 “架构图、控制项和运行拓扑存在”,还必须证明“架构为什么这样设计、牺牲了什么、如何验证质量目标仍然成立”。 ```yaml qualityAttributeArchitectureDriverTradeoffLedger: ledgerId: qaad-20260603-mea-v290 baselineId: mea-v2.90-20260603 documentVersion: V2.90 owner: enterprise-architecture-team generatedAt: 2026-06-03T19:30:00+08:00 linkedEvidence: businessOutcomeLedger: governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml valueStreamLedger: governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml architectureTopologyLedger: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml serviceReliabilityLedger: governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml capacityPerformanceCostEfficiencyLedger: governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml threatModelLedger: governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml operationalResilienceLedger: governance/evidence/baselines/baseline-operational-resilience-ledger.yaml architectureDecisionRecords: governance/decisions/ fitnessFunctions: governance/evidence/fitness-functions/ policy: requireLedgerForLevels: - L3 - L4 requireScenarioForHighPriorityAttributes: true requireMeasurableResponse: true requireAdrForCriticalTradeoffs: true requireFitnessFunctionForAutomatableScenario: true blockOnUnmeasuredQualityScenario: true blockOnUnsignedTradeoff: true blockOnStaleVerificationEvidence: true qualityScopes: - scopeId: quality:checkout-platform owner: enterprise-architecture-team businessDrivers: - driverId: driver:checkout-conversion outcomeRef: outcome:checkout-conversion priority: high expectedBusinessEffect: increase successful checkout conversion while controlling fraud loss qualityScenarios: - scenarioId: qas:checkout-latency-p95 qualityAttribute: performance-efficiency source: customer stimulus: submits checkout during promotion peak environment: peak-traffic artifact: service:checkout-service response: checkout request is accepted and payment authorization starts responseMeasure: p95LatencyMs: 800 errorRatePercentMax: 0.1 priority: high verificationRef: governance/evidence/performance/checkout-peak-load-test.yaml status: scenario-verified - scenarioId: qas:payment-provider-degraded qualityAttribute: reliability source: supplier:payment-provider-a stimulus: raises timeout rate above threshold environment: production artifact: journey:checkout response: traffic shifts to fallback provider or manual review queue responseMeasure: failoverWithinSeconds: 60 orderLossMax: 0 priority: high verificationRef: governance/evidence/resilience/payment-provider-failover-game-day.yaml status: scenario-verified architectureDrivers: - driverId: adr-driver:payment-provider-fallback scenarioRefs: - qas:payment-provider-degraded decisionRef: governance/decisions/adr-20260603-payment-fallback.md selectedTactic: circuit-breaker-plus-provider-fallback status: driver-approved tradeoffAnalysis: - tradeoffId: tradeoff:latency-vs-fraud-depth affectedAttributes: - performance-efficiency - security - risk-control sensitivityPoints: - fraudScoreTimeoutMs - paymentProviderP95LatencyMs options: - option: synchronous-deep-fraud-check benefit: lower-fraud-loss cost: higher-checkout-latency - option: async-risk-review-after-authorization benefit: lower-p95-latency cost: delayed-fraud-detection selectedOption: async-risk-review-after-authorization decisionRef: governance/decisions/adr-20260603-fraud-check-placement.md residualRiskRef: governance/evidence/risks/risk-checkout-fraud-review.yaml status: tradeoff-signed fitnessFunctions: - functionId: fitness:checkout-p95-latency type: automated commandRef: governance/evidence/fitness-functions/checkout-p95-latency.yaml scenarioRef: qas:checkout-latency-p95 lastRunAt: 2026-06-03T19:20:00+08:00 result: pass status: fitness-pass status: quality-baseline-healthy summary: qualityScenariosCovered: 84 highPriorityScenariosMeasured: 84 architectureDriversMapped: 64 sensitivityPointsIdentified: 36 sensitivityPointsMonitored: 36 tradeoffPointsRecorded: 28 tradeoffsWithAdr: 28 fitnessFunctionsDefined: 72 fitnessFunctionsPassing: 72 verificationEvidenceFresh: 84 unresolvedTradeoffRisks: 0 expiredScenarioReviews: 0 releaseGateReferences: 84 ``` 质量属性、架构驱动与权衡决策状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `quality-baseline-healthy` | 业务驱动、质量场景、响应度量、架构策略、权衡、ADR、适配度函数和验证证据均闭合 | 否 | | `scenario-verified` | 质量属性场景具备 source、stimulus、environment、artifact、response、response measure 和验证证据 | 否 | | `driver-approved` | 架构驱动已绑定质量场景、业务结果、已选策略和 ADR | 否 | | `tradeoff-signed` | 权衡点已记录备选方案、收益、成本、敏感点、已选方案、ADR 和残余风险 | 否 | | `fitness-pass` | 自动化适配度函数最近一次执行通过,且仍在复核窗口内 | 否 | | `scenario-unmeasured` | 高优先级质量属性没有可执行场景或未绑定验证证据 | 是 | | `response-measure-missing` | 场景缺少可度量响应指标,无法验证是否满足质量目标 | 是 | | `driver-unmapped` | 架构驱动没有绑定业务目标、质量场景或架构决策 | 是 | | `tradeoff-unapproved` | 关键权衡没有 ADR、授权签署、残余风险或复核期限 | 是 | | `fitness-failed` | 自动化适配度函数失败,或未进入 release gate / CI / 持续监测 | 是 | | `verification-stale` | 压测、安全测试、韧性演练、SLO 或成本验证超过复核窗口 | 是 | | `sensitivity-unmonitored` | 关键敏感点没有指标、告警、容量阈值、风险阈值或成本阈值 | 是 | | `risk-accepted` | 残余质量风险已由授权角色接受,且有期限、补偿控制和复核条件 | 条件放行 | | `not-applicable` | 当前资产不属于 L3/L4 质量属性治理范围,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 架构基线、关键旅程、重要业务服务、核心领域能力、平台能力、数据产品和 AI 产品都必须进入质量属性总账。 2. 每个高优先级质量属性必须使用可执行场景表达,至少包含 source、stimulus、environment、artifact、response 和 response measure。 3. 业务驱动必须能追溯到业务结果总账、价值流总账或组合收益目标;不能用“高性能”“高可用”“安全合规”等抽象词替代驱动。 4. 架构驱动必须绑定质量场景、已选架构策略、备选方案、ADR 和验证证据;不能只把 ADR 写成会议结论。 5. 每个 high/critical 权衡点必须记录受影响质量属性、敏感点、备选方案、收益、成本、已选方案、残余风险和授权签署。 6. 可自动验证的质量目标必须进入 fitness function、CI、release gate 或持续监测;不可自动验证的目标必须有演练、评审或抽样证据。 7. 敏感点必须被监控或周期复核,例如外部供应商延迟、欺诈评分耗时、队列积压、缓存命中率、错误预算、Token 成本或数据库饱和度。 8. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档。 可执行验收标准: 1. 任意 L3/L4 质量属性都能追到业务驱动、质量场景、响应度量、验证证据和 owner。 2. 任意架构决策都能说明它解决了哪些质量场景、牺牲了哪些质量属性、选择了哪些策略以及为什么拒绝其他方案。 3. 任意 high/critical 权衡点都能追到 ADR、残余风险、敏感点监测和授权签署。 4. 任意自动化质量目标都能追到 fitness function、最近执行结果、失败阻断规则和 release gate 引用。 5. 任意审计导出都能证明无不可测高优先级场景、无无主架构驱动、无未签署关键权衡、无过期验证证据、无未监控敏感点和无未消费质量属性总账。 ### 10.10.69 基线架构原则、约束、反模式与例外执行总账 `baseline-architecture-principle-constraint-exception-ledger.yaml` 是企业级基线的架构原则、强制约束、禁止项、 反模式和例外执行证据。它不替代架构原则文档、标准基线、ADR、风险登记、例外总账、控制面、Policy as Code、 门禁执行报告或会审裁决;这些系统分别记录原则来源、标准版本、决策理由、风险处置、例外审批、控制目标和执行结果。 该总账回答的是:“哪些原则是强制的;谁拥有这些原则;适用哪些资产、目录、契约和运行入口;哪些约束可被机器检测; 哪些禁止项和反模式必须被阻断;违反原则后如何处置;例外是否有期限、风险接受和复核;原则是否进入 release gate”。 它对齐 TOGAF 对架构原则的名称、声明、理由和影响要求,arc42 对架构约束的显式记录要求,以及 Policy as Code 对规则、 测试、输入、决策和阻断证据的工程化要求。企业不能只证明“我们有原则”,还必须证明“每条强制原则能被执行、违反能被发现、 例外会到期、风险接受可追溯”。 ```yaml architecturePrincipleConstraintExceptionLedger: ledgerId: apce-20260603-mea-v291 baselineId: mea-v2.91-20260603 documentVersion: V2.91 owner: enterprise-architecture-team generatedAt: 2026-06-03T20:20:00+08:00 linkedEvidence: architecturePrinciples: governance/architecture/principles.yaml standardsBaseline: governance/control-plane/standards-baseline.yaml controlPlane: governance/control-plane/control-plane.yaml policyTests: governance/evidence/policy-tests/ architectureDecisionRecords: governance/decisions/ exceptionLedger: governance/evidence/exceptions/baseline-exception-ledger.yaml riskRegister: governance/evidence/risk/risk-register.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml qualityAttributeLedger: governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml topologyLedger: governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml policy: requireLedgerForLevels: - L3 - L4 requireOwnerForMandatoryPrinciple: true requireDetectableConstraint: true requireGateForForbiddenPattern: true requireDispositionForViolation: true blockOnExpiredException: true blockOnUnsignedRiskAcceptance: true blockOnUnreviewedMandatoryPrinciple: true principleSets: - principleSetId: architecture-principles:enterprise-baseline owner: enterprise-architecture-team reviewCadenceDays: 90 principles: - principleId: principle:domain-ownership title: domain teams own domain truth sources category: ownership mandatory: true appliesTo: - domains/* - catalog/* - contracts/* rationale: prevent centralized platform or catalog from redefining domain semantics constraints: - constraintId: constraint:catalog-no-domain-boundary-override statement: catalog may reference domain owner and sourceRoot but must not redefine bounded context detection: type: policy-as-code policyRef: governance/policies/architecture-principles/catalog-domain-boundary.rego gateRefs: - BGE-043 status: constraint-enforced forbiddenPatterns: - patternId: antipattern:catalog-as-deployment-source description: catalog entry directly maintains replicas, resource limits, or rollout strategy detectionRef: governance/policies/architecture-principles/catalog-deployment-source.rego disposition: block status: forbidden-pattern-gated linkedDecisions: - governance/decisions/adr-20260603-domain-source-of-truth.md status: principle-enforced - principleId: principle:ai-no-direct-domain-database-access title: AI products consume registered tools and domain APIs only category: ai-governance mandatory: true appliesTo: - ai/** - contracts/ai/** - infra/gitops/** rationale: prevent AI products from becoming hidden integration or data truth sources constraints: - constraintId: constraint:ai-tool-boundary statement: AI agents must call registered tools or domain APIs and must not directly read domain databases detection: type: policy-as-code policyRef: governance/policies/architecture-principles/ai-tool-boundary.rego gateRefs: - BGE-043 - BGE-020 status: constraint-enforced forbiddenPatterns: - patternId: antipattern:agent-direct-sql description: agent runtime has direct SQL credentials to a domain-owned database detectionRef: governance/policies/architecture-principles/agent-direct-sql.rego disposition: block status: forbidden-pattern-gated status: principle-enforced violations: - violationId: violation:catalog-replicas-field principleRef: principle:domain-ownership detectedAt: 2026-06-03T19:40:00+08:00 evidenceRef: governance/evidence/policy-tests/catalog-domain-boundary-20260603.yaml disposition: remediated remediationRef: governance/evidence/remediation/catalog-replicas-field-removal.yaml status: violation-closed exceptions: - exceptionId: exception:legacy-shared-domain-object principleRef: principle:domain-ownership reason: legacy strangler migration until adapter is replaced approvedBy: architecture-review-board riskAcceptanceRef: governance/evidence/risks/risk-legacy-shared-domain-object.yaml expiresAt: 2026-07-31T23:59:59+08:00 status: exception-active status: principle-set-healthy summary: mandatoryPrinciplesCovered: 42 principlesWithOwners: 42 constraintsDeclared: 86 constraintsMachineDetectable: 86 forbiddenPatternsMapped: 34 policyGateMappings: 64 openPrincipleViolations: 0 violationsWithDisposition: 18 activeExceptions: 4 expiredExceptions: 0 unsignedRiskAcceptances: 0 principlesReviewedOnSchedule: 42 releaseGateReferences: 42 ``` 架构原则、约束、反模式与例外执行状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `principle-set-healthy` | 原则集 owner、适用范围、强制约束、反模式、例外和复核均闭合 | 否 | | `principle-enforced` | 单条原则已绑定 owner、适用范围、约束、检测方式、门禁和 ADR | 否 | | `constraint-enforced` | 约束已经进入 Policy as Code、schema、catalog 检查、GitOps 检查或运行准入 | 否 | | `forbidden-pattern-gated` | 禁止项或反模式已映射到阻断型门禁 | 否 | | `violation-closed` | 违反项已整改、复测、风险接受或进入 POA&M | 否 | | `exception-active` | 例外已批准,有风险接受、到期时间、补偿控制和复核条件 | 条件放行 | | `principle-owner-missing` | 强制原则没有 owner 或 owner 不具备裁决权 | 是 | | `constraint-undetectable` | 强制约束只能靠人工描述,无法被规则、schema、契约或审计证据检测 | 是 | | `gate-mapping-missing` | 强制原则、约束、禁止项或反模式没有进入 release gate、GitOps、catalog 或 runtime admission | 是 | | `forbidden-pattern-ungated` | 已知反模式未配置阻断或例外流程 | 是 | | `violation-open` | 违反项没有处置、整改、风险接受或 POA&M | 是 | | `exception-expired` | 例外已经过期或缺少到期动作 | 是 | | `risk-acceptance-missing` | 例外或残余风险缺少授权签署 | 是 | | `principle-review-overdue` | 强制原则超过复核周期,不能证明仍适用 | 是 | | `not-applicable` | 当前资产不适用该原则,且有 owner 签署理由 | 否 | 执行规则: 1. 所有 L3/L4 架构基线、领域服务、数据产品、AI 产品、平台能力、GitOps 环境和关键运行入口都必须映射到适用原则集。 2. 每条强制原则必须具备 owner、适用范围、声明、理由、影响、约束、禁止项、检测方式、门禁入口、例外策略和复核周期。 3. 约束必须优先转成机器可执行规则,例如 JSON Schema、OpenAPI/AsyncAPI lint、catalog scorecard、OPA/Rego、Cedar、Kyverno、GitOps policy 或 runtime admission;纯人工评审只能作为过渡态。 4. 每个禁止项和反模式必须声明检测规则、阻断入口和处置路径;无法检测时必须先形成整改工单,不能进入 baseline/frozen。 5. 原则违反项必须绑定证据、owner、严重度、处置、整改或风险接受;开放违反项不得被总分、会议裁决或口头承诺覆盖。 6. 例外必须有到期时间、风险接受、补偿控制、复核责任和关闭证据;过期例外必须阻断冻结和生产准入。 7. 总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档。 8. 架构原则不能绕过领域边界:原则可以约束领域资产,但不能让 catalog、平台、AI 层或治理团队重新定义领域事实。 可执行验收标准: 1. 任意 L3/L4 资产都能追到适用架构原则、owner、约束、检测规则、门禁入口和例外策略。 2. 任意强制原则都能证明不是口号:至少有一条可检测约束或明确的人工过渡整改期限。 3. 任意禁止项、反模式或原则违反都能定位到阻断规则、证据、处置状态和风险接受。 4. 任意例外都能证明授权人、到期时间、补偿控制、风险接受和复核动作有效。 5. 任意审计导出都能证明无无主强制原则、无不可检测强制约束、无未门禁化反模式、无开放原则违反、无过期例外和无未签署风险接受。 ### 10.10.70 基线版本策略、发布通道、兼容性与冻结控制总账 `baseline-version-policy-release-control-ledger.yaml` 是企业级基线的版本策略执行证据。它不替代 `version-governance.yaml`、 版本清单、发布事务回执、发布证据包、兼容性总账、支持矩阵、采纳总账、消费锁、迁移工作单、迁移执行回执、 撤销隔离记录或 EOL 退役证书;这些系统分别记录版本事实、发布事实、消费事实、迁移事实和退役事实。该总账回答的是: “本次版本号为什么这样升;发布通道是否允许;tag、commit 和证据摘要是否不可变;消费者是否锁定到明确基线; breaking change 是否有迁移窗口;冻结期是否禁止语义变更;紧急补丁是否被复盘;撤销或 EOL 基线是否仍被采用”。 它对齐 Semantic Versioning 的不可变发布原则、Conventional Commits 的变更语义表达、Keep a Changelog 的变更记录思路, 以及 SLSA provenance、签名 tag、消费锁和 GitOps 准入的证据链要求。企业不能只证明“我们发了一个版本”,还必须证明 “版本号、变更语义、发布通道、兼容窗口、消费端锁定和撤销阻断是同一个可审计事实”。 ```yaml versionPolicyReleaseControlLedger: ledgerId: bvprc-20260603-mea-v293 baselineId: mea-v2.93-20260603 documentVersion: V2.93 owner: release-engineering generatedAt: 2026-06-03T21:10:00+08:00 linkedEvidence: versionGovernance: governance/control-plane/version-governance.yaml versionManifest: governance/control-plane/version-manifest.yaml releaseEvidence: governance/evidence/baselines/baseline-release-evidence.yaml publishTransaction: governance/evidence/baselines/baseline-publish-transaction.yaml compatibilityLedger: governance/evidence/compatibility/baseline-compatibility-ledger.yaml supportMatrix: governance/evidence/support/baseline-support-matrix.yaml adoptionLedger: governance/evidence/adoption/baseline-adoption-ledger.yaml consumptionLocks: governance/evidence/conformance/baseline-consumption-lock.yaml migrationWorkOrders: governance/evidence/migrations/baseline-migration-work-order.yaml migrationExecutionReceipts: governance/evidence/migrations/baseline-migration-execution-receipt.yaml releaseTrain: governance/evidence/release-trains/baseline-release-train.yaml rollbackVerification: governance/evidence/rollback/baseline-rollback-verification.yaml revocationRecord: governance/evidence/baselines/baseline-revocation-record.yaml eolRetirementCertificate: governance/evidence/baselines/baseline-eol-retirement-certificate.yaml localArtifactBoundary: governance/evidence/baselines/baseline-local-artifact-boundary.yaml evidenceTraceGraph: governance/evidence/baselines/baseline-evidence-trace-graph.yaml gateExecutionReport: governance/evidence/baselines/baseline-gate-execution-report.yaml policy: versionScheme: semver-compatible-enterprise-baseline requireConventionalCommitClassification: true requireSignedTagForChannels: - baseline - frozen - emergency-patch prohibitVersionReuse: true prohibitFloatingVersionReferences: true prohibitTagRetargeting: true requireCompatibilityWindowForBreakingChange: true requireConsumerLockForL3L4Assets: true requireMigrationWorkOrderForBreakingChange: true requirePostReviewForEmergencyPatch: true blockSemanticChangeDuringFreeze: true blockRevokedOrEolBaselineAdoption: true blockUntrackedPrivateArtifactInReleasePayload: true releaseCandidate: releaseChannel: candidate sourceCommit: releaseTag: architecture/v2.93-candidate tagSigned: true tagSignatureVerified: true tagTargetMatchesSourceCommit: true provenanceDigest: sha256: artifactInventoryDigest: sha256: localArtifactBoundaryDigest: sha256: versionManifestDigest: sha256: changeClassification: conventionalCommitTypes: - docs semverImpact: minor breakingChange: false publicContractChanged: false executionGateChanged: true migrationRequired: false adrRequired: false changelogEntry: governance/evidence/releases/changelog-v2.93.md channelControls: allowedTransitions: - from: review to: candidate - from: candidate to: baseline - from: baseline to: frozen - from: baseline to: emergency-patch - from: baseline to: superseded - from: superseded to: eol forbiddenTransitions: - from: frozen to: draft - from: eol to: baseline - from: revoked to: baseline currentTransition: from: review to: candidate status: channel-transition-approved compatibilityControls: compatibilityWindow: P90D consumersImpacted: 0 consumersWithLocksUpdated: 148 floatingVersionReferences: 0 compatibilityExceptionsActive: 0 breakingChangesWithoutMigrationWindow: 0 unsupportedBaselineReferences: 0 freezeControls: freezeWindowActive: false semanticChangesDuringFreeze: 0 allowedPatchTypes: - editorial - security-fix - audit-evidence-correction freezeApprover: architecture-review-board emergencyPatchControls: emergencyPatchUsed: false incidentOrSecurityRef: null postReviewRequiredWithinDays: 5 postReviewCompleted: not-applicable revocationControls: revokedBaselines: - baselineId: mea-v2.50-20260602 adoptionBlocked: true activeProductionReferences: 0 notificationLedgerRef: governance/evidence/communications/baseline-notification-ledger.yaml status: revoked-baseline-blocked eolBaselinesStillAdopted: 0 summary: versionIdsChecked: 92 duplicateVersionIds: 0 tagDriftFindings: 0 unsignedRequiredTags: 0 floatingVersionReferences: 0 unsupportedBaselineReferences: 0 breakingChangesWithoutMigrationWindow: 0 consumerLocksMissing: 0 migrationWorkOrdersMissing: 0 freezeWindowViolations: 0 emergencyPatchesWithoutPostReview: 0 revokedBaselinesStillAdopted: 0 localPrivateArtifactsInReleasePayload: 0 releaseGateReferences: 51 status: version-policy-healthy ``` 版本策略、发布通道、兼容性与冻结控制状态只能使用以下值: | 状态 | 含义 | 是否阻断 | | ---- | ---- | -------- | | `version-policy-healthy` | 版本语义、发布通道、tag、兼容窗口、消费锁、迁移、冻结、撤销和证据摘要均闭合 | 否 | | `channel-transition-approved` | 当前状态迁移符合生命周期状态机、发布列车和会审裁决 | 否 | | `signed-tag-verified` | release tag 已签名,且目标 commit 与版本控制面一致 | 否 | | `consumer-lock-current` | L3/L4 资产使用明确 baseline ID、source commit、release tag 和证据摘要 | 否 | | `compatibility-window-active` | breaking 或 migration-required 变更仍在批准的兼容窗口内 | 条件放行 | | `emergency-patch-active` | 紧急补丁在允许窗口内,且绑定事故、安全或合规编号 | 条件放行 | | `version-id-duplicate` | 同一版本号、baseline ID 或 release tag 指向不同内容 | 是 | | `floating-version-reference` | 资产使用 `V2.x`、`latest`、可变 tag 或未锁定摘要 | 是 | | `tag-drift` | release tag 被重指向、未签名、签名无效或不指向 source commit | 是 | | `breaking-without-migration-window` | 破坏性变更缺少消费者清单、迁移窗口、弃用日期或回滚入口 | 是 | | `consumer-lock-missing` | L3/L4 资产缺少基线消费锁或锁文件摘要与发布证据不一致 | 是 | | `freeze-violation` | 冻结窗口内发生语义变更、准入变更、契约变更或未授权补丁 | 是 | | `emergency-patch-unreviewed` | 紧急补丁缺少事后复盘、风险接受、永久修复或证据补齐 | 是 | | `revoked-baseline-adopted` | 撤销或隔离基线仍被 catalog、GitOps、runtime 或资产声明采用 | 是 | | `eol-baseline-adopted` | EOL 基线仍被新项目或生产资产引用 | 是 | | `private-artifact-release-leak` | 本地私有、生成或禁推资产进入 release payload、tag、审计原文或签名 payload | 是 | | `not-applicable` | 当前基线范围明确不适用该控制,且有 owner 签署理由 | 否 | 执行规则: 1. 每次版本提升都必须同时说明变更级别、SemVer 影响、Conventional Commit 分类、兼容性影响和是否需要迁移。 2. `baselineId`、`documentVersion`、`releaseTag` 和 `sourceCommit` 必须在版本控制面、发布证据、发布事务、状态对账和证据追踪图中一致。 3. 生产级 `baseline`、`frozen` 和 `emergency-patch` 必须使用签名 tag;任何 tag 重指向、未签名或签名失效都必须阻断发布。 4. 任何 L3/L4 资产不得使用 `latest`、浮动大版本、未锁定 tag 或缺少摘要的基线引用;必须使用 `baseline-consumption-lock.yaml`。 5. `breaking` 或 `migrationRequired=true` 的版本必须有消费者清单、兼容窗口、弃用日期、迁移工作单、迁移执行回执和回滚验证。 6. 冻结窗口内只能允许勘误、安全修复或审计证据修正;任何契约语义、准入规则、运行边界、职责边界变更都必须进入新版本。 7. 紧急补丁必须绑定事故、安全或合规编号,并在限定时间内补齐复盘、永久修复、风险接受和证据归档。 8. 撤销、隔离、Superseded 或 EOL 基线必须在支持矩阵、采纳总账、catalog、GitOps、runtime admission 和消费锁中被阻断新采用。 9. 本地私有、生成或禁推资产必须被本地私有制品边界和审计导出排除清单覆盖,不得进入 release payload、审计原文或签名 payload。 10. 版本策略总账必须进入发布证据、状态对账、证据追踪图、门禁执行报告、会审裁决、审计导出和证据归档。 可执行验收标准: 1. 任意版本号都能追溯到唯一 baseline ID、source commit、release tag、签名状态、变更级别、发布通道和证据摘要。 2. 任意发布通道迁移都能证明允许路径、审批、前置证据、状态回写和回滚入口。 3. 任意 L3/L4 资产都不能使用浮动版本;审计人员能从消费锁看到明确 baseline ID、commit、tag 和关键证据摘要。 4. 任意破坏性变更都能找到消费者影响、迁移窗口、工作单、执行回执、弃用日期、例外和风险接受。 5. 任意冻结基线都能证明冻结期没有语义变更;若发生安全或审计补丁,能证明补丁范围和事后复核。 6. 任意撤销、隔离或 EOL 基线都能证明新采用被阻断,生产引用归零或进入风险接受。 7. 任意审计导出都能证明无重复版本号、无 tag 漂移、无浮动版本引用、无无迁移窗口 breaking change、无未复盘紧急补丁、无撤销/EOL 基线继续采用和无禁推资产泄漏。 ## 10.11 仓库拓扑剖面 目录结构可以按企业规模、团队自治程度和合规要求裁剪,但真相源边界不能裁剪。仓库拓扑的选择应先看 ownership、变更频率、权限隔离、发布节奏和审计要求,而不是看团队偏好的 Git 管理方式。 推荐剖面: | 拓扑 | 适用场景 | 优点 | 风险 | 必须保留的边界 | | ---- | -------- | ---- | ---- | -------------- | | 单仓 monorepo | 领域数量较少、平台能力统一、团队协作密集 | 原子变更、统一门禁、全局重构容易 | 仓库膨胀、权限隔离难、CI 成本高 | 目录 owner、CODEOWNERS、路径级门禁、catalog 生成规则 | | 多仓 polyrepo | 团队自治强、服务生命周期差异大、权限隔离要求高 | 权限清晰、发布独立、仓库轻 | 契约漂移、版本对齐难、跨仓变更复杂 | contracts registry、catalog 聚合、跨仓兼容性检查 | | 平台独立仓 | 平台团队独立运营 Golden Path、模板和工具链 | 平台产品化清晰,模板可版本化 | 平台与业务仓割裂 | 平台模板版本、迁移说明、使用方影响分析 | | GitOps 独立仓 | 生产环境权限严格、需要环境 owner 审核 | 环境期望状态可审计,权限隔离强 | 应用代码和部署变更不同步 | 镜像 digest、GitOps revision、服务契约和 catalog 指针 | | 数据产品独立仓 | 数据平台集中、数据契约和质量规则独立演进 | 数据治理和血缘清晰 | 领域 owner 责任被稀释 | 数据产品 owner、领域映射、数据契约和消费通知 | | AI 产品独立仓 | AI 产品迭代快、评估集和 Prompt 需要独立生命周期 | Prompt/RAG/评估可单独治理 | AI 旁路领域边界 | 工具注册、数据授权、风险等级和审计链路 | 选择规则: 1. 生产 GitOps 推荐独立权限边界;是否独立仓取决于审计和环境 owner 要求。 2. 契约可以集中仓管理,也可以随领域仓管理,但必须进入统一 catalog 和兼容性校验。 3. 平台模板必须有版本,业务仓必须能声明自己使用的模板版本和迁移状态。 4. 多仓模式必须有跨仓变更协议,包括 API、事件、数据产品、AI 工具和 GitOps 变更。 5. 不允许用仓库边界掩盖领域边界不清;仓库拆分不能替代 DDD 和 owner 设计。 `governance/migration/repository-topology-policy.md` 应至少包含: 1. 仓库拓扑选择标准。 2. 权限和 CODEOWNERS 规则。 3. 跨仓契约发布流程。 4. GitOps 仓权限和审计要求。 5. 平台模板版本和迁移策略。 ## 10.12 迁移、兼容与弃用策略 现代化架构不能要求企业一次性重写全部系统。迁移策略必须默认支持渐进式替换、双写校验、流量切换、消费者迁移和可回退发布。 ### 10.12.1 旧系统绞杀迁移 绞杀迁移的默认流程: 1. 识别旧系统能力边界、数据写入点、外部接口和批处理任务。 2. 在 catalog 中登记旧系统 owner、依赖、风险等级和目标迁移状态。 3. 使用 API Gateway、BFF、事件桥接或数据同步把新能力接入边缘流量。 4. 对读路径先建立查询模型、缓存或数据产品,避免直接跨库读旧系统。 5. 对写路径先建立幂等键、事件补偿、对账和回滚机制。 6. 以场景、客户群、区域、渠道或能力为单位逐步切流。 7. 每次切流保留回退路径、监控指标和业务验收口径。 8. 完成迁移后清理旧接口、旧任务、旧数据同步和例外权限。 禁止事项: 1. 不允许新服务直接共享旧系统数据库作为长期方案。 2. 不允许没有对账和补偿机制的双写进入生产关键路径。 3. 不允许只迁移代码、不迁移 owner、SLO、runbook、catalog 和数据契约。 4. 不允许旧系统退役后保留无 owner 的影子任务、同步脚本和访问权限。 ### 10.12.2 API、事件和数据产品弃用 弃用不是删除通知,而是受控迁移过程。 | 对象 | 弃用前要求 | 通知对象 | 最短观察期 | 删除前门禁 | | ---- | ---------- | -------- | ---------- | ---------- | | API | 新版本契约、兼容说明、迁移示例、消费者列表 | API 消费方、平台门户、SDK owner | 至少一个发布周期 | 无生产消费者或风险接受记录 | | 事件 | 新 Schema、消费者影响分析、重放策略 | 事件消费者、数据平台、领域 owner | 至少两个消费周期 | 消费者迁移完成,死信和积压清零 | | 数据产品 | 新数据产品或字段映射、质量对比、血缘影响 | 下游报表、模型、AI 产品、数据消费者 | 至少一个数据结算周期 | 下游质量和口径验收通过 | | AI 模型 / Prompt | 新版本评估、回放对比、回滚模型 | AI 产品 owner、业务 owner、安全团队 | 灰度期结束 | 评估通过,旧版本无生产流量 | | 平台 Golden Path | 新模板版本、迁移脚本、兼容窗口 | 所有使用团队 | 至少一个季度 | 迁移完成或例外到期 | `governance/migration/deprecation-policy.md` 应至少包含: 1. 弃用对象、owner 和替代方案。 2. 影响范围和消费者清单。 3. 通知渠道、观察期和迁移截止日期。 4. 兼容策略、回滚路径和风险接受记录。 5. 删除前验证证据和审计留存要求。 基线级兼容性和消费者迁移状态必须进入 `baseline-compatibility-ledger.yaml`。单个 API、事件、数据产品或 AI 产品的兼容性报告只说明局部事实;基线兼容性总账必须证明这些局部事实已经汇总成版本发布门禁。 ### 10.12.3 数据、AI 和平台能力退役 退役流程必须处理数据、权限、成本和审计尾部: 1. 数据产品退役必须确认保留期限、归档位置、删除策略、下游血缘和 AI 使用授权。 2. AI 产品退役必须冻结模型路由、Prompt、RAG 索引、工具权限和审计日志保留策略。 3. 平台能力退役必须提供替代 Golden Path、迁移窗口、自动化迁移脚本和例外清单。 4. 基础设施退役必须确认 DNS、证书、密钥、网络策略、备份、成本标签和监控告警全部清理。 5. 所有退役动作必须回写基线兼容性总账,证明生产消费者已经迁移、归零或进入风险接受。 ## 10.13 验证包与审计证据清单 可执行企业标准必须能被验证。没有验证包,架构文档只能证明“写过”,不能证明“做到”。 ### 10.13.1 最小验证包 每个试点领域至少提供以下验证包: 本仓库提供第一批可执行 starter kit。公开远端只保留私有制品边界、摘要、取回入口和验证口径;schema/example、生成清单、内部脚本和审计导出原文由私有制品库或企业内部 evidence store 托管,禁止直接提交到公开远端: ```text 本地私有 starter kit ``` 该目录的 schema 和示例由以下命令校验: ```bash internal-command://architecture/check-modern-architecture-kit ``` 该命令是仓库内零依赖 starter gate,用于校验版本清单、控制项覆盖清单、128 组示例的 JSON Schema 子集、YAML 示例、基线版本策略、发布通道、兼容性与冻结控制总账、基线生产变更、发布编排、变更冲突与失败恢复总账、基线事故、问题、纠正行动与复发防止总账、基线数据产品质量、契约违约、运行血缘与可观测性总账、基线工程质量、测试证据、缺陷与发布验证总账、基线人员能力、培训、职责履职与职责分离总账、基线业务结果、价值实现与组合收益总账、基线价值流、关键旅程与端到端流程总账、基线架构视图、运行拓扑与依赖影响总账、基线质量属性、架构驱动与权衡决策总账、基线架构原则、约束、反模式与例外执行总账、基线安全配置、加固姿态与配置漂移修复总账、基线漏洞、暴露面与修复验证总账、基线威胁建模、攻击面与安全风险总账、基线容量、性能、弹性伸缩与成本效率总账、基线服务可靠性、SLO、错误预算与可观测性总账、基线备份、恢复、灾备与可恢复性验证总账、基线密码材料、密钥、证书与秘密生命周期总账、基线资产关键性、数据分类与风险分级总账、基线身份权限、特权访问与工作负载身份总账、基线处理活动、个人数据清单与 RoPA 覆盖总账、基线隐私权利请求、同意偏好与合法基础执行总账、基线记录留存、法律保全与可防御删除总账、基线监管与合规义务可追溯总账、嵌套必填字段、格式约束、数值阈值、严格 schema 模式、威胁建模、攻击面管理、安全风险治理、基线运营韧性与重要业务服务影响容忍总账、基线第三方与关键供应商风险总账、基线数据驻留与跨境处理总账、基线共享责任与继承控制总账、基线独立控制保证抽样总账、基线连续控制监测总账、基线运行时准入决策总账、基线运行时准入回执、基线长期验签回执、基线证据不可变归档回执、干净环境基线重建回执、私有制品托管交接清单、审计导出排除清单、本地私有制品边界、基线迁移执行回执、基线迁移工作单、基线消费锁定文件、基线准入执行策略、基线撤销与隔离记录、基线发布事务回执、基线门禁执行报告、基线证据追踪图、基线会审裁决记录、基线 EOL 退役证书、基线状态对账报告、基线生命周期状态机、基线就绪评分卡、基线例外总账、基线回滚验证记录、基线通知确认总账、基线验证环境锁定、基线制品清单、基线符合性声明、基线发布列车、基线支持矩阵、基线采纳总账、基线兼容性总账、基线发布证据包、版本控制面、外部标准版本锁定、企业执行控制面、合规等级、门禁决策、仓库变更控制、远端保护漂移整改、访问复核、密钥轮换、漏洞修复、事故复盘、证据新鲜度、AI 证据账本、AI 系统监管分类与影响评估总账、微调运行证据、AI 事件响应 playbook、控制证据映射、审计导出清单、审计导出自动化命令、控制评估报告、架构基线变更记录、架构决策记录、OSCAL 交换映射、POA&M 整改计划、企业架构风险登记、审计导出门禁、审计导出完整性清单、审计导出 provenance statement、审计导出签名策略、审计导出签名验签回执、未知字段阻断、证据链字段、证据保证等级消费链、门禁负例测试、故障注入、期望失败结果和示例间一致性。V2.96 起,该 gate 必须证明 `baseline-evidence-assurance-classification.yaml` 中的最低保证等级、采信状态、完整性证明、新鲜度窗口和可重放要求已经被 release gate、会审裁决、审计导出和基线状态迁移阻断路径引用;V2.97 起,该 gate 还必须证明 `baseline-gate-negative-test-suite.yaml` 中的关键负例 fixture、预期失败规则、实际拒绝结果和失败日志摘要已经被 release gate、audit export gate、runtime admission 和状态迁移阻断路径引用;V2.98 起,该 gate 还必须证明 `baseline-ai-system-regulatory-impact-ledger.yaml` 中的 AI 系统监管分类、适用法规、人工监督、日志留存、技术文档、后市场监测、供应商责任和合规缺口已经被 release gate、会审裁决、监管义务总账、风险登记和审计导出引用;对应私有 schema/example 与负例 fixture 仍受禁推资产边界保护。企业生产落地时应优先接入成熟校验器,例如 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 工具、Kubernetes admission policy test、Kubernetes audit log checker、Kyverno PolicyReport checker、OPA decision log checker、Prometheus rule checker 和 Alertmanager route checker;本仓库脚本只作为 starter kit 的最小可执行证明。 审计导出包由以下命令生成: ```bash internal-command://architecture/export-modern-architecture-audit ``` 默认输出: ```text assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.json assets/templates/modern-enterprise-architecture-private/build/audit/audit-export.md assets/templates/modern-enterprise-architecture-private/build/audit/oscal-summary.json assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-integrity.json assets/templates/modern-enterprise-architecture-private/build/audit/audit-export-provenance.json ``` 导出输出不变量由以下命令校验,并已经进入 `make test`: ```bash internal-command://architecture/check-modern-architecture-audit-export ``` ```text governance/evidence/releases/{service-release}.yaml governance/evidence/supply-chain/{service-attestation}.yaml governance/evidence/exceptions/{policy-exception}.yaml governance/evidence/compatibility/{api-or-event-report}.yaml governance/evidence/drift/{service-drift-report}.yaml governance/evidence/lineage/{data-product-run}.yaml governance/evidence/platform/{platform-product-period}.yaml governance/evidence/privacy/{privacy-assessment}.yaml governance/evidence/recovery/{recovery-drill}.yaml governance/evidence/policy-tests/{policy-test-report}.yaml governance/evidence/cost/{cost-allocation-period}.yaml governance/evidence/access/{access-review}.yaml governance/evidence/secrets/{secrets-rotation}.yaml governance/evidence/vulnerabilities/{vulnerability-remediation}.yaml governance/postmortems/{incident-postmortem}.md governance/evidence/freshness/{freshness-report}.json governance/evidence/control-map/{control-evidence-map}.yaml governance/control-plane/{conformance-profile}.yaml governance/control-plane/{control-plane}.yaml governance/control-plane/{release-gate-decision}.yaml governance/control-plane/{standards-baseline}.yaml governance/control-plane/{version-governance}.yaml governance/control-plane/{baseline-enforcement-policy}.yaml governance/evidence/conformance/{baseline-consumption-lock}.yaml governance/evidence/baselines/{baseline-local-artifact-boundary}.yaml governance/evidence/migrations/{baseline-migration-execution-receipt}.yaml governance/evidence/migrations/{baseline-migration-work-order}.yaml governance/evidence/baselines/{baseline-lifecycle-state-machine}.yaml 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 governance/evidence/baselines/{baseline-artifact-inventory}.yaml governance/evidence/baselines/{baseline-readiness-scorecard}.yaml governance/evidence/baselines/{baseline-release-evidence}.yaml governance/evidence/baselines/{private-artifact-escrow-manifest}.yaml governance/evidence/baselines/{baseline-clean-room-reconstruction-receipt}.yaml governance/evidence/baselines/{baseline-evidence-archive-receipt}.yaml governance/evidence/baselines/{baseline-signature-ltv-receipt}.yaml governance/evidence/baselines/{baseline-runtime-admission-receipt}.yaml governance/evidence/baselines/{baseline-runtime-admission-decision-ledger}.yaml governance/evidence/baselines/{baseline-continuous-control-monitoring-ledger}.yaml governance/evidence/baselines/{baseline-control-assurance-sampling-ledger}.yaml governance/evidence/baselines/{baseline-evidence-assurance-classification}.yaml governance/evidence/baselines/{baseline-control-inheritance-ledger}.yaml governance/evidence/baselines/{baseline-data-residency-transfer-ledger}.yaml governance/evidence/baselines/{baseline-third-party-risk-ledger}.yaml governance/evidence/baselines/{baseline-operational-resilience-ledger}.yaml governance/evidence/baselines/{baseline-threat-model-attack-surface-risk-ledger}.yaml governance/evidence/baselines/{baseline-vulnerability-exposure-remediation-ledger}.yaml governance/evidence/baselines/{baseline-capacity-performance-cost-efficiency-ledger}.yaml governance/evidence/baselines/{baseline-service-reliability-slo-error-budget-observability-ledger}.yaml governance/evidence/baselines/{baseline-backup-restore-disaster-recovery-ledger}.yaml governance/evidence/baselines/{baseline-regulatory-obligation-ledger}.yaml governance/evidence/baselines/{baseline-cryptographic-secrets-key-certificate-ledger}.yaml governance/evidence/baselines/{baseline-asset-criticality-classification-ledger}.yaml governance/evidence/baselines/{baseline-identity-entitlement-access-ledger}.yaml governance/evidence/baselines/{baseline-processing-activity-inventory-ledger}.yaml governance/evidence/baselines/{baseline-privacy-rights-consent-ledger}.yaml governance/evidence/baselines/{baseline-records-retention-legal-hold-ledger}.yaml governance/evidence/compatibility/{baseline-compatibility-ledger}.yaml governance/evidence/adoption/{baseline-adoption-ledger}.yaml governance/evidence/support/{baseline-support-matrix}.yaml governance/evidence/release-trains/{baseline-release-train}.yaml governance/evidence/exceptions/{baseline-exception-ledger}.yaml governance/evidence/communications/{baseline-notification-ledger}.yaml governance/evidence/rollback/{baseline-rollback-verification}.yaml governance/evidence/conformance/{baseline-conformance-claim}.yaml governance/evidence/audit-export/{audit-export-manifest}.yaml governance/evidence/audit-export/{audit-export-exclusion-manifest}.yaml governance/evidence/control-assessments/{control-assessment-report}.yaml governance/evidence/baseline-changes/{baseline-change-record}.yaml governance/evidence/architecture-decisions/{architecture-decision-record}.yaml governance/evidence/oscal/{oscal-export-profile}.yaml governance/evidence/audit-export/{audit-export-signing-policy}.yaml governance/evidence/audit-evidence-index.md governance/evidence/drill-evidence-template.md catalog/components/{service}.yaml catalog/data-products/{data-product}.yaml catalog/ai-products/{ai-product}.yaml contracts/apis/{api}.openapi.yaml contracts/events/{event}.asyncapi.yaml contracts/datasets/{data-product}.yaml contracts/ai/tools/{tool}.yaml contracts/release/feature-flags/{flag}.yaml contracts/ai/threat-models/{ai-product}.yaml contracts/ai/observability/{ai-product}.yaml contracts/data/lineage/{data-product-run}.yaml contracts/privacy/{data-product}.yaml infra/gitops/environments/prod/{domain}/{service}/kustomization.yaml infra/kubernetes/tenancy/{tenant-boundary}.yaml infra/kubernetes/rbac/{identity-access-review}.yaml ``` 验证命令应至少覆盖: ```bash make lint make check-links make check-doc-structure make check-metadata make check-ai-citation internal-command://architecture/check-modern-architecture-kit internal-command://architecture/check-modern-architecture-audit-export internal-command://architecture/export-modern-architecture-audit ``` 企业落地时还应补充: 1. OpenAPI / AsyncAPI 兼容性检查。 2. JSON Schema / Proto / Avro 兼容性检查。 3. 数据契约质量规则和权限策略检查。 4. AI 评估集、红队和工具权限检查。 5. SBOM、provenance、签名和验签检查。 6. GitOps diff、Policy as Code 和 Kubernetes 准入检查。 7. catalog 生成、字段权威和漂移检测。 8. RTO/RPO 恢复演练证据检查。 9. 隐私影响评估、主体删除传播和向量索引删除证据检查。 10. 租户隔离、ResourceQuota、NetworkPolicy 默认拒绝和准入策略检查。 11. GenAI trace、Token、成本、工具调用和 RAG span 覆盖检查。 12. 成本标签覆盖、未分摊成本和单位成本分摊检查。 13. 访问复核、特权账号、break-glass 和 MFA 审计检查。 14. Secret 加密、轮换、泄露扫描和 KMS 证据检查。 15. 高危漏洞、KEV、修复 SLA、残余风险和发布阻断检查。 16. 事故复盘、纠正行动、runbook 更新和门禁反哺检查。 17. 审计证据最大年龄、过期动作和 CI 阻断检查。 18. 控制项到证据路径、状态、新鲜度和阻断属性的映射检查。 19. 合规等级、执行控制面、门禁决策、例外放行、break-glass 和季度复核检查。 20. 审计导出包范围、内容、验证结果、签名和留存复审检查。 21. 审计导出 JSON / Markdown 包生成、关键制品哈希和导出命令检查。 22. 控制评估报告、发现项、整改时限、剩余风险和签署状态检查。 23. 架构基线变更影响分析、审批、验证命令、回滚计划和留存复审检查。 24. OSCAL catalog、component-definition、SSP、assessment-results、POA&M 映射和 `oscal-summary.json` 输出检查。 25. POA&M 发现项、整改行动、里程碑、证据、签署和 OSCAL POA&M 输出一致性检查。 26. 企业架构风险登记、关联控制项、关联 POA&M、缓解行动、残余风险、复审和审计导出风险视图一致性检查。 27. 审计导出 JSON、Markdown、OSCAL 摘要的版本、pair 数、控制数和评估状态不变量检查。 28. 审计导出生成物 SHA-256 摘要、源制品哈希和完整性清单防篡改检查。 29. 审计导出 provenance subject digest、构建定义、源码提交和源证据依赖检查。 30. 审计导出签名策略、payload 摘要、验签命令、bundle 路径和外部签名交接检查。 31. 审计导出签名验签回执、bundle 摘要、证书身份、OIDC issuer、透明日志和验签结果检查。 32. 基线回滚验证、上一基线检出、GitOps revision 恢复、审计导出恢复、烟测结果和验证时效检查。 33. 基线例外总账、例外来源、到期日、风险接受、POA&M、阻断状态、关闭证据和冻结准入检查。 34. 基线就绪评分卡、硬门禁、评分维度、权重、阈值、证据路径、阻断项和 baseline/frozen 最终判定检查。 35. 基线 EOL 退役证书、生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断检查。 36. 基线会审裁决记录、证据核验、投票签署、反对意见、条件动作、风险接受和最终裁决检查。 37. 基线证据追踪图、证据节点、依赖边、摘要一致性、下游消费、孤儿证据和断链阻断检查。 38. 基线门禁执行报告、门禁命令、runner 镜像、策略包、schema 包、输入摘要、规则结果、退出码、重放结果和最终决策一致性检查。 39. 基线发布事务回执、提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证检查。 40. 基线撤销与隔离记录、撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档检查。 41. 基线准入执行策略、最低可接受基线、支持状态、撤销/EOL、资产符合性声明、例外有效期、策略包、决策日志和运行入口阻断检查。 42. 基线消费锁定文件、baseline ID、source commit、release tag、关键证据摘要、锁文件签署、过期复核、浮动引用阻断和采纳总账回写检查。 43. 基线迁移工作单、目标资产、当前基线、目标基线、迁移步骤、消费锁更新、GitOps 变更、验收证据和回滚动作检查。 44. 基线迁移执行回执、实际命令、执行 actor、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证检查。 45. 本地私有制品边界、禁推资产分类、摘要策略、允许用途、远端排除、审计导出排除和签名 payload 排除检查。 46. 审计导出排除清单、原文白名单、摘要留存项、强制排除项、签名 payload 排除项、边界引用和导出后验证检查。 47. 私有制品托管交接清单、私有 registry / 制品库引用、访问角色、留存期限、取回命令、恢复验证和摘要一致性检查。 48. 干净环境基线重建回执、远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核检查。 49. 基线证据不可变归档回执、归档对象、WORM/对象锁、legal hold、访问日志、删除保护、留存到期、归档摘要和恢复演练检查。 50. 基线长期验签回执、签名 bundle、证书链、OIDC issuer、透明日志 proof、signed entry timestamp、RFC3161 TSA、撤销状态、验证工具版本和归档引用检查。 51. 基线运行时准入回执、admission controller、策略引擎、策略 bundle、命名空间覆盖、镜像 digest、签名/provenance/SBOM、消费锁、撤销/EOL 阻断、拒绝样例和 runtime bypass 检查。 52. 基线运行时准入决策总账、Kubernetes audit requestUID、admission webhook、PolicyReport、OPA decision log、actor、allow/deny、策略规则、原始日志摘要和留存锁检查。 53. 基线连续控制监测总账、critical control coverage、监测指标、告警规则、owner、runbook、open drift、处置工单、MTTD/MTTR 和证据新鲜度检查。 54. 基线独立控制保证抽样总账、独立评估人、控制总体、抽样方法、样本证据、设计有效性、运行有效性、open findings、POA&M、风险接受和 OSCAL Assessment Results 检查。 V2.95 补充检查:基线证据保证等级、采信状态、生成方式、来源独立性、完整性证明、新鲜度窗口、可重放命令、最低适用门禁和不可采信证据阻断检查。 55. 基线共享责任与继承控制总账、控制责任类型、继承方、提供方证据、消费者义务、继承条件、有效期、无 owner 控制和失效阻断检查。 56. 基线数据驻留与跨境处理总账、数据类别、允许区域、实际处理位置、传输机制、子处理方、补充措施、区域漂移和删除传播检查。 57. 基线第三方与关键供应商风险总账、供应商分级、合同控制、DPA/SLA、审计权、保证报告、数据类别、集中度、退出计划、替代路径、连续性、供应商事件和失效阻断检查。 58. 基线运营韧性与重要业务服务影响容忍总账、重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景测试、恢复结果、人工替代、沟通计划、第三方依赖、韧性缺口和超限升级检查。 59. 基线监管与合规义务可追溯总账、义务源、版本、司法辖区、适用资产、控制目标、控制项映射、证据映射、owner、例外、POA&M、监管变更和生效期限检查。 60. 基线密码材料、密钥、证书与秘密生命周期总账、KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、托管位置、算法强度、轮换、过期、吊销、泄露响应和访问边界检查。 61. 基线资产关键性、数据分类与风险分级总账、资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露、第三方关键性和复核状态检查。 62. 基线身份权限、特权访问与工作负载身份总账、人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、孤儿账号、过期权限和运行时身份绑定检查。 63. 基线处理活动、个人数据清单与 RoPA 覆盖总账、处理活动、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、DPIA、合法基础、AI/数据产品用途和发现覆盖检查。 64. 基线隐私权利请求、同意偏好与合法基础执行总账、处理目的、合法基础、同意版本、撤回传播、权利请求 SLA、自动化决策复核、第三方传播和下游处理阻断检查。 65. 基线记录留存、法律保全与可防御删除总账、记录类别、留存排期、义务来源、legal hold、删除资格、删除传播、备份/日志/向量索引处置和可防御删除回执检查。 ### 10.13.2 审计证据索引 审计证据不应在审计前临时收集,应由平台和流水线持续生成。 | 证据类型 | 来源 | 生产者 | 保留要求 | | -------- | ---- | ------ | -------- | | 架构版本证据 | 本文档版本记录、ADR、评审记录 | 治理团队 | 至少保留到下一主版本废弃后 | | 服务发布证据 | CI、制品库、GitOps、catalog | 服务团队和平台团队 | 覆盖每次生产发布 | | 供应链证据 | SBOM、provenance、签名、验签日志 | 平台团队和安全团队 | 按合规周期保留 | | 数据产品证据 | 数据契约、质量报告、血缘、访问审计 | 领域团队和数据平台团队 | 覆盖每次数据产品发布 | | AI 产品证据 | 风险分级、评估集、Prompt 版本、RAG 来源、回放 trace | AI 产品团队 | 按风险等级保留 | | 可靠性证据 | SLO、错误预算、演练记录、事故复盘 | 服务 owner 和 SRE | 覆盖每个 Tier-1 / Tier-2 资产 | | 成本证据 | 成本标签、预算、异常告警、单位成本 | 平台团队和 FinOps owner | 覆盖每个成本周期 | | 访问证据 | IAM / RBAC、权限复核、break-glass、MFA 审计 | 安全团队、SRE 和服务 owner | 覆盖每个访问复核周期 | | 密钥证据 | Secret provider、KMS、轮换记录、泄露扫描 | 平台团队和安全团队 | 覆盖每个轮换周期 | | 漏洞证据 | 扫描结果、KEV、修复 SLA、残余风险和发布准入 | 安全团队和服务 owner | 覆盖每个高危发现 | | 威胁建模与攻击面证据 | 威胁模型、信任边界、数据流、攻击面、滥用场景、安全测试、剩余风险和风险签署 | 安全团队、架构组、资产 owner 和风险 owner | 覆盖每个 L3 / L4 资产、互联网暴露资产、AI 产品、GitOps 入口和关键第三方接入 | | 事故证据 | 事故时间线、根因、行动项、runbook 和门禁更新 | SRE 和服务 owner | 事故关闭后继续保留一个审计周期 | | 控制映射证据 | 控制目录、证据路径、状态、新鲜度和阻断属性 | 治理团队和平台团队 | 覆盖每个基线版本 | | 审计导出证据 | 导出范围、内容清单、验证结果、签名和留存复审 | 治理团队和安全团队 | 覆盖每次正式审计导出 | | 审计导出自动化证据 | 导出命令、JSON 包、Markdown 报告、OSCAL 摘要、POA&M 整改视图、风险登记视图、完整性清单、provenance statement、签名策略、验签回执契约和校验结果 | 治理团队和平台团队 | 覆盖每次正式审计导出 | | 审计导出门禁证据 | 本地质量门禁、输出不变量、OSCAL 摘要一致性和 `make test` 纳入状态 | 治理团队和平台团队 | 覆盖每次正式审计导出 | | 审计导出完整性证据 | 生成物 SHA-256、源制品哈希、完整性清单和防篡改校验结果 | 治理团队和平台团队 | 覆盖每次正式审计导出 | | 审计导出 provenance 证据 | in-toto statement、SLSA provenance、subject digest、构建定义、源码提交和源证据依赖 | 治理团队和平台团队 | 覆盖每次正式审计导出 | | 审计导出签名策略证据 | provenance payload 摘要、签名方式、验签命令、bundle 路径和透明日志要求 | 治理团队、安全团队和平台团队 | 覆盖每次正式审计导出 | | 审计导出签名验签回执证据 | 签名策略绑定、payload 摘要、bundle 摘要、证书身份、OIDC issuer、透明日志和验签结果 | 治理团队、安全团队和平台团队 | 覆盖每次正式审计导出 | | 审计导出排除清单证据 | 原文白名单、摘要留存项、强制排除项、签名 payload 排除项、边界引用和导出后验证结果 | 治理团队、安全团队、平台团队和审计团队 | 覆盖每次正式审计导出和签名 payload 生成 | | 私有制品托管交接证据 | 私有制品库引用、不可变摘要、访问角色、留存期限、取回命令、恢复验证和摘要一致性 | 治理团队、平台团队、安全团队、发布工程团队和审计团队 | 覆盖每个本地、私有、生成或禁推可执行资产 | | 干净环境基线重建证据 | 干净 runner、远端 checkout、私有制品取回、摘要校验、审计导出重建、门禁重放和禁推资产复核 | 治理团队、平台团队、发布工程团队、安全团队和审计团队 | 覆盖每次 baseline、frozen 晋级和正式审计导出 | | 基线证据不可变归档证据 | 归档对象、不可变存储引用、WORM/对象锁、legal hold、访问日志、删除保护、留存到期和恢复演练 | 治理团队、平台团队、安全团队、发布工程团队、法务团队和审计团队 | 覆盖每次 baseline、frozen 晋级、正式审计导出、撤销关闭和 EOL 归档 | | 基线长期验签证据 | 签名 bundle、证书链、OIDC issuer、透明日志 proof、signed entry timestamp、RFC3161 TSA、撤销状态、验签工具链和不可变归档引用 | 安全团队、平台团队、发布工程团队、法务团队和审计团队 | 覆盖每次 baseline、frozen 晋级、正式审计导出、撤销关闭和 EOL 归档 | | 基线运行时准入证据 | admission controller、策略引擎、策略 bundle、命名空间覆盖、镜像 digest、签名/provenance/SBOM、消费锁、拒绝样例和绕过发现 | 治理团队、平台团队、安全团队、SRE、发布工程团队和审计团队 | 覆盖每次 L3 / L4 生产发布、baseline/frozen 晋级、撤销关闭和 EOL 归档 | | 基线运行时准入决策证据 | Kubernetes audit requestUID、admission webhook、PolicyReport、OPA decision log、actor、策略规则、allow/deny、原始日志摘要和留存引用 | 治理团队、平台团队、安全团队、SRE、发布工程团队和审计团队 | 覆盖每次 L3 / L4 生产发布、baseline/frozen 晋级、拒绝样例、撤销关闭和 EOL 归档 | | 基线连续控制监测证据 | 控制项覆盖、监测指标、日志源、告警规则、owner、runbook、漂移事件、处置工单、MTTD/MTTR 和证据新鲜度 | 治理团队、平台团队、安全团队、SRE、发布工程团队和审计团队 | 覆盖每个监测窗口、baseline/frozen 晋级、撤销关闭、EOL 归档和季度复核 | | 基线独立控制保证抽样证据 | 独立评估人、控制总体、抽样计划、样本证据、设计有效性、运行有效性、发现项、POA&M、残余风险、签署和 OSCAL Assessment Results | 独立保证团队、治理团队、安全团队、平台团队、法务团队和审计团队 | 覆盖每次 baseline/frozen 晋级、正式审计导出、重大控制变更、撤销关闭和季度复核 | | 基线证据保证等级证据 | 证据等级、采信状态、生成方式、来源独立性、完整性证明、新鲜度、可重放要求、最低适用门禁和不可采信原因 | 治理团队、平台团队、安全团队、独立保证团队、发布工程团队和审计团队 | 覆盖每次 baseline/frozen 晋级、L3 / L4 生产准入、正式审计导出、撤销关闭和季度复核 | | 基线共享责任与继承控制证据 | 公共控制、继承控制、共享责任、消费者义务、提供方证据、有效期、失效条件、例外和审计映射 | 治理团队、平台团队、领域团队、云平台团队、第三方管理团队、安全团队和审计团队 | 覆盖每次 baseline/frozen 晋级、资产符合性声明、平台公共控制变更、第三方证据到期和正式审计导出 | | 基线数据驻留与跨境处理证据 | 数据类别、监管区域、实际处理区域、备份/日志/RAG/模型供应商位置、传输机制、子处理方、补充保护措施和删除传播 | 隐私治理团队、数据团队、AI 团队、平台团队、安全团队、法务团队和审计团队 | 覆盖每次 baseline/frozen 晋级、数据产品发布、AI 产品发布、RAG 索引变更、供应商变更、子处理方到期和正式审计导出 | | 基线第三方与关键供应商风险证据 | 供应商分级、服务范围、受影响资产、数据类别、合同控制、DPA/SLA、审计权、保证报告、集中度、退出计划、替代路径、连续性和供应商事件状态 | 第三方风险团队、采购团队、法务团队、安全团队、平台团队、数据团队、AI 团队、SRE 和审计团队 | 覆盖每次 baseline/frozen 晋级、关键供应商接入、合同续期、保证报告到期、供应商事件、集中度变化、AI 模型供应商变更和正式审计导出 | | 基线运营韧性与重要业务服务影响容忍证据 | 重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景、恢复结果、人工替代、沟通计划、第三方依赖、AI 依赖、韧性缺口和超限升级状态 | 运营韧性团队、业务 owner、SRE、平台团队、数据团队、AI 团队、第三方风险团队、安全团队、法务团队、风险团队和审计团队 | 覆盖每次 baseline/frozen 晋级、重要业务服务变更、重大依赖变更、场景测试、实际事故、near miss、影响容忍超限、韧性缺口关闭和正式审计导出 | | 基线威胁建模、攻击面与安全风险证据 | 关键资产、信任边界、数据流、攻击面、滥用场景、控制映射、安全测试、剩余风险、POA&M、签署和过期阻断状态 | 安全团队、架构组、平台团队、数据团队、AI 团队、SRE、风险团队和审计团队 | 覆盖每次 baseline/frozen 晋级、新 L3 / L4 资产上线、互联网暴露变更、AI 产品上线、关键第三方接入和正式审计导出 | | 基线漏洞、暴露面与修复验证证据 | 漏洞发现、扫描覆盖、CVE/KEV/EPSS/CVSS、VEX/CSAF、互联网暴露、运行可达性、修复 SLA、补丁、缓解、复测、例外和发布准入 | 安全团队、平台团队、资产 owner、SRE、风险团队、发布工程团队和审计团队 | 覆盖每次 baseline/frozen 晋级、L3 / L4 资产发布、外部暴露变化、镜像/依赖/配置变化、AI 工具变更和正式审计导出 | | 基线监管与合规义务可追溯证据 | 义务来源、版本、司法辖区、适用范围、控制目标、控制项、证据路径、owner、例外、POA&M、监管变更和复核状态 | 合规治理团队、法务团队、风险团队、架构组、安全团队、数据团队、AI 团队、第三方风险团队和审计团队 | 覆盖每次 baseline/frozen 晋级、监管变化、客户合同变化、标准升级、重大控制变更、正式审计导出和季度复核 | | 基线密码材料、密钥、证书与秘密生命周期证据 | KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、托管位置、算法强度、轮换、过期、吊销、泄露响应和访问边界 | 安全密码学团队、平台团队、SRE、发布工程团队、资产 owner 和审计团队 | 覆盖每次 baseline/frozen 晋级、新生产资产登记、证书签发/续期、密钥轮换、签名密钥变更、Secret 泄露响应、供应商凭据变更和正式审计导出 | | 基线资产关键性、数据分类与风险分级证据 | 资产清单、owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、监管暴露、AI 风险等级、互联网暴露、第三方关键性和复核状态 | 架构组、风险团队、平台团队、安全团队、数据团队、AI 团队、业务 owner 和审计团队 | 覆盖每次 baseline/frozen 晋级、新生产资产登记、L3/L4 变更、AI 产品上线、数据分类变更、互联网暴露变更和正式审计导出 | | 基线身份权限、特权访问与工作负载身份证据 | 人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、最小权限、访问复核、孤儿账号、过期权限和运行时身份绑定 | 安全身份团队、平台团队、SRE、HR、业务 owner、第三方风险团队和审计团队 | 覆盖每次 baseline/frozen 晋级、生产权限变更、服务账号创建、工作负载上线、特权访问、break-glass、供应商接入和正式审计导出 | | 基线处理活动、个人数据清单与 RoPA 覆盖证据 | 处理活动、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、DPIA、合法基础、AI/数据产品用途、第三方流和发现覆盖 | 隐私治理团队、数据团队、AI 团队、平台团队、第三方风险团队、业务 owner、法务团队和审计团队 | 覆盖每次 baseline/frozen 晋级、新系统/数据产品/AI 产品上线、个人数据发现、供应商接入、跨境传输变化和正式审计导出 | | 基线隐私权利、同意偏好与合法基础执行证据 | 处理目的、合法基础、同意版本、撤回传播、主体权利请求、自动化决策复核、第三方传播、AI/数据产品/营销用途限制和下游处理阻断 | 隐私治理团队、法务团队、数据团队、AI 团队、平台团队、第三方风险团队、业务 owner 和审计团队 | 覆盖每次 baseline/frozen 晋级、处理目的新增、同意文案变更、DSAR/消费者请求、AI/数据产品用途变更、第三方传播和正式审计导出 | | 基线记录留存、法律保全与可防御删除证据 | 记录类别、留存排期、义务来源、司法辖区、legal hold、删除资格、删除传播、备份/日志/向量索引处置、保全解除和可防御删除回执 | 记录治理团队、法务团队、隐私团队、安全团队、数据团队、AI 团队、平台团队、SRE、业务 owner 和审计团队 | 覆盖每次 baseline/frozen 晋级、legal hold 创建/释放、主体删除请求、记录类别新增、数据产品退役、AI trace 策略变更、备份处置和正式审计导出 | | 控制评估证据 | 控制结果、发现项、整改、剩余风险、签署和下次评估日期 | 治理团队和独立评估人 | 覆盖每个基线版本和正式审计周期 | | 基线变更证据 | 版本、前序版本、影响分析、审批、验证命令、回滚和留存复审 | 治理团队和架构组 | 覆盖每次基线升级 | | OSCAL 交换证据 | OSCAL 模型映射、导出摘要、控制目录、评估结果、POA&M 状态和风险登记状态 | 治理团队和安全团队 | 覆盖每次正式审计导出 | | POA&M 整改计划证据 | 发现项、控制项、责任人、整改行动、里程碑、证据、签署和复审 | 治理团队、安全团队和控制 owner | 覆盖每个发现项和正式审计周期 | | 企业架构风险登记证据 | 风险、严重度、可能性、影响、owner、处理策略、关联控制项、关联 POA&M、残余风险和复审 | 治理团队、安全团队和风险 owner | 覆盖每个架构风险和正式审计周期 | | 基线就绪评分卡证据 | 硬门禁、评分维度、权重、证据路径、阻断项、baseline/frozen 阈值和最终判定 | 治理团队、平台团队、安全团队和架构组 | 覆盖每次企业基线晋级、冻结、紧急补丁和季度复核 | | 基线例外总账证据 | 例外来源、受影响资产、owner、到期日、风险接受、POA&M、补偿控制、阻断状态和关闭证据 | 治理团队、控制 owner 和风险 owner | 覆盖每次企业基线晋级、冻结、紧急补丁和季度复核 | | 基线回滚验证证据 | 上一基线、回滚目标 tag/commit、GitOps revision、审计导出恢复、烟测结果和验证时效 | 治理团队、平台团队和 SRE | 覆盖每次企业基线晋级、冻结和紧急补丁 | | 基线 EOL 退役证据 | 生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断 | 治理团队、平台团队、安全团队和审计团队 | 覆盖每次旧基线进入 EOL | | 基线会审裁决证据 | 会审范围、证据核验、投票签署、反对意见、条件动作、风险接受和最终裁决 | 架构组、平台团队、安全团队、数据团队、SRE、审计团队和相关 owner | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | | 基线证据追踪图证据 | 证据节点、依赖边、摘要一致性、下游消费、孤儿证据、断链阻断和审计导出包含状态 | 治理团队、平台团队、安全团队和审计团队 | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | | 基线门禁执行证据 | 门禁命令、runner 镜像、策略包、schema 包、输入摘要、规则结果、退出码、重放结果和最终决策 | 治理团队、平台团队、安全团队和审计团队 | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | | 基线发布事务证据 | 提交前检查、干净工作树、source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证 | 治理团队、平台团队、安全团队、发布工程团队和审计团队 | 覆盖每次企业基线晋级、冻结、紧急补丁、替代和 EOL | | 基线准入执行证据 | 最低基线、支持状态、撤销/EOL、资产符合性声明、例外有效期、策略包、决策日志和入口阻断结果 | 治理团队、平台团队、安全团队、发布工程团队、SRE 和审计团队 | 覆盖每次生产发布、GitOps 晋级、catalog 注册、平台脚手架创建和 runtime admission | | 基线消费锁定证据 | 资产锁定的 baseline ID、source commit、release tag、证据图摘要、制品清单摘要、验证锁摘要、准入策略摘要、签署、过期复核和 rollup 回写 | 资产 owner、治理团队、平台团队、发布工程团队和审计团队 | 覆盖每个 L3 / L4 生产资产、GitOps 晋级、catalog 注册和平台脚手架创建 | | 本地私有制品边界证据 | 本地私有 starter kit、生成 JSON、校验脚本、禁推原因、摘要留存、允许用途、远端排除、审计导出排除和签名 payload 排除 | 治理团队、平台团队、安全团队、发布工程团队和审计团队 | 覆盖每个本地、私有、生成或禁推资产 | | 基线迁移工作单证据 | 目标资产、当前基线、目标基线、迁移步骤、依赖、消费锁更新、GitOps 变更、catalog 回写、验收证据和回滚动作 | 资产 owner、治理团队、平台团队、发布工程团队、SRE 和审计团队 | 覆盖每个从旧基线迁移到目标基线的 L3 / L4 资产 | | 基线迁移执行回执证据 | 实际命令、执行 actor、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志、执行日志摘要和回滚验证 | 资产 owner、治理团队、平台团队、发布工程团队、SRE 和审计团队 | 覆盖每个标记为完成的 L3 / L4 基线迁移 | | 基线撤销隔离证据 | 撤销触发、隔离范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档 | 治理团队、平台团队、安全团队、发布工程团队、SRE 和审计团队 | 覆盖每次企业基线隔离、恢复、撤销和误报关闭 | | 例外证据 | 例外申请、风险接受、到期复审、关闭记录 | 治理团队 | 例外关闭后继续保留一个审计周期 | `governance/evidence/audit-evidence-index.md` 应至少记录: 1. 证据名称和证据类型。 2. 对应系统、领域、数据产品、AI 产品或平台能力。 3. owner、生成时间、保留期限和存储位置。 4. 关联版本、commit、GitOps revision、制品 digest 或模型版本。 5. 审计状态、例外状态和下一次复审日期。 --- ## 11. 架构决策机制 ## 11.1 架构决策记录 重要架构决策必须形成 ADR,即 Architecture Decision Record。每条 ADR 应包含: 1. 背景。 2. 问题。 3. 备选方案。 4. 决策结果。 5. 影响范围。 6. 风险。 7. 后续行动。 8. 决策日期。 9. 决策人。 ## 11.2 架构评审范围 不是所有变更都需要人工架构评审。建议仅对以下事项进行评审: 1. 新增核心领域。 2. 跨多个领域的重大流程变更。 3. 核心数据模型变更。 4. 高风险安全变更。 5. 大规模基础设施变更。 6. 影响多个团队的 API 或事件变更。 7. 重大技术选型。 8. 高成本资源投入。 9. 高风险 AI 产品、Agent 工具或模型供应商接入。 10. 供应链安全门禁、构建器、制品库或签名策略变更。 11. 关键供应商、ICT 服务商、SaaS、云平台、外包方、模型供应商或关键子处理方新增、替换、退出、集中度超阈值或保证报告过期。 ## 11.3 自动化优先原则 凡是可以标准化和自动化检测的规则,不应长期依赖人工评审。架构评审应聚焦于复杂权衡、边界争议和重大风险,而不是格式检查和重复审批。 --- ## 12. 成本治理 ## 12.1 成本治理目标 成本治理不是单纯压缩资源,而是让资源使用与业务价值透明对应。 ## 12.2 成本治理要求 1. 所有资源必须打成本标签。 2. 成本必须能按团队、领域、环境和应用归集。 3. 高成本资源必须有预算和告警。 4. 闲置资源必须自动识别。 5. 测试环境应支持自动休眠或释放。 6. 关键业务应建立成本与业务指标的关联。 7. 平台应提供成本看板。 8. 成本异常必须通知负责人。 9. AI 成本必须按产品、团队、模型、Token、向量检索、推理资源和环境归集。 10. GPU、向量数据库、在线特征存储和高频推理端点必须设置预算、配额和闲置检测。 ## 12.3 FinOps 运行机制 成本治理必须从“月末看账单”升级为“架构设计、平台默认值和运行优化”。 推荐采用 FinOps 的三类动作: 1. Inform:把成本按团队、领域、产品、环境、模型、数据产品和 AI 产品透明归集。 2. Optimize:优化闲置资源、过度配置、重复模型调用、低命中缓存、无效向量索引和低利用 GPU。 3. Operate:把预算、异常、配额、单位成本和业务指标纳入持续运营。 AI 场景需要额外跟踪: 1. cost per AI task。 2. cost per successful task。 3. token cost per product。 4. vector retrieval cost。 5. feature serving cost。 6. GPU utilization。 7. cache hit rate。 8. fallback to human cost。 成本数据建议对齐开放成本字段规范,至少保证 provider、account、service、resource、tag、usage、cost、currency、period 和 owner 可被统一查询。 --- ## 13. 度量指标体系 ## 13.1 业务指标 1. 用户增长。 2. 转化率。 3. 活跃度。 4. 客单价。 5. 订单量。 6. 支付成功率。 7. 履约时效。 8. 客户满意度。 ## 13.2 技术指标 1. 服务可用性。 2. 响应延迟。 3. 错误率。 4. 变更频率。 5. 变更失败率。 6. 平均恢复时间。 7. 部署成功率。 8. 资源利用率。 ## 13.3 数据指标 1. 数据准确性。 2. 数据完整性。 3. 数据及时性。 4. 数据一致性。 5. 数据质量规则通过率。 6. 数据产品使用量。 7. 数据访问审计覆盖率。 8. 指标口径一致性。 ## 13.4 平台指标 1. 自助服务使用率。 2. 服务创建耗时。 3. 环境申请耗时。 4. 发布流水线成功率。 5. 平台可用性。 6. 平台用户满意度。 7. 工单减少率。 8. Golden Path 覆盖率。 9. Time to First Deploy。 10. 自助流程成功率。 11. 团队认知负载评分。 ## 13.5 AI 指标 1. AI 产品采用率。 2. 任务完成率。 3. grounded answer rate。 4. 引用命中率。 5. 幻觉反馈率。 6. Prompt / RAG / Agent 回归通过率。 7. 工具调用成功率。 8. 人工确认率。 9. Token 成本。 10. 单任务成本。 11. 模型路由降级率。 12. 高风险策略拦截率。 13. 风险等级分布。 14. 人工复核通过率。 15. 红队用例通过率。 16. 可回放链路覆盖率。 17. 微调模型线上回退次数。 18. AI 事件平均恢复时间。 19. 高风险工具熔断次数。 ## 13.6 供应链安全指标 1. SBOM 覆盖率。 2. provenance 覆盖率。 3. 签名覆盖率。 4. 部署验签通过率。 5. 漏洞阻断次数。 6. 高危漏洞修复时长。 7. 依赖锁定覆盖率。 8. 未批准基础镜像使用次数。 9. 供应链例外过期数量。 ## 13.7 成本与 FinOps 指标 1. cloud cost per domain。 2. cloud cost per product。 3. AI cost per successful task。 4. GPU utilization。 5. idle resource cost。 6. untagged resource rate。 7. budget variance。 8. cost anomaly count。 9. unit cost per business transaction。 10. forecast accuracy。 ## 13.8 性能、成本与规模检查 现代企业数字化平台必须把性能和成本作为治理对象,而不是上线后再补救。 ### 13.8.1 复杂度与热点 必须检查: 1. 领域 API 是否处在核心请求链路。 2. 跨领域调用是否形成串行长链。 3. 读路径是否需要查询模型、缓存或物化视图。 4. 写路径是否需要事件驱动和最终一致性。 5. 数据产品是否存在全量扫描、重复计算或过度拉取。 6. AI 场景是否存在重复模型调用、高 token 成本或不可控上下文膨胀。 ### 13.8.2 I/O 和外部依赖 以下问题必须显式标记为风险: 1. N+1 API 调用。 2. N+1 数据库查询。 3. 同步调用链过长。 4. 无超时、无重试边界。 5. 无幂等保护。 6. 无背压和限流。 7. 数据管道重复抽取。 8. 无缓存失效策略。 ### 13.8.3 数据与存储 必须检查: 1. 每个领域服务是否拥有清晰的数据写入边界。 2. 查询是否有索引、分页和字段裁剪。 3. 大数据处理是否使用 streaming、chunking 或增量计算。 4. 数据产品是否声明 freshness、quality 和 cost owner。 5. 高价值指标是否有可追溯口径和血缘。 6. RAG 向量索引是否存在重复构建、无权限过滤或无法删除的隐性存储。 7. 在线特征是否存在训练-推理偏斜、延迟失控或无降级路径。 ### 13.8.4 验证指标 性能和成本结论应通过以下指标验证: 1. p95 / p99 latency。 2. throughput。 3. error rate。 4. saturation。 5. queue lag。 6. cache hit rate。 7. data freshness。 8. pipeline cost。 9. model token cost。 10. cloud cost per domain / product / environment。 11. AI task cost。 12. vector search latency。 13. feature serving latency。 14. SBOM and provenance coverage。 --- ## 14. 落地路线图 ## 14.1 第一阶段:现状评估与目标蓝图 目标是识别当前系统、团队、数据和平台能力的真实状态。 主要工作: 1. 盘点业务系统。 2. 盘点核心业务流程。 3. 识别领域边界。 4. 盘点数据资产。 5. 盘点平台能力。 6. 评估交付效率。 7. 评估安全和治理风险。 8. 形成目标架构蓝图。 输出物: 1. 现状架构图。 2. 系统依赖图。 3. 领域候选清单。 4. 数据资产清单。 5. 平台能力成熟度评估。 6. 目标架构蓝图。 7. 优先级路线图。 ## 14.2 第二阶段:选择试点领域 目标是选择一个高价值、边界相对清晰、依赖可控的领域进行试点。 建议优先选择: 1. 订单域。 2. 会员域。 3. 商品域。 4. 支付域。 5. 营销域。 试点范围不宜过大,应聚焦于一个可验证的业务闭环。 输出物: 1. 领域模型。 2. API 契约。 3. 事件契约。 4. 数据产品定义。 5. SLO 指标。 6. 团队责任边界。 7. 试点复盘报告。 ## 14.3 第三阶段:建设内部开发平台 目标是让团队可以通过自助方式完成标准工程动作。 优先建设能力: 1. Developer Portal。 2. 服务模板。 3. CI/CD。 4. 环境管理。 5. 日志和监控。 6. 告警。 7. 权限申请。 8. 安全扫描。 9. 成本看板。 10. SBOM、签名验签和供应链证明。 11. LLM Gateway、RAG 平台和 AI 评估流水线。 12. 容器交付 Golden Path 和 GitOps 环境模板。 输出物: 1. 平台门户。 2. Golden Path。 3. 服务目录。 4. 发布流水线。 5. 可观测性看板。 6. 平台使用手册。 7. 平台运营指标。 8. 供应链安全门禁。 9. AI 平台最小可用能力。 10. 标准 Kubernetes base 和环境级 GitOps overlay。 ## 14.4 第四阶段:数据产品化 目标是将关键领域数据转化为可信数据产品。 主要工作: 1. 建立数据目录。 2. 定义数据产品模板。 3. 建立数据质量规则。 4. 建立指标口径管理。 5. 建立数据血缘。 6. 建立数据权限管理。 7. 发布首批核心数据产品。 8. 建立离线特征、在线特征和向量索引的标准路径。 9. 定义数据产品面向 AI 消费的授权和变更通知机制。 输出物: 1. 数据产品目录。 2. 指标字典。 3. 数据质量看板。 4. 数据血缘图。 5. 权限审批流程。 6. 数据消费指南。 7. 特征产品模板。 8. 向量索引模板。 9. AI 评估数据集模板。 ## 14.5 第五阶段:治理自动化 目标是将治理规则固化到平台和工具链中。 主要工作: 1. API 规范自动校验。 2. 事件 Schema 自动校验。 3. 数据契约自动校验。 4. 安全扫描自动化。 5. 发布准入门禁。 6. 成本标签校验。 7. SLO 监控。 8. 合规审计自动化。 9. AI 发布门禁自动化。 10. SBOM、provenance、签名和验签自动化。 输出物: 1. Policy as Code 规则库。 2. 自动化质量门禁。 3. 安全合规看板。 4. 成本治理看板。 5. 架构治理流程。 6. 审计报告模板。 7. AI 治理门禁。 8. 供应链安全准入策略。 ## 14.6 第六阶段:AI 原生能力试点 目标是在一个低到中等风险场景中验证 AI 原生能力层,而不是一开始把 AI 接入所有关键流程。 建议优先选择: 1. 智能客服辅助。 2. 运营知识问答。 3. 内部研发助手。 4. 风控分析辅助。 5. 销售线索整理。 主要工作: 1. 定义 AI 产品目标、用户、风险等级和退出机制。 2. 接入 LLM Gateway、PromptOps、RAG、评估流水线和 AI Observability。 3. 将数据产品、特征产品、向量索引和领域工具纳入统一契约。 4. 建立提示注入、越权、幻觉、错误引用和成本消耗测试。 5. 灰度上线并持续观察任务完成率、grounded rate、人工确认率和成本。 6. 复盘 AI 产品质量、治理成本和团队认知负载。 输出物: 1. 首个 AI 产品。 2. Prompt 与评估集仓库。 3. RAG 数据源和向量索引。 4. Agent 工具权限清单。 5. AI 可观测性看板。 6. AI 发布复盘报告。 ## 14.7 第七阶段:规模化推广 目标是将试点经验推广到更多业务域和团队。 主要工作: 1. 复制领域产品模式。 2. 扩展平台能力。 3. 扩展数据产品网络。 4. 扩展 AI 原生能力。 5. 建立平台运营机制。 6. 建立团队能力培训机制。 7. 建立持续改进机制。 输出物: 1. 企业级领域地图。 2. 领域产品组合。 3. 数据产品网络。 4. 平台能力地图。 5. 团队能力模型。 6. 成熟度评估报告。 7. AI 产品组合和治理报告。 ## 14.8 最小落地清单 新项目不应一开始把所有目录做满。先从能够建立 owner、contract、catalog、gate 和 runtime baseline 的最小文件开始。 ```text governance/standards/engineering-standard.md governance/ownership/teams.yaml governance/ownership/raci.yaml governance/slo/tiering-policy.md governance/architecture-gates/production-readiness.yaml governance/control-plane/conformance-profile.yaml governance/control-plane/control-plane.yaml governance/control-plane/release-gate-decision.yaml governance/control-plane/standards-baseline.yaml governance/control-plane/version-governance.yaml governance/control-plane/baseline-enforcement-policy.yaml governance/evidence/conformance/baseline-consumption-lock.yaml governance/evidence/baselines/baseline-local-artifact-boundary.yaml governance/evidence/audit-export/audit-export-exclusion-manifest.yaml governance/evidence/baselines/private-artifact-escrow-manifest.yaml governance/evidence/baselines/baseline-clean-room-reconstruction-receipt.yaml governance/evidence/baselines/baseline-evidence-archive-receipt.yaml governance/evidence/baselines/baseline-signature-ltv-receipt.yaml governance/evidence/baselines/baseline-runtime-admission-receipt.yaml governance/evidence/baselines/baseline-runtime-admission-decision-ledger.yaml governance/evidence/baselines/baseline-continuous-control-monitoring-ledger.yaml governance/evidence/baselines/baseline-control-assurance-sampling-ledger.yaml governance/evidence/baselines/baseline-control-inheritance-ledger.yaml governance/evidence/baselines/baseline-data-residency-transfer-ledger.yaml governance/evidence/baselines/baseline-third-party-risk-ledger.yaml governance/evidence/baselines/baseline-operational-resilience-ledger.yaml governance/evidence/baselines/baseline-production-change-release-ledger.yaml governance/evidence/baselines/baseline-incident-problem-corrective-action-ledger.yaml governance/evidence/baselines/baseline-data-product-quality-contract-observability-ledger.yaml governance/evidence/baselines/baseline-engineering-quality-test-release-verification-ledger.yaml governance/evidence/baselines/baseline-workforce-competency-training-duty-segregation-ledger.yaml governance/evidence/baselines/baseline-business-outcome-value-realization-portfolio-ledger.yaml governance/evidence/baselines/baseline-value-stream-journey-process-ledger.yaml governance/evidence/baselines/baseline-architecture-view-runtime-topology-dependency-ledger.yaml governance/evidence/baselines/baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml governance/evidence/baselines/baseline-architecture-principle-constraint-exception-ledger.yaml governance/evidence/baselines/baseline-capacity-performance-cost-efficiency-ledger.yaml governance/evidence/baselines/baseline-threat-model-attack-surface-risk-ledger.yaml governance/evidence/baselines/baseline-service-reliability-slo-error-budget-observability-ledger.yaml governance/evidence/baselines/baseline-backup-restore-disaster-recovery-ledger.yaml governance/evidence/baselines/baseline-regulatory-obligation-ledger.yaml governance/evidence/baselines/baseline-cryptographic-secrets-key-certificate-ledger.yaml governance/evidence/baselines/baseline-asset-criticality-classification-ledger.yaml governance/evidence/baselines/baseline-identity-entitlement-access-ledger.yaml governance/evidence/baselines/baseline-processing-activity-inventory-ledger.yaml governance/evidence/baselines/baseline-privacy-rights-consent-ledger.yaml governance/evidence/migrations/baseline-migration-execution-receipt.yaml governance/evidence/migrations/baseline-migration-work-order.yaml governance/evidence/baselines/README.md governance/evidence/adoption/README.md governance/evidence/support/README.md governance/evidence/release-trains/README.md governance/evidence/conformance/README.md governance/evidence/migrations/README.md governance/migration/deprecation-policy.md governance/evidence/releases/README.md governance/evidence/supply-chain/README.md governance/evidence/exceptions/README.md governance/evidence/compatibility/README.md governance/evidence/drift/README.md contracts/apis/README.md contracts/events/README.md contracts/datasets/README.md contracts/ai/README.md catalog/systems/README.md catalog/components/README.md catalog/ai-products/README.md domains/example/domain.yaml domains/example/services/example-service/service.yaml domains/example/services/example-service/Dockerfile ai/applications/example-ai-product/ai-product.yaml platform/golden-paths/README.md platform/supply-chain/README.md infra/kubernetes/base/services/example-service/kustomization.yaml infra/gitops/environments/dev/example/example-service/kustomization.yaml infra/gitops/environments/prod/example/example-service/kustomization.yaml ``` 最小落地目标: 1. 所有生产服务有 owner。 2. 所有跨域接口有契约。 3. 所有生产组件进入 catalog。 4. 所有关键服务有 SLO 和 runbook。 5. 所有生产发布有回滚路径。 6. 所有数据产品有业务语义、质量规则和访问策略。 7. 所有生产 AI 产品有评估集、工具权限、RAG 来源和可观测性。 8. 所有生产制品有 SBOM、签名和可追溯构建证据。 9. 所有容器化服务有镜像构建定义、GitOps 期望状态和 catalog runtime 指针。 10. 所有 Tier-1 / Tier-2 资产有 RTO、RPO、错误预算、on-call 和灾备演练要求。 11. 所有重大决策有 RACI owner 和必要评审证据。 12. 所有 API、事件、数据产品、AI 产品和平台能力有迁移、弃用和退役规则。 13. 所有生产发布有可追溯的验证包和审计证据索引。 14. 所有生产资产有合规等级画像、控制面记录和门禁决策证据。 15. 所有生产门禁引用的外部标准都有版本锁定、稳定性等级和升级门禁。 16. 所有生产基线都有唯一基线 ID、发布通道、源 commit、release tag、兼容窗口和回滚入口。 17. 所有基线晋级都有发布证据包,能证明不可变引用、漂移复核、审计摘要、验签结果和回滚验证。 18. 所有重大或破坏性基线变更都有兼容性总账,能证明消费者影响、迁移状态、弃用截止和未迁移风险。 19. 所有企业级基线都有采纳总账,能证明目标资产是否已采用、逾期、例外或进入整改。 20. 所有企业级基线都有支持矩阵,能证明支持状态、维护窗口、安全补丁、EOL、最低可接受基线和例外。 21. 所有企业级基线都有发布列车,能证明候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁入口。 22. 所有 L3/L4 资产都有基线符合性声明,能证明资产声明基线、证据路径、例外、签署和采纳总账回写。 23. 所有企业级基线都有制品清单,能证明源文档、schema、示例、控制项、证据模板、脚本、生成物、外部引用、摘要和签名状态。 24. 所有企业级基线都有验证环境锁,能证明 runner、命令、工具版本、策略包、validator、验签工具和生成环境可复现。 25. 所有企业级基线都有通知确认总账,能证明受影响 owner 在冻结前收到通知、完成影响确认,或已有例外、POA&M 或风险接受。 26. 所有企业级基线都有回滚验证记录,能证明上一基线可检出、GitOps revision 可恢复、审计导出可回放、烟测通过且验证未过期。 27. 所有企业级基线都有例外总账,能证明活跃、过期、阻断、条件放行和已关闭例外都有 owner、风险接受、POA&M、补偿控制和关闭证据。 28. 所有企业级基线都有就绪评分卡,能证明硬门禁、评分维度、证据路径、阻断项、baseline/frozen 阈值和最终准入判定。 29. 所有进入 EOL 的旧基线都有退役证书,能证明生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断。 30. 所有企业级基线晋级、冻结、紧急补丁、替代和 EOL 都有会审裁决记录,能证明证据核验、投票签署、反对意见、条件动作和最终裁决。 31. 所有企业级基线都有证据追踪图,能证明关键证据节点、摘要、依赖边、下游消费和断链阻断状态。 32. 所有企业级基线都有门禁执行报告,能证明 release gate 的命令、runner、策略包、输入摘要、规则结果、退出码、重放结果和最终决策一致。 33. 所有企业级基线都有发布事务回执,能证明 source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证一致。 34. 所有企业级基线都有撤销与隔离记录,能证明坏基线能被隔离、阻断新采用、通知受影响 owner、选择恢复目标、完成风险接受并归档审计证据。 35. 所有生产入口都有基线准入执行策略,能证明低于最低基线、撤销/EOL 基线、无资产符合性声明和过期例外会被 release gate、GitOps、catalog、Golden Path 和 runtime admission 阻断。 36. 所有 L3 / L4 生产资产都有基线消费锁定文件,能证明资产锁定的 baseline ID、source commit、release tag 和关键证据摘要与发布证据、catalog、GitOps 和采纳总账一致。 37. 所有从旧基线迁移到目标基线的 L3 / L4 生产资产都有基线迁移工作单,能证明迁移步骤、依赖、消费锁更新、GitOps 变更、验收证据和回滚动作闭环。 38. 所有完成迁移的 L3 / L4 生产资产都有基线迁移执行回执,能证明实际命令、执行 actor、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证闭环。 39. 所有本地、私有、生成或禁推资产都有本地私有制品边界,能证明资产分类、禁推原因、摘要留存、允许用途、远端排除、审计导出排除和签名 payload 排除闭环。 40. 所有正式审计导出都有排除清单,能证明原文白名单、摘要留存项、强制排除项、签名 payload 排除项和导出后验证闭环。 41. 所有本地、私有、生成或禁推可执行资产都有私有制品托管交接清单,能证明私有库引用、访问角色、留存期限、取回命令、恢复验证和摘要一致性闭环。 42. 所有 baseline、frozen 晋级和正式审计导出都有干净环境基线重建回执,能证明远端 checkout、私有制品取回、审计导出重建、门禁重放和禁推资产复核闭环。 43. 所有 baseline、frozen 晋级、正式审计导出、撤销关闭和 EOL 归档都有基线证据不可变归档回执,能证明关键证据已进入不可变留存库、具备对象锁、legal hold、访问日志、防删除和恢复演练闭环。 44. 所有 baseline、frozen 晋级、正式审计导出、撤销关闭和 EOL 归档都有基线长期验签回执,能证明签名材料在证书过期、透明日志生命周期变化和验签工具升级后仍可独立验证。 45. 所有 L3 / L4 生产入口都有基线运行时准入回执,能证明 Kubernetes admission、策略引擎、镜像 digest、签名/provenance/SBOM、消费锁、撤销/EOL 阻断、过期例外阻断和拒绝样例闭环。 46. 所有 L3 / L4 生产入口都有基线运行时准入决策总账,能证明 allow/deny 决策具备 requestUID、actor、策略规则、原始日志摘要和不可变留存引用。 47. 所有 L3 / L4 生产入口都有基线连续控制监测总账,能证明关键控制发布后仍有指标、告警、owner、runbook、处置工单和新鲜证据。 48. 所有 L3 / L4 企业级基线都有基线独立控制保证抽样总账,能证明 critical 控制由独立评估人按可复现样本完成设计有效性、运行有效性、发现项关闭或风险接受和 OSCAL Assessment Results 输出。 49. 所有 L3 / L4 企业级基线都有基线共享责任与继承控制总账,能证明 inherited、shared、provider-managed、domain-owned 和 consumer-owned 控制责任不会互相覆盖。 50. 所有 L3 / L4 企业级基线都有基线数据驻留与跨境处理总账,能证明数据实际处理区域、跨境传输机制、子处理方、模型供应商区域和删除传播不会旁路隐私影响评估。 51. 所有 L3 / L4 企业级基线都有基线第三方与关键供应商风险总账,能证明关键供应商、SaaS、云平台、ICT 服务商、模型供应商、外包方和子处理方具备合同控制、审计权、保证报告、集中度、退出计划、替代路径和连续性证据。 52. 所有 L3 / L4 企业级基线都有基线运营韧性与重要业务服务影响容忍总账,能证明重要业务服务、影响容忍、BIA、端到端依赖、场景测试、恢复能力、人工替代、沟通计划、第三方和 AI 依赖以及超限升级证据。 53. 所有 L3 / L4 企业级基线都有基线监管与合规义务可追溯总账,能证明适用义务源、控制目标、控制项、证据、owner、监管变更、例外和 POA&M 已经闭合。 54. 所有 L3 / L4 企业级基线都有基线密码材料、密钥、证书与秘密生命周期总账,能证明 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、轮换、过期、吊销、泄露响应和访问边界已经闭合。 55. 所有 L3 / L4 企业级基线都有基线资产关键性、数据分类与风险分级总账,能证明资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露、第三方关键性和复核状态已经闭合。 56. 所有 L3 / L4 企业级基线都有基线身份权限、特权访问与工作负载身份总账,能证明人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、孤儿账号、过期权限和运行时身份绑定已经闭合。 57. 所有 L3 / L4 企业级基线都有基线处理活动、个人数据清单与 RoPA 覆盖总账,能证明处理活动、数据主体类别、个人数据类别、控制者/处理者角色、接收方、跨境传输、保留映射、DPIA、合法基础、AI/数据产品用途和发现覆盖已经闭合。 58. 所有 L3 / L4 企业级基线都有基线隐私权利请求、同意偏好与合法基础执行总账,能证明处理目的合法基础、同意偏好、撤回传播、主体权利请求、自动化决策复核、第三方传播和下游处理阻断已经闭合。 59. 所有 L3 / L4 企业级基线都有基线记录留存、法律保全与可防御删除总账,能证明记录类别、留存排期、义务来源、legal hold、删除资格、删除传播、备份/日志/向量索引处置和可防御删除回执已经闭合。 60. 所有 L3 / L4 企业级基线都有基线人员能力、培训、职责履职与职责分离总账,能证明关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、职责分离、冲突角色、代理授权、备份人员和到期复核已经闭合。 61. 所有 L3 / L4 企业级基线都有基线业务结果、价值实现与组合收益总账,能证明业务目标、价值假设、收益 owner、关键结果、前后基线、采用证据、收益实现、成本效率和停投/加投决策已经闭合。 62. 所有 L3 / L4 企业级基线都有基线价值流、关键旅程与端到端流程总账,能证明价值流、旅程 owner、BPMN/流程模型、步骤级遥测、跨域交接、瓶颈、异常、人工兜底和改进动作已经闭合。 63. 所有 L3 / L4 企业级基线都有基线架构视图、运行拓扑与依赖影响总账,能证明架构视图、catalog、GitOps、运行遥测、声明依赖、观测依赖、blast radius、变更影响和依赖漂移已经闭合。 64. 所有 L3 / L4 企业级基线都有基线质量属性、架构驱动与权衡决策总账,能证明业务驱动、质量属性场景、响应度量、架构驱动、敏感点、权衡点、ADR、适配度函数和验证证据已经闭合。 65. 所有 L3 / L4 企业级基线都有基线架构原则、约束、反模式与例外执行总账,能证明强制原则、owner、适用范围、可检测约束、禁止项、反模式、违反处置、例外审批、风险接受和复核周期已经闭合。 66. 所有企业级基线都有基线版本策略、发布通道、兼容性与冻结控制总账,能证明版本号语义、发布通道、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销和 EOL 阻断已经闭合。 67. 所有生产 AI 系统都有基线 AI 系统监管分类与影响评估总账,能证明系统用途、部署角色、适用法规、风险分类、人工监督、日志留存、技术文档、透明度、后市场监测、供应商责任和合规缺口已经闭合。 --- ## 15. 风险与应对策略 | 风险 | 表现 | 应对策略 | | -------- | -------------- | ------------------ | | 平台集中化 | 平台团队重新变成需求承接中心 | 明确平台只做自助能力,不接管业务逻辑 | | 领域边界不清 | 服务拆分过细或过粗 | 通过领域建模和业务流程分析逐步校准 | | 数据产品无人负责 | 数据目录有了,但质量无人管 | 将数据产品责任纳入领域团队职责 | | 治理过重 | 审批流程拖慢交付 | 优先自动化治理,减少人工审批 | | 平台不好用 | 团队绕过平台自己搭工具 | 将平台作为产品运营,持续收集反馈 | | 指标形式化 | SLO 和业务指标只做展示 | 将指标纳入团队复盘和改进机制 | | 技术先行 | 只建设工具,不改变责任模式 | 架构、组织、流程和度量同步推进 | | 迁移成本过高 | 老系统复杂,难以一次性重构 | 采用渐进式迁移和绞杀者模式 | | AI 黑盒化 | Prompt、模型和工具调用不可追溯 | 建立 AI 产品契约、评估集、审计和回放 | | AI 旁路领域边界 | Agent 直接访问数据库或内部实现 | 只允许调用注册工具、领域 API 和受控工作流 | | 训练-推理偏斜 | 离线训练和在线推理使用不同口径 | 建立离线/在线特征统一定义和漂移监控 | | 供应链证据缺失 | 制品无法证明来源和依赖 | 强制 SBOM、provenance、签名和验签 | | 平台认知负载过高 | 平台功能多但团队不会用 | Platform PM 运营用户旅程和 Golden Path | | 人员职责履职空心化 | RACI、owner 和审批人存在,但培训过期、职责未确认、审批执行未分离或代理授权失效 | 用基线人员能力、培训、职责履职与职责分离总账绑定任命、培训、专项资格、on-call、授权、职责分离、冲突角色、代理授权和备份人员 | | 价值实现空心化 | 架构治理证明了交付、合规和控制,但没有业务目标、收益 owner、关键结果、收益复核或停投/加投决策 | 用基线业务结果、价值实现与组合收益总账绑定业务目标、价值假设、收益 owner、前后基线、采用证据、单位经济和组合决策 | | 端到端流程空心化 | 业务结果、服务 SLO 和流程图各自存在,但客户旅程、跨域交接、步骤遥测、瓶颈和人工兜底无法串成证据链 | 用基线价值流、关键旅程与端到端流程总账绑定流程 owner、模型、步骤遥测、跨域交接、异常、人工兜底和改进动作 | | 架构拓扑空心化 | 架构图、catalog、GitOps 和运行遥测各自存在,但声明依赖、观测依赖、部署拓扑、关键路径和 blast radius 无法串成同一证据链 | 用基线架构视图、运行拓扑与依赖影响总账绑定架构视图、运行拓扑、声明依赖、观测依赖、GitOps 指针、owner、变更影响和漂移处置 | | 架构质量属性空心化 | 架构图、SLO、压测、ADR 和安全测试各自存在,但业务驱动、质量场景、响应度量、敏感点、权衡点和验证证据无法串成设计取舍证据链 | 用基线质量属性、架构驱动与权衡决策总账绑定业务驱动、质量属性场景、响应指标、架构驱动、敏感点、权衡点、ADR、适配度函数和复核证据 | | 架构原则执行空心化 | 架构原则、约束和反模式写在正文或评审里,但没有 owner、检测规则、门禁入口、违反处置和例外到期控制 | 用基线架构原则、约束、反模式与例外执行总账绑定原则、强制约束、禁止项、反模式、策略门禁、例外、风险接受和复核证据 | | 版本策略空心化 | 版本号、发布通道、tag、兼容窗口、冻结规则和紧急补丁分散在不同记录里,无法证明版本升级、撤销和消费锁定是同一发布事实 | 用基线版本策略、发布通道、兼容性与冻结控制总账绑定 SemVer 语义、Conventional Commit 分类、签名 tag、消费锁、迁移窗口、冻结阻断、紧急补丁复盘、撤销隔离和 EOL 阻断证据 | | 容器真相源混乱 | 服务目录、部署目录、catalog 和运行状态互相覆盖 | 按源码、镜像、GitOps、Kubernetes、catalog、platform 分层管理 | | 门禁口径漂移 | 不同团队对同一风险使用不同放行规则,例外长期不过期 | 用合规等级、控制面总账和门禁决策记录统一 pass、fail、exception 和 break-glass 口径 | | 外部标准漂移 | 生产门禁直接追随 latest,实验性规范变化导致证据格式和 CI 结果不稳定 | 锁定标准版本、标记稳定性、分级采纳,并通过 ADR 和灰度升级 | | 版本基线漂移 | 文档版本、tag、状态机、审计导出、控制清单和发布证据互相对不上 | 用版本控制面、基线版本策略总账、生命周期状态机和状态对账报告绑定 baseline ID、source commit、release tag、允许迁移、兼容窗口、状态回写和回滚入口 | | 基线晋级证据缺失 | candidate、baseline 和 frozen 状态切换只有口头结论,没有不可变引用、漂移复核和回滚验证 | 用基线发布证据包记录晋级决策、签名验签、审计摘要、漂移检查和回滚证明 | | 消费者迁移失控 | breaking change 已经发布,但消费者清单、迁移到期、例外和风险接受没有统一总账 | 用基线兼容性总账聚合契约影响、消费者迁移、未迁移阻断和 POA&M | | 基线采纳失控 | 企业标准发布了,但领域、平台、数据、AI 和生产资产仍停留在旧基线或采纳状态不可见 | 用基线采纳总账跟踪采用范围、当前基线、目标基线、截止日期、例外和整改 | | 旧基线长期滞留 | 旧基线没有维护窗口和 EOL,L3/L4 资产长期停留在过期版本 | 用基线支持矩阵声明支持状态、最低可接受基线、安全补丁窗口、迁移目标和 EOL 阻断 | | EOL 退役空心化 | 支持矩阵把旧基线标记为 EOL,但 catalog、GitOps、runtime 或资产声明仍在生产引用 | 用基线 EOL 退役证书证明生产引用清零、迁移关闭、例外清零、审计归档和新采用阻断 | | 基线发布失控 | 版本升级靠临时会议推进,冻结期仍合入语义变更,消费者通知滞后 | 用基线发布列车约束候选窗口、冻结窗口、晋级日期、黑窗、通知节奏和紧急补丁入口 | | 采纳证据空心化 | 中央采纳总账显示已采用,但资产仓库没有自己的基线声明和证据路径 | 用基线符合性声明要求资产自声明基线、证据、例外、签署和 rollup 回写 | | 基线物料不完整 | 签名和审计导出只覆盖部分文件,源 schema、示例或控制项漏入漏出 | 用基线制品清单记录源制品、摘要、必需性、导出关系和未登记制品阻断 | | 验证环境漂移 | 同一基线在不同 runner、validator 或策略包下得到不同门禁结果 | 用基线验证环境锁固定命令、工具版本、runner 镜像、策略包摘要和验签工具 | | 通知确认缺失 | 发布列车写了通知节奏,但关键 owner 没有确认影响,异议也没有进入例外或风险接受 | 用基线通知确认总账记录对象、送达、确认、异议、补发、例外和冻结前阻断 | | 回滚验证空心化 | 文档有回滚字段,但上一基线不可检出、GitOps revision 不存在或审计导出无法恢复 | 用基线回滚验证记录绑定上一基线、回滚目标、GitOps revision、审计导出恢复、烟测结果和验证时效 | | 例外放行失控 | 例外散落在兼容、采纳、通知、支持、门禁和风险记录里,过期或阻断后仍被发布放行 | 用基线例外总账聚合来源、到期、风险接受、POA&M、补偿控制、关闭证据和冻结阻断 | | 基线就绪误判 | 局部证据都存在,但没有统一评分和硬门禁,导致未就绪基线被平均分或人工口头判断放行 | 用基线就绪评分卡绑定硬门禁、评分维度、阈值、证据路径、阻断项和最终准入判定 | | 会审裁决空心化 | 评分卡和发布证据都通过,但关键 owner 没有正式投票、反对意见未关闭或条件放行没有到期动作 | 用基线会审裁决记录绑定会审范围、证据核验、投票签署、反对意见、条件动作和最终裁决 | | 证据链断裂 | 单个证据文件都存在,但摘要互相引用旧值、关键证据没有被 release gate 消费或审计导出缺少追踪图 | 用基线证据追踪图绑定证据节点、依赖边、摘要一致性、下游消费和断链阻断 | | 门禁伪执行 | release gate 写了 pass,但实际命令、策略包、输入摘要、规则结果、退出码或重放记录缺失 | 用基线门禁执行报告绑定执行命令、runner、策略包、schema 包、输入摘要、逐条规则结果、退出码、重放结果和最终决策 | | 门禁快乐路径空心化 | release gate、starter gate、审计导出或 runtime admission 只证明好样例通过,没有证明坏样例、过期证据、摘要漂移、签名缺失或例外过期会被拒绝 | 用基线门禁负例测试套件绑定负例 fixture、故障注入、预期失败规则、实际拒绝结果、失败日志摘要、复测命令和回归 owner | | AI 合规分类空心化 | AI 产品只有内部风险等级、模型卡或评估集,但无法证明适用法规、部署角色、高风险判断、人工监督、日志、技术文档、后市场监测和供应商责任已经闭合 | 用基线 AI 系统监管分类与影响评估总账绑定 AI 系统用途、监管分类、DPIA、监管义务、风险登记、供应商保证、会审裁决和 release gate 阻断 | | 发布事务空心化 | 文档声明基线已发布,但远端 ref、签名 tag、push 回执、保护规则或禁推资产排除没有证据 | 用基线发布事务回执绑定 source commit、签名 tag、远端 ref、push 回执、保护规则、禁推资产排除和发布后验证 | | 撤销隔离缺失 | 已发布基线发现签名泄露、远端保护漂移、证据污染或错误 tag 后,没有隔离状态、受影响引用、通知和恢复目标 | 用基线撤销与隔离记录绑定触发、隔离范围、通知确认、阻断新采用、恢复目标、风险接受和审计归档 | | 准入策略断层 | 支持矩阵、采纳总账、符合性声明和撤销记录都存在,但 GitOps、catalog、Golden Path 或 runtime admission 仍允许低基线、EOL 或撤销基线进入生产 | 用基线准入执行策略统一最低基线、支持状态、撤销/EOL、资产声明、例外到期、策略包和决策日志,并把阻断结果回写 release gate | | 运行时准入空心化 | release gate 通过,但生产集群 admission 未启用、策略处于 audit-only、未签名镜像或撤销基线仍能被创建 | 用基线运行时准入回执绑定 admission controller、策略 bundle、镜像证明、消费锁、拒绝样例、决策日志和 runtime bypass 发现 | | 准入决策不可追溯 | 运行时准入回执存在,但每次 allow/deny 找不到 requestUID、actor、策略规则或原始日志摘要 | 用基线运行时准入决策总账绑定 Kubernetes audit、admission webhook、PolicyReport、OPA decision log、原始日志摘要和不可变留存引用 | | 控制持续性失明 | 发布时控制通过,但后续监测缺失、告警无路由、漂移无人处理或证据过期 | 用基线连续控制监测总账绑定指标、日志源、告警规则、owner、runbook、漂移工单、MTTD/MTTR 和证据新鲜度 | | 控制自证偏差 | 平台或控制执行 owner 同时生成证据并声明控制有效,缺少独立评估人、可复现样本和运行有效性测试 | 用基线独立控制保证抽样总账绑定独立评估人、控制总体、抽样计划、设计有效性、运行有效性、发现项、POA&M、风险接受和 OSCAL Assessment Results | | 证据采信失控 | release gate 或会审只检查证据文件存在,把人工截图、过期报告、不可重放脚本输出或平台自证当成高风险生产放行证据,或证据保证等级没有被制品清单、starter gate 和审计导出消费 | 用基线证据保证等级声明 E0-E4、采信状态、来源独立性、完整性、新鲜度和可重放要求,并要求晋级矩阵、制品清单、starter gate、会审裁决和审计导出按 gate 最低等级阻断不可采信证据 | | 继承控制责任漂移 | 平台公共控制、云/第三方控制或共享控制被资产口头继承,消费者义务缺失,继承证据过期后仍放行 | 用基线共享责任与继承控制总账绑定控制承担方、继承方、消费者义务、继承条件、有效期、失效条件、例外和审计映射 | | 数据驻留事实漂移 | 隐私影响评估通过,但实际备份、日志、RAG 索引、模型供应商或人工支持访问落在未批准区域,跨境传输机制和子处理方证据缺失 | 用基线数据驻留与跨境处理总账绑定数据类别、实际区域、传输机制、子处理方、补充保护措施、删除传播和区域漂移阻断 | | 第三方供应商风险失控 | 关键供应商、SaaS、云平台、ICT 服务商、模型供应商、外包方或子处理方未分级,合同控制、审计权、保证报告、集中度、退出计划、替代路径和事件状态不可证明 | 用基线第三方与关键供应商风险总账绑定供应商关键性、服务范围、合同/DPA/SLA、审计权、保证报告、数据类别、集中度阈值、退出演练、替代路径、供应商事件和 POA&M 阻断 | | 运营韧性空心化 | 系统有 SLO、RTO/RPO 和恢复演练,但重要业务服务、影响容忍、BIA、端到端依赖、严重但合理场景和超限升级不可证明 | 用基线运营韧性与重要业务服务影响容忍总账绑定业务服务、影响容忍、依赖图、场景测试、恢复结果、人工替代、沟通计划、第三方/AI 依赖和韧性缺口阻断 | | 监管义务追溯断层 | 控制面、证据映射和审计导出都存在,但无法说明每个控制覆盖哪些适用法规、监管规则、合同义务或内部政策 | 用基线监管与合规义务可追溯总账绑定义务源、适用范围、控制目标、控制项、证据路径、owner、监管变更、例外和 POA&M 阻断 | | 密码材料生命周期断层 | Secret 扫描、KMS、HSM、证书平台、CI 签名、Vault 和应用配置各自存在,但无法证明密钥、证书、token、凭据、轮换、过期、吊销和泄露响应一致受控 | 用基线密码材料、密钥、证书与秘密生命周期总账绑定 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、托管位置、算法强度、轮换、过期、吊销、泄露响应和访问边界 | | 资产分级证据断层 | catalog、CMDB、conformance profile、风险登记、数据目录和 AI 产品目录各自存在,但无法证明资产 owner、CIA 影响、数据分类和 L3/L4 门禁等级一致 | 用基线资产关键性、数据分类与风险分级总账绑定资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、监管暴露、AI 风险、互联网暴露、第三方关键性和复核状态 | | 身份权限证据断层 | IAM、IdP、PAM、Kubernetes RBAC、Cloud IAM 和访问复核各自存在,但无法证明生产身份权限、工作负载身份和准入策略一致 | 用基线身份权限、特权访问与工作负载身份总账绑定身份、角色、JML、MFA、PAM/JIT、break-glass、服务账号、工作负载身份、孤儿账号和过期权限阻断 | | 处理活动覆盖缺口 | RoPA、数据目录、CMDB、DPIA、数据产品、AI 产品和第三方流分散维护,无法证明所有个人数据处理活动都已入账 | 用基线处理活动、个人数据清单与 RoPA 覆盖总账绑定处理活动、数据主体、个人数据类别、接收方、跨境传输、保留、合法基础、DPIA、owner 和发现覆盖 | | 隐私权利与同意执行断层 | DPIA、同意系统、DSAR 工单、数据产品、AI 产品和第三方传播各自存在,但无法证明处理目的合法基础、同意撤回、权利请求 SLA 和下游处理阻断已经一致执行 | 用基线隐私权利请求、同意偏好与合法基础执行总账绑定处理目的、合法基础、同意版本、撤回传播、主体权利请求、自动化决策复核、第三方传播和下游处理阻断 | | 记录留存与删除冲突 | 隐私删除、监管留存、法律保全、备份生命周期、AI trace 和向量索引处置各自成立,但没有统一裁决和删除回执 | 用基线记录留存、法律保全与可防御删除总账绑定记录类别、留存排期、legal hold、删除资格、删除传播、备份/日志/向量索引处置和可防御删除回执阻断 | | 消费锁缺失 | 资产只声明 `V2.x` 或某个自然语言版本,未锁定 baseline ID、source commit、release tag 和关键证据摘要,导致审计无法证明实际消费的是哪条基线 | 用基线消费锁定文件在资产仓库本地固定不可变引用,并由准入策略、状态对账、证据追踪图、catalog、GitOps 和采纳总账共同校验 | | 迁移工单空心化 | 采纳总账显示要迁移或已迁移,但没有逐资产执行步骤、消费锁更新、GitOps 变更、验收证据和回滚动作 | 用基线迁移工作单驱动迁移执行,并要求 release gate、状态对账、证据追踪图和采纳总账共同校验完成状态 | | 迁移回执空心化 | 迁移工作单显示 completed,但没有实际命令、actor、before/after 摘要、GitOps revision、catalog/lock diff、验收日志或回滚验证 | 用基线迁移执行回执证明真实执行事实,并由准入策略、门禁执行报告、状态对账、证据追踪图和审计导出共同校验 | | 本地私有制品边界不清 | starter kit、生成 JSON 或本地校验脚本被禁推后,审计无法判断是漏提交、误删还是受控私有制品 | 用本地私有制品边界声明分类、禁推原因、摘要策略、允许用途、远端排除、审计导出排除和签名 payload 排除,并由发布事务、状态对账和证据追踪图共同校验 | | 审计导出误含私有原文 | 本地私有制品边界存在,但审计导出包、OSCAL 摘要或签名 payload 仍误含本地私有 starter kit、生成 JSON 或本地脚本原文 | 用审计导出排除清单声明原文白名单、摘要留存、强制排除和签名 payload 排除,并由完整性清单、provenance、签名策略和验签回执共同校验 | | 私有制品无法取回 | 禁推资产没有进入私有制品库或缺少不可变引用,只存在个人工作区、本地缓存或一次性生成目录中 | 用私有制品托管交接清单绑定私有 registry / 制品库引用、访问角色、留存期限、取回命令、恢复验证和摘要一致性,并由门禁执行和状态对账共同校验 | | 基线无法干净重建 | 文档、审计导出或门禁只在作者本机成立,新 runner 缺少本地生成物、私有脚本或临时缓存后无法复现 | 用干净环境基线重建回执证明远端 checkout、私有制品恢复、摘要校验、审计导出重建、门禁重放和禁推资产复核都能在空 runner 中通过 | | 证据留存不可证明 | 审计导出、签名回执、发布证据或重建回执只存在于 CI 临时目录、普通对象桶或可改写归档中,审计期无法证明未被删除或篡改 | 用基线证据不可变归档回执绑定不可变存储引用、WORM/对象锁、legal hold、访问日志、删除保护、归档摘要和恢复演练 | | 长期验签不可证明 | 当前验签通过,但证书链、透明日志 proof、签名时间戳、撤销状态或验签工具版本没有归档,几年后无法证明签名发生在有效期内 | 用基线长期验签回执绑定签名 bundle、证书链、OIDC issuer、透明日志、signed entry timestamp、RFC3161 TSA、撤销状态、工具版本和不可变归档引用 | --- ## 16. 成熟度模型 | 等级 | 特征 | | ------- | ------------------------ | | L1 初始级 | 系统烟囱化,交付依赖人工,数据分散,治理靠审批 | | L2 规范级 | 建立基础规范,部分系统服务化,开始统一发布和监控 | | L3 平台级 | 建立内部开发平台,常见工程动作可以自助完成,供应链证据和基础门禁开始自动生成 | | L4 产品级 | 领域能力、数据能力和首批 AI 能力产品化,控制面能按资产等级阻断或放行发布 | | L5 自适应级 | 平台、治理、数据、AI、供应链和组织形成持续演进机制,门禁决策、例外、POA&M 和季度复核可闭环 | --- ## 17. 目标状态 本架构最终希望形成以下状态: 1. 业务团队能够快速验证和交付客户价值。 2. 领域能力可以被多个业务场景稳定复用。 3. 数据产品可信、可发现、可消费。 4. 平台能力自助化,减少工单和人工依赖。 5. 治理规则自动化执行,减少低价值审批。 6. 系统运行状态透明,问题可快速定位和恢复。 7. 成本、质量、安全和效率可度量。 8. 架构可以持续演进,而不是依赖一次性大重构。 9. AI 产品可评估、可审计、可回放、可降级,并受到领域边界约束。 10. 生产制品具备 SBOM、签名、provenance 和可验证发布准入。 11. 任意生产发布都能追溯到合规等级、控制项、门禁决策、例外状态和审计证据。 12. 任意外部标准升级都能追溯到版本锁定、影响分析、灰度验证、ADR 和回滚路径。 13. 任意架构基线都能追溯到唯一 baseline ID、source commit、release tag、版本证据包和上一基线回滚入口。 14. 任意基线晋级都能证明不可变引用、漂移复核、开放关键发现、审计导出摘要、验签结果和回滚验证。 15. 任意重大或破坏性基线变更都能证明消费者影响、迁移状态、例外、POA&M、风险接受和弃用截止。 16. 任意企业级基线都能证明组织采纳范围、目标资产采用状态、逾期整改、例外和风险接受。 17. 任意历史基线都能证明支持状态、维护截止、安全补丁截止、EOL、最低可接受基线和迁移目标。 18. 任意企业级基线都能证明所属发布列车、候选窗口、冻结窗口、晋级日期、通知节奏、黑窗和紧急补丁入口。 19. 任意 L3/L4 资产都能证明自己的基线符合性声明、证据路径、签署状态、例外状态和采纳总账回写。 20. 任意企业级基线都能证明自己的源制品全集、摘要、签名状态、导出关系和禁推资产排除状态。 21. 任意企业级基线都能证明自己的验证环境、命令、工具链、策略包、validator 和验签工具没有漂移。 22. 任意企业级基线都能证明受影响 owner 的通知、送达、确认、异议、例外和冻结前完成状态。 23. 任意企业级基线都能证明上一基线可检出、GitOps revision 可恢复、审计导出可回放、烟测通过且验证未过期。 24. 任意企业级基线都能证明所有例外已进入统一总账,且没有过期、无 owner、无风险接受或未关闭的阻断例外。 25. 任意企业级基线都能证明自己的最终就绪评分、硬门禁、阻断项和 baseline/frozen 晋级判定。 26. 任意企业级基线都能证明自己的状态来自生命周期状态机,且每次状态迁移都有允许路径、审批责任、证据引用、状态回写和禁止迁移校验。 27. 任意企业级基线都能证明状态机、版本控制面、发布证据、支持矩阵、采纳总账、符合性声明和审计导出中的状态字段已经完成一致性对账。 28. 任意 EOL 基线都能证明生产引用清零、迁移关闭、例外清零、证据归档和新采用阻断已经完成。 29. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明会审范围、证据核验、投票签署、反对意见、条件动作和最终裁决已经闭环。 30. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明证据追踪图闭合,且没有缺失节点、摘要不一致、断边、孤儿证据或下游旧引用。 31. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明门禁执行报告可重放,且执行命令、runner、策略包、输入摘要、规则结果、退出码和最终决策一致。 32. 任意基线晋级、冻结、紧急补丁、替代和 EOL 都能证明发布事务已经完成,且 source commit、签名 tag、远端 ref、push 回执、保护规则和发布后验证一致。 33. 任意基线隔离、恢复、撤销和误报关闭都能证明触发原因、影响范围、受影响引用、通知确认、恢复目标、风险接受、状态回写和审计归档一致。 34. 任意生产准入决策都能证明最低可接受基线、支持状态、撤销/EOL 状态、资产符合性声明、例外有效期、策略包摘要、决策日志和入口阻断结果一致。 35. 任意 L3 / L4 生产资产都能证明自己没有使用浮动基线声明,而是通过 `baseline-consumption-lock.yaml` 锁定 baseline ID、source commit、release tag、关键证据摘要、签署状态、过期复核和 rollup 回写。 36. 任意从旧基线迁移到目标基线的 L3 / L4 生产资产都能证明迁移工作单已完成,且消费锁、GitOps overlay、catalog runtime 指针、验收证据和回滚动作指向同一目标基线。 37. 任意标记为完成的 L3 / L4 基线迁移都能证明执行回执已接受,且实际命令、actor、执行环境、before/after 摘要、GitOps revision、catalog/lock diff、验收日志和回滚验证指向同一目标基线。 38. 任意本地、私有、生成或禁推资产都能证明不是漏提交或误删,而是有 owner、禁推原因、摘要策略、允许用途、远端排除、审计导出排除和签名 payload 排除的受控资产。 39. 任意审计导出包和签名 payload 都能证明本地私有资产原文已经被排除,只保留摘要、边界引用和必要的审计说明。 40. 任意本地、私有、生成或禁推可执行资产都能证明已经进入私有制品托管,可按不可变摘要取回并恢复到与边界证据一致的状态。 41. 任意企业基线都能从干净 runner 重建,且重建后的审计导出摘要、门禁重放结果和禁推资产复核与发布证据一致。 42. 任意企业基线的关键证据都能证明进入不可变留存库,具备 WORM/对象锁、legal hold、访问日志、删除保护、归档摘要和恢复演练结果。 43. 任意企业基线的签名材料都能证明长期可验,具备签名 bundle、证书链、透明日志 proof、signed entry timestamp、RFC3161 TSA、撤销状态、验签工具锁定和不可变归档引用。 44. 任意 L3 / L4 生产入口都能证明运行时准入真实生效,具备 admission controller、策略 bundle、镜像 digest、签名/provenance/SBOM、消费锁、拒绝样例、决策日志和 runtime bypass 发现闭环。 45. 任意 L3 / L4 生产入口都能证明准入决策逐条可追溯,具备 requestUID、actor、namespace、workload、策略规则、allow/deny、原始日志摘要和不可变留存引用。 46. 任意 L3 / L4 生产入口都能证明关键控制持续被监测,具备控制覆盖、指标、告警、owner、runbook、漂移处置和证据新鲜度闭环。 47. 任意 L3 / L4 企业级基线都能证明关键控制已经被独立抽样复核,具备评估人独立性、控制总体、抽样方法、设计有效性、运行有效性、发现项关闭或风险接受和 OSCAL Assessment Results 输出闭环。 V2.95 补充目标:任意 baseline、frozen、正式审计导出和 L3 / L4 生产准入都能证明关键证据达到最低保证等级,且没有过期、不可重放、无完整性证明、无来源独立性或不可采信的主证据。 V2.96 补充目标:任意证据保证等级结论都必须被基线晋级矩阵、制品清单、starter gate、会审裁决、审计导出和状态迁移阻断路径消费,且不存在孤儿证据等级、未消费采信状态或与发布证据摘要不一致的保证等级记录。 V2.97 补充目标:任意 critical gate 都必须具备正例通过和负例拒绝两类证明;如果坏 fixture 被放行、预期失败没有触发、失败日志不可追溯或负例套件未被会审和审计导出消费,baseline/frozen 晋级必须被阻断。 V2.98 补充目标:任意生产 AI 系统都必须完成 AI 系统监管分类与影响评估;如果适用法规未知、高风险分类未知、人工监督缺失、日志或技术文档缺失、后市场监测缺失、供应商责任不清或合规缺口未关闭,baseline/frozen 晋级必须被阻断。 48. 任意 L3 / L4 企业级基线都能证明共享控制和继承控制具备明确责任边界,且继承条件、消费者义务、证据有效期、失效阻断、例外和审计映射已经闭环。 49. 任意 L3 / L4 企业级基线都能证明数据驻留和跨境处理具备事实级证据,且存储、处理、备份、日志、向量索引、模型供应商、人工支持访问、子处理方和删除传播没有未批准漂移。 50. 任意 L3 / L4 企业级基线都能证明关键供应商和 ICT / SaaS / 云 / 模型 / 外包 / 子处理方依赖具备合同控制、审计权、保证报告、退出计划、替代路径、集中度阈值、连续性和供应商事件阻断闭环。 51. 任意 L3 / L4 企业级基线都能证明重要业务服务已经识别,影响容忍已经批准,BIA、端到端依赖、场景测试、恢复能力、人工替代、沟通计划、第三方/AI 依赖和超限升级已经闭环。 52. 任意 L3 / L4 企业级基线都能证明适用监管、合同、标准和内部政策义务已经识别,强制义务已经映射到控制目标、控制项、证据路径、owner、监管变更和 POA&M,且无未映射强制义务。 53. 任意 L3 / L4 企业级基线都能证明处理目的合法基础、同意偏好、撤回传播、主体权利请求、自动化决策复核、第三方传播和下游处理阻断已经闭合,且无未知合法基础、无未知同意状态、无逾期权利请求和无未传播撤回。 54. 任意 L3 / L4 企业级基线都能证明记录类别、留存排期、法律保全、删除资格、删除传播、备份/日志/向量索引处置和可防御删除回执已经闭合,且无 under-hold 删除、无过期未处置记录和无无目的超期留存。 55. 任意 L3 / L4 企业级基线都能证明关键角色任命、岗位资格、职责确认、培训完成、专项训练、on-call 资格、审批授权、职责分离、冲突角色、代理授权、备份人员和到期复核已经闭合,且无未任命关键角色、无过期培训、无未授权审批和无开放职责分离失败。 56. 任意 L3/L4 企业级基线都能证明业务目标、价值假设、收益 owner、关键结果、前后基线、采用证据、收益实现、成本效率和停投/加投决策已经闭合,且无无主业务结果、无不可测关键结果、无缺失采用证据和无未处置收益缺口。 57. 任意 L3/L4 企业级基线都能证明价值流、关键旅程、端到端流程、流程 owner、BPMN/流程模型、步骤级遥测、跨域交接、瓶颈、异常、人工兜底和改进动作已经闭合,且无无主关键旅程、无过期流程模型、无关键步骤遥测缺口、无未关闭 critical 瓶颈和无未演练人工兜底。 58. 任意 L3/L4 企业级基线都能证明架构视图、运行拓扑、catalog 声明、GitOps 拓扑、运行遥测、声明依赖、观测依赖、blast radius、变更影响和依赖漂移已经闭合,且无过期架构视图、无未声明运行调用、无关键依赖 owner 缺口、无 GitOps 拓扑断链和无未评估 blast radius。 59. 任意 L3/L4 企业级基线都能证明质量属性场景、业务驱动、可度量响应指标、架构驱动、敏感点、权衡点、ADR、适配度函数和验证证据已经闭合,且无不可测高优先级场景、无无主架构驱动、无未签署关键权衡、无过期验证证据和无未监控敏感点。 60. 任意 L3/L4 企业级基线都能证明架构原则、强制约束、禁止项、反模式、违反处置、例外审批、风险接受和复核周期已经闭合,且无无主强制原则、无不可检测强制约束、无未门禁化反模式、无开放原则违反和无过期例外。 61. 任意企业级基线都能证明版本号语义、发布通道、签名 tag、兼容窗口、消费锁、迁移窗口、冻结规则、紧急补丁、撤销和 EOL 阻断已经闭合,且无版本号复用、无浮动版本引用、无 tag 漂移、无无迁移窗口 breaking change、无冻结期语义变更和无撤销基线继续采用。 --- ## 18. 总结 现代企业数字化平台不是一个单一系统,也不是一个巨大共享服务系统,而是一套由领域能力、AI 原生能力、数据产品、内部平台、云原生基础设施、供应链安全和联邦治理共同构成的企业级能力体系。 它的核心转变包括: 1. 从项目交付转向产品运营。 2. 从集中式共享服务转向领域产品网络。 3. 从人工运维转向平台自助。 4. 从中央数据加工转向数据产品化。 5. 从人工审批治理转向自动化护栏。 6. 从技术部门单独负责转向业务技术共同负责结果。 7. 从孤立 AI 试验转向受治理的 AI 产品网络。 8. 从信任构建过程转向验证构建证据和制品来源。 最终目标是让企业在业务快速变化、系统规模扩大、数据复杂度上升和安全合规要求增强的情况下,仍然能够保持高效交付、稳定运行、可信数据和可持续演进。 --- ## 19. 深度调研对标结论 本节用于把行业资料转成架构决策,避免参考资料只作为链接堆积。 ## 19.1 对标矩阵 | 对标来源 | 关键结论 | 本文档落点 | | -------- | -------- | ---------- | | Semantic Versioning / Conventional Commits / Keep a Changelog | 版本号、提交语义和变更记录必须表达兼容性、影响面、发布通道、冻结规则、撤销状态、消费锁定、迁移执行事实、证据摘要和升级意图 | 增加 `baseline-version-policy-release-control-ledger.yaml`、`version-governance.yaml`、`baseline-enforcement-policy.yaml`、`baseline-consumption-lock.yaml`、`baseline-migration-work-order.yaml`、`baseline-migration-execution-receipt.yaml`、`baseline-lifecycle-state-machine.yaml`、`baseline-state-reconciliation-report.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-gate-negative-test-suite.yaml`、`baseline-ai-system-regulatory-impact-ledger.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`、基线版本策略、发布通道、签名 tag、冻结窗口、紧急补丁、撤销隔离、基线消费锁定、消费者迁移、逐资产迁移执行事实和回滚入口 | | DORA 2025 | AI 辅助交付必须与组织能力、平台能力和可度量交付质量一起治理 | 补齐 AI 指标、Platform PM、认知负载和 AI 发布门禁 | | CNCF Platform Engineering Maturity Model | 平台工程成熟度核心是自助、产品化、治理和可度量能力 | 保留 Developer Portal、Golden Path、平台产品契约和平台指标 | | Team Topologies | 降低团队认知负载是平台团队存在的核心理由之一 | 增加认知负载度量、Platform PM 和平台用户研究 | | Data Mesh | 数据应由领域负责,并通过产品化、平台自助和联邦治理规模化 | 保留领域数据产品责任、数据契约、联邦治理和数据平台边界 | | Lakehouse / Open Table Format | 企业通常先需要稳定存储、表格式、血缘和批流底座,再进入完整数据产品网络 | 增加 Lakehouse 到数据产品网络的过渡路径 | | Feature Store | 训练和推理使用同一特征定义,是避免线上模型偏差的关键机制 | 增加离线特征、在线特征、实时推理端点和训练-推理偏斜检查 | | OWASP LLM Top 10 | Prompt 注入、敏感信息泄露、过度代理、向量/Embedding 风险和成本消耗是 LLM 应用核心风险 | 增加 AI 安全、Guardrails、工具权限、RAG 权限和成本治理 | | OWASP Agentic AI | Agent 风险集中在工具误用、过度权限、目标偏移、上下文污染和不可控自动化 | 增加 AI 威胁模型、工具同意、人工确认、出站限制和红队证据 | | NIST AI RMF / GenAI Profile | AI 风险管理需要覆盖治理、映射、度量和管理闭环 | 增加 AI 风险等级、评估集、审计、回放和人工接管 | | ISO/IEC 42001 | AI 管理体系要求企业把 AI 风险、责任、过程和持续改进纳入管理系统 | 增加 AI 风险分级、资产证据链和治理到期复审 | | EU AI Act | 高风险 AI 场景需要更强的数据治理、透明度、人工监督和记录保存 | 增加 R4/R5 风险等级、人工复核和受限场景控制 | | NIST AI RMF / NIST AI 600-1 / ISO/IEC 42001 / EU AI Act | AI 治理不能只证明模型评估或内部风险等级,还必须把 AI 系统用途、部署角色、适用法规、风险分类、人工监督、日志、技术文档、透明度、后市场监测和供应商责任纳入生命周期证据 | 增加 `baseline-ai-system-regulatory-impact-ledger.yaml`,把 AI 产品、Agent、RAG、微调模型、模型供应商接入和自动化决策流程的监管分类、DPIA/义务映射、会审裁决、合规缺口和 release gate 阻断绑定到同一基线 | | OpenTelemetry GenAI | 生成式 AI 需要标准化观测模型、Token、模型、系统、操作和成本指标 | 增加 `genai-observability-contract.yaml`、AI Observability 与 GenAI 指标 | | OpenTelemetry GenAI Stability | GenAI semantic conventions 仍处于 Development 状态,生产基线必须锁定版本并控制 opt-in | 增加 `standards-baseline.yaml`,把 Development 状态标准默认设为 observe 而不是全局 enforce | | MCP / A2A | Agent 生态正在走向工具、上下文和 Agent 协作协议化 | 增加 Agent 协议与工具边界,避免协议绕过治理 | | OpenFeature | Feature Flag 需要标准化评估上下文、默认值、hook、tracking 和 provider 边界 | 增加发布开关、Kill Switch、曝光事件、灰度策略和 SLO 燃尽回滚 | | DORA Four Keys / OpenGitOps / NIST SP 800-128 / ISO/IEC 20000-1 / OpenFeature | 现代生产变更必须同时可度量、声明式、可审计、风险分级、可回滚,并覆盖数据库迁移、配置、Feature Flag、Prompt/模型、紧急变更和失败恢复 | 增加 `baseline-production-change-release-ledger.yaml`,把生产变更登记、窗口、冲突检测、依赖冻结、前置门禁、回滚、执行证据、失败关闭、事故关联和 DORA 指标回写纳入基线晋级证据 | | OpenLineage | 数据运行血缘需要以 Job、Run、Dataset、输入输出和事件为核心证据 | 增加 `lineage-event.yaml` 和数据产品运行血缘门禁 | | Data Mesh / Open Data Contract Standard / OpenLineage / Great Expectations / Soda / Deequ | 数据产品生产化不能只声明契约和血缘,还必须持续证明质量、freshness、schema drift、消费者影响、AI/特征/RAG 授权、契约违约和修复复测 | 增加 `baseline-data-product-quality-contract-observability-ledger.yaml`,把数据产品 owner、契约、schema、质量断言、freshness、运行血缘、消费者通知、AI 使用边界、违约修复和数据质量事故纳入基线晋级证据 | | ISO/IEC/IEEE 29119 / NIST SSDF / DORA Four Keys | 工程质量不能只靠 CI 绿勾或人工 UAT,需要把需求追踪、风险化测试计划、测试层级、覆盖率、测试环境、测试数据、flaky 测试、缺陷、复测和发布验证连成同一条证据链 | 增加 `baseline-engineering-quality-test-release-verification-ledger.yaml`,把单元、集成、契约、E2E、回归、验收、覆盖率、缺陷分级、已知风险接受、灰度、冒烟和 DORA 发布质量指标纳入基线晋级证据 | | NIST SP 800-53 AT / PS / AC、CIS Controls v8 Control 14、NIST NICE Framework、ISO/IEC 27001 | 企业不能只记录 owner 和 RACI,还必须证明关键角色具备岗位能力、完成培训、确认职责、授权有效、审批执行分离、代理授权未过期且关键岗位有备份 | 增加 `baseline-workforce-competency-training-duty-segregation-ledger.yaml`,把关键角色任命、岗位资格、培训、专项训练、职责确认、on-call、审批授权、职责分离、冲突角色、代理授权和备份人员纳入基线晋级证据 | | ISO/IEC 38500 / COBIT / ITIL 4 / FinOps Unit Economics | 企业架构治理必须证明 IT 使用对组织目标、收益交付、服务价值和单位经济产生可复核结果,不能只证明控制存在 | 增加 `baseline-business-outcome-value-realization-portfolio-ledger.yaml`,把业务目标、价值假设、收益 owner、关键结果、采用证据、收益实现、成本效率和组合决策纳入基线晋级证据 | | BPMN 2.0.2 / TOGAF Business Architecture / ITIL 4 Value Streams / DORA Value Streams | 企业不能只证明组件健康和收益结果,还必须证明从客户或业务触发到完成的跨领域价值流、关键旅程和端到端流程具备 owner、模型、遥测、瓶颈、异常和改进闭环 | 增加 `baseline-value-stream-journey-process-ledger.yaml`,把价值流、旅程、BPMN/流程模型、步骤级遥测、跨域交接、人工兜底和改进动作纳入基线晋级证据 | | ISO/IEC/IEEE 42010 / C4 Model / Backstage Catalog / OpenTelemetry / OpenLineage | 企业不能只维护静态架构图,还必须证明架构视图、catalog 声明、GitOps 部署拓扑、运行时调用、数据血缘和依赖影响一致 | 增加 `baseline-architecture-view-runtime-topology-dependency-ledger.yaml`,把架构视图、运行拓扑、声明依赖、观测依赖、GitOps 指针、blast radius、变更影响和依赖漂移纳入基线晋级证据 | | CNCF Platforms White Paper | 平台应作为产品服务业务团队,降低认知负载并提高自助交付能力 | 增加 Platform PM、Golden Path、开发者满意度、认知负载和平台产品指标 | | NIST Privacy Framework | 隐私风险需要围绕数据处理目的、主体权利、控制、沟通和保护形成管理闭环 | 增加 `privacy-impact-assessment.yaml`、DPIA、删除传播和 AI 使用限制 | | NIST FIPS 199 / NIST SP 800-60 / NIST CSF 2.0 ID.AM / CIS Controls v8 Control 1 | 企业必须先识别、分类和定级信息与资产,并按保密性、完整性、可用性影响和业务关键性决定保护强度 | 增加 `baseline-asset-criticality-classification-ledger.yaml`,把资产 owner、业务关键性、SLO Tier、L3/L4、CIA 影响、数据敏感度、AI 风险、互联网暴露和复核状态纳入基线晋级证据 | | NIST SP 800-57 / NIST SP 800-52 / CIS Controls v8 / OWASP Secrets Management | 企业必须用生命周期方式管理密码材料、密钥、证书和秘密,证明生成、托管、使用、轮换、过期、吊销和泄露响应全链路受控 | 增加 `baseline-cryptographic-secrets-key-certificate-ledger.yaml`,把 KMS/HSM key、TLS 证书、签名密钥、API token、数据库凭据、webhook secret、工作负载密钥、owner、算法强度、轮换、过期、吊销和泄露响应纳入基线晋级证据 | | NIST SP 800-207 / CISA Zero Trust Maturity Model / NIST SP 800-53 AC 与 IA 控制族 / SPIFFE | Zero Trust 和企业访问控制要求以身份、设备、上下文、最小权限、持续验证和非人类身份为核心进行访问决策 | 增加 `baseline-identity-entitlement-access-ledger.yaml`,把人类身份、服务账号、工作负载身份、JML、MFA、PAM/JIT、break-glass、运行时绑定、孤儿账号和过期权限纳入基线晋级证据 | | GDPR Article 30 / NIST Privacy Framework Inventory and Mapping / California Consumer Privacy Rights | 企业必须先知道哪些处理活动、个人数据类别、数据主体类别、接收方、跨境传输和下游处理真实存在,才能证明主体权利、同意撤回、删除、留存、出境、第三方传播和 AI 使用限制覆盖完整 | 增加 `baseline-processing-activity-inventory-ledger.yaml`,把处理活动、个人数据清单、RoPA 覆盖、运行资产映射、DPIA、合法基础、保留映射、AI/数据产品用途和发现扫描闭环纳入基线晋级证据 | | GDPR / EDPB Data Subject Rights / NIST Privacy Framework / California Consumer Privacy Rights | 隐私治理不能只停留在 DPIA 和政策文本,需要把处理目的合法基础、同意撤回、主体权利请求、自动化决策复核和 opt-out/第三方传播转成可执行证据 | 增加 `baseline-privacy-rights-consent-ledger.yaml`,把处理目的、合法基础、同意版本、撤回传播、DSAR/消费者请求 SLA、自动化决策复核、AI/数据产品用途限制和第三方传播阻断纳入基线晋级证据 | | EU GDPR International Transfers / EDPB Supplementary Measures / CSA CCM | 跨区域和跨境处理不能只靠隐私影响评估,需要证明实际处理位置、传输机制、补充保护措施、子处理方和删除传播事实 | 增加 `baseline-data-residency-transfer-ledger.yaml`,把数据驻留、存储/处理/备份/日志/RAG/模型供应商区域、传输机制、子处理方、补充措施、区域漂移和删除传播阻断纳入基线晋级证据 | | Kubernetes Multi-tenancy / ResourceQuota | 多团队或多租户 Kubernetes 需要 namespace、配额、网络隔离和准入策略配合 | 增加 `tenant-boundary.yaml`、ResourceQuota、NetworkPolicy 默认拒绝和准入策略证据 | | NIST Cybersecurity Framework 2.0 | 企业安全运营需要把识别、保护、检测、响应和恢复连接成证据闭环 | 增加访问复核、密钥轮换、漏洞修复、事故复盘和证据新鲜度控制项 | | NIST SP 800-61 Rev. 3 / Google SRE Incident Management / Google SRE Postmortem Culture / DORA Four Keys / ISO/IEC 20000-1 | 事故响应不能只关闭告警或复盘文档,还必须把时间线、RCA、问题记录、纠正行动、复发防止、runbook/告警/门禁反哺、沟通和恢复指标纳入统一证据 | 增加 `baseline-incident-problem-corrective-action-ledger.yaml`,把生产事故、安全事件、隐私事件、AI 事件、供应商事件、near miss、重大告警、RCA、问题记录、纠正行动、复发防止和 DORA 恢复指标纳入基线晋级证据 | | NIST OSCAL / NIST SP 800-128 / NIST SP 800-137 | 安全和合规控制应尽量使用机器可读目录、实施状态、评估结果、配置变更控制、持续监测和证据包组织 | 增加 `control-evidence-map.yaml`、`audit-export-manifest.yaml`、`audit-export-exclusion-manifest.yaml`、`private-artifact-escrow-manifest.yaml`、`baseline-clean-room-reconstruction-receipt.yaml`、`baseline-evidence-archive-receipt.yaml`、`baseline-signature-ltv-receipt.yaml`、`baseline-runtime-admission-receipt.yaml`、`baseline-runtime-admission-decision-ledger.yaml`、`baseline-continuous-control-monitoring-ledger.yaml`、`control-assessment-report.yaml`、`baseline-change-record.yaml`、`baseline-enforcement-policy.yaml`、`baseline-consumption-lock.yaml`、`baseline-migration-work-order.yaml`、`baseline-migration-execution-receipt.yaml`、`baseline-local-artifact-boundary.yaml`、`baseline-evidence-trace-graph.yaml`、`baseline-gate-execution-report.yaml`、`baseline-gate-negative-test-suite.yaml`、`baseline-ai-system-regulatory-impact-ledger.yaml`、`baseline-publish-transaction.yaml`、`baseline-revocation-record.yaml`、`oscal-export-profile.yaml`、迁移执行事实、本地私有制品边界、审计导出排除清单、私有制品托管交接、干净环境重建回执、不可变归档回执、长期验签回执、运行时准入回执、准入决策总账、连续控制监测和审计导出证据 | | NIST SP 800-53A / OSCAL Assessment Results | 控制评估不能只证明证据存在,还必须定义评估目标、测试方法、抽样、发现项、结果和可机读评估输出 | 增加 `baseline-control-assurance-sampling-ledger.yaml`,把独立评估人、控制总体、抽样计划、设计有效性、运行有效性、发现项、POA&M、风险接受和 OSCAL Assessment Results 绑定为基线晋级证据 | | NIST SP 800-53A / OSCAL Assessment Results / SLSA Provenance | 企业审计不能把所有证据视为同等强度;证据必须按检查、访谈、测试、自动化生成、可重放、独立评估和签名证明区分保证等级 | 增加 `baseline-evidence-assurance-classification.yaml`,把 E0-E4 保证等级、采信状态、来源独立性、完整性证明、新鲜度、可重放要求和 gate 最低等级阻断纳入基线晋级证据 | | NIST SP 800-53A / OSCAL Assessment Results / OPA Policy Testing / Kyverno CLI Test / SLSA Provenance | 企业门禁不能只证明好样例通过,还必须证明坏样例、过期证据、摘要漂移、签名缺失、例外过期和私有资产误入会被策略与验证链稳定拒绝 | 增加 `baseline-gate-negative-test-suite.yaml`,把负例 fixture、故障注入、预期失败规则、实际拒绝结果、失败日志摘要、复测命令和回归 owner 纳入基线晋级、会审裁决和审计导出证据 | | NIST RMF / OSCAL Component Definition / FedRAMP Shared Responsibility | 企业控制不能只声明“已覆盖”,还必须区分公共控制、系统特定控制、继承控制、共享控制、云服务商责任、平台责任和消费者配置义务 | 增加 `baseline-control-inheritance-ledger.yaml`,把 provider-managed、platform-managed、inherited、shared、domain-owned、consumer-owned 和 third-party-managed 控制责任、继承条件、证据有效期、消费者义务、失效条件和审计映射纳入基线晋级证据 | | NIST C-SCRM / CISA ICT SCRM / EU DORA ICT Third-Party Risk | 关键供应商、ICT 服务、云、SaaS、模型供应商和外包依赖不能只停留在采购或合同台账,需要风险分级、合同控制、保证证据、集中度、退出计划和持续监测 | 增加 `baseline-third-party-risk-ledger.yaml`,把供应商分级、服务范围、受影响资产、数据类别、合同/DPA/SLA、审计权、保证报告、集中度阈值、退出计划、替代路径、连续性、供应商事件和 POA&M 阻断纳入基线晋级证据 | | FCA / PRA Operational Resilience / NIST SP 800-34 / ISO 22301 / EU DORA | 运营韧性不能只停留在系统灾备、SLO 或供应商风险,需要先识别重要业务服务,定义影响容忍,完成 BIA 和依赖映射,并用严重但合理场景测试证明业务影响仍在容忍边界内 | 增加 `baseline-operational-resilience-ledger.yaml`,把重要业务服务、影响容忍、BIA、端到端依赖、场景测试、恢复能力、人工替代、沟通计划、第三方/AI 依赖、韧性缺口、POA&M 和超限升级纳入基线晋级证据 | | FinOps Framework / FOCUS / OpenCost / Kubernetes Resource Management | 容量、性能和成本效率必须由容量预测、压测、资源 requests/limits、弹性伸缩、成本分摊、预算、单位经济和异常成本处置共同证明,不能把性能测试、Kubernetes 资源配置和财务账单拆成互不相干的报表 | 增加 `baseline-capacity-performance-cost-efficiency-ledger.yaml`,把容量预测、压测、性能基准、资源 requests/limits、HPA/VPA/KEDA、队列/数据库容量、预算、单位经济、成本分摊、异常成本和优化行动纳入基线晋级证据 | | Google SRE SLO / OpenTelemetry / Prometheus Alertmanager | 用户可见可靠性必须由可测量 SLI/SLO、错误预算、告警路由、on-call、runbook、合成探测、metrics/logs/traces 和降级策略证明,而不是只声明服务可用性 | 增加 `baseline-service-reliability-slo-error-budget-observability-ledger.yaml`,把生产服务、关键用户旅程、错误预算、告警、runbook、遥测覆盖、合成探测和降级策略纳入基线晋级证据 | | CIS Controls v8 Control 11 / NIST SP 800-34 / NIST CSF Recover | 数据恢复能力必须由真实备份、不可变或离线副本、恢复演练、RTO/RPO、完整性校验和隔离恢复证明,不能只依赖备份任务配置或灾备计划 | 增加 `baseline-backup-restore-disaster-recovery-ledger.yaml`,把关键系统、关键数据存储、备份策略、不可变/离线副本、跨区域隔离、恢复演练、RTO/RPO、完整性校验、勒索隔离和恢复权限纳入基线晋级证据 | | ISO/IEC 25010 / SEI ATAM / arc42 Quality Requirements / Evolutionary Architecture Fitness Functions | 架构质量不能只靠“高可用、高性能、安全”这类目标口号,需要把质量属性分类、场景、响应度量、敏感点、权衡点、ADR、验证证据和持续适配度函数绑定到同一证据链 | 增加 `baseline-quality-attribute-architecture-driver-tradeoff-ledger.yaml`,把业务驱动、质量属性场景、响应指标、架构驱动、敏感点、权衡点、备选方案、ADR、适配度函数和验证证据纳入基线晋级证据 | | TOGAF Architecture Principles / arc42 Constraints / Policy as Code | 架构原则必须具备名称、声明、理由、影响、约束、例外和执行机制;架构约束必须显式记录且能影响设计;强制规则应尽量转成可测试、可阻断和可审计的策略 | 增加 `baseline-architecture-principle-constraint-exception-ledger.yaml`,把架构原则、owner、适用范围、强制约束、禁止项、反模式、检测规则、门禁入口、违反处置、例外审批、风险接受和复核周期纳入基线晋级证据 | | ISO 37301 / NIST OSCAL / EU DORA / GDPR / EU AI Act | 合规管理不能只维护控制清单或审计材料,还必须维护适用义务清单,并证明义务源、控制目标、控制项、证据、owner、例外、整改和监管变化之间可追溯 | 增加 `baseline-regulatory-obligation-ledger.yaml`,把法律法规、监管规则、行业标准、客户合同和内部政策映射到控制、证据、资产、数据、AI、第三方、运营韧性、POA&M 和审计导出 | | ISO 15489 / NARA Records Management / NIST SP 800-92 / NIST SP 800-53 AU-11 / GDPR Storage Limitation and Erasure | 记录治理必须同时证明留存排期、法定义务、法律保全、审计日志留存、删除权例外、删除传播和可防御处置;不能只让日志、备份、AI trace、向量索引和审计证据各自保留 | 增加 `baseline-records-retention-legal-hold-ledger.yaml`,把记录类别、留存排期、义务来源、legal hold、删除资格、备份/日志/向量索引处置、删除传播、删除回执和超期留存阻断纳入基线晋级证据 | | Kubernetes Secrets | Kubernetes Secret 需要加密、访问控制、轮换和外部密钥系统配合 | 增加 `secrets-rotation-evidence.yaml`、KMS、轮换和泄露扫描证据 | | CISA KEV Catalog | 已知被利用漏洞需要优先、限期、可证明地处置 | 增加 `vulnerability-remediation-evidence.yaml`、KEV 状态、修复 SLA 和残余风险 | | CISA KEV / FIRST EPSS / CVSS v4.0 / CycloneDX VEX / OASIS CSAF | 漏洞治理不能只按扫描严重度排序,需要结合已知利用、预测利用概率、业务暴露、产品影响状态、修复 SLA、复测和例外闭环 | 增加 `baseline-vulnerability-exposure-remediation-ledger.yaml`,把 CVE、KEV、EPSS、CVSS、VEX/CSAF、扫描覆盖、外部暴露、修复、复测、例外和 release gate 阻断纳入基线晋级证据 | | CIS Controls v8 Control 4 / CIS Benchmarks / NIST SP 800-128 / NIST SP 800-53 CM / SCAP / Kubernetes Pod Security Standards / CISA Kubernetes Hardening Guidance | 安全配置不能只靠一次性加固或工具扫描,需要有锁定配置基线、运行姿态扫描、配置漂移识别、修复复测、例外到期和发布阻断 | 增加 `baseline-secure-configuration-posture-drift-ledger.yaml`,把 OS、容器、Kubernetes、云、IAM、网络、存储、数据库、CI/CD、API Gateway、LLM Gateway、Agent Runtime、审计日志、加密、Pod Security、漂移和 release gate 阻断纳入基线晋级证据 | | SLSA / SBOM / Sigstore / RFC 3161 | 现代供应链安全必须证明构建来源、依赖、产物、签名验签链路、长期验签材料、坏基线撤销链路、消费端摘要锁定、迁移执行事实、本地私有制品排除、私有托管取回、干净环境重建、不可变证据留存、签名 payload 排除、发布准入和运行时准入阻断链路 | 增加 SBOM、provenance、签名、验签、基线长期验签回执、基线运行时准入回执、基线准入执行策略、基线消费锁定文件、基线迁移工作单、基线迁移执行回执、本地私有制品边界、审计导出排除清单、私有制品托管交接清单、干净环境基线重建回执、基线证据不可变归档回执、证据追踪图、门禁执行报告、发布事务回执、撤销隔离记录、发布准入和 Kubernetes admission 阻断 | | NIST SSDF / CISA Secure by Design | 安全应前移到需求、设计、编码、构建、测试、发布和响应全链路 | 增加安全开发证据、威胁建模和安全准入材料 | | OWASP Threat Modeling / ASVS / API Security / SAMM / NIST SSDF / CISA Secure by Design | 威胁建模、安全需求、安全验证和安全设计应进入软件生命周期与发布门禁,不能只靠漏洞扫描或上线前评审 | 增加 `baseline-threat-model-attack-surface-risk-ledger.yaml`,把关键资产、信任边界、数据流、攻击面、滥用场景、控制映射、安全测试、剩余风险、POA&M 和签署状态纳入基线晋级证据 | | NIST AI RMF Critical Infrastructure Profile Concept Note | 高风险、关键基础设施相关 AI 场景需要更强的生命周期风险管理和可追溯实践 | 将关键基础设施 AI 相关资料纳入标准基线观察项,不直接当作稳定强制门禁 | | FinOps Framework / FOCUS / OpenCost | 成本治理需要统一成本语义、分摊、优化和持续运营 | 增加 `cost-allocation-evidence.yaml`、FinOps 运行机制、成本分摊证据和 AI 单任务成本指标 | | Open Data Contract | 数据产品需要机器可读契约来约束 Schema、语义、质量、权限和变更 | 增加数据契约最低字段和 CI 校验要求 | | MLflow / Model Cards | 微调模型需要实验追踪、模型登记、评估结果和模型说明卡 | 增加微调治理工作流、微调发布流程和模型证据链 | | Google SAIF / AI Incident Response | AI 系统需要面向模型、数据、Prompt、工具和供应商的专门响应流程 | 增加 AI 事件响应机制和 playbook 模板 | | OPA / Cedar / Kyverno | Policy as Code 需要明确策略语言、执行边界、策略包摘要、决策日志和入口阻断证据 | 增加策略语言统一口径、策略引擎分工、`baseline-enforcement-policy.yaml`、`baseline-runtime-admission-receipt.yaml`、`baseline-runtime-admission-decision-ledger.yaml`、`baseline-consumption-lock.yaml`、`baseline-migration-work-order.yaml`、`baseline-migration-execution-receipt.yaml`、`baseline-local-artifact-boundary.yaml`、`audit-export-exclusion-manifest.yaml`、`private-artifact-escrow-manifest.yaml`、`baseline-clean-room-reconstruction-receipt.yaml`、`baseline-evidence-archive-receipt.yaml`、`baseline-signature-ltv-receipt.yaml`、决策日志、PolicyReport、OPA decision log、浮动版本阻断、迁移工单缺失阻断、迁移执行回执缺失阻断、本地私有制品缺失或误发布阻断、审计导出误含私有原文阻断、私有托管缺失或取回失败阻断、干净环境重建失败阻断、不可变归档失败阻断、长期验签失败阻断、运行时拒绝样例失败阻断和 release gate / GitOps / catalog / runtime admission 阻断 | | Kubernetes Admission / Audit / OpenGitOps | 容器运行状态和部署期望状态应分离,部署声明需要版本化、可审计、可回滚,并在 API admission 入口受基线准入策略、镜像证明、消费锁、迁移工单、执行回执和本地私有资产边界约束 | 增加微服务容器分层真相源、Kubernetes base、GitOps overlay、Kubernetes audit requestUID、基线准入执行策略、运行时准入回执、运行时准入决策总账、消费锁到 GitOps 指针校验、迁移工作单驱动 GitOps 变更、迁移执行回执验证 GitOps revision、本地私有制品不进入 GitOps 发布面和 runtime admission 阻断 | | Prometheus / Alertmanager / OpenTelemetry | 运行控制必须具备指标、日志、追踪、告警路由、SLO、owner 和处置证据 | 增加 `baseline-continuous-control-monitoring-ledger.yaml`、控制指标、告警规则、OpenTelemetry 信号、监测窗口、MTTD/MTTR、漂移事件、处置工单和证据新鲜度 | | OCI Image Spec / Container Registry | 镜像制品应放在 registry 中,生产部署需要可追溯到不可变 digest | 增加镜像 tag / digest、registry 和供应链证据要求 | | Backstage Catalog | 服务目录用于发现、owner、依赖和运行指针,不应成为 deployment manifest 真相源,也不应允许无基线声明、无消费锁、迁移工单、迁移执行回执或本地私有资产边界缺失的资产注册为生产对象 | 增加 catalog runtime 指针、部署真相源边界、资产基线符合性声明、基线消费锁定文件、基线迁移工作单、基线迁移执行回执、本地私有制品边界和 catalog 注册准入阻断 | ## 19.2 研究后的架构判断 1. AI Mesh 是本文档采用的架构归纳,不是单一正式标准。落地时应使用更具体的协议和平台能力承载它,例如 Tool Registry、MCP、A2A、LLM Gateway、Agent Runtime 和统一审计。 2. 数据产品网络和 AI 原生能力不能分离建设。没有数据产品、特征产品、向量索引和评估数据集,AI 产品会退化为 Prompt 工程和不可追溯试验。 3. 平台工程不是工具堆叠。真正的内部平台必须减少认知负载,并把安全、供应链、可观测性、成本和 AI 治理作为默认路径。 4. Lakehouse 不是 Data Mesh 的反面。Lakehouse 更像底座,Data Mesh 更像责任和消费模型;企业应先稳定数据底座,再把高价值数据集逐步产品化。 5. 供应链安全不应停留在漏洞扫描。2026 年企业级基线应至少覆盖 SBOM、provenance、签名、验签、长期验签和准入策略。 6. AI 治理不应只交给合规团队。它必须进入开发、评估、灰度、运行、成本和复盘流程,否则模型能力越强,系统不可控面越大。 7. AI 风险分级必须影响工程默认值。低风险场景强调效率,高风险场景强调人工监督、记录保存、独立评审和退出机制。 8. 成本已经成为架构属性。模型调用、GPU、向量数据库、在线特征和评估流水线必须像延迟、可用性和安全一样被设计和度量。 9. 数据契约是数据产品网络的工程抓手。没有机器可读契约,Data Mesh 会退化为目录和口头语义。 10. 安全开发证据应自动生成和挂接 catalog。人工补审计材料说明平台治理还没有真正产品化。 11. 微调治理必须独立于基础模型治理。微调会改变模型行为,必须重新做数据授权、实验追踪、评估、登记和发布准入。 12. AI 事件响应必须有专门 playbook。AI 故障经常不是服务宕机,而是质量退化、工具失控、检索污染、模型供应商异常或成本失控。 13. Policy as Code 的价值在于统一规则执行和测试,不在于每个团队自由选择策略语言。 14. 微服务容器不是一个目录里的对象,而是一组跨源码、制品库、GitOps、Kubernetes、catalog 和治理规则的可追溯链路。 15. 生产部署必须从“使用哪个 tag”升级为“使用哪个 digest、由谁构建、通过了什么证明、由哪个 GitOps revision 推进”。 ## 19.3 当前文档仍需按企业场景裁剪 本文档提供目标架构和落地基线,但不同企业仍应按以下因素裁剪: 1. 行业合规强度:金融、医疗、政务和跨境业务需要更高 AI 审计、数据出境和供应链证明要求。 2. 数据成熟度:如果当前只有基础数据仓库,应先走 Lakehouse 和数据产品试点,不应直接全量推 Data Mesh。 3. AI 风险等级:内部知识问答、客服辅助、自动退款、信贷审批和医疗建议的治理等级完全不同。 4. 团队能力:平台、数据、安全和 AI 团队不成熟时,应优先做 Golden Path 和小范围试点。 5. 成本边界:GPU、模型调用、向量检索、在线特征和评估流水线必须有预算和配额。 --- ## 20. 参考资料 - AWS Prescriptive Guidance: Internal Developer Platform - CNCF TAG App Delivery: Platform Engineering Maturity Model - Thoughtworks Technology Radar: Platform Engineering Product Teams - Martin Fowler: Data Mesh Principles and Logical Architecture - Team Topologies: Key Concepts - Backstage Docs: Software Catalog System Model - Backstage Docs: Kubernetes Plugin - Kubernetes Documentation: Workloads - Kubernetes Documentation: Images - Kubernetes Documentation: Admission Controllers - Kubernetes Documentation: Dynamic Admission Control - Kubernetes Documentation: Validating Admission Policy - Kubernetes Documentation: Auditing - OpenGitOps Principles - DORA: Software Delivery Performance Metrics - Semantic Versioning 2.0.0 - Conventional Commits 1.0.0 - Keep a Changelog - Argo CD Documentation - Flux Documentation - Open Container Initiative Image Specification - OpenAPI Specification - AsyncAPI Specification - OpenTelemetry Documentation - OpenTelemetry Semantic Conventions for Generative AI Systems - OpenTelemetry Semantic Conventions 1.41.0 - Prometheus: Alerting Rules - Prometheus Alertmanager - DORA Research: 2025 DORA Report - ISO/IEC 25010 Systems and software engineering - Systems and software Quality Requirements and Evaluation - SEI: Architecture Tradeoff Analysis Method Collection - arc42 Documentation: Quality Requirements - arc42 Documentation: Constraints - Thoughtworks: Fitness function-driven development - ISO/IEC/IEEE 42010:2022 Software, systems and enterprise - Architecture description - C4 Model - Backstage Software Catalog and System Model - OMG BPMN 2.0.2 Specification - The Open Group TOGAF Standard: Business Architecture - The Open Group TOGAF Standard: Architecture Principles - ISO/IEC 38500:2024 Information technology - Governance of IT for the organization - ISACA COBIT - PeopleCert ITIL 4 Foundation - ISO/IEC 27001:2022 Information Security Management Systems - ISO/IEC 20000-1:2018 Service Management System Requirements - ISO/IEC/IEEE 29119-1:2022 Software Testing General Concepts - SLSA Specification v1.2 - CISA: Software Bill of Materials - SPDX - SPDX Specifications - CycloneDX - CycloneDX Specification Overview - Sigstore Cosign - Sigstore Cosign: Verifying Signatures - Sigstore Cosign: Timestamps - Sigstore Policy Controller - RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol - OpenSSF Scorecard - NIST AI Risk Management Framework - NIST AI 600-1: Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile - NIST AI RMF Profile on Trustworthy AI in Critical Infrastructure Concept Note - NIST SP 800-218: Secure Software Development Framework - OWASP Threat Modeling Cheat Sheet - OWASP Application Security Verification Standard - OWASP API Security Top 10 - OWASP Software Assurance Maturity Model - LINDDUN Privacy Threat Modeling - NIST Privacy Framework - NIST FIPS 199: Standards for Security Categorization of Federal Information and Information Systems - NIST SP 800-60 Rev. 1: Guide for Mapping Types of Information and Information Systems to Security Categories - NIST SP 800-57 Part 1 Rev. 5: Recommendation for Key Management - NIST SP 800-52 Rev. 2: Guidelines for the Selection, Configuration, and Use of TLS Implementations - CIS Controls v8 - CIS Controls v8 Control 14: Security Awareness and Skills Training - CIS Controls v8 Control 4: Secure Configuration of Enterprise Assets and Software - CIS Benchmarks - CIS Controls v8 Control 11: Data Recovery - NIST SP 800-128: Guide for Security-Focused Configuration Management of Information Systems - NIST SP 800-53 Rev. 5: Security and Privacy Controls for Information Systems and Organizations - NIST SP 800-181 Rev. 1: Workforce Framework for Cybersecurity - NIST Security Content Automation Protocol - Kubernetes Documentation: Pod Security Standards - CISA: Kubernetes Hardening Guidance - OWASP Secrets Management Cheat Sheet - European Commission: International data transfers - European Data Protection Board: Recommendations 01/2020 on supplementary measures - Cloud Security Alliance: Cloud Controls Matrix - NIST Cybersecurity Framework 2.0 - NIST SP 800-61 Rev. 3: Incident Response Recommendations and Considerations for Cybersecurity Risk Management - Google SRE Book: Managing Incidents - Google SRE Book: Postmortem Culture: Learning from Failure - NIST SP 800-34 Rev. 1: Contingency Planning Guide for Federal Information Systems - NIST SP 800-37 Rev. 2: Risk Management Framework for Information Systems and Organizations - NIST SP 800-161 Rev. 1: Cybersecurity Supply Chain Risk Management Practices - NIST SP 800-53A Rev. 5: Assessing Security and Privacy Controls - NIST SP 800-137: Information Security Continuous Monitoring - NIST OSCAL - NIST OSCAL Assessment Results Model - NIST OSCAL Component Definition Model - FedRAMP: Who is responsible for the cloud security controls? - CISA: Secure by Design - CISA: ICT Supply Chain Risk Management - CISA: Known Exploited Vulnerabilities Catalog - FIRST: Exploit Prediction Scoring System - FIRST: Common Vulnerability Scoring System v4.0 - CycloneDX: Vulnerability Exploitability eXchange - OASIS: Common Security Advisory Framework - EBA: Digital Operational Resilience Act - EBA: DORA Oversight - Bank of England / PRA: Operational resilience impact tolerances for important business services - ISO 22301 Business Continuity Management Systems - ISO/IEC 42001 Artificial Intelligence Management System - European Commission: AI Act - OWASP Top 10 for Large Language Model Applications - OWASP Generative AI Security - Model Context Protocol Specification - Agent2Agent Protocol - OpenFeature Specification - OpenLineage Documentation - Great Expectations Documentation - SodaCL Documentation - AWS Labs Deequ - CNCF TAG App Delivery: Platforms White Paper - Kubernetes Documentation: Multi-tenancy - Kubernetes Documentation: Resource Quotas - Kubernetes Documentation: Secrets - MLflow: AI Engineering Platform for LLMs and Agents - MLflow Tracking - Hugging Face Model Cards - Google Secure AI Framework - Open Policy Agent - Open Policy Agent Documentation - Open Policy Agent: Decision Logs - OPA Gatekeeper - Cedar Policy Language - Kyverno - Kyverno: Verify Images - Kyverno: Policy Reports - Feast: Open Source Feature Store - Apache Iceberg - Milvus GitHub Repository - FinOps Framework - FinOps Framework: Unit Economics Capability - FOCUS: FinOps Open Cost and Usage Specification - OpenCost Documentation - Kubernetes Documentation: Resource Management for Pods and Containers - Kubernetes Documentation: Resource Quotas - Kubernetes Documentation: Horizontal Pod Autoscaling - Kubernetes Autoscaler: Vertical Pod Autoscaler - KEDA Documentation - Open Data Contract Standard - Google SRE Workbook: Implementing SLOs - Google SRE Book: Service Level Objectives - Google SRE Workbook: Alerting on SLOs