docs: record console end-to-end regression

This commit is contained in:
2026-09-21 02:26:58 +08:00
parent c03f8ab3d5
commit e81af2666d
3 changed files with 58 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
# Orbit 持续开发与回归计划 # Orbit 持续开发与回归计划
更新:2026-09-20。此计划对应持续开发目标,由开发过程同步维护。数据库已按用户要求采用无外键设计,迁移 000008 移除历史外键,关联一致性由服务端事务保证。 更新:2026-09-21。此计划对应持续开发目标,由开发过程同步维护。数据库已按用户要求采用无外键设计,迁移 000008 移除历史外键,关联一致性由服务端事务保证。
## 1. 最终交付目标 ## 1. 最终交付目标
@@ -10,7 +10,7 @@
仓库内的开发回归统一入口为 `make release-local-check`,它只负责可重复的本地门禁;真实 MySQL 全量回归使用 `make integration`,目标拓扑生产验收仍按交付清单单独留证。 仓库内的开发回归统一入口为 `make release-local-check`,它只负责可重复的本地门禁;真实 MySQL 全量回归使用 `make integration`,目标拓扑生产验收仍按交付清单单独留证。
## 1.1 当前交付快照(2026-09-20) ## 1.1 当前交付快照(2026-09-21)
当前不是“还剩一半代码”的状态,而是核心平台已经进入生产验收阶段。为避免把代码完成度和上线完成度混在一起,按三层记录: 当前不是“还剩一半代码”的状态,而是核心平台已经进入生产验收阶段。为避免把代码完成度和上线完成度混在一起,按三层记录:
@@ -44,6 +44,8 @@
控制台五个核心模块已拆为独立 hash 视图,导航状态和页面标题随视图同步,刷新或直接打开对应 hash 后仍保持正确模块。数据请求继续由统一 Bearer Token 和当前队列范围驱动。 控制台五个核心模块已拆为独立 hash 视图,导航状态和页面标题随视图同步,刷新或直接打开对应 hash 后仍保持正确模块。数据请求继续由统一 Bearer Token 和当前队列范围驱动。
已完成一次真实链路回归:标准 `scripts/test-mysql.sh` 在一次性 MySQL 和真实 Orbit 进程中跑通任务、Worker、结果订阅、Weave 流程、进程恢复及独立业务示例;控制台五个入口、健康检查和详情所依赖的读取 API 已用真实结果核对,证据见 [Console 真实链路回归](reports/phase-7-console-e2e.md)。这关闭了本地闭环验证项,生产拓扑和发布门槛仍保持未验收。
## 2. 持续推进方式 ## 2. 持续推进方式
每个阶段按以下顺序推进: 每个阶段按以下顺序推进:

View File

@@ -19,6 +19,7 @@
| [08 持续开发计划](08-development-plan.md) | 开发、测试回归、阶段验收与最终交付目标 | | [08 持续开发计划](08-development-plan.md) | 开发、测试回归、阶段验收与最终交付目标 |
| [19 容量模型](19-capacity-model.md) | 企业规模到任务、流程、数据库与连接负载的推导及生产验收方法 | | [19 容量模型](19-capacity-model.md) | 企业规模到任务、流程、数据库与连接负载的推导及生产验收方法 |
| [P7 协议兼容矩阵](reports/phase-7-compatibility.md) | 当前协议门禁、历史提交双向任务 API 演练与正式标签矩阵边界 | | [P7 协议兼容矩阵](reports/phase-7-compatibility.md) | 当前协议门禁、历史提交双向任务 API 演练与正式标签矩阵边界 |
| [P7 Console 真实链路回归](reports/phase-7-console-e2e.md) | 真实 MySQL、Worker、流程、结果订阅与控制台读取闭环 |
| [20 运行与发布手册](20-operations-runbook.md) | 启动、发布、滚动停止、数据库恢复、备份和事故处理 | | [20 运行与发布手册](20-operations-runbook.md) | 启动、发布、滚动停止、数据库恢复、备份和事故处理 |
| [21 容器发布说明](21-container-deployment.md) | 最小镜像、迁移/核验/启动顺序、探针和发布边界 | | [21 容器发布说明](21-container-deployment.md) | 最小镜像、迁移/核验/启动顺序、探针和发布边界 |
| [09 可靠结果订阅](09-result-subscription-core.md) | 提交水位、冻结结果与可靠交付 | | [09 可靠结果订阅](09-result-subscription-core.md) | 提交水位、冻结结果与可靠交付 |

View File

@@ -0,0 +1,53 @@
# P7:Orbit Console 与真实业务链路回归
日期:2026-09-21。本批不是用页面假数据演示,而是在一次性 MySQL、真实 Orbit 进程和真实 Go SDK/Worker 上完成平台闭环,再核对控制台读取接口和静态资源。数据库继续禁止外键,测试结束后临时容器、凭据和构建目录均由标准脚本清理。
## 验收范围
标准命令:
```sh
./scripts/test-mysql.sh
```
本次回归实际覆盖:
- 迁移、Schema 核验、无外键升级、健康检查和版本读取。
- HTTP 任务受理、幂等重报、查询、取消、延迟、批量和队列背压。
- Worker WSS 连接、领取、开始、续租、结果确认、重连、租约过期和进程强杀接管。
- 结果订阅创建、配置、事件过滤、WSS 交付、ACK、丢 ACK 恢复、租约过期、人工追加预算和重复确认。
- Weave 定义发布、固定版本启动、顺序/并行、定时等待、信号、流程事件审计、暂停/继续、取消、人工核查和进程全停恢复。
- 独立 Inbox、Outbox 业务示例,以及 SDK 在真实 HTTP/WSS 服务下的调用。
- Orbit Console `/console/`、`app.js`、`styles.css` 和五个 hash 视图的 HTTP 资源检查;详情页使用的流程、步骤、事件、订阅和交付 API 均由同一批真实数据回归覆盖。
## 结果
标准脚本退出码为 0。存储、协议、SDK、Worker 进程恢复、结果订阅进程恢复、流程全停恢复和两个独立业务模块均通过;日志中未出现失败测试。关键结果包括:
```text
schema_version=28 migration_count=28 foreign_key_count=0 complete=true
workflow state=SUCCEEDED result={"text":"HELLO ORBIT"}
workflow_timeline_verified=true signal_transition=PENDING->CONSUMED
worker_drained=true
management SDK exercised create/get/list/control/detail/expired retry
business commit verified before ACK; one business effect and two delivery attempts
paused task/signal/timer collected by fresh nodes; public SDK resume preserved version and deadlines
```
控制台资源和页面入口已在本机 Docker 服务确认:
```text
/console/#/overview 200
/console/#/tasks 200
/console/#/schedules 200
/console/#/workflows 200
/console/#/subscriptions 200
/health/live {"status":"alive"}
/health/ready {"scope":"database_and_schema","status":"ready"}
```
## 边界
这次回归证明真实服务链路、权限边界、事务恢复和控制台读取接口可以一起工作,不等于目标生产拓扑已经完成容量、自动故障切换、RPO/RTO、正式密钥托管、告警和值守验收。控制台仍使用调用方 Bearer Token,页面不直接连接 MySQL,也不把 WSS 租约秘密展示给管理页面。
下一批工作进入生产门槛:目标拓扑容量、慢消费者和重连风暴、MySQL 自动切换、备份恢复、滚动升级、正式凭据和跨版本兼容矩阵。