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.
 
 
 
 
 
 

3.8 KiB

Handoff:CustomerCatalogPort 实施票(已收官,待测试复验)

日期:2026-09-06 仓库:e:\code\crm-backend-matt 分支:工作区当前状态(未提交)

一句话状态

第三轮架构审查候选 #1「客户目录 port」已全量落地并编译验证通过,唯一遗留:测试执行(surefire 级)本机未跑,需用户在有 Maven 的终端复验。无半成品代码。

已完成工作(细节见工件,勿在此重复)

  • 代码/测试/文档全量落地:12 个源文件 + 2 个 CONTEXT.md 收词 + ADR-0033。文件清单见 ADR 与记忆「CustomerCatalogPort相关文件」。
  • 七项拍板全部兑现:归档口径钉死有效(新关联/候选池拒归档、存量不动);3 方法 interface(search/contactsOf/requireLive);port 自有异常、商机侧翻译为 66001;searchForOpportunity 改名 search 留 ICustomerService(HTTP 契约零变化,mapper 层名不动);单票收官;ADR + 收词。
  • 编译验证(javac 手动方案):main 侧两模块 239 文件 EXIT=0;test 侧 48 文件 EXIT=0;BOM 扫描干净;商机侧 main 源码 grep 零 com.crm.customer.(service|domain). 残留(契约面收窄达成)。

遗留事项(按优先级)

  1. 测试执行复验(唯一硬遗留):mvn -pl crm-customer,crm-opportunity -am test。涉及测试:CustomerCatalogPortImplIntegrationTest(新,H2 集成)、OpportunitySubServiceImplTest(改 mock port)、CustomerContactServiceIntegrationTest(改名同步)。
  2. 变更未 git commit——用户未要求,勿主动提交。
  3. .scratch 里 javac 验证资产(见下)可留可删,不影响仓库。

关键环境事实(新会话必读)

  • 本机无 mvn(曾全盘排查:PATH/注册表/.lithe/IDEA 目录均无)。编译验证降级方案 = javac(C:\Users\Administrator\.jdks\corretto-17.0.13)+ 全量显式 @argfile。classpath 资产已攒齐:.scratch/javac-cp.txt(7 模块 classes + 34 jar,正斜杠),生成脚本 .scratch/javac-args-gen.ps1(main)/ javac-test-args-gen.ps1(test),重跑前先跑 gen 再 javac @args
  • javac 陷阱(已沉淀到记忆,勿再踩):sourcepath 隐式编译文件不经过 lombok 注解处理轮——必须全量显式列出源文件;processor 靠 classpath 自动发现,别写 -proc:full/-processorpath-J 参数须在命令行不能进 argfile;argfile 内路径用正斜杠。
  • PowerShell 5.1 坑&& 不可用(用 ;);Set-Content -Encoding UTF8 带 BOM(写 Java 用 [IO.File]::WriteAllText + UTF8Encoding($false));收集 javac 输出用 Start-Process -RedirectStandardError
  • 用户侧事实:Windows 22H2;2026-09-06 走中转链路,超大单轮易断流——大文件分块读写。

记忆与工件索引

  • 记忆:实现CustomerCatalogPort端口(任务总结+验证结论)、CustomerCatalogPort相关文件(文件清单)、javac argfile 隐式编译文件不经过 lombok 注解处理PowerShell写UTF-8文件会带BOM导致Java编译失败
  • 域文档:crm-customer/CONTEXT.md(「客户目录」词条)、crm-opportunity/CONTEXT.md(「关联客户」词条)
  • 架构审查报告(候选来源):%TEMP%/architecture-review-20260906-*.html;候选 #2/#3 未启动

Suggested skills

  • 若用户报测试失败 → /diagnosing-bugs(先把 surefire 输出贴进会话)
  • 若用户想继续架构审查候选 #2/#3 → /improve-codebase-architecture
  • 若继续做跨模块收窄类改动 → 先读 ADR-0033 与 ADR-0031(对称先例),并对照 AGENTS.md「新模块接口接入 checklist」
  • 收工/换票时 → /handoff 或更新 .scratch issue 票据(docs/agents/issue-tracker.md