Files
cmbuyer/docs/tasks/T-001.md

62 lines
3.1 KiB
Markdown
Raw Permalink 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.
---
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
---
<!-- BEGIN VIKUNJA EXPORT id=18 synced=2026-08-03T10:13:08Z sha256=81e7657246ae88d8b8c8c9eeb370989c11a524a7ed2e7bd25d647dc77efd747e -->
## 问题 / 背景
仓库尚无 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 修正。
<!-- END VIKUNJA EXPORT -->
## 边界
- 不实现管理员登录、任务 CRUD、授权、围栏、真机自动化或任何 Phase 1+ 功能。
- 不新增或修改采购业务 API;健康检查不承载业务数据。
- 不编写任何下单、提交订单、付款或支付相关代码。
- 不修改 `client/`、`docs/api.md`、`docs/04-architecture.md`、需求或交互原型。
- 共享文档只写已经实际运行验证的 admin 命令,不代写尚未完成的 client 命令。