Files
ai-contract-platform/project-docs/pilot-operations-on-call-slo-runbook-2026-08-25.md
T
yuqei 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
feat: deliver governed contract platform and async AI tasks
2026-08-26 12:53:47 +08:00

3.6 KiB
Raw Blame History

试点运营值班、SLO 与版本级起草证据运行手册

1. 发布顺序

  1. 停止 Contract API 和治理 worker 的新写入;
  2. 备份数据库并执行 python -m alembic -c alembic.ini upgrade head;
  3. 确认版本为 20260825_0067,运行 schema check;
  4. 启动 Contract API、Web、审查 worker 和治理 worker;
  5. 先保持值班表和自动分派关闭,执行一次完整扫描并检查 SLO;
  6. 配置值班账号、轮换锚点和班次,核对当前排班后再启用自动分派。

2. 值班配置与日常操作

  • 成员填写系统内可追溯的运营账号 ID,每行一个,顺序即轮换顺序;
  • 轮换锚点使用平台时区解释,班次长度允许 60–10080 分钟;
  • 队列专属成员优先于通用成员,均为空时才使用兜底负责人;
  • 启用后先手工执行一次扫描,抽查自动路由事件中的值班表版本、班次边界和负责人;
  • 自动路由后仍必须由负责人执行确认或处理动作,不能把“已有负责人”当作“已首次响应”;
  • 临时换班不要直接改工单事件或数据库;更新值班表并保留新版本,从下一次扫描生效。

3. SLO 判读

指标 正常判读 异常处置
扫描成功率 有样本且不低于 99% 查看失败运行 error_code,修复依赖后强制扫描
扫描新鲜度 最近成功不超过两倍扫描间隔,最低 5 分钟 检查治理 worker、租约和数据库连接
扫描 P95 与日常基线接近 分析回看周期、数据量和慢查询,不要盲目缩短间隔
通知终态成功率 有终态样本且不低于 99% 检查通道握手、密钥轮换、SMTP/Webhook 和死信
通知待处理 队列可在投递周期内清空 检查 worker 租约与重试时间,避免手工重复入队

“待验证”表示没有足够样本,不是正常,也不是故障。外部通知 SLO 只统计试点 SLA 升级事件,不能与全部 Playbook 通知混算。

4. 起草证据故障排查

  • 页面没有起草路径:确认 draft_generated 是否携带合同 ID,回执是否为 version_evidence_bound=true;
  • 返回 contract_version_not_found:先确认起草动作已经生成带正文哈希的合同版本;
  • 返回 draft_version_evidence_stale:正文已变化或事件未绑定当前版本,必须重新生成/保存版本后再核对;
  • 四项核对返回 422:四项布尔值都必须显式为 true,后端不会接受部分确认;
  • 已核对但没有最终决策:确认核对之后是否发生审批通过、下载或归档,再运行完整扫描;
  • 同版本已有审查决策:不会再生成第二条起草决策,这是防重复口径,不是数据丢失。

禁止手工改事件版本、正文哈希、核对项或最终决策行来提高指标。

5. 权限与隐私

  • 值班表和 SLO 只对平台超级管理员开放;
  • 合同核对只允许具有当前租户合同编辑权限的用户;
  • SLO、漏斗和值班事件不保存合同正文、签署账号、供应商临时链接或密钥;
  • 正文只以已有合同版本 ID 和 SHA-256 摘要参与证据校验;
  • 值班成员 ID 属于运营元数据,仍应遵循最小访问和离职账号清理流程。

6. 回滚

代码回滚前先关闭自动分派和定时扫描。0067 -> 0066 会删除起草路径最终决策、起草人工确认和值班表,并移除事件绑定、扫描耗时/路由计数及决策路径字段。正式环境必须先导出审计证据、停止写入并取得变更批准;downgrade 不是普通故障恢复手段。