缺陷 #32
open小程序会议与目录重复查询黑名单导致列表变慢
0%
Description
范围:仅 NDB Backend 目录重复黑名单查询修复,主任务 01a181d7-04c5-7101-b07c-7b92b490d87d。
基线:f70430fb1913a7921f11d00afc5fad25fbf62a71 / v1.20.13;候选分支 bugfix/mini-program-api-performance,源文件尚未提交,hash见本地唯一证据索引。
根因:公开专家 QuerySet 构建时立即查询黑名单及关联履历,会议/专家/热点嵌套序列化重复计算。
修复:同一同步序列化树内惰性共享黑名单ID,正常或异常结束即清理;根会议清除旧公开专家预取,后续序列化及时反映权限变化;不使用跨请求缓存。
开发证据:真实隔离 PostgreSQL16,175相关方法通过;24组完整DRF输出等价;20条且一条无关联黑名单时会议46→6、专家86→6、热点171→9 SQL。另4项既有FK fixture/迁移测试设置缺口单列,非179全通过。QA独立源码/开发证据审阅无阻断,真实HTTP验收待补。
保持不变:应用/平台/发布/删除/黑名单同人族权限、字段与顺序、报名/财务状态;无模型迁移。BFF和小程序超时改动不在本次发布包。
验收:复用适用开发证据,补真实本地HTTP签名/分页/权限刷新与跨应用边界,逐项追加结果并读回。
唯一索引:outputs/backend-catalog-query-regression-20261029/index.md;规格:docs/specs/backend/2026-10-29-mini-program-catalog-query-regression.md。
用户已授权仅本包提交推送、测试/正式tag和测试→生产部署,并明确本次测试核验后立即生产的22点前例外。禁止生产业务数据写入、新备份、真实微信邮件资金及其他仓库发布。
RA Updated by Redmine Admin 13 days ago
QA32-HTTP-R1 - 2026-10-29 11:18 Asia/Shanghai¶
本轮独立本地真实 HTTP QA:Pass 6 / Fail 0 / Blocked 0 / Skipped 0,共54次GET。六组独立结果如下;不把54个请求当54条用例,不将复用175项相加。
- Redmine NDB #32:https://redmine.mindsetech.com/issues/32;QA责任聊天01a09aab-7ebf-79f0-bfb8-5a4382e401c0。
- 候选:bugfix/mini-program-api-performance,base/HEAD f70430fb1913a7921f11d00afc5fad25fbf62a71,四源未提交。执行前后SHA均与candidate.json完全一致;其余原.aoci/baseline.json、aoci.code.txt dirty保留。QA未改产品/Git/主index。
- 环境:独占PostgreSQL16镜像9e2cf6287f25,127.0.0.1:55467;真实Django WSGI临时loopback端口;标准HMAC签名/真实ApplicationAuthentication/Scope,非force_authenticate、非mock业务响应。
- 前置:仅本轮独立PG的合成app A/B、公司/项目、20会议/20公开专家/20热点及关联、草稿/未来发布与关联履历。复用开发fixture构造方法,仅调用setUp,不执行开发测试方法。密钥仅进程内;无真实账号或业务数据。
- 隔离:不加载仓库.env;LocMem cache/邮件;关闭MQTT启动及向量/ES(ES指向127.0.0.1:9),网络socket连接护栏只允loopback。没有报名/审批/结算/邮件/微信/资金请求。
- 离线runner自检通过:语法、允许路径、HTTP及业务code判定、候选hash、历史证据存在时禁止重放。runner已完成不可原样再次execute;本轮路径/结果保存均通过真实执行验证。
- 影响矩阵:docs/specs/backend/2026-10-29-mini-program-catalog-query-regression.md REG01–05,qa-review.md已审适用性。
| 用例 | 影响/规格 | 步骤与预期 | 实际 | 证据(0起始索引) |
|---|---|---|---|---|
| HTTP-MEETINGS | IMP01 / REG01 | real signed pagination/empty/detail/envelope/order | Pass | qa-http-results.json exchanges 0–6 |
| HTTP-EXPERTS | IMP02 / REG02 | real signed pagination/empty/detail/envelope/order | Pass | qa-http-results.json exchanges 7–13 |
| HTTP-TOPICS | IMP02 / REG03 | real signed pagination/empty/detail/envelope/order | Pass | qa-http-results.json exchanges 14–20 |
| HTTP-AUTH | IMP03 / REG05 | bad signature; scopes revoke immediately then restore | Pass | qa-http-results.json exchanges 21–25 |
| HTTP-ISOLATION | IMP02/03 / REG02/05 | other application empty lists and denied details | Pass | qa-http-results.json exchanges 26–31 |
| HTTP-REFRESH | IMP03 / REG04 | family blacklist block/unblock, platform and publication immediate across requests | Pass | qa-http-results.json exchanges 32–53 |
实际断言细节¶
- 三类列表分别核HTTP200/业务code200/JSON;total=20、1/8/20条与完整页一致;第二页8条对应完整页8..15无重复;第21页1条为空但total仍20;详情完整内容等于列表对应行;page=0返回400。专家草稿/热点未来发布fixture不进入20条结果。会议公开/内部安排沿用现有契约,不新增发布规则。
- 错签名401;同应用撤销conference:read后3路径立即403,恢复后下一请求200。应用B列表各total0/items[],应用A三类详情均404。
- 同一WSGI进程连续请求:关联履历设blacklisted后专家目录、会议嵌套、热点嵌套均立即隐藏,专家详情404;解除后恢复。之后专家平台清空/恢复、profile改draft/published,三处连续请求即时隐藏/恢复。每个动作均只改独立PG合成fixture,不存在共享数据/生产写入。
- 预期400/401/403/404会产生Django warning,原日志保留,不误报未处理产品错误。
复用与边界¶
- 原developer-scoped-regression.log真实PG175项通过,developer-comparison.json24组完整DRF JSON等价;四源hash不变、相关契约/配置无delta,QA此前已核原始源码/日志及组合全集。20条有无关联黑名单的SQL会议46→6、专家86→6、热点171→9沿用原证据;本轮不重新计SQL/墙钟性能,不声称生产耗时指标。
- 同实例刷新/序列化异常后context reset、Web投影/报名/财务等相邻回归按qa-review.md及开发175复用。本轮真实HTTP补认证、分页信封、跨请求权限;两种层级明确分开。
- 原4项行业FK fixture/禁迁移profile历史缺口保留,不声称179全通过。本包无模型/迁移变更,未重跑该4项。
- 本地验收通过,无本包确认缺陷。未执行测试站/生产运行验证、小程序端到端、真实外部通知/资金;运行部署由Ops负责,主任务据独立运行收据交付。不把本轮写成已部署。
- 纯API无新增用户页面,本包不新造截图手册。
收尾¶
WSGI server.shutdown/server_close与测试库teardown在finally完成,进程exit0;已核独立容器labels与loopback绑定后docker stop,--rm移除本容器及瞬态PG数据。所有可复现ID见qa-fixture-manifest.json(历史ID,已随独立PG清理,不可作现存对象)。保留runner、54份脱敏响应、原日志与证据。没有关闭/清理他人服务或持久测试账号。
RA Updated by Redmine Admin 13 days ago
QA32-RELEASE-REVIEW - 2026-10-29 - 测试与生产源回执一次批量复核¶
测试及生产发布运行证据独立复核通过,无本包确认阻断。 本轮QA只消费Ops已保存的源收据并离线交叉比对,不查询环境、不重复HTTP/业务测试、不触发CI/部署;这是证据复核,不新增本QA业务Pass。原journal319的本地6组Pass/0Fail、54HTTP保持;开发175项PG回归、24组完整DRF JSON等价按四源hash一致复用,不累加为本轮新测试数。
候选/实际发布:基线f70430f,业务提交a5883a2ce3a2a0331e920b881d009aaf3be79935;preview tag v1.20.14b0→d977024a7e750e7974f3c0de7d91a99b42eb8fdf,production tag v1.20.14→74767130fa981590c6b170b331aa77c5c62454e8。API版本元数据/合并/tag没有改变4源hash,运行params expectedSource与candidate.json逐项一致,运行脚本已核实容器源码实际hash后才产生passed回执。适用影响矩阵:docs/specs/backend/2026-10-29-mini-program-catalog-query-regression.md REG01–05;唯一证据根outputs/backend-catalog-query-regression-20261029,主index由主任务维护。
| 复核项(Ops源执行,不是QA重跑) | 测试环境 | 生产环境 | 独立结论 |
|---|---|---|---|
| CI/部署目标 | cnb-13l-1k62quq6t success;测试stage成功、生产stage skipped | cnb-uuj-1k62r8b6l success;生产stage成功、测试stage skipped | Pass |
| 实际版本/运行源码 | 1.20.14b0;HTTP200;四源hash匹配;5服务同digest fd845f42… | 1.20.14;HTTP200;四源hash匹配;5服务同digest 7d867630… | Pass |
| 技术迁移 | migrator exited0;No migrations to apply;applying0 | 同左 | Pass;本包无模型/迁移变更,非重跑全部历史迁移 |
| HMAC会议GET page1/20 | HTTP200/code200/20条,总72,7680ms | HTTP200/code200/20条,总66,792ms | Pass |
| HMAC专家GET page1/20 | HTTP200/code200/20条,总50,769ms | HTTP200/code200/20条,总54,982ms | Pass |
| HMAC热点GET page1/20 | HTTP200/code200/20条,总143,343ms | HTTP200/code200/20条,总163,548ms | Pass |
源文件:release/preview-runtime.json、preview-runtime-params.json、preview-pipeline-status.json、preview-stage-receipt.json、preview-catalog-smoke-supplement.json;生产对应production-runtime.json、production-runtime-params.json、production-pipeline-status.json、production-stage-receipt.json,最终签名补验实际文件名为production-catalog-smoke-channel-origin-round2.json;发布归纳runtime-handoff.json/execution-result.md。
原失败/缺口与补验界限¶
- preview-catalog-smoke.json原Blocked/requests_sent0保留;库存无适用AK/SK,未匿名降级/改scope/激活账号。随后现有测试BFF主进程内签名3GET补缺项,不重跑已通过版本/镜像/迁移。
- production-catalog-smoke.json原本机会议GET403/permission_denied保持,另两路径当时停止;production-smoke-access-check.json及production-source-allowlist-readback.json只读确认active、conference:read、固定来源规则与主任务历史证据相同、无DB写。按Ops根因确认是既有CIDR来源限制,并非本次序列化退化;原403不是成功结果,也不以更换/放宽权限掩盖。
- production-catalog-smoke-channel-origin.json的target AssertionError保留:目标容器护栏未通过、未发送HTTP。round2以实际版本化生产BFF选定既有允许来源,三个真实GET成功;同credential fingerprint,未改密钥/权限/CIDR。脚本静态核生产origin限定为https://crm-api.mindsetech.com、标准HMAC与仅3GET;QA未执行脚本或读取凭据。
- 原HTTP/护栏轨迹与最终补验分开记录;最终补验只补未通过入口,不把已有本地用例或运行核验重计一轮。
边界与资产¶
- Ops仅签名只读GET,未显式业务行写入/审批/报名/财务或真实微信邮件资金动作;nonce消费与application last_used为正常鉴权元数据副作用,不能写成绝无任何状态变化。
- 原4项行业FK fixture/禁迁移profile环境缺口保留;本包无迁移,不声称179全通过。不声称微信客户端端到端、生产压测/峰值延迟或固定百分比提速。上表耗时是单次观察,没有同条件前后对照。
- preview AOCI 174目标/24待审/0候选历史欠账按主任务确认与previous相同,独立维护、不纳本包;不宣称preview aligned。main本包元数据维护Verify/Check governance_aligned=true,Guide complete=true/next_action=none;与preview分开。
- Ops最终runtime-handoff记录main 7476713、origin/main同步、clean、单checkout、远端两tag匹配;QA本轮仅引用此源收据,没有执行Git/环境写。纯API无新增用户流程,未造截图手册。
以上补记不覆盖journal319,不改历史结果。无新增业务用例、未重复验收;生产实际运行结论来自Ops源执行并经QA独立文件审阅。
RA Updated by Redmine Admin 13 days ago
CH-QA-R1-final - 2026-10-29 - BFF/小程序超时扩展验收¶
本次扩展的独立QA 13组Pass / 0产品Fail / 0Blocked / 0Skipped:8组本地真实BFF读取链、1组小程序构建、4组真实模拟器公开入口。仅证明本轮实际覆盖的本地/测试环境;平台上传/审核/发布、生产15秒生效与生产运营内容由Ops后续源回执分别确认,不能宣称已上线。原#32 journals319/320不覆盖、不重复计数。
候选:projects/mp/mp-conference-api-v2(canonical /Users/gexiaowei/Documents/work/mindsetech/ndb/projects/mp/mp-conference-api-v2)bugfix/increase-api-timeout@93f78358326741f2e2af8d38851ce4df16ec8d95+原4dirty;mini projects/mp/mp-conference(canonical /Users/gexiaowei/Documents/work/mindsetech/ndb/projects/mp/mp-conference)同分支@e2ebddcb70e94648b7ff956244aef0a4102e94cc+原1dirty。两仓无upstream/单checkout,默认pwd为canonical协调根。开始及收尾5源SHA均与channel-release/candidate.json匹配;QA不改源、版本、Git、共享dist或主index。
规格/影响矩阵:docs/specs/cross-project/2026-10-29-channel-timeout-release.md CH-IMP01–04/CH-REG01–04。唯一证据根outputs/backend-catalog-query-regression-20261029/channel-release,主index仍由主任务维护。
| 用例 | 最终状态 | 实际证据/关键断言 |
|---|---|---|
| CH-BFF-01 | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-MEETINGS | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-CATALOG-CONTENT | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-CATALOG-EXPERTS | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-CATALOG-TOPICS | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-INDUSTRIES | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-SLOW-ROUTE | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-BFF-ERROR-AUTH | Pass | 真实Nest/PG/签名合成上游HTTP |
| CH-MINI-BUILD | Pass | 独立测试API构建/20秒/私钥排除 |
| CH-MINI-UI-CONTENT | Pass | 真实测试内容 10 卡片;一次注入失败+真实GET恢复 |
| CH-MINI-UI-MEETINGS | Pass | 真实测试内容 5 卡片;一次注入失败+真实GET恢复 |
| CH-MINI-UI-TOPICS | Pass | 真实测试内容 20 卡片;一次注入失败+真实GET恢复 |
| CH-MINI-UI-EXPERTS | Pass | 真实测试内容 20 卡片;一次注入失败+真实GET恢复 |
真实执行与边界¶
- BFF:原配置tsc编译到自有qa-bff-dist,专属PostgreSQL16 loopback55468/mp_conference_test,真实schema5/真实Nest AppModule+setup绑定loopback,合成HMAC上游服务真实验证每个GET签名。health/ready验证真实PG及HMAC ping;会议、纪要、热点、专家输出确切合成ID/items/total;行业聚合正常。完整BFF路由上游5500ms仍200,跨过原5秒。编译后validateConfig未提供timeout时15000,不拿override冒充默认。
- 上游503映射BFF503/error.code=NDB_UNAVAILABLE且单次请求;无认证users/me401且零上游身份请求。无真实微信code/手机号绑定/客户MQ/外发,JWT/AK/SK仅合成本进程内。BFF上游是本地fixture,不能称真实微信/NDB业务联调。共10次BFF HTTP、11次合成上游GET,含初轮runner断言错误时的503。
- 初轮runner误取body.code,产品实际嵌套error.code正确;原qa-bff-http-round1-initial.json/log/stderr保留。核ApiExceptionFilter真实契约后仅修runner并续测最后一组,7组Pass不重放;不是产品缺陷、不创建虚假缺陷单。
- 小程序:精确源复制独立目录,不复制.env或private*.key;原yarn weapp构建成功。产物实际测试API https://mp-test.mindsetech.com、无production origin、timeout:2e4(20000ms);AppID构建时与产品/后续Ops wx207bf9944d794a24一致;108文件无私钥。qa-mini-build-result.json/qa-build-artifact-manifest.json可追溯。恢复相同构建仅为后续UI前置,不新计Pass。
- wechatide安装兼容、skill equal、已登录开发者账号、无需CLI token;不提取token。最初目标项目无runtime,游客隔离副本被APPID_ERROR拒绝。主任务澄清真实目标AppID已获授权后,在自有副本用真实AppID成功开窗;原产品项目及缓存未触碰。开窗后/结束前均只检查业务token存在布尔量,businessSessionPresent=false;没读出token值或借员工/客户业务会话。
- 真模拟器通过真实测试BFF公开GET:会议5卡片、纪要10、热点20、专家20,实际运营文本非空。可见截图qa-mini-home.jpg、qa-mini-content-loaded.jpg、qa-mini-topics.jpg;专家用qa-ui-experts-cards.json及已脱敏文本长度/hash证明非空,去除不必要人名截图/全文。只读请求观察器跨导航仅记录method/path/http(不记录payload/header/token)。通用Tab定位错误曾选中旧Tab,保留轨迹,通过实际WXML节点ID纠正,未计产品故障。
- 每个入口各1次本地wx.request故障注入(不是实际测试服务宕机),错误文字为“网络或服务暂不可用,请稍后重试”,有“重新加载”操作;点击后正常真实测试GET HTTP200并恢复非空卡片。qa-ui-final-requests.json保留17条观察(13真实GET成功/4注入未发网络,首次首页早于观察器);全GET无业务POST。qa-mini-ui-final.json逐项结果;qa-mini-content-injected-error.jpg示例。临时wx.request观察/故障hook已恢复。错误UI/恢复是真UI,失败来源明确是mock transport,不冒充外部故障。
复用、原阻塞关闭与发布待验¶
- 复用outputs/api-timeout-20261028/index.md的66 BFF+28小程序、双构建、6秒/10.5秒真实HTTP开发证据;本轮identity-tests.log21Pass、upload-guard-tests.log25Pass。5源及相邻签名/错误/幂等调用无相关delta,按影响矩阵适用;不与13组相加、不因交接重跑。原4项页面Blocked保存在qa-channel-initial-results/report文件,已被正确AppID上的实际验证关闭,不继续作为当前权限阻断。初始游客拒绝不能推断真实AppID无权限。
- 联系人兼容:naive上海/offset/UTC、无效拒绝、claim/dedup/ack/重试及绑定保护复用21项;不注入真实MQ。Ops bff-manifest-comparison.json 42源除config外均相同,contact源码hash与候选相同;现生产hotfix已存在兼容,不当首次新功能或回退。
- Ops发布前收据:生产BFF actual timeout5000,后续须核15000实际生效;测试显式30000依主任务决定保留,不要求为匹配默认而改配置。真实部署15秒/镜像/目标/ready由Ops唯一核验,QA消费收据,不重复查环境。
- 主任务传递Ops平台状态:线上mini1.0.5,1.0.6@153aeb86曾因“敏思汇等页面无具体运营内容”审核拒绝。本候选在V2候选上追加timeout,不对线上1.0.5宣称仅一文件差异。此次测试环境四入口非空关闭UI读取缺口,但不能替代审核提交前实际生产内容/production API构建证据,仍须Ops平台包按版本/commit/AppID/API留据。上传、提交审核、审核通过、正式发布分开,QA本轮均未触发。
- 单次上游15秒不保证多页行业聚合/串行登录总耗时小于客户端20秒;无真机、真实微信登录/手机号/客户写操作或生产压测。没有UI/交互/字段变化,Ardot及新手册不适用。保留既有格式/Browserslist提示,不升级工具/依赖。
收尾与源文件¶
qa-channel-results.json、qa-bff-http-results.json/初轮轨迹、qa-mini-build-result.json、qa-mini-ui-final.json、qa-ui-final-requests.json、qa-mini-session-shape.json、截图和脱敏日志。自建BFF/上游及专属PG已结束移除;UI窗口只关闭自有qa-mini-project,不退出用户开发工具或清其他项目状态。自有构建副本清理,hashmanifest及结果保留;原5dirty/分支保持。没有提交推送/CI/平台上传/审核/部署。
RA Updated by Redmine Admin 13 days ago
CH-PROD-UI-R1 / 发布与CI增量证据复核 - 2026-10-29 12:47:13 Asia/Shanghai¶
本轮新增生产公开页面4 Pass / 0 Fail / 0 Blocked / 0 Skipped;生产四入口实际运营内容非空,准备用于后续审核材料。 同时完成Ops双环境发布及guard增量源证据独立审阅,无本包确认阻断。原journal321的13组本地/测试验收、319/320保持,不因版本或交接重跑、不把离线/运维源证据计作本QA新增执行Pass。
范围与身份:主任务01a181d7-04c5-7101-b07c-7b92b490d87d;规格docs/specs/cross-project/2026-10-29-channel-timeout-release.md CH-IMP01–04;唯一证据根outputs/backend-catalog-query-regression-20261029/channel-release。QA仅操作自有隔离副本,生产API https://mp-api.mindsetech.com,真实AppID wx207bf9944d794a24。原五业务源hash未变。小程序准备产物package1.0.6、当前上传候选1.0.7;已逐文件比较src/config全文hash一致、babel/tsconfig/project.config一致,package.json去除version后完全相同,故复用原构建与业务证据、只记录版本身份差异,不把旧线上1.0.5描述为仅一文件变更。
本轮实际生产UI用例(真实模拟器、只读游客)¶
| 编号 | 状态 | 实际卡片数 | 内容截图/证据 |
|---|---|---|---|
| CH-PROD-UI-MEETINGS | Pass | 5 | qa-prod-meetings.jpg |
| CH-PROD-UI-CONTENT | Pass | 10 | qa-prod-content.jpg |
| CH-PROD-UI-TOPICS | Pass | 20 | qa-prod-topics.jpg |
| CH-PROD-UI-EXPERTS | Pass | 20 | qa-prod-experts.jpg |
- 四张截图已逐一视觉检查:会议首页有实际“AI算力驱动的高阶CCL材料升级”等会议;敏思汇纪要库有真实正文段落;热点有医药/大制造等实际标题与背景;专家有公司/职位等公开卡片。不是仅页面外壳、空数组、mock卡片或合成运营内容。会议含已结束状态不等于无内容;这里只证明内容可读取/展示,不测试报名。
- qa-prod-requests.json记录10次正常公开GET,涉及meetings/banners、meetings、catalog/industries、content、topics、experts,全部HTTP200;包含页面自身支持性读取/Tab加载,不能当10个独立用例。观察器安装前的启动读取不计入10;不声称整个进程只有这10次请求。
- 开始及结束businessSessionPresent=false。仅复用开发工具已登录的开发者身份,没有客户登录code、token提取、手机号绑定、客户MQ注入、审批/资金/邮件或业务POST。请求护栏只允许生产公开GET;记录method/path/http,不保存header/payload/token。无故障注入、无状态造数,没有重跑journal321已过错误恢复场景。
- 只读公开GET仍可能产生正常服务日志/缓存/上游HMAC nonce及last_used元数据,不把它描述为绝对零状态副作用。未显式修改生产业务数据。
- qa-prod-ui-results.json逐条结果,qa-prod-public-content-ready.json含版本适用性对照和通过信号。截图只含必要公开内容,无会话/手机/密钥;不据此宣称真机验证或微信审核通过。
Ops发布源证据独立消费(QA未重复查运行环境)¶
| 项目 | 测试/staging | 生产 |
|---|---|---|
| CI | cnb-jph-1k62v34ck success | cnb-b3n-1k62v9ape success |
| 实际版本/OCI revision | 0.1.1-beta.1 / 204d3747aff9f3e709b98f965862d4fa51360e8e | 0.1.1 / de49124db7cfc878f5988168bb43d7d4329c9416 |
| 实际digest | sha256:9e30594c61c154b4a6426b22f002638cb8dfb5d033bdcedd04f68dd4d27e9ada | sha256:ecd3df5119e2b3053ebb56202fc9fc9fdda8c36bdd314cd217bcdbb337555377 |
| 编译默认/实际超时 | 15000 / 30000ms(按主任务保留既有覆盖) | 15000 / 15000ms |
| NDB origin/AppID/联系人兼容 | 目标匹配/true/true | 生产目标匹配/true/true |
| Ops公开冒烟 | 四目录各200/20条,匿名me401 | 四目录各200/20条,匿名me401 |
源:bff-staging-release-runtime/smoke.json、bff-production-release-runtime/smoke.json、bff-beta1-pipeline-status.json、bff-formal-pipeline-status.json、runtime-handoff.md。正式runtime passed/readCompleted/candidateMatches均true。三份编译JS(config、contact-events、ndb-client)的生产hash不仅与staging相同,也与独立QA原qa-build-artifact-manifest.json完全一致,关闭发布候选与原验收的适用性链;联系人兼容未回退。本包无新增模型/业务迁移,未用该回执冒称完整历史迁移或第三方链路验收。
原旧镜像过渡采样bff-production-first-runtime-old-image.json及runtime-mismatch诊断保留,不算发布成功;最终候选匹配及15000由正式最终回执关闭。环境配置/镜像切换由Ops执行,QA未操作。原健康检查/完整本地套件不重跑,单次目录耗时不作为压测或提速比例。
CH-CI-01及shortref增量复核¶
- CH-CI-01第1轮修复已通过独立只读源码/fixture审阅:版本v0.1.403的不存在不被误作HTTP403,带v0.1.404的未知错误不被误放行;403伴notfound仍拒绝。registry-fixed-CH-CI-01-offline-tests.json原24项结果及runner已审,未运行真实registry,也不覆盖其前次缺陷历史。
- shortref最终guard SHA256 11ab3172d7ade5f203776a3f4574d2fdf1cd9f6c1b2a80965ffff64ce5aa703f;增量仅接受完整“unknown: [artifact ]mindsetech/mp-conference-api-v2:${CNB_BRANCH} not found”两个精确形态,无wildcard尾部。此前精确VERSION_IMAGE、同身份固定hotfix可读、已存在拒绝覆盖、HTTP401/403/429/5xx/网络拒绝在前,CH-CI-01逻辑保留。
- registry-fixed-shortref-offline-tests.json32项(原24+增量8)及源码/runner只读审阅通过,未重跑。错误repo/tag、相似前缀、403+notfound、unknown error和尾部杂文拒绝。beta1-exact-format-proof实际文件bff-beta1-exact-format-proof.json显示真实stage1 success并执行accepted-format=exact-short-reference-not-found marker,第三证由源回执闭合,不把先前自报/build中当生产成功。
- beta0未识别缺失格式、只读诊断失败、原guard的CH-CI-01问题均保留;仅最终增量关闭对应缺口,不再扩大重构或重复13/24测试。
微信平台阶段与收尾¶
这批结果为生产BFF运行/内容及小程序同源生产API模拟器验证,不是1.0.7开发版上传、微信审核通过或正式发布回执。上传/提交审核/实际审核结果/正式发布由Ops按用户授权分别留据。此前1.0.6因运营内容拒审的历史保留;当前生产四入口有内容可供审核材料,不保证平台最终审核判断。无新页面/交互/字段,本包无新增Ardot/手册要求。
本QA未查CI/环境、触发部署、更新工具或改产品源码/版本/Git/共享dist。临时request hook已恢复,隔离窗口已关闭,自有qa-prod-mini-project编译副本清理;qa-prod-executed-build-manifest.json及四张真实截图/脱敏逐请求结果保留。没有清客户状态、删除复用测试账号或影响他人窗口。后续以本轮源receipt一次交付,不重复生产请求。
RA Updated by Redmine Admin 13 days ago
CH-PLATFORM-RECEIPT-REVIEW - 2026-10-29¶
仅消费Ops已保存的平台源回执,独立交叉核对通过;不是新增UI/业务测试轮次,新增测试Pass=0,不覆盖journal322及319/320/321。
- 小程序v1.0.7 / e625cb92f8f22112a3bbbfcdab439755ac518e06 / AppID wx207bf9944d794a24:CNB cnb-q6t-1k62vhl7b全流程success,微信实际开发版/体验版1.0.7,ci机器人2,上传时间2026-10-29 12:47:10 Asia/Shanghai,描述“CNB production 1.0.7 @e625cb92”。state中的tagged/uploaded现均true,与快照及CI相符;production API、编译20000ms、上传私钥排除证据沿用。
- 1.0.7已于2026-10-29 12:49:41 Asia/Shanghai成功提交审核,4张生产真实运营截图附审,沿用journal322的四入口内容验证,不重跑页面。平台源快照采样状态为“审核中”;线上版本仍1.0.5,published=false。不能称小程序1.0.7审核通过或正式上线;BFF已正式上线与小程序平台状态分开。
- Ops交付记录显示hourly heartbeat 1-0-7已在Ops聊天启用,状态不变安静;审核通过后按原授权对同版本正式发布并回读,拒绝或需人工动作另行回报。本QA未查询调度器、微信平台、CI或环境,也未重复创建跟进任务。
源:channel-release/delivery-summary.md、mini-release-state.json、mini-v107-pipeline-status.json、wechat-v107-upload-snapshot.txt、wechat-v107-review-pending-snapshot.txt(均在outputs/backend-catalog-query-regression-20261029下)。上传、已提审、审核结果、正式发布分别记录。无源码/Git/环境/业务操作,本批仅平台发布receipt review及Redmine追加/读回。