From e81af2666dda6b096b2cf894e673dcaac3af2f3d Mon Sep 17 00:00:00 2001 From: k2safe Date: Mon, 21 Sep 2026 02:26:58 +0800 Subject: [PATCH] docs: record console end-to-end regression --- docs/08-development-plan.md | 6 ++-- docs/README.md | 1 + docs/reports/phase-7-console-e2e.md | 53 +++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 docs/reports/phase-7-console-e2e.md diff --git a/docs/08-development-plan.md b/docs/08-development-plan.md index bbb6f6f..4f91030 100644 --- a/docs/08-development-plan.md +++ b/docs/08-development-plan.md @@ -1,6 +1,6 @@ # Orbit 持续开发与回归计划 -更新:2026-09-20。此计划对应持续开发目标,由开发过程同步维护。数据库已按用户要求采用无外键设计,迁移 000008 移除历史外键,关联一致性由服务端事务保证。 +更新:2026-09-21。此计划对应持续开发目标,由开发过程同步维护。数据库已按用户要求采用无外键设计,迁移 000008 移除历史外键,关联一致性由服务端事务保证。 ## 1. 最终交付目标 @@ -10,7 +10,7 @@ 仓库内的开发回归统一入口为 `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 和当前队列范围驱动。 +已完成一次真实链路回归:标准 `scripts/test-mysql.sh` 在一次性 MySQL 和真实 Orbit 进程中跑通任务、Worker、结果订阅、Weave 流程、进程恢复及独立业务示例;控制台五个入口、健康检查和详情所依赖的读取 API 已用真实结果核对,证据见 [Console 真实链路回归](reports/phase-7-console-e2e.md)。这关闭了本地闭环验证项,生产拓扑和发布门槛仍保持未验收。 + ## 2. 持续推进方式 每个阶段按以下顺序推进: diff --git a/docs/README.md b/docs/README.md index 76be901..e0b3f7c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -19,6 +19,7 @@ | [08 持续开发计划](08-development-plan.md) | 开发、测试回归、阶段验收与最终交付目标 | | [19 容量模型](19-capacity-model.md) | 企业规模到任务、流程、数据库与连接负载的推导及生产验收方法 | | [P7 协议兼容矩阵](reports/phase-7-compatibility.md) | 当前协议门禁、历史提交双向任务 API 演练与正式标签矩阵边界 | +| [P7 Console 真实链路回归](reports/phase-7-console-e2e.md) | 真实 MySQL、Worker、流程、结果订阅与控制台读取闭环 | | [20 运行与发布手册](20-operations-runbook.md) | 启动、发布、滚动停止、数据库恢复、备份和事故处理 | | [21 容器发布说明](21-container-deployment.md) | 最小镜像、迁移/核验/启动顺序、探针和发布边界 | | [09 可靠结果订阅](09-result-subscription-core.md) | 提交水位、冻结结果与可靠交付 | diff --git a/docs/reports/phase-7-console-e2e.md b/docs/reports/phase-7-console-e2e.md new file mode 100644 index 0000000..074a98f --- /dev/null +++ b/docs/reports/phase-7-console-e2e.md @@ -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 自动切换、备份恢复、滚动升级、正式凭据和跨版本兼容矩阵。