--- id: T-001 title: 初始化采购服务 admin Go 骨架 phase: 0 deps: [] status: DONE created: 2026-08-03 vikunja_task_id: 18 context_ref: a63bdb8 work_branch: task/t-001-admin-skeleton needs_device: false needs_human_review: false write_paths: - docs/tasks/T-001.md - admin/** - docs/03-tech-stack.md - docs/00-ai-start-here.md - docs/current-state.md --- ## 问题 / 背景 仓库尚无 admin/go.mod 和可运行的采购服务代码,init.ps1 因此按预期以退出码 3 停止。没有稳定的 Go 骨架、健康检查和真实验证命令,后续数据模型与服务端任务无法开始。 ## 关联需求与交互 - 功能:Phase 0 工程地基,不新增业务功能。 - 用户故事 / 交互:不适用,不实现生产页面。 - 架构 / API:遵循 docs/03-tech-stack.md;只提供健康检查,不新增采购业务接口。 ## 方案 1. 在 admin/ 初始化 Go 1.23+ 模块,采用既定 gin / SQLite 技术栈和可测试的应用入口。 2. 提供健康检查端点及对应单元测试;启动时错误必须显式返回,不吞错。 3. 建立后续可扩展但保持最小的目录结构,不提前实现登录、任务、授权、提交订单或支付逻辑。 4. 运行 go test ./... 与 go vet ./...,并记录真实命令。 5. T-001 作为本轮共享文档所有者,只更新 admin 相关的 docs/03-tech-stack.md、docs/00-ai-start-here.md、docs/current-state.md 段落;不得代写尚未验证的 client 命令。 ## 验收要点 - admin/go.mod 存在,Go 模块与依赖可解析。 - 健康检查端点可通过 httptest 验证状态码和稳定响应。 - go test ./...、go vet ./... 在 admin/ 通过。 - 共享文档中的 admin 占位命令替换为经实际运行的命令,client 未完成部分仍明确标为未初始化。 - 不包含采购业务、真机页面判据、下单或付款代码。 ## 执行记录 ### 2026-08-03T10:11:42Z · ila T-001 实施与主审完成(2026-08-03):新增 admin Go 1.23 模块、gin 路由、GET /healthz、mattn/go-sqlite3 封装及 2 项离线测试;未实现业务路由、真机判据、下单或付款。主 agent 逐文件审查并独立运行:go mod tidy;gofmt -d .(无差异);go test -count=1 -race ./...(2 项通过);go vet ./...;go build ./...;python scripts/validate_agent_context.py;init.ps1(按 T-002 未完成预期退出 3)。已更新 admin 的真实运行/验证文档。风险:go-sqlite3 依赖 CGO;init.ps1 的“仓库只有文档”旧提示留给 T-003 修正。 ## 边界 - 不实现管理员登录、任务 CRUD、授权、围栏、真机自动化或任何 Phase 1+ 功能。 - 不新增或修改采购业务 API;健康检查不承载业务数据。 - 不编写任何下单、提交订单、付款或支付相关代码。 - 不修改 `client/`、`docs/api.md`、`docs/04-architecture.md`、需求或交互原型。 - 共享文档只写已经实际运行验证的 admin 命令,不代写尚未完成的 client 命令。