3.3 KiB
3.3 KiB
id, title, phase, deps, status, created, context_ref, work_branch, needs_device, needs_human_review, write_paths
| id | title | phase | deps | status | created | context_ref | work_branch | needs_device | needs_human_review | write_paths | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| T-007 | 统一产品名称与源码目录契约 | 0 | DOING | 2026-08-03 | a7465d2 |
task/t-007-project-naming-layout | false | false |
|
问题 / 背景
项目已经确认三层命名,但当前文档和统一启动脚本仍把未来源码目录写成 web/ 与 desk/,
会直接把 T-001 / T-002 引向错误位置。生产骨架尚未创建,现在统一成本最低;若等目录落地后
再改,会同时影响包路径、脚本、CI、构建产物与开发说明。
唯一命名契约:
| 层级 | 名称 | 目录 / 说明 |
|---|---|---|
| 整体项目 / 仓库 | cmbuyer |
仓库根目录与系统内部标识 |
| 网页产品 | 采购服务 | Go 源码根目录 admin/ |
| Windows 桌面产品 | 采购工具 | Python 源码根目录 client/ |
方案
- 在入口、技术栈、架构、API、路由和任务路线图第一次出现双端时写全“产品名 + 端类型 +
源码目录”,后文可以使用产品名或“网页端 / 桌面端”,不再把
web/desk当产品名。 - 把所有当前规范性的源码路径从
web/...改为admin/...,从desk/...改为client/...;包内webui等技术标识不因顶层目录改名而修改。 - 更新
init.ps1/init.sh的目录判断、变量、提示和启动命令,使尚未初始化时明确提示admin/对应 T-001、client/对应 T-002,并继续按 Phase 0 基线返回退出码 3。 - 不创建
admin/或client/:生产骨架仍分别由 T-001 / T-002 创建。本任务只修正契约和 当前入口脚本。 docs/design/web-*.html与desk-*.html是原型文件前缀,不是生产源码目录,本轮不重命名; HTTP/api/...、页面路由和领域字段也不受影响。
验收要点
- 入口文档能一眼读出
cmbuyer → 采购服务/admin + 采购工具/client,不存在第四套产品名。 - 架构树、事实来源、入口文件与任务写路径统一使用
admin/、client/。 - 两个统一入口脚本只检测
admin/、client/,打印的运行命令与目录一致。 - 在当前 docs-only 基线上执行
init.ps1,上下文校验通过并以退出码 3 精确列出 T-001 / T-002。 python scripts/validate_agent_context.py、shell 语法检查、PowerShell 解析检查与git diff --check通过。- 不改 API 语义、安全边界、页面判据、原型交互或生产代码;不创建空源码目录。
边界
- 本任务只修改 frontmatter
write_paths所列文件。 - 历史任务执行记录可以保留当时的
web//desk/旧占位事实,但不得被当前入口或架构引用。 - 不重命名仓库、远程 Git 项目、原型文件或内部
webui包。 - 不涉及真机,不改变任何下单或付款约束。
执行记录
2026-08-03 · 待实现
- 已确认命名与目录映射;任务保持
DOING,先更新规范与入口脚本,再运行静态门禁。