docs: record phase seven acceptance and sdk integration

This commit is contained in:
2026-09-21 03:38:25 +08:00
parent 4cd99b8bb6
commit 3c8a9ac47c
5 changed files with 151 additions and 4 deletions

View File

@@ -0,0 +1,69 @@
# P7 四项闭环验收记录
日期:2026-09-21。本文把流程恢复、运行观测、故障/容量和 SDK 接入放在同一次当前提交验收中。所有结果来自本地 Docker、一次性 MySQL 8.4 和 Go 1.27.1;它们证明代码链路可复现,不替代目标生产拓扑的容量、复制切换、RPO/RTO 和发布审批。
## 1. 真实流程恢复闭环
执行:
```sh
make integration
```
关键结果:
- `TestIntegrationWorkflowRecovery` 通过 UNKNOWN 执行核查、步骤结论、继续、任务重试、POLL PENDING、SIGNAL/TIMER 等待恢复、旧证据保护、预算和截止时间保护、审计失败回滚及权限/修订冲突。
- `TestIntegrationWorkflowRuntimeProcess` 通过控制器全停、两个新进程接管、人工恢复后继续、POLL 同轮恢复和等待代次重建。
- `TestIntegrationWorkflowInstancesSDK` 通过公共 HTTP 与独立 SDK 的六类恢复命令、流程控制、信号、审计和真实 Worker 执行。
- WebSocket 结果交付、ACK 丢失、慢消费者、自然租约重投和跨节点接管均通过;完整 MySQL 集成退出 0。
控制台资源也使用同一公共接口:`/console/`、`/console/app.js`、`/console/styles.css` 返回 200,`NEEDS_REVIEW` 恢复入口要求当前修订、证据引用、原因、显式确认和幂等键。
## 2. 指标与告警
执行:
```sh
go test ./internal/observability ./cmd/orbit -count=1
docker run --rm --entrypoint /bin/promtool \
-v "$PWD:/work:ro" prom/prometheus:v3.5.0 \
check rules /work/deploy/monitoring/orbit.rules.yml
docker run --rm --entrypoint /bin/promtool \
-v "$PWD:/work:ro" prom/prometheus:v3.5.0 \
test rules /work/deploy/monitoring/orbit.rules.test.yml
```
结果:指标单元与真实进程采样通过;Prometheus 规则加载 8 条成功,触发、启动宽限、健康不报警、错误恢复和截断恢复测试通过。指标保持独立监听、固定基数、无业务 ID 标签;告警只触发调查,不自动改写任务或流程状态。
## 3. 故障、备份和容量样本
| 场景 | 命令 | 当前结果 |
| --- | --- | --- |
| MySQL 短暂不可用 | `scripts/test-db-recovery.sh` | readiness 在故障时 503,恢复后 200,恢复后任务可受理 |
| 逻辑备份恢复 | `scripts/test-backup-restore.sh` | 源库/恢复库核心计数一致,schema 28、外键 0、固定观测索引 6 |
| GTID 复制与手工提升 | `scripts/test-mysql-replication.sh` | 复制同步、源库停止、副本手工提升和原幂等键重放通过;自动切换仍未宣称完成 |
| 集中定时积压 | `ORBIT_BACKLOG_RUN_TIMEOUT=20s scripts/test-schedule-backlog.sh` | 256 个 occurrence 全部持久化,32 个计划均暂停确认,外键 0;保留有界曲线和指标采样,工具的预期 `tool_exit=1` 表示到达负向截止样本 |
长时积压样本继续使用 180 秒默认窗口;样本只用于比较积压清空、CPU/RSS、MySQL 资源和连接池曲线,不能直接外推生产吞吐或百万企业容量。
## 4. SDK 与业务接入
执行:
```sh
make sdk-check
make protocol-check
make docs-check
make release-local-check
```
结果:SDK 独立 module、`GOWORK=off`、竞态测试、vet、全包构建、协议版本检查和 149 个 Markdown 本地链接均通过;公共 SDK 的流程恢复、事件消费、Outbox/Inbox、提交回执丢失和 WebSocket 重连已有真实服务示例。新增[生产接入闭环](../sdk/production-integration.md),明确 Outbox、HTTP 受理、WebSocket 通知、Inbox 去重、错误分类和上线清单。
## 5. 仍需目标环境验收
- 生产硬件和混合负载下的 p50/p95/p99、磁盘、锁等待、复制延迟和容量余量。
- 自动故障切换、目标拓扑 RPO/RTO、备份介质和恢复工单。
- 生产监控通知、值班升级、凭据托管、日志脱敏和发布审批。
- 正式标签之间的完整 SDK/服务端双向兼容矩阵。
这些项目继续保留在[首版交付清单](../release-checklist.md)中,不能用本地回归结果替代。