Files
lijiaoqiao/docs/acceptance_gate_single_source_v1_2026-03-18.md

124 lines
7.4 KiB
Markdown
Raw Permalink Normal View History

# 唯一验收门禁表Single Source of Truth
- 版本v1.2
- 日期2026-03-27
- 状态:生效
- 用途:统一 S0/S1/S2 的验收阈值、判定逻辑与阻断动作,消除多文档阈值漂移。
---
## 1. 适用范围与优先级
1. 本文档是阶段验收与升波决策的唯一门禁来源。
2. 若其他文档阈值与本文冲突,以本文为准。
3. 其他文档仅保留解释性描述,不再重复定义最终阈值。
---
## 2. 指标字典(唯一口径)
| 指标ID | 指标名 | 定义/公式 | 目标值 | 阻断阈值 | 数据来源 |
|---|---|---|---|---|---|
| M-001 | `gateway_availability` | 成功请求/总请求 | >=99.9%S1>=99.95%S2 | <99.5%连续3天 | 网关指标/APM |
| M-002 | `gateway_added_latency_p95_ms` | 网关附加时延 P95 | <=60ms | >100ms连续3天 | APM/系统指标 |
| M-003 | `gateway_added_latency_p99_ms` | 网关附加时延 P99 | <=100msS2-B及后 | >150ms | APM/系统指标 |
| M-004 | `billing_error_rate_pct` | 账务差错请求/计费请求 | <=0.1% | >0.1% | 对账报表 |
| M-005 | `billing_conflict_rate_pct` | 幂等冲突/计费请求 | <=0.01% | >0.01%(即触发阻断) | 幂等审计计数器 |
| M-006 | `overall_takeover_pct` | 自研主路径请求/全部主路径请求 | S2终验>=60% | Wave-Global-3期间<60% | 验收SQL |
| M-007 | `cn_takeover_pct` | 自研国内供应商请求/国内供应商请求 | =100% | <100% 持续5分钟 | 验收SQL |
| M-008 | `route_mark_coverage_pct` | 路由标记覆盖请求/主路径请求 | >=99.9% | <99.9% | 验收SQL |
| M-009 | `fallback_success_rate` | fallback 成功次数/fallback 总次数 | >=95%A>=97%B/C | <90% | 运行指标 |
| M-010 | `routing_accuracy_pct` | 路由正确请求/可判定请求 | >=99%A>=99.5%C | <98% | 路由审计 |
| M-011 | `provider_validation_success_pct` | 套餐验证成功数/验证总数 | >=90% | <85% | 供应侧验证服务 |
| M-012 | `supplier_onboarded_count` | 入驻供应方数量 | >=10S0 | <8S0收尾 | 运营台账 |
| M-013 | `supplier_credential_exposure_events` | 供应方上游凭证泄露事件数 | =0 | >0 即 P0 | 安全审计/脱敏扫描 |
| M-014 | `platform_credential_ingress_coverage_pct` | 使用平台凭证入站请求/总入站请求 | =100% | <100% | 鉴权日志/网关审计 |
| M-015 | `direct_supplier_call_by_consumer_events` | 需求方绕过平台直连供应方事件数 | =0 | >0 即 P0 | 出网审计/安全事件中心 |
| M-016 | `query_key_external_reject_rate_pct` | 外部 query key 被拒绝数/外部 query key 请求总数 | =100% | <100% | 网关拦截日志 |
| M-017 | `dependency_compat_audit_pass_pct` | 依赖版本兼容审计通过项/应审计项 | =100% | <100% | 依赖审计报告 |
| M-018 | `stage_quality_gate_pass_pct` | 分阶段质量门禁通过项/应通过项 | =100% | <100% | CI Gate 报告 |
| M-019 | `requirement_traceability_coverage_pct` | 已追踪需求数/应追踪需求数 | =100% | <100% | 追踪矩阵 |
| M-020 | `escaped_p0_defects_count` | 生产放出后 P0 缺陷数 | =0 | >0 | 生产事故平台 |
| M-021 | `token_runtime_readiness_pct` | token 运行态必备能力已实现项/应实现项 | =100% | <100% | TOK 验收报告 |
口径补充:
1. 主路径端点集合固定为 `/v1/chat/completions``/v1/messages``/v1/responses``/v1beta/*`
2. `/responses` 等 alias 入口必须在 Ingress 归一后再统计。
3. 国内平台分类来源固定为配置表 `gateway_cn_platforms`,禁止 SQL 硬编码。
4. 需求方仅可使用平台签发凭证访问平台入口,禁止获取供应方上游凭证。
5. 依赖兼容审计口径固定为“SBOM + 锁文件差异 + 兼容矩阵 + 风险清单”四件套,缺一视为未通过。
6. 分阶段质量门禁固定为 G0/G1/G2/G3/G4/G5禁止跳阶段放行。
---
## 3. 分阶段门禁表
### 3.1 S0 阶段门禁
| Gate ID | 场景 | 必达条件 | 不通过动作 | 责任人 |
|---|---|---|---|---|
| G-S0-1 | 供应侧MVP验收 | M-012>=10 且 M-011>=90% | 延长S0 1-2周并冻结对外承诺 | 产品+运营 |
| G-S0-2 | Key安全专项验收 | API Key专项安全验收通过对应WBS C0.1.4 | 阻断S0验收先修安全缺陷 | 安全+测试 |
### 3.2 S1 阶段门禁
| Gate ID | 场景 | 必达条件 | 不通过动作 | 责任人 |
|---|---|---|---|---|
| G-S1-1 | 灰度7天上线门禁 | M-001>=99.9%M-004<=0.1%30分钟内回滚演练通过 | 不得升至全量;维持灰度并整改 | 平台+SRE |
| G-S1-2 | 发布前兼容门禁 | Schema/Behavior/Performance 三重Gate全部通过且 M-017=100% | 阻断发布 | 架构+QA |
| G-S1-3 | 凭证边界门禁 | M-013=0M-014=100%M-016=100% | 阻断发布并触发安全复盘 | 安全+平台 |
| G-S1-4 | 分阶段质量门禁 | M-018=100%M-019=100% | 阻断发布并回到失败阶段整改 | 架构+QA+PMO |
| G-S1-5 | token 运行态门禁 | M-021=100% | 阻断发布并冻结 SUP 升波 | 架构+安全+平台 |
### 3.3 S2 阶段门禁(替换核心)
| Gate ID | 阶段 | 必达条件 | 升波条件 | 阻断条件 | 不通过动作 |
|---|---|---|---|---|---|
| G-S2-A | 10% | M-001>=99.9%M-002<=60M-010>=99%M-004<=0.1%M-009>=95%M-014=100%M-017=100%M-018=100%M-021=100% | 连续2周达标 | 任一红线触发 | 回切 subapi修复后重试 |
| G-S2-B | 30% | M-001>=99.95%M-003<=100M-009>=97%M-014=100%M-017=100%M-021=100% | 连续2周达标 | M-004>0.1% 或 P0事故 | 暂停升波,补救后复核 |
| G-S2-C1 | 40%中间检查点 | M-001>=99.95%M-002<=60M-003<=100M-010>=99.5%M-004<=0.1%M-009>=97%M-013=0M-014=100%M-015=0M-018=100%M-019=100%M-021=100% | GO/CONDITIONAL GO | 任一红灯阈值 | 决策会:继续/附条件继续/回滚 |
| G-S2-C2 | 60%终验 | M-006>=60%M-007=100%M-004<=0.1%M-005<=0.01%M-008>=99.9%M-001>=99.95%M-013=0M-014=100%M-015=0M-016=100%M-017=100%M-018=100%M-019=100%M-020=0M-021=100% | 通过后S2完成 | 任一硬门槛不满足 | 延长S2并冻结升波不降终验目标 |
---
## 4. 红线规则(跨阶段)
任一条命中即触发 `P0`
1. `cn_takeover_pct < 100%` 持续 5 分钟。
2. `billing_conflict_rate_pct > 0.01%`
3. `billing_error_rate_pct > 0.1%` 持续 30 分钟。
4. 流式 replay/双流拼接被验证复现。
5. 主路径口径缺失:`route_mark_coverage_pct < 99.9%`
6. `supplier_credential_exposure_events > 0`
7. `direct_supplier_call_by_consumer_events > 0`
8. `platform_credential_ingress_coverage_pct < 100%``query_key_external_reject_rate_pct < 100%`
9. `dependency_compat_audit_pass_pct < 100%`
10. `stage_quality_gate_pass_pct < 100%``requirement_traceability_coverage_pct < 100%`
11. `token_runtime_readiness_pct < 100%`
处理动作:
1. 立即停止升波。
2. 触发自动回切(目标 10 分钟内触发、30 分钟内恢复)。
3. 24小时内提交复盘与修复计划。
---
## 5. 决策与证据包要求
1. 每个 Gate 必须有“通过/有条件通过/不通过”结论。
2. 每次升波必须提交证据包:
- 原始执行日志
- SQL 结果快照
- 关键指标截图
- 风险说明与责任人签字
3. 无证据包视为未通过。
---
## 6. 变更治理
1. 本文档阈值变更属于高风险变更,必须通过评审会批准。
2. 变更记录必须包含:变更原因、影响评估、回滚条件、生效日期。
3. 未完成变更审议前,不得在周报/看板/执行文档中使用新阈值。