diff --git a/docs/08-development-plan.md b/docs/08-development-plan.md index c4530ee..3f6193c 100644 --- a/docs/08-development-plan.md +++ b/docs/08-development-plan.md @@ -31,7 +31,7 @@ | P4 Weave 主流程 | SDK 定义构建与发布校验、实例、顺序/分支/结构化并行汇合、信号/定时等待、版本绑定 | 重启接续、早到/重复信号、并行竞争、内部事件重放、发布版本兼容;端到端通用流程 | 已完成平台功能阶段验收:[原功能及W01–W17逐项核对](reports/phase-4-5.md)、[版本/暂停/全停回归](reports/phase-4-5-races.md)、[提交故障边界](reports/phase-6-fault-boundaries.md)。研发发布、固定版本、顺序/分支/有限并行、信号/时间等待、公共API/SDK及可运行示例均已交付;生产拓扑与发布兼容继续P6/P7 | | P5 Weave 恢复与查询 | 有界查询、暂停继续、取消、人工核查恢复、控制门控与审计 | 轮次与尝试独立预算;暂停/开始/回执/超时竞争;恢复保留预算;未知结果不盲目重复 | 已完成平台功能阶段验收:[原功能核对](reports/phase-4-5.md)。有界查询、独立预算、暂停继续/取消、六类恢复、历史/筛选/事件/来源与SDK场景均已交付;真实竞争、COMMIT断线及进程全停保留原身份、截止和预算。运维、容量与首版发布继续P6/P7 | | P6 生产验证与运维 | 完整监控、凭据轮换、备份恢复、滚动升级、运行手册、可复现负载和故障工具 | 对照生产验收清单执行,报告环境/指标/遗留项;容量、RPO/RTO 按真实拓扑验证 | 进行中;已补[精确故障边界](reports/phase-6-fault-boundaries.md)和[进程观测](reports/phase-6-observability.md);继续业务积压/阶段延迟、凭据轮换及其余生产门槛 | -| P7 首版交付核对 | SDK 兼容与发布准备、完整 API 手册、场景示例、全量回归及交付清单 | 新接入者按文档跑通全部示例;所有首版能力可追溯到实现与测试;报告实际生产边界 | 进行中;已补[通用文件转换示例](reports/phase-7-file-conversion.md)、[SDK独立发布门禁](reports/phase-7-sdk-release.md)、[当前协议兼容矩阵](reports/phase-7-compatibility.md)和[首版交付核对清单](release-checklist.md),仍需带标签的跨版本矩阵、全量资源充足回归和目标拓扑验收 | +| P7 首版交付核对 | SDK 兼容与发布准备、完整 API 手册、场景示例、全量回归及交付清单 | 新接入者按文档跑通全部示例;所有首版能力可追溯到实现与测试;报告实际生产边界 | 进行中;已补[通用文件转换示例](reports/phase-7-file-conversion.md)、[SDK独立发布门禁](reports/phase-7-sdk-release.md)、[当前协议兼容矩阵](reports/phase-7-compatibility.md)、[当前回归状态](reports/phase-7-regression-status.md)和[首版交付核对清单](release-checklist.md),仍需带标签的跨版本矩阵、宿主机全量回归和目标拓扑验收 | SDK、文档与示例随 P1–P5 同步开发,P7 是全量核对,不是最后才开始补文档。 diff --git a/docs/release-checklist.md b/docs/release-checklist.md index b032bb9..71d32d3 100644 --- a/docs/release-checklist.md +++ b/docs/release-checklist.md @@ -8,10 +8,10 @@ | --- | --- | --- | | 服务端与 SDK 代码来自同一提交 | `git rev-parse HEAD`;发布时记录不可变提交 | 待发布候选冻结 | | Go 工具链 | Go 1.27.1;当前资源受限环境已用 Docker Go 1.25 临时 modfile 验证 | Go 1.27.1全量待资源充足环境 | -| 服务端单元、竞态、vet、build | `make test && make vet && make build` | 待资源充足环境复跑 | +| 服务端单元、竞态、vet、build | `make test && make vet && make build` | Docker Go 1.25 临时 modfile 的 test/vet 已通过;Go 1.27.1 标准命令待资源充足环境 | | 当前协议线一致 | `make protocol-check` | 已通过:HTTP `/v1`、Worker/Event v1、流程 schema 1 | | SDK 独立性和发布门禁 | `make sdk-check` | 已通过 Docker Go 1.25;Go 1.27.1待复跑 | -| 文档与示例 | 本清单、[接口手册](api/README.md)、[SDK手册](sdk/README.md)、[场景示例](examples/README.md) | 文档链接和 JSON 块已检查;端到端全量待复跑 | +| 文档与示例 | 本清单、[接口手册](api/README.md)、[SDK手册](sdk/README.md)、[场景示例](examples/README.md) | 文档链接和 JSON 块已检查;宿主机全量端到端见[当前回归状态](reports/phase-7-regression-status.md) | ## 数据库与安全 @@ -28,7 +28,7 @@ | 项目 | 证据/命令 | 状态 | | --- | --- | --- | | 幂等、事务、租约、重试、未知结果和流程恢复 | P1–P5阶段报告及真实 MySQL 回归 | 功能阶段已通过 | -| 派发未送达、提交前后断线、最终信号竞争 | [故障边界报告](reports/phase-6-fault-boundaries.md) | 定向场景已通过;完整脚本需资源充足环境复跑 | +| 派发未送达、提交前后断线、最终信号竞争 | [故障边界报告](reports/phase-6-fault-boundaries.md) | 历史 loopback 定向场景已通过;当前容器组除 loopback 包截断场景外均通过,完整脚本仍需合适环境 | | 备份恢复 | `scripts/test-backup-restore.sh`、[恢复报告](reports/phase-6-backup-restore.md) | 隔离演练已通过;生产介质待验收 | | MySQL 短暂不可用恢复 | `scripts/test-db-recovery.sh`、[恢复报告](reports/phase-6-db-recovery.md) | 单节点同卷演练已通过;主从/跨故障域待验收 | | 运行观测和只读快照 | `/metrics`、`orbit-admin observe snapshot`、[观测手册](api/observability.md) | 固定基数和有界单节点快照已实现 | diff --git a/docs/reports/phase-7-regression-status.md b/docs/reports/phase-7-regression-status.md new file mode 100644 index 0000000..53aec9f --- /dev/null +++ b/docs/reports/phase-7-regression-status.md @@ -0,0 +1,23 @@ +# P7 当前回归状态 + +验证日期:2026-09-20。本记录只汇总当前环境实际执行的回归,不把跳过或预条件失败写成通过。 + +## 已执行 + +| 检查 | 环境/命令 | 结果 | +| --- | --- | --- | +| 服务端单元与竞态 | Docker `golang:1.25`,临时 modfile;`GOWORK=off go test -race ./...` | PASS | +| 服务端 vet | Docker `golang:1.25`;`GOWORK=off go vet ./...` | PASS | +| SDK 竞态、vet、构建 | Docker `golang:1.25`;SDK 全 module、全部示例和 `orbit-load` | PASS | +| 当前协议门禁 | `make protocol-check` | PASS,当前 v1 契约同步 | +| MySQL 存储集成 | MySQL 8.4.10,一次性容器;`go test -race -run Integration -skip 'TestIntegration(WorkflowCommitFaults\|CredentialCommitFaults)$'` | PASS,210.893 秒;包含空库无外键基线、v7升级、Pulse/Weave/API/观测/恢复与W16竞争 | + +## 当前环境排除项 + +无过滤运行的存储集成组中,`TestIntegrationWorkflowCommitFaults` 和 `TestIntegrationCredentialCommitFaults` 被测试自身的前置检查拒绝:它们必须连接到测试进程视角下的 `127.0.0.1` 明文 MySQL,以便逐包截断真实 COMMIT;容器网络别名不满足这个故障模型。该结果不能当作场景通过,也不能归因于本次代码改动。`TestIntegrationWorkflowRuntimeProcess` 需要宿主机可执行的 Orbit 二进制,在本次容器测试中按测试契约跳过。 + +这些切点已有历史 macOS arm64 + Go 1.27.1 + loopback MySQL 通过记录,见[故障边界报告](phase-6-fault-boundaries.md);发布候选仍需在资源充足、满足 loopback 预条件的环境重新运行无过滤 `make integration`。当前环境没有把 Docker Go 1.25 的结果升级为仓库声明 Go 1.27.1 的正式全量结论。 + +## 结论 + +本轮证明新增无外键空库基线、运维快照和协议门禁没有破坏现有服务端/SDK单元与真实 MySQL 存储行为。P7 仍未完成跨标签 SDK/服务端矩阵、宿主机进程全链路回归、目标拓扑容量、复制切换、RPO/RTO和生产发布审批。