docs: 归档 #38;改正六份归档里未经验证的 Go 版本说法
#38 归档记录了打回一次的经过(ParseSpec 两个失败分支无测试覆盖, 其中 size=="" 就是真实数据里 2 行走的分支),以及架构角色第一轮 变异打在死分支上、差点误报「测试没牙」的过程。 改正:/usr/local/go 从 2026-07-02 起一直是 1.26.5,而六份归档都写着 「架构角色亲自执行(Go 1.23.0)」——那是照项目固定版本抄的, 没有实际验证过工具链,违反 CLAUDE.md §9「说验证过必须真的跑过」。 措辞改为不宣称具体版本。已用 GOTOOLCHAIN=go1.23.0 补验,结论不变。 admin/AGENTS.md 加两条 [必须]: - 交付前至少跑一次带 GOTOOLCHAIN=go1.23.0 的验证。开发机装的可能更新, Go 会默默用它编译,测过的不是要交付的那个版本。新加依赖时尤其要跑。 - 改数据库时不要只测全新库,先列出现实中存在哪些 schema 状态再一个个验(来自 #20)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -119,8 +119,22 @@ go test ./...
|
||||
go run .
|
||||
```
|
||||
|
||||
`[必须]` **交付前至少跑一次带 `GOTOOLCHAIN=go1.23.0` 的验证**:
|
||||
|
||||
```powershell
|
||||
$env:GOTOOLCHAIN="go1.23.0"; go build ./...; go test ./... -count=1
|
||||
Remove-Item Env:GOTOOLCHAIN
|
||||
```
|
||||
|
||||
本项目固定 Go 1.23.0(见 [00 上手指南](../docs/admin/00-getting-started.md)),
|
||||
但开发机上装的可能是更新的版本,Go 会默默用它编译,**测过的不是要交付的那个版本**。
|
||||
本项目已经发生过:连续六份归档写着「Go 1.23.0 验证通过」,实际全跑在 1.26.5 上。
|
||||
新加依赖时尤其要跑——依赖的 `go` 指令高于 1.23.0 的话,只有这条命令能发现。
|
||||
|
||||
- `go run .` 启动后访问 `http://localhost:8080`,**不会连手机、不会下单**,可随时运行。
|
||||
- 修改数据库时测试首次建库和从上一版本迁移。
|
||||
`[必须]` **不要只测全新库。** 先列出现实中存在哪些 schema 状态
|
||||
(不同版本的程序建过的库都算),一个个迁过来验。见 `docs/task/20-*.md`。
|
||||
- 修改给 Client 的接口时,跑契约测试,确认仍满足 Client 侧 §6.1 的无条件接受。
|
||||
- 修改 Excel 导入时用 `raw_data/` 下的样本跑一遍,核对导入条数。
|
||||
该样本含商业数据、**不在仓库里**,需向项目负责人索取;自动化测试用 `testdata/` 下的脱敏小样本。
|
||||
|
||||
Reference in New Issue
Block a user