docs: 同步 T-002 完成状态并重排看板为查询先行

- T-001/T-002 标记 DONE,current-state 更新 Go 骨架现实
- 看板重排 Phase 1/2 → Q(查询)/M(映射)/D(字典+创建),查询档案不依赖字典
- osi/jkda.go 拆为 T-203(Find)/T-206(Create),显式化 Create 对字典缓存的依赖
- docs/05 加执行顺序注记

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-06 21:52:56 +08:00
co-authored by Claude Opus 4.8
parent 2bff3cf6cc
commit 4a5134093b
4 changed files with 64 additions and 27 deletions
+16 -1
View File
@@ -56,4 +56,19 @@
- 验证:`go test ./...` 通过;`go build ./...` 通过;`go run . -mode server -config config.yaml.example` 输出 `chis_osi mode=server`;`go run . -mode deliver -config config.yaml.example` 输出 `chis_osi mode=deliver`。
- 验证补充:`bash init.sh` 在当前 Windows 环境失败,系统提示未安装 WSL;已用等价 Go 命令完成验收。
- 决策:Go module 使用本地模块名 `chis_osi`;`main.go` 只打印 mode,不打印配置值,避免泄露真实环境信息;`config.yaml.example` 只保留占位值。
- 下一步:T-002(`osi/sign.go` MD5 头签名 + 单测)。
- 下一步:T-002(`osi/sign.go` MD5 头签名 + 单测)。
## 2026-07-06 T-002 MD5 头签名
- 状态:DONE
- 变更:新增 `osi/sign.go` 与 `osi/sign_test.go`;`BuildHeaders` 组装 OSI 必需请求头,`SignPassword` 按 `md5("ts=<ts>&ask=<ask>")` 输出 32 位小写;`tasks.md` 标记 T-002 完成;`docs/05` 勾选阶段 0 第二项。
- 验证:先运行 `go test ./osi` 看到缺少 `SignPassword`/`BuildHeaders`/`HeaderInput` 的预期失败;实现后 `go test ./osi` 通过;`go test ./...` 通过;`go build ./...` 通过。
- 决策:固定测试向量 `ts=1700000000123&ask=secret-key -> 008aceff8247cb42d2a99b2c48d0ac88` 来自 Python `hashlib.md5(...).hexdigest()`,用于对齐本地联调脚本签名算法;`ask` 只参与签名,不进入 headers。
- 下一步:T-003(`osi/transport.go` 传输层,保留 SOCKS5/超时)。
## 2026-07-06 看板重排(查询先行)
- 状态:DONE(规划调整,无代码)
- 变更:`tasks.md` 把 Phase 1(字典)/Phase 2(档案) 重排为 Phase Q(查询)→M(映射)→D(字典+创建);`osi/jkda.go` 拆为 T-203(Find/FindRqbj) 与 T-206(Create/Update);`docs/05` 加执行顺序注记。任务 ID 不变。
- 决策:查询档案(Find)不依赖字典,映射纯函数单测只需码表+注入假字典快照,只有真实创建闭环才需 T-101/T-103 字典反查——故把字典接口降到创建之前、查询之后。顺带把"Create 依赖字典缓存"从隐性依赖显式化到 T-206。
- 下一步:仍是 T-003(Phase 0 未变),Phase 0 完成后按 Q→M→D 领取。