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.
7.2 KiB
7.2 KiB
HANDOFF 2026-09-05 · customer-rework 返工图执行(换机续作)
前篇:
HANDOFF-2026-09-04.md(图启动基线)。本篇只记其后的会话增量、唯一悬空点与换机注意事项,不重复票面/差异清单原文。
图状态与纪律
- 地图:
.scratch/customer-rework/map.md(冻结图);执行模式 = wayfinder「Work through the map」,用户已覆写 plan-only:执行含在图内,票直接改代码。 - 用户最新指令(2026-09-04):「继续做,把整张map做完」——连续完成剩余全部票。
- 票况:01–08 resolved;09 进行中(悬空点见下);10、11 未开。
- 每张票纪律:claim(Status: claimed)→ 实施 → 票内追加 Answer +
Status: resolved→map.md的 Decisions so far 追加一行索引。
票 09 已完成部分(勿重做)
- S1 错误码撞号:
crm-rule/.../constant/OpportunityRuleConstants.java的CODE_STAGE_TPL_SEED_PROTECTED64018→64024(audit-findings 写的「改 64022」已过时——64022 被CODE_SCHEME_TPL_FIELD_INVALID占用、64023 被客户规则占用;引用面核实:2 处主代码走常量名、0 测试硬编码)。类头段位注释已同步。 - F3 导入端点双 tag:
crm-customer/.../controller/CustomerImportController.java6 端点(upload/confirm/result/failures/page/template)@Operation全部加tags = {"A4 客户管理/我的客户/客户导入", "A4 客户管理/客户公海"}(依据:62 页原型逐页 grep,仅 a4-1-1 公海列表有「导入」气泡;ADR-0024 多值挂实际调用页)。 - 验证:
mvn test -pl crm-rule,crm-customer -am全绿(Reactor 8 模块 SUCCESS,crm-customer 144 tests 0 fail);BOM 扫描全仓干净。 - F3 bruno 侧:
.scratch/customer-rework/copy_import_to_pool.py已把 6 副本写进E:\code\crm-api-docs\A4 客户管理\客户公海\(seq 94–99);bruno_scan.py终验 315 钥匙 = 315 文件,new=0 / delete=0 / unrecognized=0 / 冲突=0。
唯一悬空点:F4–F10 拍板(AskUserQuestion 被用户取消一次,需重发或改逐项问)
事实依据全在 audit-findings.md §二/§三。下轮可直接用的拍板材料(推荐已按差异清单立场预置):
| 项 | 事实 | 推荐 | 备选 |
|---|---|---|---|
| F5 战略协议 | 原型三页完整(a4-4-6/9/10)但零端点 | 本期补(单表 CRUD,最大单项) | 划出(翻案确认) |
| F4 关联项目 | 依赖未建的 A5 项目域 | 划出(随项目模块远期) | 本期补(超范围) |
| F9 导出日志 | 与已划出的 D2 导出家族同族 | 随家族划出 | 本期补(仅导出日志) |
| F10 联系人日志 | CustomerContactServiceImpl 零 oplog 写入 |
轻方案:客户 oplog 扩 CONTACT_ADD/EDIT/DELETE(本票机械修) | 独立表(单开票)/ 缓 |
| F7 内置检索视图参数 | CustomerWorkspacePageParam 缺 ownerOnly/coopOnly/待跟进/focusOnly/最近访问 |
本期补(参数族+过滤+测试,量级小) | 缓(记理由) |
| F8 导入重复策略 | import/upload 缺重复策略参数(覆盖导入/不导入) | 本期补(量级最小) | 缓(记理由) |
| F6 批量工商更新 | 仅单查 company-lookup,无批量写端点 |
本期补(批量任务,量级中等) | 缓(记理由) |
拍板后处置:
- 选「补」→ 本票或单开票实施(F5 建议单开 12 号票;F7/F8/F10 轻量可并入 09);实施完同步测试 + bruno 产出 + 文档。
- 选「划出/缓」→
audit-findings.md对应条目标「明确不修(划出远期/缓)+理由」。 - 票 09 验收线:差异清单全部条目状态为「已修 / 已单开票 / 明确不修(记理由)」,无悬空项。
后续票序列
- 票 09 收尾:Answer(含 S1 实改 64024 的更正说明)+ resolved + map 索引。
- 票 10 回归(
issues/10-regression-retest.md五条验收线逐项):三模块mvn test(基线 521:146/122/242,绿为准);冒烟(票面写「复用tools/smoke-t12m.py范式」——该 tools 目录位置未在本机核实,找不到就按范式重写:登录 → 客户三 workspace 列表/看板(公海看板断言拒绝)→ 建改查客户 → 联系人 CRUD → 认领/分配/抛公海 → 交割 → 导入全链 → 偏好存取 → 商机偏好,断言 code=0;需先起 crm-app,启动流程见 memory「Windows本地Spring Boot应用启动与fat jar增量构建验证流程」);bruno A4 树对 v29 终验;BOM;grep "PathVariable\|@PutMapping\|@DeleteMapping\|@RequestBody" crm-customer/零命中。产出.scratch/customer-rework/RETEST-REPORT.md。 - 票 11 文档同步(
issues/11-docs-sync.md清单):map.md返工增补段、API-SUMMARY.md重写+销账、新 HANDOFF、crm-customer/CONTEXT.md、URL-代码逐一对账脚本。验收 = 零差异、旧 HANDOFF 不改写。
环境事实(换机必读,本篇写于 MATT 机 / Windows 22H2)
JAVA_HOME=%USERPROFILE%\.jdks\corretto-17.0.13;mvn=D:\IntelliJ IDEA 2025.1.3\plugins\maven\lib\maven3\bin\mvn.cmd(路径含空格,PowerShell 要& '...'调用)。换机后路径可能不同,另一台机器的事实查 memory「客户模块E2E验收地图与换机后环境事实」。- python 用
py -3 -X utf8(python 不在 PATH)。 - 文档仓(Bruno collection)在
E:\code\crm-api-docs\——工作区外,harness 文件工具(Read/Write/DeleteFile)碰不到,一律走 python 脚本。 - 对账扫描器:
.scratch/customer-rework/bruno_scan.py(无参全量,输出 JSON 对账报告)。 - PowerShell:不用
&&用;;反引号是转义符(内联python -c别带反引号,写脚本文件);>重定向产出 UTF-16。
本段新增踩坑(AGENTS.md 之外)
- meta 块 seq 带两格缩进:解析/改写 .bru 的 seq 必须
^\s*seq:容缩进——两个脚本栽过(max_seq 静默返 0 → 副本撞 seq)。 - harness DeleteFile 只限工作区内:文档仓删文件走 python,删除前 assert 内容守卫防误删。
- 批量 .bru 顺序纪律:先写后删会误删刚生成的(前段已发生);顺序=先删后写,或副本脚本自带「目标存在即跳过」幂等。
建议调用 skills
wayfinder:ARGUMENTS =Work through the map 模式,地图路径 .scratch/customer-rework/——续作主框架,从票 09 悬空点接续。bruno-sync:F5/F7/F8/F10 若拍板「补」,bruno 侧产出照 skill 镜像(tag 分组、同 key 多页同名同内容副本、幂等重建通道)。grilling:若用户偏好逐项慢拍 F4–F10(上轮集中四题问被取消,可能嫌一次问太多)。
工件索引(细节都在这些文件)
- 图与票:
.scratch/customer-rework/map.md、issues/01..11-*.md(09 claimed、10/11 open) - 差异清单:
.scratch/customer-rework/audit-findings.md(拍板依据;S1 的 64022 建议已被 64024 取代) - 票 08 产出:
issues/08-audit-prototype.md(Answer 含双镜头方法论) - 原型缓存:
.scratch/lanhu-latest/v29-customer-pages/(62 页 .txt);权威树.scratch/api-docs-reorg/lanhu-tree-v29.md - 端点基准:
.scratch/customer-rework/audit-api-baseline.txt(68 条客户相关端点)