1d85329a6a
Build and Test Quality Gate / Contract Web typecheck and build (pull_request) Successful in 9m12s
Build and Test Quality Gate / Isolated Alibaba and Tencent KMS gateway (pull_request) Failing after 4m53s
Build and Test Quality Gate / Python tests and Contract API migration (pull_request) Failing after 24m55s
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 8m42s
5.6 KiB
5.6 KiB
V2 P1-07.2 值班路由、SLO 与版本级起草证据实施说明
实施日期:2026-08-25
状态:已实现,进入发布门禁与隔离 UAT
适用角色:平台超级管理员、试点运营、产品经理、法务运营、SRE
1. 交付结论
P1-07.2 补齐了试点运营从“发现异常”到“有人负责、服务可观测、决策可解释”的闭环:平台可维护版本化值班轮换,并在扫描后自动路由未认领工单;扫描和外部升级通知形成可查询的成功率、新鲜度及 P95 延迟;可靠决策漏斗分别归因审查路径和模板起草路径;模板起草只有在生成事件绑定当前合同版本与正文哈希、用户完成四项显式核对、且核对后出现审批/下载/归档动作时,才形成不可变严格决策。
自动路由只写负责人和事件账本,不写 first_response_at。系统不会把机器分派伪装成人工响应,也不会替用户勾选起草核对项。
2. 产品口径
2.1 值班轮换
- 平台级值班表包含时区、轮换锚点、班次分钟数、通用成员顺序、按队列覆盖成员和兜底负责人;
- 支持失败任务、签署异常、人工复核三类队列分别计算当前值班人;
- 只有值班表与自动分派同时启用,扫描才路由来源仍活跃、状态未结束且尚无负责人的工单;
- 每次自动路由写入
pilot_operation_case_events.action=auto_routed,记录值班表版本、班次边界和counts_as_first_response=false; - 自动路由不会改变工单状态,人工确认、分派或处理动作才记录首次响应。
2.2 扫描与通知 SLO
看板按可选观察周期展示:
- 扫描运行总数、成功/失败数、终态成功率、P95 耗时、最近成功时间和新鲜度;
target_rate=99%,新鲜度目标为两倍扫描间隔且不小于 5 分钟;- 仅统计
pilot_operation_sla_escalated对应的外部投递,展示送达、死信、待处理、终态成功率和 P95 送达耗时; - 无运行或无终态投递时显示“待验证”,不能按 100% 达标处理;
- 指标用于试点运营治理,不自动形成客户赔付或正式服务等级承诺。
2.3 严格决策双路径
审查路径保持 P1-07.1 口径:合同版本、已完成审查、精确风险集合确认、确认后的审批/下载/归档。
模板起草路径必须同时满足:
draft_generated在服务端绑定当前租户合同、最新合同版本和body_hash;- 用户对同一版本显式确认合同主体、商业条款、签约/审批授权和完整最终正文;
- 确认之后出现审批通过、合同下载或归档证据;
- 扫描对账时版本、正文哈希和生成事件仍完全一致。
任一项缺失、事件属于其他租户、正文已形成新版本或下游动作早于确认,均不得生成严格决策。同一合同版本只形成一条最终决策;若审查和起草路径同时满足,审查路径优先,避免重复计数。
3. 数据与完整性
pilot_operation_on_call_schedules:平台值班轮换、队列成员和版本;pilot_operation_scan_runs.auto_routed/duration_ms:自动路由计数和扫描耗时;product_experience_events.contract_id/contract_version_id/contract_body_hash:版本级起草证据;contract_draft_readiness_confirmations:四项人工核对、正文哈希和证据摘要;reliable_contract_decisions.decision_path/draft_confirmation_id:review|draft路径归因。
数据库检查约束保证 review 决策必须绑定审查任务和风险确认,draft 决策必须只绑定起草确认。外键保证起草事件、合同版本和确认记录不能悬空。
4. 接口与权限
GET|PUT /api/v1/admin/pilot-operations/on-call-scheduleGET /api/v1/admin/pilot-operations/insights?period_days=30POST /api/v1/contracts/{contract_id}/reliable-decision/draft-confirmationsPOST /api/v1/product-analytics/events的draft_generated可携带contract_id,回执返回版本和正文哈希绑定状态
前两个接口逐请求校验 platform_admin,普通租户管理员返回 403。起草确认要求 edit_contract 且受当前租户隔离。事件只接受当前租户合同,不接受客户端直接提交版本 ID 或正文哈希。
5. 前端交互
- 试点运营后台新增值班轮换表、当前三类队列值班人、扫描/通知 SLO 卡片和双路径决策漏斗;
- 扫描历史展示自动路由数量和耗时;
- 合同详情的可靠决策面板同时解释审查与起草路径;
- 起草路径展示绑定版本和正文摘要,四个复选框必须由用户逐项勾选,未全部勾选时提交按钮禁用;
- 页面明确提示四项核对不等同于律师意见或正式审批,提交后仍要求完成审批、下载或归档。
6. 发布门禁
- Alembic 达到
20260825_0067,并通过0066 -> 0067 -> 0066 -> head往返验证; - 运行时 OpenAPI 为 220 个路径、348 个 schema;人工契约为 141 个路径、225 个 schema,且无悬空
$ref; - 自动路由测试必须证明负责人已写入而
first_response_at仍为空; - 起草测试必须证明四项核对缺一项返回 422、正文/版本不一致返回 409、确认前旧下游动作不计数;
- 普通租户管理员访问值班表、SLO 和管理后台返回 403;
- Contract API 全量测试、Web 测试、类型检查、生产构建及 Chrome UAT 通过。
7. 后续建议
下一阶段建议进入 P1-07.3:值班换班/请假例外、SLO 预算与多级告警、漏斗按租户与行业下钻、起草证据过期提醒,以及决策证据导出与外部审计验证。