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

52 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 示例,未发现失效链接或接入方定制标识。
## 复现
```sh
make test
make vet
make build
make integration
```
普通 `go test` 会跳过需要数据库的测试;`make integration` 会创建专用数据库、运行实际约束测试,并启动真实服务执行 SDK 示例。显式设置 `ORBIT_TEST_MYSQL_DSN` 直接运行测试时,必须使用可丢弃的独立数据库。
## 未验证范围
目前没有任务处理器、Worker 协议、调度或流程执行引擎,不宣称这些能力已通过验收。尚未执行生产吞吐、长稳、多节点调度、数据库高可用、备份恢复和真实业务接入验收。这些内容在后续阶段实现并验证。