Visible ≠ Flow ≠ Interaction Closure ≠ Operation Closure ≠ Requirement —— 各口径独立,不可混读。
not-run 与 0% 严格区分:本轮无证据显示「未执行(not-run)」,不显示 0% 失败红。
| 模块 | 成熟度 | 可见覆盖 | Flow | Interaction | Operation | 操作面 | 结论 / 下一步 |
|---|---|---|---|---|---|---|---|
| 财务 | Flow 已验收 | 0% | 100% | not-run | not-run | — | 财务 Flow 已跑通(100%),可作模块验收样板 → 推进 Interaction / Operation Closure |
| 风控 | 部分验证 | 0% | not-run | not-run | not-run | — | 风控有部分执行证据(可见 0%),尚未形成闭环 → 建 Flow / 推进闭环 |
| 优惠 | 部分验证 | 0% | not-run | not-run | not-run | — | 优惠有部分执行证据(可见 0%),尚未形成闭环 → 建 Flow / 推进闭环 |
| 系统 | 部分验证 | 0% | not-run | not-run | not-run | — | 系统有部分执行证据(可见 0%),尚未形成闭环 → 建 Flow / 推进闭环 |
| 游戏 | 操作面已盘点 | 0% | not-run | not-run | not-run | 64 操作面 | 游戏已完成操作面盘点(64 操作面),尚未进入 Config Closure → Config Closure 安全试点(优先可逆开关) |
| 会员 | 真实闭环样板 | 80% | 100% | 60.7% | 100% | 117 操作面 | 会员已完成从 Flow 到真实 CRUD 样板闭环(Flow 100% · Interaction 60.7% · Operation Closure 100%) → 扩第二个 Operation Closure 试点(层级设置/更多字段) |
| 报表 | 部分验证 | 0% | not-run | not-run | not-run | — | 报表有部分执行证据(可见 0%),尚未形成闭环 → 建 Flow / 推进闭环 |
| 运营 | 部分验证 | 0% | not-run | not-run | not-run | — | 运营有部分执行证据(可见 0%),尚未形成闭环 → 建 Flow / 推进闭环 |
| 仪表盘 | 本轮未执行 | not-run | not-run | not-run | not-run | — | 仪表盘本轮无执行证据(not-run,不计 0%) → 排期首次 Flow / Surface 盘点 |
13 个候选异常 ≠ 13 个 Bug:经分流后 ready-to-confirm 0 / needs-review 0;其余 10 自动化疑似 + 2 证据不足 + 1 需求待确认。Candidate≠Official,本层不自动升级;Automation/Adapter/等待时机自身问题不当产品 Bug。 分组见下方 Triage 队列。
Finding Verification:对候选定向补 UI+API 证据。verified-issue / ready-to-confirm 仍不是 Official(只代表可进入人工确认);likely-false-positive / automation-suspect = 已排除的误报。
| 角色 | 服务名 | 域名 | 状态 | 用途 |
|---|---|---|---|---|
| 商户后台前端 / 当前被测后台 UI frontend |
xgcash-admin | eks-admintesta.ugtest888.com | 已配置 | backoffice-ui / playwright-entry / ui-driven-testing 当前主要被测后台 UI;Playwright 主入口 |
| 用户前端 H5 / 玩家端 frontend |
xgcash-next | eks-webtesta.ugtest888.com | URL 已配置 / 账号待配置 | h5-ui / frontend-backend-sync / game-entry-validation / player-flow H5 URL 已知;玩家测试账号待配置(H5_USERNAME/H5_PASSWORD) |
| 商户网关 / 后台 API bff |
bff-merchant | eks-bff-merchant.ugtest888.com | 已配置 | backoffice-api-listener / api-contract / merchant-operation-closure 商户后台 xgcash-admin 调用的 API 网关;会员标签 CRUD 的 POST /api/merchant/member/tag/batch 走这里;接口文档 /merchant-doc/{module} |
| 用户网关 / H5 玩家 API bff |
bff-player | eks-biff-player.ugtest888.com | 已登记 / 待 Network 实测确认 | h5-api-listener / player-api-contract / game-entry-validation H5 玩家端 API 网关之一;实际请求域名后续通过 H5 Network 实测确认 |
| 用户 API 备用 / 统一入口 bff |
bff-player | eks-apitesta.ugtest888.com | 已登记 / 待 Network 实测确认 | player-api-alternative / h5-api-listener 同样指向 bff-player;是否为 H5 实际请求域名待 Network 实测确认 |
| 管理后台网关 / 平台级后台 API bff |
bff-admin | eks-bff-admin.ugtest888.com | 预留(当前不在主测范围) | admin-api / platform-admin-reserved 与商户后台不同的独立平台级网关;根路径 404 属正常(API 网关无根页面,非白名单问题);当前测试聚焦 xgcash-admin + bff-merchant,暂作预留资源 |
| 资源 / 契约 | 状态 | 值 | 影响 |
|---|---|---|---|
| Backoffice | ✓ | 已配置 | |
| H5 | 缺 | URL 已配置,账号未配置 | H5 账号缺失 → 阻塞 H5 验证 |
| DB readonly | ✓ | 已配置 | |
| API docs | ✓ | 已配置 | |
| API contracts | ✓ | 3 | |
| DB contracts | 缺 | 0 | DB 对账 inconclusive |
| Permission contracts | 缺 | 0 | 权限闭环不足 |
| File templates | 缺 | 0 | Upload/Import Closure 未准备 |
以下为底层逐项明细(模块表 / Flow / 资产 / 资源 / 闭环 / 操作面 / 表单 / 菜单 / 高风险榜 / 规则 / Bug),用于下钻核对,不影响上方驾驶舱结论。
| 模块 | 菜单数 | 已学路由 | 有效页面 | 通过 | 失败 | 无法判断 | 不适用 | 候选Bug | 风险 | 模块覆盖率 | Flow |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 财务 | 10 | 10 | 10 | 0 | 0 | 0 | 0 | 0 | ×5 | 0% | ✓ |
| 风控 | 2 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | ×5 | 0% | — |
| 优惠 | 6 | 6 | 5 | 0 | 0 | 0 | 0 | 0 | ×4 | 0% | — |
| 系统 | 5 | 5 | 5 | 0 | 0 | 0 | 0 | 0 | ×4 | 0% | — |
| 游戏 | 4 | 4 | 4 | 0 | 0 | 0 | 0 | 0 | ×3 | 0% | — |
| 会员 | 10 | 8 | 7 | 771 | 14 | 634 | 0 | 13 | ×3 | 80% | ✓ |
| 报表 | 3 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | ×3 | 0% | — |
| 运营 | 9 | 4 | 4 | 0 | 0 | 0 | 0 | 0 | ×2 | 0% | — |
| 仪表盘 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ×1 | 0% | — |
| flow 覆盖项 | 通过 | 失败 | 无法判断 | 不适用 |
|---|---|---|---|---|
| 1.模块入口 | 60 | 0 | 0 | 0 |
| 2.列表与筛选 | 89 | 4 | 40 | 7 |
| 3.导出 | 2 | 0 | 14 | 4 |
| 4.金额/币种/时间 | 10 | 0 | 8 | 2 |
| 5.API/DB对账 | 4 | 0 | 41 | 5 |
| 6.业务操作 | 8 | 0 | 4 | 68 |
覆盖率口径 = verified / in-scope(8);out-of-scope(2)不进分母。隐藏/未开放功能不算缺口、不算 fail。
| flow 覆盖项 | 通过 | 失败 | 无法判断 | 不适用 |
|---|---|---|---|---|
| 1.模块入口 | 42 | 0 | 0 | 0 |
| 2.列表与筛选 | 54 | 0 | 44 | 0 |
| 3.导出 | 0 | 0 | 6 | 8 |
| 4.字段/时间/数据展示 | 10 | 0 | 4 | 0 |
| 5.API/DB对账 | 0 | 0 | 35 | 0 |
| 6.业务操作 | 4 | 0 | 20 | 32 |
| 菜单 | 状态 | 进分母 | 前端已展示 | 已学route | 判定依据 |
|---|---|---|---|---|---|
| 所有会员 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| 待删除会员 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| 层级设置 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| 会员标签 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| VIP等级 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| 注册和验证 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| 大R提醒设置 | hidden-not-released | — | ✗ | ✗ | 权限树 active 但前端导航未暴露(隐藏/未开放/未提测/feature-flag 未启用) |
| 会员日志 | in-scope | ✓ | ✓ | ✓ | 前端已展示 + route 已学 + 可访问 |
| 登录设备管理 | in-scope | ✓ | ✓ | ✓ | 刷新登录态后点击可达业务页 → 原失败为会话时序;学习 route 后纳入 verified(route 已学,现可达) |
| 大R玩家报表 | hidden-not-released | — | ✗ | ✗ | 权限树 active 但前端导航未暴露(隐藏/未开放/未提测/feature-flag 未启用) |
硬红线:DB 只读 / API 只监听 / 变更必须 UI 触发 / 只操作 AUTO_TEST_ 资产 / 非测试环境一律 readonly / 资金·不可逆 destructive 默认阻断在最终确认前。生命周期 v1.1:只有 confirmed(UI+API 证据)才 cleanupRequired;attempt/inconclusive 不当孤儿;confirmed 未清理 → possible orphan 高亮。
| 类别 | 数量 |
|---|---|
| CREATE | 2 |
| 类别 | 数量 |
|---|---|
| medium | 2 |
| 类别 | 数量 |
|---|---|
| ui-create | 2 |
| id | 角色 | 服务名 | 类型 | 域名 | 状态 | requiredFor |
|---|---|---|---|---|---|---|
| backoffice-frontend | 商户后台前端 / 当前被测后台 UI | xgcash-admin | frontend | eks-admintesta.ugtest888.com | 已配置 | rule-executor / flow / interaction-closure / operation-closure / config-closure |
| h5-frontend | 用户前端 H5 / 玩家端 | xgcash-next | frontend | eks-webtesta.ugtest888.com | URL 已配置 / 账号待配置 | game-config-closure / h5-display-verification / frontend-backend-sync |
| merchant-bff | 商户网关 / 后台 API | bff-merchant | bff | eks-bff-merchant.ugtest888.com | 已配置 | interaction-closure / operation-closure / config-closure / api-evidence |
| player-bff | 用户网关 / H5 玩家 API | bff-player | bff | eks-biff-player.ugtest888.com | 已登记 / 待 Network 实测确认 | h5-flow / game-config-closure / frontend-backend-sync |
| player-api-alternative | 用户 API 备用 / 统一入口 | bff-player | bff | eks-apitesta.ugtest888.com | 已登记 / 待 Network 实测确认 | h5-flow / game-config-closure |
| admin-bff | 管理后台网关 / 平台级后台 API | bff-admin | bff | eks-bff-admin.ugtest888.com | 预留(当前不在主测范围) | platform-admin-testing / future-admin-flow |
| 资源 | 状态 | 资源 | 状态 |
|---|---|---|---|
| 后台 URL | 已配置 | H5 URL | 已配置 |
| API base | 已配置 | 后台账号 | 已配置 |
| H5 账号 | 未配置 | DB 只读 | 已配置 |
| API 文档 | 已配置 | API 契约 | 3 |
| 文件模板 | 0 | DB 契约 | 0 |
| 权限契约 | 0 | — | — |
红线:敏感信息只存 env key,绝不展示明文;有 API 文档≠调 API(仍只监听);有 DB 配置≠DB write(仍只读)。
Closure Coverage ≠ Visible Coverage:Visible=页面/能力可见可达;Closure=低风险操作 UI→API→UI 真实闭环 verified。verified 才计;inconclusive/suspicious/resource·contract·no-data skip 不计分子;hidden/high/destructive 不进分母。
| 操作类型 | verified/进分母 | 状态分布 |
|---|---|---|
| SEARCH | 3/6 | verified:3 inconclusive:3 skipped-no-data:1 |
| FILTER | 4/5 | verified:4 not-applicable:2 inconclusive:1 |
| PAGINATION | 0/0 | not-applicable:7 |
| REFRESH | 4/7 | verified:4 inconclusive:3 |
| RESET | 5/5 | verified:5 not-applicable:2 |
| EXPORT | 0/3 | suspicious:2 not-applicable:4 inconclusive:1 |
| DETAIL_VIEW | 1/2 | verified:1 not-applicable:4 inconclusive:1 skipped-no-data:1 |
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | verified | 搜索字段「请输入精准会员账号」值进 API 请求 + API response 含该值 + UI 列表含该值,UI→API→UI 闭环成立 |
| FILTER | verified | 筛选触发列表 API 重新请求且 UI 刷新,闭环成立 |
| PAGINATION | not-applicable | 仅一页/下一页禁用,不进分母 |
| REFRESH | verified | 刷新/重查触发列表 API 重新请求,闭环成立 |
| RESET | verified | 重置后搜索输入已清空,闭环成立 |
| EXPORT | suspicious | 点击导出后无 API、无 UI 变化、无 download → suspicious(有前后截图证据,待复核)(经导出下拉「当前页」选项触发) |
| DETAIL_VIEW | verified | 详情弹窗打开且监听到详情 API,闭环成立 |
SEARCH 归因:字段「请输入精准会员账号」(key=account, 置信度 high) | 选值「rk101」来源 ui-table | 请求带值=true / API含值=true / UI含值=true
EXPORT 归因:模式 export-unknown | 捕获下载=false | API=false | 异步taskId=- | fileUrl=- | 权限=ok
UI Instruction: instructionScanned=true | operationGuideRead=true | 说明 3 | riskHints=affects-balance,batch-risk
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | verified | 搜索字段「请输入精准会员账号」值进 API 请求 + API response 含该值 + UI 列表含该值,UI→API→UI 闭环成立 |
| FILTER | verified | 筛选触发列表 API 重新请求且 UI 刷新,闭环成立 |
| PAGINATION | not-applicable | 仅一页/下一页禁用,不进分母 |
| REFRESH | verified | 刷新/重查触发列表 API 重新请求,闭环成立 |
| RESET | verified | 重置后搜索输入已清空,闭环成立 |
| EXPORT | suspicious | 点击导出后无 API、无 UI 变化、无 download → suspicious(有前后截图证据,待复核) |
| DETAIL_VIEW | not-applicable | 首行无详情/查看入口 |
SEARCH 归因:字段「请输入精准会员账号」(key=account, 置信度 high) | 选值「beck003」来源 ui-table | 请求带值=true / API含值=true / UI含值=true
EXPORT 归因:模式 export-unknown | 捕获下载=false | API=false | 异步taskId=- | fileUrl=- | 权限=ok
UI Instruction: instructionScanned=true | operationGuideRead=false | 说明 0 | riskHints=无
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | inconclusive | 未监听到列表 API(疑前端本地筛选),UI 已按值过滤 → UI-level inconclusive(不报 Bug) |
| FILTER | not-applicable | 内容区无筛选下拉,不适用 |
| PAGINATION | not-applicable | 无分页控件 |
| REFRESH | inconclusive | 未监听到列表 API 重新请求,保守 inconclusive |
| RESET | verified | 重置后搜索输入已清空,闭环成立 |
| EXPORT | not-applicable | 无导出按钮 |
| DETAIL_VIEW | inconclusive | 点击后未观察到详情弹窗/页面,无法确认(不报 Bug) |
SEARCH 归因:字段「层级名称」(key=entityName, 置信度 high) | 选值「预设层级1」来源 ui-table | 请求带值=- / API含值=- / UI含值=-
UI Instruction: instructionScanned=true | operationGuideRead=false | 说明 3 | riskHints=destructive-risk | blockedOperations=DELETE:risk-blocked BATCH_ACTION:risk-blocked
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | verified | 搜索字段「标签名称」值进 API 请求 + API response 含该值 + UI 列表含该值,UI→API→UI 闭环成立 |
| FILTER | not-applicable | 内容区无筛选下拉,不适用 |
| PAGINATION | not-applicable | 无分页控件 |
| REFRESH | verified | 刷新/重查触发列表 API 重新请求,闭环成立 |
| RESET | verified | 重置后搜索输入已清空,闭环成立 |
| EXPORT | not-applicable | 无导出按钮 |
| DETAIL_VIEW | not-applicable | 首行无详情/查看入口 |
SEARCH 归因:字段「标签名称」(key=entityName, 置信度 high) | 选值「测试」来源 ui-table | 请求带值=true / API含值=true / UI含值=true
UI Instruction: instructionScanned=true | operationGuideRead=false | 说明 3 | riskHints=batch-risk
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | inconclusive | 未找到内容区搜索输入框(不报 Bug) |
| FILTER | verified | 筛选触发列表 API 重新请求且 UI 刷新,闭环成立 |
| PAGINATION | not-applicable | 无分页控件 |
| REFRESH | inconclusive | 未监听到列表 API 重新请求,保守 inconclusive |
| RESET | not-applicable | 无重置按钮 |
| EXPORT | not-applicable | 无导出按钮 |
| DETAIL_VIEW | not-applicable | 首行无详情/查看入口 |
UI Instruction: instructionScanned=true | operationGuideRead=false | 说明 4 | riskHints=protection-period,contact-support,affects-member,affects-balance | blockedOperations=UPDATE:rule-blocked STATUS_CHANGE:rule-blocked CREATE:rule-blocked DELETE:rule-blocked ENABLE_DISABLE:rule-blocked BATCH_ACTION:rule-blocked
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | inconclusive | 未监听到列表 API(疑前端本地筛选),UI 已按值过滤 → UI-level inconclusive(不报 Bug) |
| FILTER | inconclusive | 下拉未取到真实选项,保守 inconclusive |
| PAGINATION | not-applicable | 无分页控件 |
| REFRESH | inconclusive | 未监听到列表 API 重新请求,保守 inconclusive |
| RESET | not-applicable | 无重置按钮 |
| EXPORT | not-applicable | 无导出按钮 |
| DETAIL_VIEW | not-applicable | 首行无详情/查看入口 |
SEARCH 归因:字段「免注册」(key=-, 置信度 low) | 选值「USD」来源 ui-table | 请求带值=- / API含值=- / UI含值=-
UI Instruction: instructionScanned=true | operationGuideRead=false | 说明 13 | riskHints=protection-period,contact-support,affects-member,affects-balance | blockedOperations=UPDATE:rule-blocked STATUS_CHANGE:rule-blocked CREATE:rule-blocked DELETE:rule-blocked ENABLE_DISABLE:rule-blocked BATCH_ACTION:rule-blocked
| 操作类型 | 状态 | 判定依据 |
|---|---|---|
| SEARCH | skipped-no-data | 当前列表无数据,跳过(非 Bug) |
| FILTER | verified | 筛选触发列表 API 重新请求且 UI 刷新,闭环成立 |
| PAGINATION | not-applicable | 仅一页/下一页禁用,不进分母 |
| REFRESH | verified | 刷新/重查触发列表 API 重新请求,闭环成立 |
| RESET | verified | 重置后搜索输入已清空,闭环成立 |
| EXPORT | inconclusive | 导出弹出确认/参数弹窗,本阶段不点最终确认 → inconclusive(记录模式) |
| DETAIL_VIEW | skipped-no-data | 无数据行,跳过 |
EXPORT 归因:模式 export-modal-confirm | 捕获下载=false | API=false | 异步taskId=- | fileUrl=- | 权限=ok
UI Instruction: instructionScanned=false(本菜单未扫描)
执行中高风险 Closure 前先读页面规则/教程/风险提示;命中保护期/联系商务/不可逆等 → 标 rule-blocked / risk-blocked / requirement-question(不报 Bug)。本区不计入 Visible Coverage。
| 菜单 | 扫描 | 教程读取 | 说明数 | riskHints | blockedOperations |
|---|---|---|---|---|---|
| 所有会员 | ✓ | ✓ | 3 | affects-balance,batch-risk | — |
| 待删除会员 | ✓ | — | 0 | 无 | — |
| 层级设置 | ✓ | — | 3 | destructive-risk | DELETE risk-blocked BATCH_ACTION risk-blocked |
| 会员标签 | ✓ | — | 3 | batch-risk | — |
| VIP等级 | ✓ | — | 4 | protection-period,contact-support,affects-member,affects-balance | UPDATE rule-blocked STATUS_CHANGE rule-blocked CREATE rule-blocked DELETE rule-blocked ENABLE_DISABLE rule-blocked BATCH_ACTION rule-blocked |
| 注册和验证 | ✓ | — | 13 | protection-period,contact-support,affects-member,affects-balance | UPDATE rule-blocked STATUS_CHANGE rule-blocked CREATE rule-blocked DELETE rule-blocked ENABLE_DISABLE rule-blocked BATCH_ACTION rule-blocked |
自动盘点页面"目之所及"操作面 + 影响范围 + 风险 + Readiness 策略。本阶段不提高 coverage(Visible / Interaction Closure / Operation Surface / Readiness 各自独立)。
| 维度 | 分布 |
|---|---|
| operationType | CREATE:2 IMPORT:1 EXPORT:2 DETAIL_VIEW:109 SEARCH:13 RESET:6 DROPDOWN_SELECT:26 DATE_RANGE:2 BATCH_ACTION:4 UPDATE:11 STATUS_CHANGE:5 |
| riskLevel | medium:13 low:147 high:17 destructive:4 |
| impactScopes | member:32 backend-only:106 report:2 balance:3 display:15 h5:32 game-playability:10 effective-bet:4 betting:4 game-entry:7 maintenance:3 third-party:2 |
| source | toolbar:15 upload-area:1 export-area:2 filter:49 table-column:96 batch-action:4 config-entrance:9 switch-column:5 |
| readinessStatus | 数量 |
|---|---|
| executable-auto-test-only | 3 |
| executable-with-guard | 2 |
| executable | 59 |
| not-applicable | 1 |
| executable-readonly | 96 |
| executable-to-confirmation | 4 |
| requirement-question | 11 |
| executable-with-rollback | 5 |
字段(13):排序 / 平台ID / 平台名称 / 宣传图 / 币种 / 子游戏数量 / 最低准入 / 平台跳转方式 / 故障损失赔付 / 备注 / 操作人 / 操作时间 / 操作
开关:热门开关 executable-with-rollback 特色开关 executable-with-rollback 维护开关 executable-with-rollback 平台开关 executable-with-rollback 算有效投注 requirement-question
配置入口:游戏公共配置 executable-with-rollback 有效投注配置 requirement-question 最低准入 executable-readonly
字段(20):排序 / 平台名称 / 子类别 / 子游戏ID / 子游戏名称 / icon缩略图 / 币种 / 认证 / 热门开关 / 特色开关 / 角标名称 / 维护开关 / 游戏开关 / 独立展示到类型 / 算有效投注 / 备注 / 系统备注 / 操作人 / 操作时间 / 操作
开关:—
配置入口:批量同步游戏配置 executable-to-confirmation
| 菜单 | 配置项 | op | 需 rollback | H5 验证 | DB 验证 | 污染风险 | 需求来源 |
|---|---|---|---|---|---|---|---|
| VIP等级 | 奖励设置 | UPDATE | ✓ | (无需 H5) | (无需 DB) | low | 页面规则/保护期 → 待产品确认 |
| 注册和验证 | 免注册配置 | UPDATE | ✓ | (无需 H5) | (无需 DB) | low | 页面规则/保护期 → 待产品确认 |
| 注册和验证 | 公共配置 | UPDATE | ✓ | H5 首页/分类/入口/维护提示 | (无需 DB) | medium | 页面规则/保护期 → 待产品确认 |
| 注册和验证 | 注册页其他输入框配置 | UPDATE | ✓ | (无需 H5) | (无需 DB) | low | 页面规则/保护期 → 待产品确认 |
| 注册和验证 | 注册成功弹窗配置 | UPDATE | ✓ | (无需 H5) | (无需 DB) | low | 页面规则/保护期 → 待产品确认 |
| 注册和验证 | 用户协议配置 | UPDATE | ✓ | (无需 H5) | (无需 DB) | low | 页面规则/保护期 → 待产品确认 |
| 注册和验证 | (短信配置) | UPDATE | ✓ | (无需 H5) | (无需 DB) | low | 页面规则/保护期 → 待产品确认 |
| 游戏管理/平台管理 | 游戏公共配置 | UPDATE | ✓ | H5 首页/分类/入口/维护提示 | (无需 DB) | medium | UI 教程/字段规则 |
| 游戏管理/平台管理 | 有效投注配置 | UPDATE | ✓ | H5 首页/分类/入口/维护提示 | DB 只读对账 | high | 页面规则/保护期 → 待产品确认 |
| 游戏管理/平台管理 | 热门开关 | STATUS_CHANGE | ✓ | H5 首页/分类/入口/维护提示 | (无需 DB) | low | UI 教程/字段规则 |
| 游戏管理/平台管理 | 特色开关 | STATUS_CHANGE | ✓ | H5 首页/分类/入口/维护提示 | (无需 DB) | low | UI 教程/字段规则 |
| 游戏管理/平台管理 | 维护开关 | STATUS_CHANGE | ✓ | H5 首页/分类/入口/维护提示 | (无需 DB) | low | UI 教程/字段规则 |
| 游戏管理/平台管理 | 平台开关 | STATUS_CHANGE | ✓ | H5 首页/分类/入口/维护提示 | (无需 DB) | medium | UI 教程/字段规则 |
| 游戏管理/平台管理 | 算有效投注 | STATUS_CHANGE | ✓ | H5 首页/分类/入口/维护提示 | DB 只读对账 | high | 页面规则/保护期 → 待产品确认 |
从"可执行策略"进入"真实 UI 操作闭环"。只对 AUTO_TEST_ 数据 CRUD;UI 触发 / API 只监听 / DB 只读 / 必清理。独立 coverage,不污染 Visible / Interaction Closure。
资产「AUTO_TEST_rmqo55」 overall verified | cleanupStatus cleaned
| 步骤 | 状态 | 判定依据 |
|---|---|---|
| CREATE | pass/verified | 新增 API 成功 + toast「批量新增成功,共新增 1 条」 | POST https://eks-bff-merchant.ugtest888.com/api/merchant/member/tag/batch status=200 code=0 |
| SEARCH | pass/verified | 搜索到 AUTO_TEST_ 标签(UI 含=true, API 含=true) | GET https://eks-bff-merchant.ugtest888.com/api/merchant/member/tag reqHas=true apiHas=true |
| UPDATE | pass/verified | 编辑 API 成功且 UI 列表更新为新名 | PUT https://eks-bff-merchant.ugtest888.com/api/merchant/member/tag/20 code=0 |
| DELETE | pass/verified | 删除 API 成功 + UI/搜索已不存在 | DELETE https://eks-bff-merchant.ugtest888.com/api/merchant/member/tag/20 code=0 confirm=true |
| CLEANUP | pass/verified | AUTO_TEST_ 标签已删除清理 |
资产「AUTO_TEST_lvlrmqow」 overall verified | cleanupStatus cleaned
| 步骤 | 状态 | 判定依据 |
|---|---|---|
| CREATE | pass/verified | 行内新增 API 成功 + toast「新增成功」 | POST https://eks-bff-merchant.ugtest888.com/api/merchant/member/tier status=200 code=0 |
| SEARCH | pass/verified | 搜索到 AUTO_TEST_ 标签(UI 含=true, API 含=true) | GET https://eks-bff-merchant.ugtest888.com/api/merchant/member/tier reqHas=true apiHas=true |
| UPDATE | pass/verified | 行内编辑 API 成功且 UI 列表更新为新名 | PUT https://eks-bff-merchant.ugtest888.com/api/merchant/member/tier/26 code=0 |
| DELETE | pass/verified | 删除 API 成功 + UI/搜索已不存在 | DELETE https://eks-bff-merchant.ugtest888.com/api/merchant/member/tier/26 code=0 confirm=true |
| CLEANUP | pass/verified | AUTO_TEST_ 标签已删除清理 |
点导出 → 监听 download / blob / fileUrl / taskId / export API → 验证文件(大小/后缀/类型/表头)→ 表头∩表格列。UI 触发 / API 只监听不调 / 不改数据;机制不明→诊断(suspicious/inconclusive),绝不误报 Bug。独立口径,不污染其它 Coverage。
| 菜单 | 模式 | 状态 | 文件(大小/后缀) | 表头∩列 | 结论 / 下一步 |
|---|---|---|---|---|---|
| 会员/所有会员 | async-task | verified | — | — | 点导出 → POST export/submit 2xx,异步导出任务已创建(导出任务中心模式) → verified(任务已提交);后续到导出列表/任务中心验证文件生成 + 下载内容 |
| 会员/待删除会员 | no-response | suspicious | — | — | 点击导出后无 download/无 API/无 toast/无弹窗/无 UI 变化 → export-unknown,需专项复核(有前后截图证据,不报 Bug) |
业务页点导出 → POST export/submit → UI 进入 报表 / 导出下载(report)→ 匹配本次任务 → 等就绪 → UI 点下载 → 验文件(大小/后缀/类型;zip/xlsx 内容 parseSkipped 不判失败)。跨模块闭环,不拼 URL / API 只监听。
| 源 → 目标 | taskStatus | 状态 | 文件(大小/后缀) | 结论 / 下一步 |
|---|---|---|---|---|
| 会员/所有会员 → report/导出下载 | task-downloaded | verified | 2026-06-22 16:23:47会员会员-会员列表所有 (158237B .zip) | 异步导出全链路 verified:submit→任务中心→下载文件 158237 字节 → full verified;后续可做内容逐行对账 |
| 会员/待删除会员 → report/导出下载 | inconclusive | suspicious | — | export-unknown 复核:mode=no-response status=suspicious(0 下拉/modal=false/perm=false) → 人工复核该页导出按钮是否绑定事件或该页面是否不支持导出(不报 Bug) |
模板下载(只读安全)→ 解析表头 → 生成 AUTO_TEST_ 文件 → 发现上传入口 → 风险评估。高风险导入(创建持久真实数据/涉资金风控)→ skipped-risk-blocked,绝不点确认、绝不 live import。UI 触发 / API 只监听 / 文件 AUTO_TEST_ 前缀;独立口径,不污染其它 Coverage。
| 菜单 | 类型 | 状态 | 风险 | 模板/生成文件 | 结论 / 下一步 |
|---|---|---|---|---|---|
| 会员/所有会员 | template-download | verified | destructive | 会员导入模板.xlsx (6341B) AUTO_TEST_member_所有会员_rmqoyrckr.csv |
模板下载 verified(6341 字节) → 据模板生成 AUTO_TEST_ 文件;高风险导入仍阻断 |
| 会员/所有会员 | import | skipped-risk-blocked | destructive | 会员导入模板.xlsx (6341B) AUTO_TEST_member_所有会员_rmqoyrckr.csv |
高风险导入(创建持久真实数据/涉资金风控)→ 阻断在最终确认前,不执行 live import(风险=destructive:涉及资金/提款/余额/风控,绝不 live import) → 仅验模板下载+文件生成+上传入口;真实导入需安全可清理目标或人工执行(不报 Bug) |
读原值 → UI 改 → 验生效 → 必回滚 → 验恢复。UI 触发 / API 只监听 / DB 只读 / 必记 original·target·rollback。有效投注/资金/维护 → skipped-risk-blocked(绝不动);rollback 失败 → 环境污染风险高亮 + 多源才 Candidate。H5 串联待玩家账号(resource-missing,不阻断 backend)。独立口径,不污染其它 Coverage。
| 菜单/配置 | 目标行 | 原值→目标→回滚 | backend | rollback | H5 | 状态 | 结论 |
|---|---|---|---|---|---|---|---|
| 游戏/游戏管理/平台管理 热门开关 |
DB彩票 | off → on → off | ✓ | ✓ | resource-missing | rollback-verified | 改生效 + 回滚已恢复原值,可逆配置闭环 verified → backend verified;H5 串联待玩家账号后做专项 |
禁止平台/LLM 靠猜测做跨模块闭环:凡跨模块流转/异步任务/配置影响前台/导出下载/导入结果/前后台串联,必须先有 relation record(标来源+置信度+assumption),经 UI/API 验证后才允许 full closure。assumptionLevel=high → 只允许 discovery probe;未确认 → discovery-required/relationship-unknown,绝不 fake verified。不改 Candidate/Official/Coverage。
| 类型 | 源 → 目标 | 置信度 | 来源 |
|---|---|---|---|
| export-task | member/所有会员/导出报表 → report/导出下载 | high | user-provided + ui-navigation + api-response |
| 类型 | 源 → 目标 | 状态 | assumption | 下一步 |
|---|---|---|---|---|
| export-task | member/待删除会员/导出报表 → report/导出下载(待确认) | relationship-unknown | medium | 人工复核该页导出是否绑定事件;不可假设与 所有会员 相同 |
| config-h5-display | game/游戏管理/平台管理/热门开关 → h5/H5 展示位置(未知) | discovery-required | high | 补 H5 玩家账号 + H5 实测发现热门展示位后再做 config-h5 闭环 |
| config-h5-display | game/游戏管理/平台管理/特色开关 → h5/H5 展示位置(未知) | discovery-required | high | 同热门:补账号 + 实测 |
| config-game-entry | game/游戏管理/平台管理/维护开关 → h5/H5 游戏入口/维护态(未知) | discovery-required | high | 补账号 + H5 实测维护态展示;本身后台 closure 也 risk-blocked |
| config-game-entry | game/游戏管理/平台管理/平台开关 → h5/H5 游戏入口(未知) | discovery-required | high | 补账号 + H5 实测平台入口显隐 |
| config-effective-bet | game/游戏管理/平台管理/算有效投注 → report/投注/报表/有效投注字段(未知) | discovery-required | high | 产品确认有效投注口径 + 报表字段映射后再做(本身 risk-blocked) |
| import-result | member/所有会员/导入会员 → member/导入结果页(未知) | discovery-required | high | 需安全可清理导入目标或人工确认导入结果位置后再做 import-result 闭环 |
PRD 完整版本周才开始整理。平台诚实分三类:① 客观功能测试(不依赖 PRD,继续做):可达/CRUD/导出/上传模板/配置保存回滚/API 触发/资产清理;② 业务规则验证(必须 PRD/产品确认):配置影响/统计公式/状态流转/H5 位置/有效投注/结算;③ 需求缺口(没写且 UI/API 不能客观确认)→ requirement-question/gap,绝不猜、不当 Bug。手动口径见 reports/manual-test-charter.md。不改 Closure/Coverage/Bug 判定。
| 模块 | PRD | 客观测试 | 客观闭环 | 业务断言 | 缺口 | 下一步 |
|---|---|---|---|---|---|---|
| 财务 | incomplete | 允许 | 允许 | 受阻 | 2 | 产品补 2 项需求依据后转 Rule/TestCase;期间只做客观功能闭环 |
| 会员 | incomplete | 允许 | 允许 | 受阻 | 3 | 产品补 3 项需求依据后转 Rule/TestCase;期间只做客观功能闭环 |
| 游戏 | incomplete | 允许 | 允许 | 受阻 | 5 | 产品补 5 项需求依据后转 Rule/TestCase;期间只做客观功能闭环 |
| 报表 | incomplete | 允许 | 允许 | 受阻 | 1 | 产品补 1 项需求依据后转 Rule/TestCase;期间只做客观功能闭环 |
| 优惠 | incomplete | 允许 | 允许 | 受阻 | 2 | 产品补 2 项需求依据后转 Rule/TestCase;期间只做客观功能闭环 |
| 风控 | incomplete | 允许 | 允许 | 受阻 | — | 可继续客观功能闭环;暂无明确需求缺口 |
| 代理 | incomplete | 允许 | 允许 | 受阻 | — | 可继续客观功能闭环;暂无明确需求缺口 |
| 系统 | incomplete | 允许 | 允许 | 受阻 | — | 可继续客观功能闭环;暂无明确需求缺口 |
| 运营 | incomplete | 允许 | 允许 | 受阻 | — | 可继续客观功能闭环;暂无明确需求缺口 |
| 仪表盘 | incomplete | 允许 | 允许 | 受阻 | — | 可继续客观功能闭环;暂无明确需求缺口 |
| 优先级 | 模块/菜单 | 类型 | 问题 | Owner |
|---|---|---|---|---|
| blocker | game/平台管理 | settlement | 算有效投注影响范围未知 | 产品 |
| high | game/平台管理 | config-impact | 维护开关前台表现未知 | 产品 |
| high | game/平台管理 | config-impact | 平台开关前台表现未知 | 产品 |
| high | member/所有会员 | risk-control | 导入会员涉及提现限制/风控影响需产品确认 | 产品 |
| high | finance/充值/提现/补单 | status-flow | 充值/提现/补单/人工拉回状态流转规则未知 | 产品 |
| medium | game/平台管理 | h5-relationship | 热门开关影响 H5 展示位置未知 | 产品 |
| medium | game/平台管理 | h5-relationship | 特色开关影响 H5 展示位置未知 | 产品 |
| medium | member/所有会员 | import-result | 导入会员结果页/结果下载位置未知 | 产品 |
| medium | member/待删除会员 | business-rule | 导出报表按钮无响应,需确认该页是否支持导出 | 产品 |
| medium | promotion/领取与审核 | status-flow | 优惠审核/领取状态流转规则未知 | 产品 |
为未来 Web Dashboard「点按钮执行」建立安全底座(非 Web/非按钮/非 LLM)。只执行白名单登记命令;mutation 命令(UI 改数据/上传/配置/回滚)必须 --allow-mutation,否则 blocked-by-policy;run lock 防两个 run 同时污染产物;每次写 RunSummary + latest + history。不改 Closure 逻辑、不改 Coverage/Evidence/Bug 判定。
Latest Run: 会员冒烟(qa-command)· succeeded · 15524ms · mutation=readonly · cleanup=not-applicable
Last success: 会员冒烟 (qa-command) · Last failed: — · Active lock: 无
| 步 | 标题 | 命令 | 判定 | 状态 | 规则口径/切片 | 说明 |
|---|---|---|---|---|---|---|
| 1 | Census 对账 | npm run census:diff | execute live | succeeded | — | 只读生成/报表命令 |
| 2 | 冒烟规则(会员 · 页面 / 列表) | npm run rules:exec | allowed-execute live | succeeded | PAGE,LIST limit注入:smoke-safe-ui-readonly | ui-readonly live:受控真实执行只读规则口径(PAGE,LIST),安全切片 limit≤3 |
| 3 | 覆盖率 | npm run coverage | execute live | succeeded | — | 只读生成/报表命令 |
| 0 | 刷新驾驶舱 | npm run dashboard | execute live | succeeded | — | 只读生成/报表命令 |
| runId | 类型 | 状态 | mutation | 耗时 | cleanup | 失败原因 |
|---|---|---|---|---|---|---|
| run-mqpaj76o-1 | qa-command | succeeded | readonly | 15524ms | not-applicable | — |
| run-mqp9omk1-1 | dashboard | succeeded | readonly | 918ms | not-applicable | — |
| run-mqp9h5id-1 | qa-command | succeeded | readonly | 13325ms | not-applicable | — |
| run-mqp9euf7-1 | dashboard | succeeded | readonly | 731ms | not-applicable | — |
| run-mqp72cmt-1 | qa-command | succeeded | readonly | 16681ms | not-applicable | — |
| run-mqp6r7mb-1 | qa-command | partial | readonly | 21277ms | not-applicable | 部分步骤失败,见 steps |
| run-mqp5yfqt-1 | qa-command | succeeded | readonly | 1847ms | not-applicable | — |
| run-mqp5tx5k-1 | operation-closure | blocked-by-policy | ui-mutation | 2ms | not-applicable | mutation 命令(ui-mutation)必须显式 --allow-mutation,默认拒绝以防污染环境 |
| run-mqp5tuji-1 | qa-command | succeeded | readonly | 2327ms | not-applicable | — |
| run-mqp5tszm-1 | dashboard | succeeded | readonly | 958ms | not-applicable | — |
| 类型 | 命令 | mutation 策略 |
|---|---|---|
| 生成治理 Dashboard (dashboard) | npm run dashboard | readonly |
| Candidate Bug 分流 (triage) | npm run triage | readonly |
| 跨模块关系治理 (relationship) | npm run relationship | readonly |
| 需求缺口治理 + 手工口径 (requirement) | npm run requirement | readonly |
| 执行计划生成 (plan) | npm run plan | readonly |
| QA Command(场景→计划) (qa-command) | npm run qa | readonly |
| Candidate Finding 复验 (verification) | npm run verify:finding | readonly |
| 真实 UI CRUD 闭环 (operation-closure) | npm run closure:operation:tag | 🔒 需 --allow-mutation |
| 导出/下载闭环 (export-closure) | npm run closure:export | 🔒 需 --allow-mutation |
| 上传/导入/文件闭环 (file-closure) | npm run closure:file | 🔒 需 --allow-mutation |
| 可恢复配置闭环(改+回滚) (config-closure) | npm run closure:config | 🔒 需 --allow-mutation |
| 自定义(预留) (custom) | (占位) | registered-only |
未来 Web Dashboard 按钮只能传 profileId,绝不传任意 shell/qa 文本。每个 profile 声明执行模式 + 确认级别 + 放行/阻断步骤:readonly/ui-readonly 免或软确认直接点;ui-mutation/reversible-config 硬确认 + 必须 --allow-mutation;blocked-risk forbidden v1 不执行。ui-readonly profile(会员冒烟)放行 PAGE/LIST 只读规则、阻断 CRUD/配置/导入。不改 QA Command/Planner/Closure/Coverage/Bug 判定。
| 按钮 | 类别 | 执行模式 | 确认 | 绑定 | 放行 / 阻断步骤 | 最近运行 |
|---|---|---|---|---|---|---|
| 刷新 Dashboard dashboard-refresh | dashboard | readonly | none | dashboard | — | succeeded |
| 候选 Bug 分流 bug-triage | triage | readonly | none | triage | — | 未运行 |
| 跨模块关系检查 relationship-check | relationship | readonly | none | relationship | — | 未运行 |
| 需求缺口检查 requirement-gap-check | requirement | readonly | none | requirement | — | 未运行 |
| 会员冒烟 member-smoke | smoke | ui-readonly | soft-confirm | 会员冒烟 | ✓ census,rules-page-list,coverage,dashboard ⛔ operation-closure,config-closure,file-import,upload,destructive | succeeded |
| 财务全量计划 finance-full-plan | regression | ui-readonly | soft-confirm | 财务全量 | ✓ census,rules-page-list,coverage,dashboard ⛔ operation-closure,config-closure,file-import,upload,destructive | 未运行 |
| BUG 复测 bug-regression | regression | ui-readonly | soft-confirm | BUG复测 {{bugId}} | ✓ bug-report,dashboard ⛔ operation-closure,config-closure,file-import,upload,destructive | 未运行 |
| 会员标签 CRUD 闭环 member-tag-crud | closure | ui-mutation 需allow | hard-confirm | operation-closure:member-tag | — | blocked-by-policy |
| 会员层级 CRUD 闭环 member-level-crud | closure | ui-mutation 需allow | hard-confirm | operation-closure:member-level | — | 未运行 |
| 游戏平台热门开关配置闭环 game-platform-hot-config | closure | reversible-config 需allow | hard-confirm | config-closure:game-platform-hot | — | 未运行 |
本地 Web 控制台:点按钮触发已登记安全 profile。启动:npm run web → http://127.0.0.1:3000(仅绑 127.0.0.1)。只接受 profileId,禁任意 command;经 Run Orchestrator(run lock/policy);写操作 profile 默认禁用。
✓ 开放(readonly / ui-readonly):刷新 Dashboard 候选 Bug 分流 跨模块关系检查 需求缺口检查 会员冒烟
⛔ 禁用(mutation,需命令行 --allow-mutation):财务全量计划 BUG 复测 会员标签 CRUD 闭环 会员层级 CRUD 闭环 游戏平台热门开关配置闭环
安全策略:profileId 白名单 / 禁 command 拼接 / artifacts 仅白名单路径 / 不暴露 .env·密码·token / mutation 默认拒绝 Web 执行。不绕过 Run Orchestrator,不改 Closure/Evidence/Coverage/Bug 判定。
Run Monitor / Live Logs v1 已启用:GET /api/runs/latest(含 steps/stdout/failureReason)· GET /api/runs/:runId(runId 安全校验+限定 census/runs 目录,防穿越)· GET /api/run-lock(locked/stale 监控)· GET /api/artifact?path=(白名单)。前端:Latest Run Detail + Step Timeline(每步 policyDecision/live·dry/规则口径/exit/stdout·stderr)+ Run History 可「查看」详情 + lock 时禁用启动按钮。
自然语言意图 → 只能匹配【已登记 Run Profile】→ 输出 profileId + confidence + reason。v1 deterministic 规则路由(不接真实 LLM API)。LLM 绝不生成 shell/Playwright/API,绝不直接执行,不绕过 Profile Registry / Run Orchestrator;mutation 意图只路由不执行(blocked-mutation);置信度 < 0.75 → clarification-required;command-like 输入 → rejected-command-like。这是 intent routing 审计,不是 LLM 自动测试结果。不改 Closure/Coverage/Bug 判定。
safe routes 4 · unsafe rejects 1 · 最近匹配 profile:relationship-check
| 意图输入 | 状态 | profile | 置信度 | canRun |
|---|---|---|---|---|
| 随便说点啥 | no-matching-profile | — | 0 | 否 |
| npm run rules:exec | rejected-command-like | — | 0 | 否 |
| 改游戏热门开关 | blocked-mutation | game-platform-hot-config | 0.98 | 否 |
| 执行会员标签CRUD | blocked-mutation | member-tag-crud | 0.98 | 否 |
| 检查跨模块关系 | matched | relationship-check | 0.98 | 是 |
| 看需求缺口 | matched | requirement-gap-check | 0.92 | 是 |
| 刷新面板 | matched | dashboard-refresh | 0.92 | 是 |
| 跑一下会员冒烟 | matched | member-smoke | 0.98 | 是 |
把平台安全部署到宝塔/Linux,经 Nginx 反代访问,支持 git pull 更新。不开放 3000 到公网 —— QA Web 只监听 127.0.0.1:3000(代码硬编码),公网只走 Nginx 反代。.env / census / reports / test-results 不静态暴露(只经 artifact 白名单);mutation profile 默认禁 Web;不在服务器手改代码,更新走 deploy.sh(typecheck/lint 失败不重启)。仅运维外壳,不改 Web/Orchestrator/LLM/Closure/Coverage/Bug 判定。
| 文件 | 类型 | 用途 | 状态 |
|---|---|---|---|
| docs/deployment-baota.md | doc | 宝塔/Linux 部署指南 | ✓ |
| docs/deployment-security-checklist.md | doc | 部署安全检查清单 | ✓ |
| scripts/deploy.sh | script | git pull → 校验 → 重启(失败不重启) | ✓ |
| scripts/healthcheck.sh | script | 环境 + Web 可达 + .env artifact 防护 | ✓ |
| scripts/backup.sh | script | 备份配置/治理产物(排除 node_modules/.git) | ✓ |
| scripts/restart-web.sh | script | 重启 qa-web(PM2) | ✓ |
| scripts/install-playwright-deps.sh | script | 安装 Chromium + 系统依赖 | ✓ |
| config/nginx/qa-platform.reverse-proxy.example.conf | nginx | Nginx 反代 127.0.0.1:3000 + 禁 .env | ✓ |
| ecosystem.config.cjs | pm2 | PM2 守护 qa-web | ✓ |
| .env.server.example | env | env 模板(只 key 无真实值) | ✓ |
⚠ Web 只监听 127.0.0.1:3000 — 切勿暴露 3000 到公网,只经 Nginx 反代访问
真实高级人工测试的表单闭环 = 校验闭环(必填/格式/长度)+ 正确提交闭环(合法填→真触发写 API→可查)。不能只"打开弹窗→填值→点确定"。采集全部来自真实 UI,API 只监听不调。
| 菜单/表单 | 必填 | 空值提交被拦 | 需 tag chip | 填后按钮disabled | 写API捕获 | 候选请求数 | 诊断结论 |
|---|---|---|---|---|---|---|---|
| 会员标签 / 批量新增标签 批量新增标签 |
未标* | 是 | 否 | 否 | 是 | 1 | verified 点确认触发写 API 且搜索可查到 → 创建成功 → create adapter 可用:确认按钮直接提交 |
| 模块 | 菜单 | censusId | 路由 | 页面能力 | 交互 | 规则 | 通过 | 失败 | 无法判断 | 不适用 | 状态 | Bug | 截图 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 仪表盘 | 仪表盘 | dashboard.dashboard | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 运营 | 消息通知 | operation.notification | /operation/notification | ListFilterPaginationCreateEditDeleteDetailBatchActionTabsDialogForm | 11 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 运营 | 品牌设置 | operation.brand_settings | /operation/brand | ListFilterPaginationCreateEditDeleteDetailStatusSwitchBatchActionTabsDialogForm | 11 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 运营 | 营销广告 | operation.marketing_ads | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 运营 | 头像管理 | operation.avatar_mgmt | /operation/avatar-mgmt | UploadTabs | 2 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 运营 | 厅主公告 | operation.hall_announcement | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 运营 | 有奖反馈 | operation.rewarded_feedback | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 运营 | 客服管理 | operation.customer_service_mgmt | /operation/customer | ListFilterPaginationCreateEditDeleteDetailStatusSwitchTabsDialogForm | 11 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 运营 | 合规配置 | operation.compliance_config | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 运营 | TG通知 | operation.tg_notification | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 游戏 | 游戏管理 | game.game_mgmt | /game/game_mgmt | ListFilterPaginationEditStatusSwitchBatchActionTabsDialogForm | 8 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 游戏 | 投注记录 | game.bet_records | /game/bet_records | ListFilterPaginationDetailExportTabsReadonlyData | 8 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 游戏 | 会员投注细目 | game.member_bet_breakdown | /game/member_bet_breakdown | ListFilterPaginationExportReadonlyData | 5 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 游戏 | 游戏统计 | game.game_stats | /game/game_stats | ListFilterPaginationExportReadonlyData | 5 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 会员 | 所有会员 | member.all_members | /member/all-member | ListFilterPaginationCreateDeleteDetailExportImportBatchActionDialogForm | 11 | 235 | 150 | 1 | 84 | 0 | 有效 | 0 | 截图 |
| 会员 | 待删除会员 | member.pending_delete_members | /member/member-delete | ListFilterPaginationExportBatchActionReadonlyData | 7 | 211 | 150 | 0 | 61 | 0 | 有效 | 0 | 截图 |
| 会员 | 层级设置 | member.level_settings | /member/level | ListFilterCreateEditDeleteDetailTabsDialogForm | 7 | 234 | 121 | 4 | 109 | 0 | 有效 | 4 | 截图 |
| 会员 | 会员标签 | member.member_tag | /member/tag | ListFilterCreateEditDeleteDialogForm | 5 | 182 | 93 | 2 | 87 | 0 | 有效 | 4 | 截图 |
| 会员 | VIP等级 | member.vip_level | /member/vip-level | ListFilterEditDialogForm | 3 | 161 | 65 | 4 | 92 | 0 | 有效 | 4 | 截图 |
| 会员 | 注册和验证 | member.register_verify | /member/register-verify | ListFilterEditStatusSwitchTabsDialogForm | 7 | 141 | 49 | 1 | 91 | 0 | 有效 | 1 | 截图 |
| 会员 | 大R提醒设置 | member.big_r_reminder_settings | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 会员 | 会员日志 | member.member_log | /member/logs | ListFilterPaginationCreateEditExportDialogForm | 7 | 132 | 68 | 0 | 64 | 0 | 有效 | 0 | 截图 |
| 会员 | 登录设备管理 | member.login_device_mgmt | /member/login-device | — | 0 | 1 | 1 | 0 | 0 | 49 | — | 0 | 截图 |
| 会员 | 大R玩家报表 | member.big_r_player_report | — | — | 0 | 0 | 0 | 0 | 0 | 0 | — | 0 | — |
| 优惠 | 活动中心 | bonus.activity_center | /bonus/activity | ListFilterPaginationCreateEditBatchActionTabsDialogFormBusinessAction | 10 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 优惠 | 任务中心 | bonus.task_center | /bonus/task | ListEditDetailStatusSwitchTabsDialogForm | 5 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 优惠 | 实时返水 | bonus.realtime_rebate | /bonus/cashback | ListFilterPaginationCreateEditDeleteDetailStatusSwitchBatchActionDialogForm | 9 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 优惠 | VIP奖励 | bonus.vip_reward | /bonus/vip-reward | ListFilterCreateEditDeleteDetailImportStatusSwitchDialogForm | 9 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 优惠 | 优惠明细 | bonus.promo_detail | /bonus/detail | ListFilterPaginationDetailExportTabsReadonlyData | 7 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 优惠 | 领取与审核 | bonus.claim_review | /bonus/claim-review | ListFilterPaginationCreateDetailExportBatchActionTabsDialogFormBusinessAction | 11 | 0 | 0 | 0 | 0 | 0 | 待复核 | 0 | 截图 |
| 财务 | 全部充值 | finance.all_recharge | /finance/recharge | ListFilterPaginationCreateExportTabsDialogForm | 8 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 充值补单 | finance.recharge_supplement | /finance/recharge-supplement | ListFilterPaginationExportTabsReadonlyDataBusinessAction | 8 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 在线充值 | finance.online_recharge | /finance/online-recharge | ListFilterPaginationCreateExportBatchActionTabsDialogForm | 11 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 提现管理 | finance.withdrawal_mgmt | /finance/withdraw | ListFilterPaginationDetailExportBatchActionTabsReadonlyData | 10 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 稽核任务 | finance.audit_task | /finance/audit-task | ListFilterPaginationCreateDetailExportBatchActionTabsDialogFormBusinessAction | 12 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 游戏额度丢失 | finance.game_quota_loss | /finance/quota-loss | ListFilterExportTabsReadonlyDataBusinessAction | 7 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 人工拉回修正 | finance.manual_pull_back | /finance/manual-fix | FilterTabs | 2 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 汇率和银行管理 | finance.exchange_rate_bank_mgmt | /finance/bank | ListFilterPaginationEditTabsDialogForm | 6 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 客服代充 | finance.cs_proxy_recharge | /finance/cs-proxy-recharge | ListFilterPaginationCreateExportTabsDialogFormBusinessAction | 9 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 财务 | 转账充值 | finance.transfer_recharge | /finance/transfer-recharge | ListFilterPaginationCreateExportBatchActionTabsDialogFormBusinessAction | 11 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 报表 | 账变记录 | report.balance_change_record | /report/account-change | ListFilterPaginationExportReadonlyData | 5 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 报表 | 运营统计 | report.operation_stats | /report/operation | ListFilterExportTabsReadonlyData | 6 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 报表 | 导出下载 | report.export_download | /report/export | ListFilterPaginationDeleteDetailExportBatchAction | 9 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 风控 | 黑名单 | risk.blacklist | /risk/blacklist | ListFilterPaginationCreateExportBatchActionTabsDialogForm | 8 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 风控 | 刷子监控 | risk.fraud_monitor | /risk/brush-monitor | ListFilterPaginationBatchActionTabsReadonlyData | 7 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 系统 | 账号权限 | system.account_permission | /system/account-perm | ListFilterPaginationCreateEditDetailBatchActionTabsDialogFormBusinessAction | 11 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 系统 | IP白名单 | system.ip_whitelist | /system/ip-whitelist | ListFilterPaginationCreateEditDeleteExportBatchActionTabsDialogForm | 10 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 系统 | 后台日志 | system.admin_log | /system/logs | ListFilterPaginationExportTabsReadonlyData | 7 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 系统 | 非经营地访问限制 | system.non_business_area_access_limit | /system/access-restriction | ListFilterPaginationCreateEditDeleteDialogForm | 7 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
| 系统 | 币种管理 | system.currency_mgmt | /system/currency-manage | ListStatusSwitchReadonlyData | 2 | 0 | 0 | 0 | 0 | 0 | 有效 | 0 | 截图 |
把候选异常池升级为可复核/可排除/可升级队列。Candidate ≠ Official;本层不自动升级 Official;UI 单源 / 单次复跑 / 自动化自身问题(等待时机/selector/adapter)一律降级,不当产品 Bug。原始候选保留(见下方 Bug 看板)。
| 模块 | 菜单 | ruleId | 分流标题 | 置信度 |
|---|---|---|---|---|
| 会员 | 会员标签 | 未归类候选异常 · 会员/会员标签 | low | |
| 会员 | 会员标签 | 未归类候选异常 · 会员/会员标签 | low |
| 模块 | 菜单 | ruleId | 分流标题 | 置信度 |
|---|---|---|---|---|
| 会员 | 层级设置 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/层级设置 | low |
| 会员 | 会员标签 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/会员标签 | low |
| 会员 | 注册和验证 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/注册和验证 | low |
| 会员 | VIP等级 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/VIP等级 | low |
| 会员 | 层级设置 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/层级设置 | low |
| 会员 | 层级设置 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/层级设置 | low |
| 会员 | 层级设置 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/层级设置 | low |
| 会员 | 会员标签 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/会员标签 | low |
| 会员 | VIP等级 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/VIP等级 | low |
| 会员 | VIP等级 | LIST-005 | 疑似 loading 遮罩残留(待分清:前端未关闭 vs 等待时机) · 会员/VIP等级 | low |
| 模块 | 菜单 | ruleId | 分流标题 | 置信度 |
|---|---|---|---|---|
| 会员 | VIP等级 | LIST-004 | 疑似无结果/空状态提示缺失(待产品确认规范) · 会员/VIP等级 | low |
对 triage 候选【定向补证据】:UI 筛选→API request→API total/list→UI total/row→复跑。verified-issue / ready-to-confirm 也不是 Official,仅表示"可进入人工确认"。
Table Row Semantics:UI 行数走归一化 parser(排除 summary/合并/虚拟/空/skeleton/展开/隐藏行)。oldRow=原始 DOM tr 数,normalized=数据行数;两者不等即旧计数器把非数据行误算。
| 候选 | triage→verification | API list | UI total | UI 行(old→归一) | 排除行 | 复跑 | 结论 / 下一步 |
|---|---|---|---|---|---|---|---|
| 优惠/领取与审核 FILTER-007 | evidence-insufficient → likely-false-positive | 20 | 323 | 22 → 20 | summary×2 ⚠ summary-row, merged-cells, virtual-scroll, cell-count-mismatch |
2 稳定 | UI total = API total 且 list length = row count 一致,原 UI 单源"总数<行数"疑为解析/时机误读 → 原 candidate 保留并在派生层标 likely-false-positive,不进入复核队列;无需修产品 |
该候选由旧表格行计数器误算 summary/合并/虚拟行产生,已由 Table Row Semantics parser 归一化后降级(likely-false-positive),非产品 Bug。
受影响规则(LIST-003/LIST-004/FILTER-007/DATA-001)的现有候选【非破坏】复跑:进菜单→新 parser 计数→记 before/after。不改原始候选 / 不升 Official / 不改 Coverage。
| 规则 | before/reduced/保留 |
|---|---|
| FILTER-007 | before 1 · 收敛 1 · 保留 0 · parser风险 0 |
| LIST-004 | before 2 · 收敛 2 · 保留 0 · parser风险 2 |
| LIST-003 | before 3 · 收敛 3 · 保留 0 · parser风险 3 |
| 规则 | 菜单 | before→after | 行数 old→归一 | API list / UI total | parsing risks | 判定 / 结论 |
|---|---|---|---|---|---|---|
| FILTER-007 | 优惠/领取与审核 | fail → inconclusive | 0 | 0 / — | — | false-positive-reduced 接入后该规则 inconclusive(归一行数 0 vs 旧 0),原候选属误报,已收敛 |
| LIST-004 | 优惠/VIP奖励 | fail → inconclusive | 37 | 1 / — | merged-cells, virtual-scroll, cell-count-mismatch | parser-risk 检出 merged-cells/virtual-scroll/cell-count-mismatch → 降级 inconclusive,不高置信报候选 |
| LIST-004 | 财务/汇率和银行管理 | fail → inconclusive | 2 | 1 / 2 | merged-cells, virtual-scroll | parser-risk 检出 merged-cells/virtual-scroll → 降级 inconclusive,不高置信报候选 |
| LIST-003 | 财务/充值补单 | fail → inconclusive | 0 | 1 / 0 | empty-state | parser-risk 检出 empty-state → 降级 inconclusive,不高置信报候选 |
| LIST-003 | 运营/客服管理 | fail → pass | 2 | 1 / 2 | merged-cells | false-positive-reduced 接入后该规则 pass(归一行数 2 vs 旧 2),原候选属误报,已收敛 |
| LIST-003 | 系统/IP白名单 | fail → inconclusive | 7 | 1 / 7 | merged-cells, virtual-scroll, cell-count-mismatch | parser-risk 检出 merged-cells/virtual-scroll/cell-count-mismatch → 降级 inconclusive,不高置信报候选 |
| 池 | 标题 | 模块 | 菜单 | 级别 | 置信度 | ruleId | 处理建议 |
|---|---|---|---|---|---|---|---|
| 候选 | [LIST-005] member/层级设置 loading 正确 | 会员 | 层级设置 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/会员标签 loading 正确 | 会员 | 会员标签 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/注册和验证 loading 正确 | 会员 | 注册和验证 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-004] member/VIP等级 空状态正确 | 会员 | VIP等级 | P2 | low | LIST-004 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/VIP等级 loading 正确 | 会员 | VIP等级 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/层级设置 loading 正确 | 会员 | 层级设置 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/层级设置 loading 正确 | 会员 | 层级设置 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/层级设置 loading 正确 | 会员 | 层级设置 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/会员标签 loading 正确 | 会员 | 会员标签 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/VIP等级 loading 正确 | 会员 | VIP等级 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [LIST-005] member/VIP等级 loading 正确 | 会员 | VIP等级 | P2 | low | LIST-005 | 人工复核:确认是否真问题(误报则排除) |
| 候选 | [OPCLOSURE-UPDATE] member/会员标签 编辑 API 成功但 UI/搜索未见新名 → Candidate | 会员 | 会员标签 | P3 | low | 人工复核:确认是否真问题(误报则排除) | |
| 候选 | [OPCLOSURE-UPDATE] member/会员标签 编辑 API 成功但旧名仍在、新名未见(编辑未生效)→ Candidate | 会员 | 会员标签 | P3 | low | 人工复核:确认是否真问题(误报则排除) |