Project

General

Profile

Actions

QA验收 #40

open
RA

三功能联合验收:首页布局、黑名单设置页、账期CN/HK收入

QA验收 #40: 三功能联合验收:首页布局、黑名单设置页、账期CN/HK收入

Added by Redmine Admin 8 days ago. Updated 8 days ago.

Status:
新建
Priority:
普通
Assignee:
-
Start date:
11/03/2026
Due date:
% Done:

0%

Estimated time:

Description

联合测试三个本地未提交功能:首页无成本任务卡移到底部;专家黑名单管理迁到设置;账期总收入按合同主体拆CN/HK两列,其他统计保持。
两仓集成分支 feature/home-blacklist-income-integration。候选BE52a00635及本地2文件、FE1a756e16及本地12文件,完整文件哈希见共享索引candidate.json。
共享索引:outputs/three-feature-integration-20261103/index.md。
已有开发自测直接复用;QA补本地真实应用、PG账期回归及权限/交互/真实截图,逐项记录并批量写回本工单。尚未正式QA,不将合成页面或构建作为验收通过。
本次不提交、不推送、不部署、不操作生产,不关闭其他工单。


Files

final-report.md (12.3 KB) final-report.md Redmine Admin, 11/03/2026 05:22 AM
results.json (23.9 KB) results.json Redmine Admin, 11/03/2026 05:22 AM
home-admin-narrow-bottom-v2.png (76 KB) home-admin-narrow-bottom-v2.png Redmine Admin, 11/03/2026 05:22 AM
billing-narrow-cn-v2.png (44.7 KB) billing-narrow-cn-v2.png Redmine Admin, 11/03/2026 05:22 AM
blacklist-restored-history.png (224 KB) blacklist-restored-history.png Redmine Admin, 11/03/2026 05:22 AM
qa-review.md (5.74 KB) qa-review.md Redmine Admin, 11/03/2026 06:29 AM
receipt.json (4.78 KB) receipt.json Redmine Admin, 11/03/2026 06:29 AM
results.json (4.1 KB) results.json Redmine Admin, 11/03/2026 07:52 AM
without-alert-desktop.png (110 KB) without-alert-desktop.png Redmine Admin, 11/03/2026 07:52 AM
without-alert-390.png (49.3 KB) without-alert-390.png Redmine Admin, 11/03/2026 07:52 AM
release-review.md (6.31 KB) release-review.md Redmine Admin, 11/03/2026 08:12 AM
receipt.json (10.9 KB) receipt.json Redmine Admin, 11/03/2026 08:12 AM
home-admin-narrow-bottom-v2.png
billing-narrow-cn-v2.png
blacklist-restored-history.png
without-alert-desktop.png
without-alert-390.png

RA Updated by Redmine Admin 8 days ago Actions #1

home-admin-narrow-bottom-v2.png
billing-narrow-cn-v2.png
blacklist-restored-history.png

THREE-20261103 / NDB #40 最终QA结果

记录时间:2026-11-03 13:22 Asia/Shanghai;QA原责任聊天。

本任务20条独立记录最新有效结果:20 Pass / 0 Fail / 0 Blocked / 0 Skipped(正常密码/JWT真实HTTP5、PG6、真实浏览器9)。初测19 Pass / 1 Fail(其中浏览器8/1)原始记录保留;THREE-DEF-02第1轮定向8子检查及真实UI分页只是原BL-05缺口闭合,不新增业务Case。原有相邻THREE-DEF-01未修复、单独保留。此结论仅本任务本地隔离环境,不是上线/生产或外部审批授权。

环境、候选与覆盖

  • Web http://127.0.0.1:18074;API http://127.0.0.1:18073/v1;PG ndb_three_20261103/55438;test库已正常销毁。Ops外发隔离回执ops/environment-receipt.json。schema当前models同步,不是完整迁移图验证。
  • 两仓feature/home-blacklist-income-integration。BE基线52a00635480872694faf4b13c692a114104f87e2;FE基线1a756e16b128b84f9a6d89b32e567e9ca39e06d4,均含未提交差异。当前精确候选candidate-after-THREE-DEF-02.json,14文件SHA全部匹配;唯一修复增量专家黑名单页model绑定SHA 87c3f82d0c2baeb68f4e680c180693034a190b83fa411928615b383f42bdae3f。
  • 规则/影响矩阵:docs/specs/frontend/2026-11-02-dashboard-zero-cost-card-bottom.md、docs/specs/frontend/2026-11-02-expert-blacklist-settings.md、docs/specs/cross-project/2026-11-03-billing-income-cn-hk.md。CNHK01–04覆盖唯一聚合调用方、原字段/过滤/权限/回款/下钻及Web显示交互,完整映射results.json.planCoverage。
  • 本轮新库身份admin5/PM6/limited7/finance8;原合成专家3/4、公司2/3、项目1/2、合同1–6、Task1–10、成本1、回款1。字段/权限只在本专属库,凭据BW,不含秘密。

逐条结果

前置均为本任务隔离服务、正常身份和manifest;执行步骤、逐条期望/实际/层级、执行时间来源及候选见结构化results.json。PG为APIRequestFactory不冒充正常鉴权HTTP。

编号 影响/流程 层级 预期 实际 状态 证据(qa/下)
BL-API-PERMISSIONS BLACKLIST原管理action/父权限隔离 正常密码/JWT鉴权 + 真实本地HTTP + PostgreSQL PM200,父权限-only403 PM200;limited403 Pass api-blacklist-permissions.json, api-wire.json
BL-API-QUERY-PAGINATION BLACKLIST查询和分页 正常密码/JWT鉴权 + 真实本地HTTP + PostgreSQL 参数与精确ID相符,两页不重叠 页1[4]/页2[3];编号[3]/姓名[4,3]/手机号[3]。保存响应已离线按manifest核对 Pass api-blacklist-query.json, api-wire.json
BL-API-REASON BLACKLIST原因/审计 正常密码/JWT鉴权 + 真实本地HTTP + PostgreSQL 拒绝且状态及历史不变 code400;前后详情完全一致 Pass api-blacklist-reason.json, api-wire.json
CNHK-HTTP-01 CNHK01/02/03 账期公司聚合 正常密码/JWT鉴权 + 真实本地HTTP + PostgreSQL CN+HK=旧总收入,旧金额/余额/回款一致 4组真实HTTP一致;C0全期CN257/HK507.01;11月CN257/HK107.01 Pass api-billing-observations.json, api-wire.json
CNHK-HTTP-02 CNHK02/03 权限销售过滤/下钻 正常密码/JWT鉴权 + 真实本地HTTP + PostgreSQL PM只公司2;sales5只公司3;原项目下钻保持原口径 过滤符合;下钻HTTP200,原全周期项目值问题另列THREE-DEF-01 Pass api-billing-filter-detail.json, api-wire.json
CNHK-PG-01 CNHK02/03;唯一账期聚合调用方及旧字段/过滤/回款/下钻 PostgreSQL Django APIRequestFactory 原回归断言全部通过 该用例OK;6项执行exit0;专用test库正常销毁 Pass legacy-pg-results.json, legacy-pg-stderr.log, legacy-pg-stdout.log
CNHK-PG-02 CNHK02/03;唯一账期聚合调用方及旧字段/过滤/回款/下钻 PostgreSQL Django APIRequestFactory 原回归断言全部通过 该用例OK;6项执行exit0;专用test库正常销毁 Pass legacy-pg-results.json, legacy-pg-stderr.log, legacy-pg-stdout.log
CNHK-PG-03 CNHK02/03;唯一账期聚合调用方及旧字段/过滤/回款/下钻 PostgreSQL Django APIRequestFactory 原回归断言全部通过 该用例OK;6项执行exit0;专用test库正常销毁 Pass legacy-pg-results.json, legacy-pg-stderr.log, legacy-pg-stdout.log
CNHK-PG-04 CNHK02/03;唯一账期聚合调用方及旧字段/过滤/回款/下钻 PostgreSQL Django APIRequestFactory 原回归断言全部通过 该用例OK;6项执行exit0;专用test库正常销毁 Pass legacy-pg-results.json, legacy-pg-stderr.log, legacy-pg-stdout.log
CNHK-PG-05 CNHK02/03;唯一账期聚合调用方及旧字段/过滤/回款/下钻 PostgreSQL Django APIRequestFactory 原回归断言全部通过 该用例OK;6项执行exit0;专用test库正常销毁 Pass legacy-pg-results.json, legacy-pg-stderr.log, legacy-pg-stdout.log
CNHK-PG-06 CNHK02/03;唯一账期聚合调用方及旧字段/过滤/回款/下钻 PostgreSQL Django APIRequestFactory 原回归断言全部通过 该用例OK;6项执行exit0;专用test库正常销毁 Pass legacy-pg-results.json, legacy-pg-stderr.log, legacy-pg-stdout.log
HOME-01 HOME卡顺序 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 提醒卡在所有卡后,含出账项目之后 Admin reminder last after billing projects; refresh 9 synthetic rows; screenshot home-admin-desktop.png Pass screenshots/home-admin-desktop.png, screenshots/home-admin-narrow-bottom-v2.png
BL-01 BLACKLIST入口迁移 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 原页面保留状态/合作提示、无管理按钮;设置页可管 Old expert list/detail retain blacklist status, no join/remove management button; own candidate3 observed blacklisted Pass browser-expert-detail.txt, browser-old-list.txt
BL-04 BLACKLIST状态/审计 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 真实加入/解除成功,结束normal,历史保留 UI empty reason rejected; real add and remove candidate3; reasons and two history entries; final normal; dialog remains open displaying updated history (expected) Pass browser-blacklist-added.txt, browser-blacklist-restored.txt, session-cleanup-receipt.json
CNHK-04 CNHK04 Web列/金额/交互 正常身份 + 本地真实浏览器UI + 真实HTTP/PG CN/HK显示RMB且金额/合计正确、独立排序和筛选正常;下钻保持基线 CN317.00/HK547.01; November CN317.00/HK147.01; CN/HK independently sorted; month/customer scope/sales UI filters; sales5 only company3; detail original full-project amounts retained (primary baseline attribution); original mismatch THREE-DEF-01 separate Pass browser-billing-initial.txt, browser-billing-sorts.json, browser-billing-november.txt, browser-billing-sales-filter.txt, browser-billing-drilldown.txt
HOME-02 HOME非财务/原行为 正常身份 + 本地真实浏览器UI + 真实HTTP/PG PM末尾显示8条归属任务;共享链接进入/project_tasks/9 PM last reminder card,8 own synthetic rows; refresh preserves results. Shared unchanged component link actually clicked as admin on #9, reached /project_tasks/9; PM-specific link click not repeated. Only one page (8/20), UI next-page disabled; no second-page fixture expansion. Pass browser-home-pm.txt, browser-home-task-link.txt
HOME-03 HOME财务排除 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 卡不显示,zero-cost-reminders请求0 Finance role8 normal login, reminder absent and zero /tasks/zero-cost-reminders resource requests after reload Pass browser-home-finance.json, screenshots/home-finance-clean-desktop.png
BL-02 BLACKLIST非admin action 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 真实PM可查看管理页面/原因历史 Real PM role6 with original action enters settings blacklist, queries normal experts and opens candidate3 reason/history modal Pass browser-blacklist-pm.txt, browser-blacklist-pm-history.txt
BL-03 BLACKLIST父级权限隔离 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 菜单隐藏、直达拒绝、零候选查询 Settings-only role7 menu hidden; direct route redirected /settings with permission denial; candidateRequests0 Pass browser-settings-only.json, browser-settings-only.txt
BL-05 BLACKLIST查询/分页/恢复 正常身份 + 本地真实浏览器UI + 真实HTTP/PG 查询按钮/Enter正确参数各1GET,非法ID0GET;21条分20+1不重叠;恢复原2条 初测Fail保留;DEF02第1轮8子检查Pass;真实UI翻页Pass,精确19临时行已软删除,最终[3,4] Pass THREE-DEF-02-browser.json, THREE-DEF-02-regression.json, pagination-ui-proof.json, browser-blacklist-injected-error.txt, browser-blacklist-recovered.txt

修复、原问题与分层复用

  • THREE-DEF-02:初测点击姓名查询无请求、两行不变,原Fail证据THREE-DEF-02-browser.json/.txt及截图保留。主任务确认后Web仅加:model=filters;第1轮独立回归8项全部Pass:姓名点击/Enter、编号、手机号、非法编号零请求、全部/正常状态及重置。7个有效动作各仅1 GET、HTTP/code200和精确响应ID匹配;不以200独判。旧错误注入/解除后正常重试复用,未重复注入。
  • BL-05真实分页:新建前专属库2正常专家;19条独立前缀THREE-20261103-PAGING-R1-,ID5–23,预先intent、准确ID入manifest。真实下一页page=2/page_size=20仅[3],页1[23..4]共20条,不重叠、总数21;上一页恢复相同20条。之后仅精确19条且前缀匹配行soft-delete,原行保留,正常UI/库均恢复[3,4]。pagination-ui-proof.json全链路保存。
  • THREE-DEF-01:11月公司2行364.01、项目弹窗764.01含10月400。primary在defect-attribution.json确认原FinancialProjectsView/ProjectsListSerializers整类与BE基线逐字一致,月份仅筛项目集合、项目金额原全周期汇总。本包按用户其他列保持现状决定不改;原Observed/Fail历史不抹去,不称已修。
  • 原有效开发自测不重跑:HOME lint/格式/build;BLACKLIST原19+5;CNHK BE5/Web2与旧账期其他5。来源preparation-plan.md/evidence-reuse.md与需求文档末节,旧候选/层级不升级;本轮只补原6 PG阻塞项。
  • 同PG旧/新6组合差分:billing-oracle-comparisons.json,精确提取52a00635原函数,所有旧字段及类型一致,CN+HK准确对齐,单列为ORM差分,非正常HTTP。
  • UI23张原生图视觉Pass含两增量缺口闭合;ui/receipt.json。表单绑定无视觉改动,复用此结论,不作业务Case。最终可用图与排除图见screenshots-final.json;含密码管理器提示/过渡帧只保留历史不上传。

未测范围与历史支持错误

  • 完整迁移图、真实外部审批/通知/付款、远端测试站和生产均未测;没有因此阻塞本轮明确本地范围,也不能宣称对应层级通过。环境/发布后续由primary/Ops判断。
  • PM独立任务链接未重复点击;复用admin真实点击同一未改共享组件到/project_tasks/9,边界保留。分页原UI第二页不足fixture缺口已按本次明确授权补齐。
  • QA脚本曾Projects.pm字段错误事务回滚,修正manage_by后成功;会话清理脚本误查Accounts.is_deleted在更新前报错,修正QA脚本后只清4会话。错误证据留qa/,不算产品失败。
  • 曾发生旧任务上下文漂移,只读了旧本地记录/Memory和旧工单journal;没有旧数据/文件/工单写或旧Space操作。primary已独立审计;恢复本包已有fixture/5HTTP/6PG,未重放旧任务或本包写链路。

清理与交付边界

  • 正常UI退出;精确4账号会话已清空,账号仍active、密码/角色不变;BW四引用存在,见session-cleanup-receipt.json/account-final-vault-reference.json。黑名单专家3已normal,2条真实加入/解除历史保留。
  • 临时分页19行已精确soft-delete;其他本轮合成财务fixture保留。BE/Web/PG仍运行,不删库卷/环境,交Ops统一收尾。
  • 无产品源码/环境/分支修改、commit/push/部署/生产。QA写入仅本任务qa/、本轮获准隔离fixture和正确#40结果。
  • 正确NDB #40 subject已写前核对。本报告及results.json与少量可用真图一次附入,随后完整journal逐字读回;写回收据另存redmine-writeback-receipt.json。Space3按最终放行finish一次,最终cleanup-receipt.json记录noFurtherHTTPUI,未完成读回前不宣称交付完成。

RA Updated by Redmine Admin 8 days ago Actions #2

THREE-STAGING-20261103 / NDB #40 发布回执QA审核

2026-11-03 14:29 Asia/Shanghai。发布回执审核Pass:9项核对全部通过,无新增阻断。 本次是对Operations同一原始发布证据的离线审核,不是新一轮业务QA。QA未登录测试站、未请求版本/接口、未操作浏览器/部署/Git,也未重跑20项或23图。

发布结果与精确候选

项目 source提交 preview cherry-pick 版本提交/最终candidate 精确tag/实际版本 CI
BE 9773ed150ed88714a7fd6bd8664f98b128dd1d5e ff6c6ace0084cbca3102cfc9a4614a1b174eafb5 45c9786ee7727e7674ed1c3859411021398c0d30 v1.20.18b0 / 1.20.18b0 cnb-u2f-1k6g0qm2f success
FE c48a0fba4ed7eda9f9c7fa81c2851b3d6ca3b42e dee3521496d301c609e851d45e33d00fa62bf0fc c9d1c8f17be5669ebb9305fae1aaf35bc79d0f75 v2.16.10-beta.0 / 2.16.10-beta.0 cnb-3og-1k6g0v9kl success
  • BE镜像推送digest:sha256:04c9f5ac90fcb2f62b06f1ba73e9a8c8ac6293b508599bd02dc4f3017005f0ee。
  • FE镜像推送digest:sha256:4dc45210496df5b0478a63178523fa842ba959d0ccfe13b0f573891ee2b2a4d4。
  • 原验收candidate-after-THREE-DEF-02.json的BE2/FE12文件,在source提交及实际tagged preview Git对象中的整SHA全部相等;唯一修复model绑定已含。preview额外仅BE api/init.py/.cz.toml、FE package.json版本元数据。只选取当次source提交cherry-pick,不合整源。

一次原始证据审核

以下9项是发布回执核对,不新增或重复计入业务Case。证据均位于本任务release/,完整独立比对结果与叶证据摘要见qa-review-receipt.json。

编号 核对点 实际证据与结论 结果 来源
REL-01 准确候选和范围 独立读source/tagged preview Git对象,14文件整SHA匹配;额外仅BE2/FE1版本文件 Pass ../candidate-after-THREE-DEF-02.json, backend-git.json, frontend-git.json, git-closure.json
REL-02 提交/tag/整合边界 每仓source1提交、preview仅cherry-pick+metadata2提交;本地tag剥离精确candidate;源分支保留未推送 Pass backend-git.json, frontend-git.json
REL-03 实际tagged CI测试路由 candidate/tag/SN一致;staging镜像/触发成功;production2阶段各skipped;tagged .cnb.yml原始字节SHA匹配 Pass backend-ci.json, frontend-ci.json, backend-git.json, frontend-git.json
REL-04 后端先实际生效 BE实际版本06:19:00.490Z;FE推送06:19:02.396Z,先后关系一致 Pass backend-runtime.json, frontend-git.json
REL-05 实际版本和前端资源 Ops直接版本BE1.20.18b0/FE2.16.10-beta.0,CI镜像digest一致;入口/登录与新设置chunk HTTP200。QA不重复GET或容器字节比对 Pass backend-runtime.json, frontend-runtime.json
REL-06 一次最小只读运行 专用测试管理员正常登录;现有账期10条CN+HK=原total;无fixture/共享黑名单/审批/付款/通知写 Pass readonly-smoke.json, readonly_smoke.py
REL-07 Git收尾与main不动 Ops实时remote回执:两仓clean preview=origin/preview,main未动,其他preview历史保留;正式main收尾不适用 Pass git-closure.json
REL-08 本轮会话和空间清理 仅本次staging账号20且tokenHash匹配会话撤销1条,账号active;Space4已finish、终端退出;QA未新建或操作空间 Pass session-cleanup.json, browser-state.json, cleanup_session.mjs
REL-09 复用与原失败边界 原20本地/23图复用;DEF02初测Fail和回归保留;两次准备脚本误报历史未抹去,非CI或业务失败,无重复提交部署 Pass ../qa/results.json, ../qa/redmine-writeback-receipt.json, ../ui/receipt.json, preparation-status-parser-failure.json, preparation-pipeline-newline-failure.json

适用性与边界

  • 20项本地独立验收(HTTP5/PG6/浏览器9)与UI23图直接复用,原#40 journal370及附件保持。初测19 Pass/1 Fail、THREE-DEF-02第1轮8子回归和真实UI分页闭合证据仍保留,本次不重算业务执行次数。
  • 测试站实际版本、10条账期新字段合计与前端入口资源,属于Ops一次最小只读运行核验;不升级为整套staging UI/状态流转/角色验收。
  • preview保留原有额外功能;只确认这14路径及已识别依赖同验收,不宣称整棵树相同或其余功能已重验。
  • 无新migration,无手工迁移或全面schema检查;本地原schema为models同步,完整迁移图未验证。生产、真实外部审批/付款/通知不在本次授权/验证范围。
  • 前端链为验收源SHA→tagged CI→构建资源名→已服务资源,不声称容器源码逐字比对。CI阶段名含.env.production不代表生产发布;实际beta路由与production skipped共同核对。
  • THREE-DEF-01原项目下钻全周期金额问题未修,按主任务决定作为原有相邻问题单列;不能把本次发布说成修复该问题。
  • 准备期status解析器去掉前导空格、pipeline文本helper丢尾换行两次误报均保留。实际CI文件未改,已核只发生预期提交/tag及一次目标流水线,未重复部署触发。

收尾与QA动作边界

Ops回执确认两仓clean preview等实时origin/preview;main本地/远端未动,只推preview及准确beta tags。源分支保留未推;无新分支/worktree,无生产或正式tag操作。

本次staging专用管理员会话由Ops按账号20和精确tokenHash撤销1条,读回为空且账号仍active;Space4已finish、终端退出。无共享业务改动或fixture新增。QA仅审同一记录,没有重复现场请求或Coolify状态查询。

本报告只向正确NDB #40追加一次发布结果,附本报告及非秘密Ops总回执;不关闭issue或覆盖journal370/初测Fail。写回及整段读回结果记录qa-review-receipt.json。

RA Updated by Redmine Admin 8 days ago Actions #3

without-alert-desktop.png
without-alert-390.png

THREE-PROD-20261103 / #40 删除静态说明增量QA

2026-11-03 15:52 Asia/Shanghai。本次仅3项必要增量,3 Pass / 0 Fail / 0 Blocked / 0 Skipped。 原20项本地验收、23图及j370/371直接复用,原初测Fail/修复回归和发布边界保留,不重跑、不升级为生产冒烟。

候选:production/candidate-without-alert.json;前端src/views/expertBlacklist/index.vue SHA256 2b572848bc5009e16ebc2dd25a763360f392653c7c59e92ae73b11de213595cf。仅删除顶部静态info Alert的7行,script、:model绑定、权限/查询JS和动态错误Alert逐字未变;14文件hash匹配。环境为复用的本任务本地PG/账号/fixture(API18073、Web18074),源版本1.20.17/2.16.9是本地源码元数据,非正式上线实际版本。管理员5正常BW登录,唯一新阶段Space6。

编号 层级与操作/预期 实际 状态 证据
ALERT-DEL-DESKTOP 真实UI1440px;蓝框/占位空白消失,标题后表单清楚;姓名查询仅1 GET并返回正确对象 蓝框消失,form为首个内容元素;一次GET HTTP200/code200,name=THREE-20261103-R1 expert 1,DOM/响应ID3 Pass desktop-result.json、without-alert-desktop.png
ALERT-DEL-390 真实UI390px;同一布局规则和一次正常查询 稳定390px截图可读、无蓝框和残余空白;一次GET HTTP200/code200,name=THREE-20261103-R1 expert 2,DOM/响应ID4 Pass narrow-result.json、without-alert-390.png
ALERT-DEL-PRESERVE 源差异确认原查询:model/权限/JS/动态错误提示保留 script/form绑定/动态错误Alert与原c48a0fba源逐字相同;原原因历史与失败恢复证据复用,未重复故障注入 Pass source-review.json

两张原生真图

QA已实际目视两图,原始文件未修图。

  • without-alert-desktop.png:SHA256 66d7e84294d7aa67247fe377be1e64b9ea0a93e481e06aa745f369a26fd510e5
  • without-alert-390.png:SHA256 b289e0ccba236437d9af16ea29aaa99f39ad7ab6b7b90e37064a5880179611f6

UI跟进与技术边界

主统筹依据release.md4.6.5纠正额外门禁:此次静态说明删除不新增用户操作,已有桌面/390px实际观察和原UI23图足够技术验收;UI聊天的离线增量复核是非阻塞跟进,不是未测业务风险或发布等待条件。本条不宣称该独立UI聊天已经审完。人类已明确本次验证通过后立即生产的时间例外;QA未执行生产发布或生产冒烟。

精确收尾

正常UI退出;仅本轮新登录的隔离账号5、精确token SHA匹配会话撤销1条并读回为空,密码/角色未变、账号active;未创建账号/fixture或改动业务状态。观察器移除,Space6仅finish一次且成功,noFurtherHTTPUI=true。原Space3/4未复开。本地服务留Ops按新PID收尾,未停改环境。

附件为当前results.json和这两张图。清理详见production/qa/session-cleanup.json、browser-state.json;本逻辑批次只追加正确NDB #40并全文/附件读回,不关闭工单,不覆盖j370/371。

RA Updated by Redmine Admin 8 days ago Actions #4

THREE-PROD-20261103 / NDB #40 正式发布回执QA审核

2026-11-03 16:12 Asia/Shanghai。正式发布回执审核Pass,9项离线核对通过,无候选漂移或新阻断。 QA仅审同一Ops原始证据及必要本地Git对象,没有重复公网版本抓取、登录、业务请求、浏览器或CI监控,也不重跑原验收。人类本次已明确验证后立即生产的22点前例外。

提交、正式tag、CI与实际运行分层

项目 原feature最终提交 正常merge main 版本/最终candidate 正式tag及Ops直接版本 CI
BE 9773ed150ed88714a7fd6bd8664f98b128dd1d5e 2414b6c8530627cedaacf62db95fdf4242176445 f551aee4f75976295715b13f786d522b05e01fe3 v1.20.18 / 1.20.18 cnb-lrl-1k6g6oo94 success
FE d93f03a53d625c05c50b65c890a2e7c1a0a6f0f1 d81d742245c20220fcf7f5c5080bc6f1cc0baf8a a3a808c400162f1a837300c97a01b429da52d7ba v2.16.10 / 2.16.10 cnb-lbk-1k6g6u37j success

BE推送镜像digest sha256:952d70b30acdd130091a755fa79feabfcd01a1f4f4ef49d57c3aac7307ef3b8b;FE sha256:8a7c81ef0ecabc2e0332433b38cd32c3cf52cb2678ce4e07b8667def0b74e346。发布通过CI生产alias/部署触发结果与实际公网版本分开核验,不由CI成功推断线上已替换。

一次回执审核

这些是发布证据核对项,不是新增9条业务Case。完整证据hash/源对象比对见production/qa/release-review-receipt.json,叶回执均位于production/ops(../ui为新增UI回执)。

编号 核对点 实际及验证层级 结果 证据
PROD-REL-01 授权和验收适用性 人类明确验证后立即生产例外;原20本地/23图+删除说明3增量及staging只读证据复用,不重跑或升级层级 Pass receipt.json, ../qa/results.json, ../qa/redmine-writeback-receipt.json
PROD-REL-02 候选/正常merge/正式tag 独立Git对象比对14文件;正常merge父节点为mainBase和原feature;额外仅版本/CHANGELOG元数据,正式tag剥离精确candidate Pass git-scope-readback.json, backend-git.json, frontend-git.json
PROD-REL-03 实际tagged CI和镜像路由 两CI candidate/tag/SN一致success;生产alias/部署触发success,staging阶段skipped;tagged .cnb.yml原字节未改,镜像digest上下游一致 Pass backend-ci.json, frontend-ci.json, backend-git.json, frontend-git.json
PROD-REL-04 一次直接实际版本与顺序 BE公网1.20.18核验08:03:05.891Z,先于FE推送08:03:14.517Z;FE公网2.16.10,QA仅审原回执无重复GET Pass backend-runtime.json, frontend-runtime.json, frontend-git.json
PROD-REL-05 实际后端源码和纯契约 实际运行容器BE2源码SHA匹配;CN/HK字段纯契约及空值/空格归一化通过,SQL0;不是生产鉴权业务HTTP或数据查询 Pass backend-deployed-code.json
PROD-REL-06 前端正式资源/静态说明移除 正式入口/登录/设置chunk资源200并关联tagged CI;编译生产API、新路由和删除说明特征成立;不声称容器前端源码逐字比对 Pass frontend-runtime.json
PROD-REL-07 main收尾和preview保护 根check_release_main一次原始结果两仓clean main=实时remote;preview本地/远端未动;源分支保留,无reset/restore/clean/worktree Pass main-closure.json, git-scope-readback.json
PROD-REL-08 身份/会话/环境收尾与回退参考 生产专用身份不存在,未借真实员工/测试凭据,未造账号或生产业务session;Ops Space7已收尾,本地服务停止但卷/库保留;旧正式制品仅元数据可用核验,未执行回滚/下载 Pass identity-and-session-disposition.json, browser-state.json, local-cleanup.json, rollback-artifacts.json
PROD-REL-09 UI增量闭环/历史边界 两张新增本地真实图UI离线Pass,现引用本批,不重写预发布结果;原初测Fail/DEF02回归与j370/371/372保留,DEF01原有问题仍未修 Pass ../ui/receipt.json

复用与未验证边界

  • 原20项本地独立业务记录、23图与DEF02初测Fail/第1轮回归、真实分页闭合证据继续适用;删除静态说明3项本地增量及其2图复用,#40 j370/371/372原样保留。本次不增加或重算业务用例分母。
  • 新增两图已由UI离线Pass(production/ui/receipt.json);这只是本地视觉证据,不升级为生产界面验收。此前UI非阻塞跟进已在本批闭环,不单独重复发布前记录。
  • 生产验证层级严格为公网BE1.20.18/FE2.16.10、实际后端容器2源码hash、SQL0的纯CN/HK字段及主体归一化契约、正式前端已服务资源与静态说明移除特征。没有执行生产鉴权业务HTTP、完整登录业务流程或生产业务数据查询。 BW专用测试目录未找到生产身份,未借员工/测试身份、未新造账号或session;该层不宣称Pass,按本次明确发布范围复用已有非空staging10条API及本地验收。
  • 前端证据链是验收源SHA→正式tagged CI→输出/已服务资源;不声称容器前端源码逐字比较。无新migration,不重新全面查schema或迁移图;完整迁移图仍不属于已验证层级。
  • 无真实审批/付款/通知验证或生产业务写。THREE-DEF-01原项目下钻全周期金额口径仍未修;本次不虚称覆盖或修复。
  • 回退参考为旧正式BEv1.20.17/FEv2.16.9及linux/amd64制品官方鉴权元数据可达;匿名401是访问限制,后续官方鉴权已核可用,未执行回滚或镜像下载。没有发布备份新增/旧备份修改。

Git及清理

Ops根check_release_main一次结果两仓当前clean main=实时remote main=上述candidate;只main和准确正式tag推送,preview本地/远端保持原beta状态。原feature正常merge,不带preview/beta历史;源分支保留,无force/reset/restore/clean/分支删除或新worktree。

生产没有业务登录session,因而不需要撤销生产业务会话;Ops Space7 finish一次、终端退出。本地增量QA的Space6和精确会话此前已清;Ops停本地专属服务/容器但卷/库/账号/fixture/证据保留。未查询Coolify app/service/health/deployment状态。

本QA只写这两份审核文件,并向正确NDB #40一次追加本发布逻辑批次、附报告及非秘密Ops总回执,随后全文/附件hash读回。原j370/371/372不覆盖,工单不自动关闭;未做任何新现场运行操作。

Actions

Also available in: PDF Atom