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.
 
 
 
 
 
 

6.0 KiB

04 · 起服全量执行

Type: task Status: resolved Blocked by: 01, 02

Claimed: 2026-09-05 · wayfinder 工作会话(frontier 首票) Resolved: 2026-09-05

Question

verify profile 本地起服,跑改写后的 core + heavy + 增量全量执行,原始结果落盘。

要点:

  1. 构建:Maven 增量陷阱——先删 crm-app/target 旧 fat jar 再 package(fat jar 落后源码坑,round-1 票 04 踩过)
  2. 起服SPRING_PROFILES_ACTIVE=verify + CRM_MINIO_AK/SK 环境变量;判活容忍 401(鉴权门 ≠ 服务挂);debug token GET /api/auth/debug/token?userId=
  3. 执行:core(112 例矩阵)→ heavy(6 轮)→ 增量套件(票 02 产物);结果 JSON/日志落 .scratch/customer-e2e-r2/
  4. 缺陷模式计时控制:D-07 assignable 稳定超时会拖垮全量执行(round-1 实测 30s×2 + probe 60s),用例侧限时策略现场定(进 fog 记录过的「heavy 六轮执行深度」决策)
  5. 缺陷状态采集:D-01(已修,预期转绿)、D-05/D-07/D-04(预期复现)逐个留下复现证据;新缺陷按 D-xx 续编登记
  6. 残留清理e2c- 前缀测试数据 archive 正门清理,报告记录终态

Answer

执行环境:corretto-17 + IDEA maven 全量重建(Remove-Item crm-app\target\*.jar-pl crm-app -am package,BUILD SUCCESS,fat jar 22:29 新鲜);verify profile 起服 26.8s 判活(debug/token HTTP 200)。⚠ 环境修正两条:① 套件解释器 = py -X utf8(3.13.3)——票 02 移交的「venv10 补装 openpyxl」已执行(3.1.5)但 venv10 实为 Playwright 专用环境(无 requests/pymysql),套件三脚本均在 py 3.13 下跑通;② 沙箱对 D 盘 mvn.cmd 持续「拒绝访问」(非瞬时锁,重试两次无效),required_permissions=all 后通过。

执行结果(233 例 = 221 ⚠9 3,新缺陷 0)

套件 终态 耗时 说明
core-r2 112 例 109 ⚠3 0 23.7s 首轮 106⚠42 → 数据态修复后复跑(见下)
heavy-r2 58 例 52 ⚠4 2 ~7.5min 两轮结果同为 52⚠42 但 根因不同(见下)
incr 63 例 60 ⚠2 1 19.8s defects 空,无新缺陷
  • ⚠9 全部预期内:core 3 = D-02/D-03 缺陷模式复现 + stage=2 数据态演化;heavy 4 = D-07(assignable 30s×2 超时)+ D-05(INSERT 阻断三条,缺陷验证模式);incr 2 = I-01 oplog 等级文案取证型断言(设计即 warn,文案捕获「新增战略协议【二级】」)+ I-06 pool·board 漂移预埋探测(code=0 实证实现无 pool 特判,票 02 预判兑现,归文档侧处置)。
  • 3 全部归因用例侧,非产品缺陷:heavy F-15×2 = 票 01 改写断言语义偏差——把 r1 的「升级链每轮补下一条」收窄成「恰好 1 条」;DB 证据(evidence-f15-t04.py):5 条 remindSeq 0..4 连续、plan 每条递进一天无重复、终被锚点刷新置失效 = Job 行为与 round-1 观测完全一致;incr I-04 ×1 = 分支盲区——空 ids 实际返回全局参数缺失码 40001「缺少必填参数:ids」(拒绝行为合理),未落「67001/HTTP400」二选一分支;§2.2 错误码对账留票 06。
  • 缺陷台账:D-01 复验转绿 ✓(F-07 opportunityCount=1);D-02/D-03(core)、D-05/D-07(heavy)复现证据在案;新缺陷 0,D-08 未触发(incr I-07 SKIP/OVERWRITE 两轮执行面均 DONE——D-05 家族 UPDATE 路径实测正常,round-1 未知面未恶化)。
  • fog「heavy 六轮执行深度」决策:全跑——缺陷用例已内建限时(warn 不阻断),heavy 全程 ~7.5 分钟(两次自重启 + 70s×3 Job 等待 + D-07 超时),可接受。

数据态修复记录(测试基建操作,脚本留档可审计):

  1. collab owner 漂移溯源与两次还原:漂移真源 = heavy F-13 交割圈定 BUDDY 名下全量(setup 的 buddy_leftover 查询 owner_user_id=BUDDY AND archive_status=1)——round-1 跑 heavy 时把 owner=曾偲青 的协同样例合法「离职交接」转给 admin,teardown 只还原 transfer1/2/3 三个固定客户。⚠ 套件副作用盲区:heavy 任何复跑都会把 BUDDY 名下客户转走且不还原;票 05 UI 冒烟若触发 demo transfer 流同此风险,夹具客户须与 BUDDY 归属解耦。
  2. followFuture 补未来回访(seed「明天」过期两天,detail-head 对过期 next 不返回系合理语义)——API 补跟进后 detail-head nextFollowTime 复现。
  3. followOld 的 pending_notice 31 条失效历史清理(r1 升级链证据已在案 r1 报告)+ 锚点重置 30 天前(F-15.10 锚点刷新残留)后 heavy 复跑。

残留终态(要点 6):非 seed 的活跃 e2c- 残留 10 条(r1 撞码对/恒信达系 5 + 本轮 core 二跑快创/confirmSimilar 5)全部 POST /api/customer/archive?id= 正门归档(DB 复核 arch=2);终态 e2c-* 活跃 16 条 = seed 名单全量(第 17 个 seed 样例「e2c-已归档」本就 arch=2)。e2c-r2i-* 零残留(incr 自带 teardown 清扫)。服务已停(8080 释放),票 05 起服流程照 map。

产物索引.scratch/customer-e2e-r2/):e2e-core-r2-checks.json / specimens-core-r2.json / e2e-heavy-r2-checks.json / specimens-heavy-r2.json / e2e-heavy-r2-defects.json / e2e-incr-checks.json / specimens-incr.json(票 06 聚合输入)+ core-r2-run.log / heavy-r2-run.log / incr-run.log + 数据态审计脚本 db-check-t04.py / db-fix-t04.py / clean-notice-t04.py / reset-anchor-t04.py / evidence-f15-t04.py / scan-residue-t04.py / final-clean-t04.py

移交票 05(UI 冒烟):① 起服照 map(corretto java 全路径 + verify profile + MinIO env);② Playwright 用 .venv10(chromium-1234 已缓存);③ demo 四新入口待验(agreement subtab / 查重设置 / F6 批量工商 / F8 策略下拉);④ 冒烟产生的测试客户用 e2c- 前缀命名 + 正门 archive 清理,transfer/交割流注意 BUDDY 归属副作用(上条 1)。