QA验收 #29 » supplement-results.md
LEGACY-MEETING-EXPERT-01 R2补充验收 — 两个业务缺口闭环
- 记录时间:2026-11-01T22:40:18+08:00,Asia/Shanghai;执行2026-11-01 22:37–22:39。
- 正确任务/工单:01a192ac-9cf0-7953-952b-caf9170e234b / Redmine NDB #29。
- 候选:candidate-r2.json三仓bugfix/legacy-meeting-expert-display,17文件完全不变,supplement-candidate-check.json逐文件复核;三仓diff --check通过。没有新实现或产品修复。
- 范围:主任务明确追加的正常业务合成前置和本任务8019短停/恢复;未认领或新建已结束ego空间,未恢复旧102,未重跑既有通过项。
- 本批实际执行:2 Pass / 0 Fail / 0 Blocked / 0 Skipped。原journal359及R1 Fail/R2回归不覆盖、不重复计数;原H5手动点击和微信MCP自动化Blocked仍保留。
用例逐项
| 编号 | 影响/入口 | 前置与操作 | 预期 | 实际 | 状态 | 证据 |
|---|---|---|---|---|---|---|
| ORDINARY-HISTORY-COEXIST | IMP-02/04,正常业务关系→历史导入→BFF详情→真实微信页面 | 在独占PG55439内先建立合成普通候选/公开Profile/Task/MeetingExpert,作为已存在正常业务状态;导入独立历史快照;GET与微信同页检查;原生点击历史卡标题 | 历史导入Task增量0,普通业务行不改;两类公开卡同时显示;历史卡无约访/详情跳转 | 普通基线Task1/Cost0/MeetingExpert1,导入后仍1/0/1,原正常业务行完整摘要不变;BFF各1卡;微信普通卡有单独约访、历史卡无;点击历史卡后仍会议详情且两卡保留 | Pass | supplement-api.json、supplement-http.jsonl、wechat-coexist-interaction.json、wechat-coexist.png |
| WECHAT-NATIVE-MANUAL-RETRY | IMP-04,真实微信失败页→原生重试→本地BFF/NDB | 核PID26105/cwd/端口/原参数后仅SIGTERM本任务8019;加载合成会议900106;保存失败页及真实HTTP503;按原settings/55439/--noreload恢复;确认页面仍错误态后原生点击重试一次 | 失败不保留卡片;服务恢复后手动重试加载实际会议及两类卡 | 失败显示NDB暂时不可用/重新加载会议,无卡;独立BFF GET503;恢复PID34115后BFF200、原生点击一次后两卡恢复且错误消失;不是代理假响应 | Pass | native-retry-ui-error.json、native-retry-http-error.json、native-retry-service.json、native-retry-ui-recovery.json、wechat-native-upstream-error.png、wechat-native-retry-recovered.png、backend-native-retry-restored.log |
安全、归属和保全
- 只对任务自有合成库ndb_blacklist_synthetic/127.0.0.1:55439做fixture;静态检查模型/CooperationModel和接收器,无post/pre save/delete接收器。fixture runner阻断非localhost网络,不调用服务层通知/录制/审批/付款/开票路径。普通Task为finished、不录制、无需支付/收费、无成本,未创建真实财务动作。
- 本批明确的正常业务测试前置与历史展示分离。Task不绑定历史快照;HistoricalMeetingExpert.expert_id仍null,历史卡不是普通公开Profile,不能借普通Candidate内档填公开内容。公开字段均显式合成公开值。
- 精确本批ID:{"meeting": 900106, "run": "QA_LEGACY_COEXIST_20261101", "signals": {"Meeting": 0, "HistoricalMeetingExpert": 0, "MeetingExpert": 0, "ProjectTasks": 0, "ProjectTaskCosts": 0, "Candidates": 0, "PublicExpertProfile": 0}, "candidate": 12, "profile": 9, "task": 1, "meetingExpert": 1, "history": 59}。
- 原有45 Meeting/45 HistoricalMeetingExpert及原Candidates2/Profile0行hash逐行保全;仅自有fixture按归属删除,最终恢复45/45及Task0/Cost0/MeetingExpert0。证据supplement-baseline.json/supplement-cleanup.json。没有清理开发原fixture、重置序列或变动生产/共享业务。
- 8019恢复PID34115,原settings和PG55439、--noreload不变;真实GET恢复200。PG/BFF及其他服务未停止。微信工具返回原100002页面,保留原生窗口;ego Space7保持已结束,无新空间。
当前覆盖结论与层级
本次要求补充的两个本地业务缺口已由真实微信目标平台证据覆盖:同页共存及历史卡点击边界、真实上游失败→原生手动重试恢复。此前ORDINARY-HISTORY-COEXIST Blocked新增本批Pass,保留旧原因历史;H5-MANUAL-RETRY仍是H5工具路径未闭环、WECHAT-MCP-AUTOMATION仍是APPID_ERROR/TLS阻塞,均不冒称工具已修复。业务手动重试由新增WECHAT-NATIVE-MANUAL-RETRY Pass覆盖,不将H5/MCP升级为Pass。
R1历史11Pass/1Fail、R2核心10+补充1Pass、前批UI6Pass均沿用#29 journal359。本批只新增2Pass;按最新唯一用例,旧共存条目更新Pass、增加微信原生重试项;跨轮计数不代表重跑。开发52/80/34及43全量详情复用层级不变。未做微信真机、Web完整登录、生产迁移/导入/上线;原5条无目标会议不补造。这些不因本次局部闭环被宣称完成。
回写与工作区
本报告单批追加正确#29,原journal359完整保留;读回收据见writeback-receipt.json。共享影响矩阵同路径docs/specs/cross-project/2026-11-01-legacy-meeting-expert-display.md已更新本批证据及旧缺口处置,不新增第二套矩阵。无业务源代码/配置/分支变化、commit/push/deploy或生产写入。全部已有dirty保留。