B1-B8 建立项目级流程与QA门禁

这个提交包含在:
2026-05-09 01:57:05 +08:00
父节点 555e7b7e29
当前提交 485328426a
共修改 29 个文件,包含 1633 行新增和 102 行删除
+9 -1
查看文件
@@ -32,10 +32,11 @@ cd server && ./scripts/regression-all.sh
若当前本地开发库存在 Prisma migration 漂移,禁止直接重置数据库。需要验证发票查重真实 HTTP 链路时,优先使用隔离临时库:
```bash
bash scripts/qa/check-local-migration-drift.sh
bash scripts/qa/run-isolated-regression-dedup.sh
```
该脚本会创建临时 QA 数据库、执行迁移和种子、启动临时服务、运行 `server/scripts/regression-dedup.sh`,结束后默认删除临时库。若需要保留现场,可设置 `QA_KEEP_DB=1`。
`check-local-migration-drift.sh` 只读执行 `prisma migrate status` 并给出风险提示,不会执行 `migrate reset`。`run-isolated-regression-dedup.sh` 会创建临时 QA 数据库、执行迁移和种子、启动临时服务、运行 `server/scripts/regression-dedup.sh`,结束后默认删除临时库。若需要保留现场,可设置 `QA_KEEP_DB=1`。
前端检查:
@@ -78,6 +79,13 @@ cd client && npm run build
node scripts/qa/create-real-device-report.mjs
```
公网 live smoke 和真实 OCR 准备按 [`docs/trialrun/live-smoke-readiness.md`](trialrun/live-smoke-readiness.md) 执行:
```bash
node scripts/qa/check-live-smoke-env.mjs
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh
```
系统应避免让已绑定用户反复登录。若手机企业微信能进入但仍要求登录,优先检查:
- 回调 code 是否传到后端。
@@ -0,0 +1,50 @@
# 国内 OA 与费控系统最佳实践对照
快照日期:2026-05-08;公开来源二次复核:2026-05-09
## 调研来源
- 合思(原易快报)官网:强调从申请、消费、报销、对账、记账、归档、报表的全流程数字化,覆盖商旅、用车、餐饮、办公采购等场景,并把发票识别验真、合规透明、可追踪作为核心能力。来源:<https://www.hosecloud.com/index.html>
- 分贝通官网:首页与费用管理产品页强调全流程费控、全场景支付、事前管控、OCR 识别、自动验真、查重、电子档案、三流合一和 OA/HRM/CRM/ERP 连接。来源:<https://www.fenbeitong.com/>、<https://www.fenbeitong.com/product.php>
- 每刻科技官网:强调多行业费用管理、AI/OCR 票据识别、智能审核、知识库/制度问答、海外票据识别和合规效率。来源:<https://www.maycur.com/>
- 企业微信第三方应用文档:工作台应用应从企业微信直接进入 H5 页面,第三方网页授权通过 OAuth code 获取成员身份,回调与 state 需要明确校验。来源:<https://wdk-docs.github.io/wework-docs/>、<https://wdk-docs.github.io/wework-docs/server/>
## 可迁移最佳实践
1. **移动端优先入口**
- 企业微信工作台进入后应直接落到移动工作台,不应出现 PC 壳、桌面表格或侧边栏。
- 深链要保留目标页面,例如审批待办、票据上传、报销详情。
2. **报销从“填单”转向“票据驱动”**
- 员工上传发票后,应尽快看到“上传成功、识别中、可添加、识别失败、重复/已使用”的状态变化。
- 识别失败或重复时,应给出业务语言原因和下一步动作,不应只显示系统码。
3. **事前规则与事后审计并行**
- 费用标准、预算、审批规则应在提交前预检。
- 财务复核、例外放行、付款、归档应全程留痕。
4. **三流合一与电子档案**
- 报销单、发票、附件、审批记录、付款批次、ERP 凭证应能互相追溯。
- 普通员工侧只看业务文案;财务/管理员侧才出现更细的状态、差错和审计信息。
5. **自动化验收要覆盖“体验事实”**
- 仅验证接口成功不够,还要验证页面文案、状态变化、移动布局、文件选择行为、错误提示和视觉溢出。
- 真实 OCR、真实企业微信 OAuth、真机文件选择属于上线前必须有证据的 live smoke。
## hyb-oa 当前判断
| 领域 | 当前合理点 | 主要差距 | 优化优先级 |
| --- | --- | --- | --- |
| 企业微信入口 | 已有 `/mobile`、OAuth config、移动底部导航和公网入口配置 | 真机企业微信 OAuth + 真实账号回跳证据不足;仍需防 PC 页面误入 | P0 |
| 报销与票据 | 已支持报销、发票上传、OCR、绑定、解绑、查重、付款批次 | OCR 真实耗时、状态变化和失败提示需要 live 证据;票据入口需继续区分拍照/图片/PDF | P0 |
| 费用规则 | 已有费用类型、审批规则、预算预检、支付批次 | 普通用户流程还需更强的提交前解释和异常引导 | P1 |
| 审批 | PC/移动审批和离线队列已有自动化 | 多人并发、代理审批、真实企业微信 deep link 还缺 live 证据 | P1 |
| 电子档案 | 发票、附件、审批、付款、ERP preview 已有链路 | 财务视角归档检索、合同/发票/付款跨域追溯仍偏分散 | P1 |
| 全局治理 | 已有 feature matrix、coverage matrix、Issue CSV、回归脚本 | 缺项目级覆盖扫描、全页面视觉巡检和统一 release gate | P0 |
## 下一步落地策略
1. 先把现有流程和测试覆盖机器化,避免继续靠人工记忆判断是否“一一核查”。
2. 将已知问题固化成静态扫描与 Playwright 断言,包括原始码值、内部术语、移动 PC 化、PDF capture 错误、横向溢出。
3. 把真实 OCR、真实企业微信、真机测试作为 live readiness,不具备条件时输出 skipped 和缺项清单。
4. 发布前统一执行 project-wide release gate;只有部署和公网检查通过后,才通知可以测试。
+28
查看文件
@@ -0,0 +1,28 @@
# 公网 live smoke 与真实 OCR 准备清单
## 必需环境变量
- `LIVE_SMOKE_BASE_URL`:默认 `https://oa.hyinda.com`。
- `LIVE_SMOKE_ADMIN_IDENTIFIER` / `LIVE_SMOKE_ADMIN_PASSWORD`:管理员 smoke 账号。
- `LIVE_SMOKE_EMPLOYEE_IDENTIFIER` / `LIVE_SMOKE_EMPLOYEE_PASSWORD`:员工 smoke 账号。
- `LIVE_EXPECT_WECOM_STATUS`:建议设为 `ready`,用于校验企业微信入口状态。
## 真实 OCR 复核
- `PLAYWRIGHT_OCR_LIVE_FILE`:单张真实测试发票 PDF/JPG/PNG/WEBP。
- 或 `PLAYWRIGHT_OCR_LIVE_DIR`:批量票样目录。
- 可选 `PLAYWRIGHT_OCR_LIVE_IDENTIFIER` / `PLAYWRIGHT_OCR_LIVE_PASSWORD`:专用 OCR 测试员工账号;未提供时复用 `LIVE_SMOKE_EMPLOYEE_*`。
- 可选 `PLAYWRIGHT_OCR_ALLOW_DUPLICATE=1`:允许重复样本被识别为重复,用于反复测试同一张票。
## 命令
```bash
node scripts/qa/check-live-smoke-env.mjs
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh
```
## 判定
- 缺少 live smoke 账号或 OCR 样本时,脚本必须输出 `SKIP` 和缺项,不得误报通过真实链路。
- 配置完整时,脚本执行公网 `/ready`、公网资源文案扫描、网页 live smoke 和真实 OCR 样本上传。
- 脚本不得打印密码、腾讯密钥或第三方 secret。
@@ -0,0 +1,11 @@
Domain,Tier,Primary_Roles,PC_Routes,Mobile_WeCom_Routes,Server_Routes,Main_Flow,Exception_Flow,Permission_Flow,Current_Coverage,Known_Gaps,Best_Practice_Delta,Next_Action
"认证与企业微信入口","P0","employee|manager|admin","/login|/portal|/settings/profile","/mobile|/mobile/me|/mobile/profile","server/src/routes/auth.js|server/src/routes/wecomAuth.js|server/src/routes/me.js","账号登录或企微 OAuth 进入工作台,按设备落到 PC Portal 或移动工作台。","未绑定、会话过期、OAuth 回跳失败、密码错误、首次登录改密。","普通员工仅看个人入口;管理员看系统入口;企业微信回跳只允许安全 returnTo。","login-portal-ux.spec.ts|wecom-entry.spec.ts|wecom-first-bind.spec.ts|r89-mobile-login-navigation.spec.ts|live-smoke.spec.ts","真实企业微信 OAuth 和真机回跳仍需 live smoke;HTTPS cookie 行为缺最终证据。","国内企业微信应用最佳实践要求工作台直达 H5 移动体验,不能露出 PC 壳。","B3/B5:视觉巡检防 PC 壳;live readiness 检查真实账号。"
"报销与票据 OCR","P0","employee|manager|finance|finance_mgr|admin","/reimbursements|/reimbursements/:id|/invoice-pool|/payment-batches|/ap-operations","/mobile/reimbursements|/mobile/reimbursements/:id|/mobile/capture","server/src/routes/reimbursements.js|server/src/routes/invoicePool.js|server/src/routes/paymentBatches.js|server/src/routes/apOperations.js","员工建草稿、加明细、上传发票、OCR 识别、添加到报销、提交审批、财务付款归档。","OCR 超时/失败、重复发票、已绑定/已报销、删除后重传、缺金额无法自动明细、付款失败。","员工只看自己的报销和业务文案;经理审批;财务复核付款;管理员配置。","reimbursement-workflow-progress.spec.ts|invoice-ocr-flow.spec.ts|reimbursement-payment-batch-flow.spec.ts|r111-invoice-reimbursement-guard.spec.ts|r125-invoice-reupload-after-delete.spec.ts|regression-dedup.sh","真实腾讯 OCR 耗时和公网文件上传链路需要样本;移动 PDF 选择需真机证据。","合思/分贝通/每刻均强调票据识别、验真、查重、电子档案和状态可追溯。","B3/B5/B7:视觉和文案门禁、真实 OCR readiness、发布门禁。"
"审批中心","P0","manager|finance|finance_mgr|admin","/workflow/tasks|/workflow/tasks/:taskId","/mobile/approvals","server/src/routes/workflow.js|server/src/routes/workflowDefinitions.js","审批人查看待办,审批/驳回/退回/转交,申请人查看进度。","任务已处理、权限不足、并发审批、离线审批重放冲突。","只有当前审批人可处理;管理员可治理流程定义;普通员工只看相关单据进度。","workflow-quick-approve.spec.ts|mobile-approvals-offline.spec.ts|r111-invoice-reimbursement-guard.spec.ts","代理审批、多人并发、真实企业微信 deep link 证据不足。","同类系统强调审批全程留痕、风险提示和移动处理效率。","B4/B5:业务流门禁聚合;live smoke 覆盖移动 deep link。"
"请假与考勤","P1","employee|manager|admin","/leave-requests|/attendance|/team","/mobile/leave","server/src/routes/leave.js|server/src/routes/leave-types.js|server/src/routes/attendance.js|server/src/routes/presence.js","员工提交请假、经理审批、团队日历/考勤状态更新。","余额不足、附件缺失、节假日/跨日、撤回、补卡。","员工看本人;经理看团队;管理员配置假期和考勤规则。","leave-flow.spec.ts|leave-team-calendar.spec.ts|announcements-presence.spec.ts|r75-automation-gap-fill.spec.ts","复杂排班、跨日班次和真实移动附件未专项重验。","国内 OA 常规要求移动提交、审批联动团队视图。","B4:纳入业务流门禁;B3:移动视觉巡检。"
"周报、待办、公告与通知","P1","employee|manager|admin","/weekly-reports|/todos|/announcements|/notifications","/mobile/notifications","server/src/routes/weeklyReports.js|server/src/routes/todos.js|server/src/routes/announcements.js|server/src/routes/notifications.js","员工写周报、生成待办、公告触达、通知已读。","未提交提醒、通知跳转失效、公告权限错误。","管理员发布公告;员工只看可见公告;经理看团队周报汇总。","weekly-todo-flow.spec.ts|announcements-presence.spec.ts|global-search.spec.ts|r75-automation-gap-fill.spec.ts","外发渠道、催办策略和真实消息投递缺专项证据。","同类系统强调制度与知识库同步、通知可追踪。","B4:纳入业务流门禁;后续可补渠道 live smoke。"
"人员、组织、HR 与绩效","P1","employee|manager|hr|admin","/people|/people/:employeeId|/people/stats|/organization|/payroll|/performance","/mobile/me|/mobile/profile","server/src/routes/employees.js|server/src/routes/departments.js|server/src/routes/payroll.js|server/src/routes/performance.js","管理员维护人员组织,员工完善档案,经理/HR 查看统计与绩效。","入职/转正/离职、隐私字段缺失、导出、权限越界。","员工看本人;经理看团队;HR/管理员看管理页面。","user-onboarding.spec.ts|r75-automation-gap-fill.spec.ts","离职资产交接、绩效真实评分、敏感字段脱敏证据不足。","国内 OA/HR 常规要求组织数据作为审批和权限事实源。","B2/B4:覆盖扫描标出缺口,业务门禁先跑现有用例。"
"项目、合同与涉密边界","P1","manager|project_role|admin","/projects|/projects/:projectId|/contracts-registry","/mobile","server/src/routes/projects.js|server/src/routes/contractsRegistry.js|server/src/routes/confidentialDocRefs.js","项目创建、成员协作、沟通记录、合同台账、涉密引用边界。","项目权限不足、涉密文档不可见、合同缺关联。","项目成员和管理员分级可见;涉密内容最小暴露。","project-workbench.spec.ts|confidential-boundary.spec.ts","真实项目创建协同和合同台账编辑证据不足。","费控最佳实践强调申请/合同/发票/付款互相追溯。","B4:纳入项目与合同只读/写入门禁。"
"采购、预算、差旅与对公付款","P1","employee|manager|finance|admin","/purchase-requests|/budgets|/travel-requests|/payment-batches|/ap-operations","/mobile/approvals|/mobile/capture","server/src/routes/purchaseRequests.js|server/src/routes/budgets.js|server/src/routes/travelRequests.js|server/src/routes/travelOrders.js|server/src/routes/travelReconciliation.js|server/src/routes/paymentBatches.js","采购/差旅申请、预算预检、审批、支付、对账和归档。","预算不足、审批拒绝、对账差异、付款异常、票据不匹配。","员工创建;经理审批;财务付款和对账;管理员配置规则。","procurement-flow.spec.ts|travel-payment-flow.spec.ts|travel-reconciliation-flow.spec.ts|reimbursement-payment-batch-flow.spec.ts","高风险两轮复核、大额批次、真实 ERP/银行回执缺证据。","分贝通/合思强调事前管控、企业支付、三流合一和报表分析。","B4/B7:聚合现有业务流,live 外部回执保持 skipped。"
"资产与移动盘点","P1","employee|asset_admin|admin","/assets|/inventory-checks","/mobile/assets/scan","server/src/routes/assets.js|server/src/routes/assetMovements.js|server/src/routes/inventoryChecks.js","资产建卡、领用归还、调拨、盘点,移动端扫码盘点。","扫码失败、离线队列、盘点冲突、权限不足。","员工看本人资产;资产管理员管理台账和盘点。","assets-flow.spec.ts","真实摄像头扫码和真机离线恢复缺证据。","移动端应优先真实设备验证摄像头和文件权限。","B3/B5:视觉与真机清单覆盖。"
"系统治理、审计与发布","P0","admin|system_operator","/system/workspace|/system/settings|/system/feature-flags|/system/workflow-definitions|/audit-logs|/system/cutover|/system/integrations/erp","/mobile/me","server/src/routes/systemWorkspace.js|server/src/routes/featureFlags.js|server/src/routes/audit.js|server/src/routes/cutover.js|server/src/routes/integrations.js","管理员配置工作区、功能开关、流程定义、审计、切换和集成。","配置漂移、开关 force_off、迁移漂移、外部依赖不可用、发布失败。","仅系统权限可见;普通用户页面不得出现内部码值或调试文案。","settings-governance.spec.ts|live-smoke.spec.ts|smoke-trialrun-runtime.js|check-ui-design-rules.mjs","缺项目级 coverage scan、全页面视觉巡检和统一 release gate。","成熟系统需要可审计、可回滚、可持续回归的发布链路。","B2/B3/B6/B7:补齐覆盖扫描、视觉巡检、漂移诊断和发布门禁。"
1 Domain Tier Primary_Roles PC_Routes Mobile_WeCom_Routes Server_Routes Main_Flow Exception_Flow Permission_Flow Current_Coverage Known_Gaps Best_Practice_Delta Next_Action
2 认证与企业微信入口 P0 employee|manager|admin /login|/portal|/settings/profile /mobile|/mobile/me|/mobile/profile server/src/routes/auth.js|server/src/routes/wecomAuth.js|server/src/routes/me.js 账号登录或企微 OAuth 进入工作台,按设备落到 PC Portal 或移动工作台。 未绑定、会话过期、OAuth 回跳失败、密码错误、首次登录改密。 普通员工仅看个人入口;管理员看系统入口;企业微信回跳只允许安全 returnTo。 login-portal-ux.spec.ts|wecom-entry.spec.ts|wecom-first-bind.spec.ts|r89-mobile-login-navigation.spec.ts|live-smoke.spec.ts 真实企业微信 OAuth 和真机回跳仍需 live smoke;HTTPS cookie 行为缺最终证据。 国内企业微信应用最佳实践要求工作台直达 H5 移动体验,不能露出 PC 壳。 B3/B5:视觉巡检防 PC 壳;live readiness 检查真实账号。
3 报销与票据 OCR P0 employee|manager|finance|finance_mgr|admin /reimbursements|/reimbursements/:id|/invoice-pool|/payment-batches|/ap-operations /mobile/reimbursements|/mobile/reimbursements/:id|/mobile/capture server/src/routes/reimbursements.js|server/src/routes/invoicePool.js|server/src/routes/paymentBatches.js|server/src/routes/apOperations.js 员工建草稿、加明细、上传发票、OCR 识别、添加到报销、提交审批、财务付款归档。 OCR 超时/失败、重复发票、已绑定/已报销、删除后重传、缺金额无法自动明细、付款失败。 员工只看自己的报销和业务文案;经理审批;财务复核付款;管理员配置。 reimbursement-workflow-progress.spec.ts|invoice-ocr-flow.spec.ts|reimbursement-payment-batch-flow.spec.ts|r111-invoice-reimbursement-guard.spec.ts|r125-invoice-reupload-after-delete.spec.ts|regression-dedup.sh 真实腾讯 OCR 耗时和公网文件上传链路需要样本;移动 PDF 选择需真机证据。 合思/分贝通/每刻均强调票据识别、验真、查重、电子档案和状态可追溯。 B3/B5/B7:视觉和文案门禁、真实 OCR readiness、发布门禁。
4 审批中心 P0 manager|finance|finance_mgr|admin /workflow/tasks|/workflow/tasks/:taskId /mobile/approvals server/src/routes/workflow.js|server/src/routes/workflowDefinitions.js 审批人查看待办,审批/驳回/退回/转交,申请人查看进度。 任务已处理、权限不足、并发审批、离线审批重放冲突。 只有当前审批人可处理;管理员可治理流程定义;普通员工只看相关单据进度。 workflow-quick-approve.spec.ts|mobile-approvals-offline.spec.ts|r111-invoice-reimbursement-guard.spec.ts 代理审批、多人并发、真实企业微信 deep link 证据不足。 同类系统强调审批全程留痕、风险提示和移动处理效率。 B4/B5:业务流门禁聚合;live smoke 覆盖移动 deep link。
5 请假与考勤 P1 employee|manager|admin /leave-requests|/attendance|/team /mobile/leave server/src/routes/leave.js|server/src/routes/leave-types.js|server/src/routes/attendance.js|server/src/routes/presence.js 员工提交请假、经理审批、团队日历/考勤状态更新。 余额不足、附件缺失、节假日/跨日、撤回、补卡。 员工看本人;经理看团队;管理员配置假期和考勤规则。 leave-flow.spec.ts|leave-team-calendar.spec.ts|announcements-presence.spec.ts|r75-automation-gap-fill.spec.ts 复杂排班、跨日班次和真实移动附件未专项重验。 国内 OA 常规要求移动提交、审批联动团队视图。 B4:纳入业务流门禁;B3:移动视觉巡检。
6 周报、待办、公告与通知 P1 employee|manager|admin /weekly-reports|/todos|/announcements|/notifications /mobile/notifications server/src/routes/weeklyReports.js|server/src/routes/todos.js|server/src/routes/announcements.js|server/src/routes/notifications.js 员工写周报、生成待办、公告触达、通知已读。 未提交提醒、通知跳转失效、公告权限错误。 管理员发布公告;员工只看可见公告;经理看团队周报汇总。 weekly-todo-flow.spec.ts|announcements-presence.spec.ts|global-search.spec.ts|r75-automation-gap-fill.spec.ts 外发渠道、催办策略和真实消息投递缺专项证据。 同类系统强调制度与知识库同步、通知可追踪。 B4:纳入业务流门禁;后续可补渠道 live smoke。
7 人员、组织、HR 与绩效 P1 employee|manager|hr|admin /people|/people/:employeeId|/people/stats|/organization|/payroll|/performance /mobile/me|/mobile/profile server/src/routes/employees.js|server/src/routes/departments.js|server/src/routes/payroll.js|server/src/routes/performance.js 管理员维护人员组织,员工完善档案,经理/HR 查看统计与绩效。 入职/转正/离职、隐私字段缺失、导出、权限越界。 员工看本人;经理看团队;HR/管理员看管理页面。 user-onboarding.spec.ts|r75-automation-gap-fill.spec.ts 离职资产交接、绩效真实评分、敏感字段脱敏证据不足。 国内 OA/HR 常规要求组织数据作为审批和权限事实源。 B2/B4:覆盖扫描标出缺口,业务门禁先跑现有用例。
8 项目、合同与涉密边界 P1 manager|project_role|admin /projects|/projects/:projectId|/contracts-registry /mobile server/src/routes/projects.js|server/src/routes/contractsRegistry.js|server/src/routes/confidentialDocRefs.js 项目创建、成员协作、沟通记录、合同台账、涉密引用边界。 项目权限不足、涉密文档不可见、合同缺关联。 项目成员和管理员分级可见;涉密内容最小暴露。 project-workbench.spec.ts|confidential-boundary.spec.ts 真实项目创建协同和合同台账编辑证据不足。 费控最佳实践强调申请/合同/发票/付款互相追溯。 B4:纳入项目与合同只读/写入门禁。
9 采购、预算、差旅与对公付款 P1 employee|manager|finance|admin /purchase-requests|/budgets|/travel-requests|/payment-batches|/ap-operations /mobile/approvals|/mobile/capture server/src/routes/purchaseRequests.js|server/src/routes/budgets.js|server/src/routes/travelRequests.js|server/src/routes/travelOrders.js|server/src/routes/travelReconciliation.js|server/src/routes/paymentBatches.js 采购/差旅申请、预算预检、审批、支付、对账和归档。 预算不足、审批拒绝、对账差异、付款异常、票据不匹配。 员工创建;经理审批;财务付款和对账;管理员配置规则。 procurement-flow.spec.ts|travel-payment-flow.spec.ts|travel-reconciliation-flow.spec.ts|reimbursement-payment-batch-flow.spec.ts 高风险两轮复核、大额批次、真实 ERP/银行回执缺证据。 分贝通/合思强调事前管控、企业支付、三流合一和报表分析。 B4/B7:聚合现有业务流,live 外部回执保持 skipped。
10 资产与移动盘点 P1 employee|asset_admin|admin /assets|/inventory-checks /mobile/assets/scan server/src/routes/assets.js|server/src/routes/assetMovements.js|server/src/routes/inventoryChecks.js 资产建卡、领用归还、调拨、盘点,移动端扫码盘点。 扫码失败、离线队列、盘点冲突、权限不足。 员工看本人资产;资产管理员管理台账和盘点。 assets-flow.spec.ts 真实摄像头扫码和真机离线恢复缺证据。 移动端应优先真实设备验证摄像头和文件权限。 B3/B5:视觉与真机清单覆盖。
11 系统治理、审计与发布 P0 admin|system_operator /system/workspace|/system/settings|/system/feature-flags|/system/workflow-definitions|/audit-logs|/system/cutover|/system/integrations/erp /mobile/me server/src/routes/systemWorkspace.js|server/src/routes/featureFlags.js|server/src/routes/audit.js|server/src/routes/cutover.js|server/src/routes/integrations.js 管理员配置工作区、功能开关、流程定义、审计、切换和集成。 配置漂移、开关 force_off、迁移漂移、外部依赖不可用、发布失败。 仅系统权限可见;普通用户页面不得出现内部码值或调试文案。 settings-governance.spec.ts|live-smoke.spec.ts|smoke-trialrun-runtime.js|check-ui-design-rules.mjs 缺项目级 coverage scan、全页面视觉巡检和统一 release gate。 成熟系统需要可审计、可回滚、可持续回归的发布链路。 B2/B3/B6/B7:补齐覆盖扫描、视觉巡检、漂移诊断和发布门禁。