Project

General

Profile

QA验收 #29 » results-ledger.json

Redmine Admin, 11/01/2026 03:49 PM

 
{
"task": "MP-LIST-REFRESH-01",
"issue": 29,
"recordedAt": "2026-11-01T23:48:38+08:00",
"candidate": {
"task": "MP-LIST-REFRESH-01",
"path": "projects/mp/mp-conference",
"branch": "bugfix/legacy-meeting-expert-display",
"base": "e625cb92f8f22112a3bbbfcdab439755ac518e06",
"files": {
"components.d.ts": "d7a82b5b90d2bbe7e04d255982d937d466cf58b4b6042d848c627afa73a79067",
"src/api/v2/types.ts": "e45048140c44bbc76e61f0148cbf32caa34d7219660d27e9b2479388fb882279",
"src/components/conference/ConferenceCard.vue": "2cd95ae757bdd5ae0bacdf59bb96758f1a3a20e0b731bc8125f90ee7101c28c6",
"src/components/consultant/HistoricalExpertCard.vue": "abcd856714a555941eb0e2d809808c44a33a08c429198a112b24abbf96e658c7",
"src/pages/conference/collection/index.vue": "acb5e117349c0f7356400b4aca23e09b0cdc89c5ad052bf4440b9cb3ff4f8081",
"src/pages/conference/detail/index.vue": "7d8a463ab91e244f5eabb9f7f1b8c20935eea38c0ae523883259f5cf2ee90308",
"src/pages/conference/subscribe/index.vue": "0ce36de99b8f6d401a5595bbb02571ae35119993be79116ea293ae7d033baee1",
"src/pages/consultant/detail/index.vue": "ac8ba906076f35e518319757603b62c3b900d4347c90bf866b297d2a0af82909",
"src/pages/gather/index.vue": "7ba5a122f4e3664b63da4f956c04c0d8aea36cb98effac94455003f7ccfe48d4",
"src/pages/index/index.vue": "29d3705a415399cdfd3969e7df26a45effd6f63a18c4b30b31e4d22f7583668b",
"src/pages/search/list/index.vue": "c98e5b1fc58315f2a07a1be7e1f22ddc2d4826e8bb996d5886141172a019398d",
"src/pages/talk/index.vue": "6974042951029fed96c391676aea080a47669a9503ce22eaa19b20afc0e32f94",
"src/pages/topic/detail/index.vue": "dd52259fd0f92f3ce25c5c7fe9382565ca9ab2dd363aa20e9410704b3624124d",
"src/utils/conference-presentation.ts": "ddf280afdf8922539faf024434237f005f3337586d7dac1f40e4a70de4094baa",
"tests/historical-experts.test.cjs": "cec77896a76b5325fd0a3e0ffa3823b8abbffa79bd10728134cda4c9c3262294",
"tests/list-refresh.test.cjs": "88a606195ebaca182ee3f263c907868f2e8a490d4825f34b3308a31b36ffd2db"
},
"fingerprint": "21bff02523d974b3f81384e8b32d7c497757af2c5d1f2168cbf7e61731be1cd2",
"unchanged_dependencies": {
"backend": "ea4cb67841fd3c0562327ff43e4f3336319c226c99ea717329a12ac8b4444d23",
"bff": "7f5de354de248992c59b18f832313710099157b254f651a452913c0ae47ec9a2"
}
},
"environment": "dedicated localhost PG55439 / Backend8019 / BFF3019; WeChat existing project; ego Space8 with H5 QA proxy8896",
"role": "anonymous public UI; generated local synthetic app credentials in memory only",
"cases": [
{
"id": "MPQA-LIST-MIXED",
"impact": "LIST-01",
"status": "Pass",
"layer": "真实微信+H5/HTTP",
"stepsExpected": "目录打开900107,预期同时显示两类公开摘要且无额外专家入口",
"actual": "微信与H5均显示QA列表普通公司/QA公开职位及QA列表历史公司/QA旧公开职位;390宽无横溢,卡内a/button=0",
"evidence": "wechat-list-mixed.png; h5-list-mixed.json/.png"
},
{
"id": "MPQA-LIST-VARIANTS",
"impact": "LIST-01",
"status": "Pass",
"layer": "真实H5/HTTP",
"stepsExpected": "仅改自有fixture公开状态/移除自有历史快照后刷新,预期普通/历史/无专家及空公开字段分别正确",
"actual": "历史仅1摘要→无公开专家0摘要但会议保留→普通仅1摘要;开发原100002空名为专家、长文本截断,100001无专家摘要",
"evidence": "list-history-only.json; list-no-public-experts.json; list-ordinary-only.json; list-public-fallback-empty.json; supplement-http.jsonl"
},
{
"id": "MPQA-LIST-NAV",
"impact": "LIST-01",
"status": "Pass",
"layer": "真实微信原生+H5",
"stepsExpected": "点会议行应打开会议900107并可返回,历史snapshot不作Profile目标",
"actual": "原生实际点列表行进入同合成会议详情,返回仍有摘要;H5列表行亦进入900107,不新增专家级链接/约访",
"evidence": "wechat-navigation.json; network.jsonl; h5-list-mixed.json"
},
{
"id": "MPQA-RETURN-REFRESH",
"impact": "LOAD-01",
"status": "Pass",
"layer": "真实H5+受控传输延迟",
"stepsExpected": "列表加载后点详情再返回,同关键词后台真实GET期间不清空旧卡/重现骨架",
"actual": "仅QA localhost延迟4秒真实上游GET;返回待响应时1卡/0骨架,完成HTTP200后仍1卡;DOM观察轨迹无骨架记录,不声称逐帧录像",
"evidence": "return-refresh-pending.json; return-refresh-complete.json; network.jsonl"
},
{
"id": "MPQA-KEYWORD-EMPTY",
"impact": "LOAD-01",
"status": "Pass",
"layer": "真实H5/HTTP",
"stepsExpected": "不同关键词立即清旧结果;真实空数组应显示空态",
"actual": "新关键词时0卡/3骨架,真实HTTP200空结果后0卡/暂无数据,未保留旧专家",
"evidence": "new-keyword-pending.json; new-keyword-empty.json; network.jsonl"
},
{
"id": "MPQA-STALE-QUERY",
"impact": "LOAD-01",
"status": "Pass",
"layer": "真实H5+受控传输延迟",
"stepsExpected": "较慢旧查询在新空查询后返回,不得覆盖新结果",
"actual": "先QA关键词5秒延迟、随后不同无匹配关键词快速返回;首个旧GET在5.06秒后HTTP200,之后采样仍是新关键词/0卡/空态。额外GET及轮询辅助误选最新start造成超时已保留,不加测试数量",
"evidence": "stale-network-pair.json; stale-response-rejected.json; network.jsonl"
},
{
"id": "MPQA-SEARCH-LIST",
"impact": "LOAD-01",
"status": "Pass",
"layer": "真实H5/HTTP",
"stepsExpected": "独立搜索列表页应读取公开会议摘要",
"actual": "搜索页10张会议且包含合成普通公开摘要;仅该页读取通过。H5输入宽0阻断该页实际输入,不冒称搜索页关键词/竞争全路径通过;控时单测仅复用",
"evidence": "search-real-list.json; network.jsonl"
},
{
"id": "MPQA-HOME-RETURN",
"impact": "LOAD-02",
"status": "Pass",
"layer": "真实H5+受控传输延迟",
"stepsExpected": "首页已加载后切tab返回,刷新期间保留内容",
"actual": "真实GET延迟3秒,首页5卡/0骨架且正在刷新提示;完成后提示消失并以新响应显示",
"evidence": "home-refresh-pending.json; network.jsonl"
},
{
"id": "MPQA-FAILURE-CLEAR",
"impact": "LOAD-01/02",
"status": "Pass",
"layer": "真实H5/HTTP",
"stepsExpected": "实际上游503后应显示错误/重试且去除不可复核专家,保留会议外壳",
"actual": "精确核cwd/端口后短停本任务8019;首页5卡、目录2卡保持,摘要均0;实际BFF503。恢复8019后新onShow真实GET重验恢复摘要,不伪称H5手动按钮点击成功",
"evidence": "home-real503.json; gather-real503.json/.png; gather-recovery-onshow.json; failure-service.json; network.jsonl"
},
{
"id": "MPQA-EXPERT-REVOKED",
"impact": "LOAD-02",
"status": "Pass",
"layer": "真实H5/HTTP",
"stepsExpected": "原公开专家详情离开后撤回,再返回应清除旧内容",
"actual": "自有Profile10初始公开加载成功;仅该合成Profile改draft;返回真实404后旧名清除并显示记录不存在/重新加载专家。未改热点数据",
"evidence": "expert-before-revoked.json; expert-revoked404.json; network.jsonl"
},
{
"id": "MPQA-NATIVE-RETRY",
"impact": "LOAD-01/02",
"status": "Pass",
"layer": "真实微信原生/本地HTTP",
"stepsExpected": "列表真实503且清摘要;恢复服务后原生点重试应重验恢复",
"actual": "H5跨调用聚焦使重试按钮被onShow重验替换,未盲重试;另在微信目标平台验证:错误态在服务恢复后保持,原生点击一次重新加载,错误消失/历史摘要恢复;不宣称MCP截图工具恢复",
"evidence": "native-list-retry.json; native-list-retry-service.json; wechat-list-real503.png; wechat-list-retry-recovered.png"
},
{
"id": "MPQA-ANONYMOUS-PRIVATE",
"impact": "LOAD-03",
"status": "Pass",
"layer": "真实H5匿名页面",
"stepsExpected": "未登录不得展示收藏/订阅私有列表",
"actual": "两页均前往登录,私有conference-list内0卡;页面缓存中其他公开页全局5卡已排除,不能把其计成私有泄露",
"evidence": "anonymous-collection.json; anonymous-subscribe.json"
},
{
"id": "MPQA-REAL-SESSION-SWITCH",
"impact": "LOAD-03",
"status": "Blocked",
"layer": "真实会话层未执行",
"stepsExpected": "有效身份A列表→B/退出,旧响应不得串账号",
"actual": "没有两份已核验可用的本地BFF合成会话/绑定身份;未借真实账号、伪造JWT或新造授权。开发collection/subscribe的token同步watch及迟到Promise拒绝测试有效,仅受控层,不升级真实账号Pass。需主任务提供安全两会话fixture或明确接受该层未测",
"evidence": "tests.log (developer controlled tests); qa-task-package.md"
},
{
"id": "MPQA-TOPIC-POSITIVE-UI",
"impact": "LOAD-01/02",
"status": "Blocked",
"layer": "真实热点正向内容层未执行",
"stepsExpected": "已有热点/专家列表及热点详情返回时保留正向内容,并验证失败/撤回",
"actual": "当前本地无正向热点fixture,本任务明确不改热点数据;未新造/激活热点。开发热点/专家列表、热点详情Promise/404测试复用,真实专家404已另测;热点正向页面仍需合规fixture或主任务接受层级边界",
"evidence": "tests.log; tests/list-refresh.test.cjs (developer evidence only)"
}
],
"counts": {
"Pass": 12,
"Fail": 0,
"Blocked": 2,
"Skipped": 0
},
"developerEvidenceReused": {
"focusedAndAdjacentTests": 53,
"newControlledPromiseAndSummaryTests": 12,
"adjacent": 41,
"notNewQARuns": true,
"backendBFFMigrationUnchanged": true
}
}
(23-23/46)