You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1.4 KiB

02 — crm-project 模块骨架 + 项目建档闭环(主 tracer bullet)

What to build: 新建 crm-project 模块(依赖方向对称 crm-opportunity,先读 crm-lead/crm-opportunity 参照形态,不另起风格)。crm_project 主表全列一次建齐(含 §2.3 阶段专属扩展列;命名过孤立单大写检查)+ 双轴/报备枚举。POST /project/create:客户必填(走 CustomerCatalogPort 目录选、不可现场新建)+ 方案卡必填(票 01 的 PROJECT 校验接口在此接真实现:方案卡 customer_id == 项目客户)→ 落库 stage=0 / status=1 / filing_status=1(建项目即触发报备,spec §3/grill#12),冲突检测留桩返回「无冲突」,写首条项目动态。GET /project/detail 读回主档。对应 spec §1/§2/§3/§5.1。

Blocked by: 01 — 方案卡 owner 化解耦。

Status: ready-for-agent

  • bruno 调 create 建出 stage=0/status=1/filing_status=1 的项目,detail 读回全档
  • 客户或方案卡缺失、方案卡归属/客户不符时报参数错误(禁 @PathVariable/@PutMapping/@DeleteMapping/@RequestBody,遵 ADR-0017;深 tag 遵 ADR-0024)
  • 冲突检测留桩返回无冲突;首条项目动态落 crm-log
  • bruno-sync sourceRoots + menuBindings 首配;新 crm-project/CONTEXT.md + 根 CONTEXT-MAP 挂载
  • 通用纪律收工项:文档沉淀(新端点 .bru + API-SUMMARY 首章)、BOM 扫描、mvn compile + 测试绿