From b7559a9451c9644a9abf170feb48a00ec5d7e355 Mon Sep 17 00:00:00 2001 From: QiuSW <105186638@qq.com> Date: Mon, 3 Aug 2026 17:57:53 +0800 Subject: [PATCH] docs(tasks): define parallel T-001 and T-002 --- docs/tasks/T-001.md | 59 +++++++++++++++++++++++++++++++++++++++++++++ docs/tasks/T-002.md | 58 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) create mode 100644 docs/tasks/T-001.md create mode 100644 docs/tasks/T-002.md diff --git a/docs/tasks/T-001.md b/docs/tasks/T-001.md new file mode 100644 index 0000000..4af2da0 --- /dev/null +++ b/docs/tasks/T-001.md @@ -0,0 +1,59 @@ +--- +id: T-001 +title: 初始化采购服务 admin Go 骨架 +phase: 0 +deps: [] +status: DOING +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 未完成部分仍明确标为未初始化。 +- 不包含采购业务、真机页面判据、下单或付款代码。 + +## 执行记录 + +(暂无) + + +## 边界 + +- 不实现管理员登录、任务 CRUD、授权、围栏、真机自动化或任何 Phase 1+ 功能。 +- 不新增或修改采购业务 API;健康检查不承载业务数据。 +- 不编写任何下单、提交订单、付款或支付相关代码。 +- 不修改 `client/`、`docs/api.md`、`docs/04-architecture.md`、需求或交互原型。 +- 共享文档只写已经实际运行验证的 admin 命令,不代写尚未完成的 client 命令。 diff --git a/docs/tasks/T-002.md b/docs/tasks/T-002.md new file mode 100644 index 0000000..a894992 --- /dev/null +++ b/docs/tasks/T-002.md @@ -0,0 +1,58 @@ +--- +id: T-002 +title: 初始化采购工具 client Python 骨架 +phase: 0 +deps: [] +status: DOING +created: 2026-08-03 +vikunja_task_id: 17 +context_ref: a63bdb8 +work_branch: task/t-002-client-skeleton +needs_device: false +needs_human_review: false +write_paths: + - docs/tasks/T-002.md + - client/** +--- + + +## 问题 / 背景 + +仓库尚无 client/requirements.txt 和可运行的采购工具代码,init.ps1 因此按预期以退出码 3 停止。没有稳定的 Python 包、测试入口、日志与产物策略,后续 ADB/uiautomator2 真机取证无法开始。 + +## 关联需求与交互 + +- 功能:Phase 0 工程地基,不实现采购执行流程。 +- 用户故事 / 交互:不适用,本任务只建立应用骨架,不实现已确认原型的生产界面。 +- 架构 / API:遵循 docs/03-tech-stack.md 与 TaskSource / ResultSink 边界;不新增跨端接口。 + +## 方案 + +1. 在 client/ 建立 Python 3.11+ 包、requirements.txt、应用入口和最小测试结构。 +2. 声明既定 PySide6 / uiautomator2 依赖,但基础单元测试不得要求连接真机。 +3. 建立日志和运行产物目录策略;本地虚拟环境与运行产物必须被 client 范围内的忽略规则排除,日志不得记录 token、地址、手机号或支付信息。 +4. 保证 python -m unittest discover -s tests -t . 与 python -m compileall -q src tests 可运行。 +5. T-001 关闭前不修改共享文档。先在 Vikunja 评论记录已验证的 client 命令;T-001 完成后由任务所有者先提交 write_paths 扩展,再更新共享文档并关闭 T-002。 + +## 验收要点 + +- client/requirements.txt、src 包、应用入口和 tests 存在。 +- unittest 与 compileall 在 client/ 通过,且不需要真机。 +- 日志 / 产物路径和脱敏边界有测试或可验证配置。 +- 不包含拼多多页面判据、真机自动化实现、下单或付款代码。 +- 关闭 T-002 前,共享文档中的 client 占位命令已由扩展后的独占 write_paths 更新为实际命令。 + +## 执行记录 + +(暂无) + + +## 边界 + +- 不实现拼多多页面判据、ADB/uiautomator2 真机流程、采购执行 UI 或任何 Phase 1+ 功能。 +- 不编写任何进入订单确认、提交订单、付款或支付相关代码。 +- 不修改 `admin/`、`docs/api.md`、`docs/04-architecture.md`、需求或交互原型。 +- T-001 为 `DOING` 时不修改共享文档;先在 Vikunja 记录验证命令。T-001 关闭后,必须先提交 + `write_paths` 扩展,再更新 `docs/03-tech-stack.md`、`docs/00-ai-start-here.md`、 + `docs/current-state.md`,不得绕过路径门禁。 +- 本地虚拟环境、缓存、日志和运行产物不得提交 Git;凭据和敏感信息不得进入日志。