Files
cmbuyer/docs
QiuSWandClaude Opus 5 421c865ad2 feat(tasks): adopt Vikunja as task authority with one-way export
把任务的协调状态迁到自建 Vikunja 的 cmbuyer 项目,git 保留单向投影,
并把「活跃任务写路径不得重叠」从自然语言规则变成机器门禁。

- scripts/vikunja_export.py:单向导出(只发 GET),stdlib-only 的
  HTML→Markdown,只覆盖标记区块内,幂等,含 --selftest
- scripts/vikunja-mcp.sh:MCP 启动包装从家目录迁入仓库,版本写死 1.1.1
- scripts/validate_agent_context.py:新增四项离线检查——DOING 任务写路径
  互斥、通配不得圈走共享文档、导出区块 sha256、连接键一致性
- docs/agent-context.json:新增 shared_documents 与 tracker,schema_version 2
- vikunja.env 比照 gitea.env 加入 gitignore,提交 vikunja.env.example

write_paths、## 边界与安全边界条目的权威留在 git,不迁往 Vikunja:
安全边界能否收紧靠 git diff 逐条复核,权威搬到远端会切断审计链。

门禁上线即报出存量违规:T-005 与 T-006 同为 DOING,在 06-tasks.md、
08-interaction-checklist.md、routes.md、current-state.md 四处重叠。
按 T-008 规定不得绕过,须由两者所有者收窄写路径或人工确认后转 DONE。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 17:00:41 +08:00
..

项目文档导航

一句话定位

cmbuyer 是一个自动化采购系统:采购服务(网页端,admin/)负责建单与人工决策, 采购工具(Windows 桌面端,client/)驱动 Android 手机在拼多多完成选规格和下单, 付款始终由人完成。第一版先跑通「手工建单 → 定时领取 → 第一趟试选 → 人工确认 → 第二趟下单 → 待付款」闭环。

文档导航

任务 / 状态职责

  • tasks/(docs/tasks/T-<编号>.md):任务规格、依赖、状态(frontmatter)和执行记录。
  • 06-tasks.md:路线图,阶段划分与里程碑,不跟踪单任务状态。
  • current-state.md:当前快照,可覆盖更新。

必读的四处硬约束

新接手时如果只看四个地方,看这四个:

  1. 04-architecture.md 第三节两趟执行与三道价格闸门——为什么 分两趟、价格为什么只在两个地方读。
  2. 04-architecture.md 第四节安全边界与提交订单四条件——每条 都要有测试。
  3. 05-coding-rules.md 第 1 节红线——违反即拒绝。
  4. 00-ai-start-here.md 四条特有纪律——先取证、只收紧、 只在两处读价、第一趟不下单。

维护原则

  • 需求变化先改文档,再改代码。
  • 代码现实变化后同步 current-state.md;执行证据写进对应任务文件。
  • API、数据模型、路由、技术栈一旦定稿,代码不得另起一套。
  • 前序项目 cmroubao / cmpdd 是设计依据,不是事实来源。
  • agent 开始新任务前,必须从 00-ai-start-here.md 进入。