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
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).残留(契约面收窄达成)。
遗留事项(按优先级)
- 测试执行复验(唯一硬遗留):
mvn -pl crm-customer,crm-opportunity -am test。涉及测试:CustomerCatalogPortImplIntegrationTest(新,H2 集成)、OpportunitySubServiceImplTest(改 mock port)、CustomerContactServiceIntegrationTest(改名同步)。 - 变更未 git commit——用户未要求,勿主动提交。
.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或更新.scratchissue 票据(docs/agents/issue-tracker.md)