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

124 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 唯一验收门禁表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. 未完成变更审议前,不得在周报/看板/执行文档中使用新阈值。