Files
orbit/docs/reports/phase-0.md

2.5 KiB
Raw Permalink Blame History

P0 基础阶段验证记录

日期:2026-09-17。范围:数据模型、MySQL 迁移、基础 HTTP 与 SDK 健康调用。

环境

  • macOS arm64,Go 1.27.1 官方工具链,下载摘要已核对。
  • MySQL 8.4.10,Docker 独立临时容器;随机凭据、回环随机端口,测试结束后删除容器。
  • MySQL 驱动 github.com/go-sql-driver/mysql v1.10.1,依赖版本记录于 go.mod/go.sum。
  • 使用真实 MySQL,不以 Mock 代替迁移或数据库约束验证。

验证结果

项目 结果
服务端编译 已通过
服务端 go test -race ./... 已通过
服务端 go vet ./... 已通过
两个迁移调用竞争同一数据库锁 已通过
30 个模型与实际数据库列名一致性 已通过
跨命名空间关联拒绝 已通过
非法任务状态、缺少租约与超尝试预算拒绝 已通过
本地事务回滚 已通过
幂等键作用域与唯一约束 已通过
流程发布版本不可修改 已通过
查询轮次、任务唯一性与预算约束 已通过
状态事件与审计记录不可改写 已通过
dirty 迁移与校验和漂移阻断 已通过
SDK HTTP 契约与错误边界 已通过
迁移 CLI → 真实服务 → SDK 健康示例 已通过
文档链接、示例与接入方标识清理 已通过
模型与数据库中文注释 30 个模型的持久化字段及 30 张表、366 个列注释已补齐,DDL 再次验证通过

数据库集成用例首轮约 7.37 秒,最终复核约 2.12 秒,中文注释补齐后再验证约 1.91 秒;这只是功能测试耗时,不是容量基准。最终端到端输出为 liveness=alive readiness=ready scope=database_and_schema。

文档检查覆盖基础阶段 17 个 Markdown 文件(随后新增 AGENTS.md 维护中文注释规范)、69 个本地链接和 4 个 JSON 示例,未发现失效链接或接入方定制标识。

复现

make test
make vet
make build
make integration

普通 go test 会跳过需要数据库的测试;make integration 会创建专用数据库、运行实际约束测试,并启动真实服务执行 SDK 示例。显式设置 ORBIT_TEST_MYSQL_DSN 直接运行测试时,必须使用可丢弃的独立数据库。

未验证范围

目前没有任务处理器、Worker 协议、调度或流程执行引擎,不宣称这些能力已通过验收。尚未执行生产吞吐、长稳、多节点调度、数据库高可用、备份恢复和真实业务接入验收。这些内容在后续阶段实现并验证。