- tasks.md 任务看板(路线图阶段0~2拆为14个小步任务,一次领一个) - progress.md 只追加执行流水(补记文档初始化与JKDA00002联调) - docs/current-state.md 可覆盖当前快照(pre-code现实+已验证事实) - init.sh 统一验证入口(无 go.mod 时指向 T-001) - AGENTS.md 通用 agent 薄入口;CLAUDE.md 会话启动改为三件套流程 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
任务看板(Tasks)
把
docs/05-实施路线图.md的阶段拆成小步、可独立交付、可验收的任务。 每轮只领取一个状态为TODO且依赖均DONE的任务(取最靠前的)。
使用规则
- 开工前读
docs/current-state.md(当前快照)与CLAUDE.md(硬规则)。 - 领取任务时把状态改为
DOING(同一时间最多 1 个)。 - 标
DONE前必须有可运行证据:验证命令和结果追加到progress.md;只有"代码已写"不算完成。 - 完成后:更新本文状态 → 追加
progress.md→ 覆盖更新docs/current-state.md。 - 代码现实与看板冲突时,先说明冲突,不擅自跳步。
状态图例:TODO 待开始 · DOING 进行中 · DONE 完成并验收 · BLOCKED 受阻(注明原因)
Phase B · 基线(接入 harness,先于一切新功能)
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|---|---|---|---|---|
| T-000 | 处理失效测试 tests/test_query_health_record.py |
- | 它 import 的旧脚本 API 已删除(脚本已重写为硬编码版):要么删除,要么改写为校验新信封结构的最小测试;pytest tests/ 通过或目录清空 |
TODO |
Phase 0 · 脚手架与契约骨架(路线图阶段 0)
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|---|---|---|---|---|
| T-001 | 初始化 go module + main.go 双子命令骨架 + config/(viper) |
- | go build ./... 通过;-mode server|deliver 可解析;config.yaml.example 占位值就绪 |
TODO |
| T-002 | osi/sign.go MD5 头签名 + 单测 |
T-001 | 单测校验 password=md5("ts=<ts>&ask=<ask>") 32 位小写;与 Python 脚本(scripts/,本地)产出比对一致 |
TODO |
| T-003 | osi/transport.go:从 chis_upload 移植传输层 |
T-001 | 保留 SOCKS5/超时;去掉 cookiejar 与网页拟态头;单测或最小连通验证 | TODO |
| T-004 | osi/client.go Call + osi/codes.go + contract/envelope.go |
T-002, T-003 | 信封为 serviceId+uploadinfo{baseInfo,manageInfo,...}(docs/04 §8);成功码按去前导零 == "1" 判定(实测 "01",docs/01 §1);405 归类可重试 |
TODO |
| T-005 | 阶段 0 验收:Go 侧真实请求打通 + 配置 init.sh |
T-004 | 用 JKDA00002(Python 已验证的同一查询)发真实请求拿到 code="01";./init.sh 三命令替换完成且可运行 |
TODO |
Phase 1 · 字典服务(路线图阶段 1)
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|---|---|---|---|---|
| T-101 | osi/public.go 四个字典查询(网格/责任医生/药品/机构) |
T-005 | 真实机构码能查到下级网格、责任医生、机构树 | TODO |
| T-102 | mapping/dict.go 全量码表(含 56 项民族) |
T-001 | 双向查表;未命中显式 ValidationError;单测覆盖 | TODO |
| T-103 | 字典缓存(内存 + redis 可选) | T-101, T-102 | 映射层能反查 regionCode/manaDoctorId/manaUnitId;redis 不可用不阻断 |
TODO |
Phase 2 · 健康档案闭环(路线图阶段 2,第一条业务线)
| ID | 任务 | 依赖 | 验收要点 | 状态 |
|---|---|---|---|---|
| T-201 | contract/jkda.go:以 docs/04 §8 实测契约为基线建结构体 |
T-004 | Find 响应能完整反序列化本地联调样本(data 数组、null 字段用指针/omitempty、adressNumber 坑点拼写) |
TODO |
| T-202 | mapping/health_record.go + mapping/checkid.go |
T-102, T-201 | 映射纯函数 + 结构化校验错误;checkId 确定性生成单测 | TODO |
| T-203 | osi/jkda.go:Create/Update/Find/FindRqbj |
T-201 | Find 真实请求通过;Create 待测试档案确认后联调 | TODO |
| T-204 | handler+router:/api/health-record/save |
T-203 | server 模式起服务,curl 全链路返回投递结果 | TODO |
| T-205 | 映射单测基线:docx 样例 + 联调样本 | T-202 | go test ./mapping/... 全绿;必填/码表/格式校验生效 |
TODO |
里程碑
- M1 = T-005:Go 客户端与平台真实握手成功(签名/信封/判码全对)。
- M2 = T-103:字典服务可反查主数据。
- M3 = T-205:档案业务线闭环 + 幂等,映射有回归基线。
待办池(Backlog,按路线图阶段 3~6 展开,进入时再拆小任务)
- 阶段 3:投递流水线(retry/idempotency/circuit/report +
-mode deliver)。 - 阶段 4:其余业务线(体检 JKTJ 字段最多、老年人自理、中医体质、中医指导——B1/B2/B5 契约到位后拆)。
- 阶段 5:PHIS 真实接入与状态回写。
- 阶段 6:加固与交接(完整度定论、密钥环境变量化、运维文档、全绿)。
- 联调依赖跟踪见
docs/06-厂家联调清单.md(B 组契约缺口会阻塞阶段 4)。