文件
hyb-oa/issues/2026-02-11-p11-p12-governance-mobile.csv
wangsli 3b221a2202 feat(P11-P12): 落地治理开关与移动端MVP(G0-G6/H1/M1-M4)
- 新增 Feature Flag 模型、评估服务与管理 API(erp_sync/invoice_verification)\n- 完成 ERP 与验真灰度收口(路由/服务/作业统一判定)\n- 补齐 pay 与手动 sync 的 department_id 灰度上下文\n- 增加管理后台开关页、PWA 基础设施与移动拍照/审批页面\n- 增加回归脚本、安全基线与压测脚本,更新文档与执行合同\n\nIssue: G0,G1,G2,G3,G4,G5,G6,H1,M1,M2,M3,M4
2026-02-11 20:33:30 +08:00

5.2 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2G0P11/P12执行合同建档创建并校验P11-P12执行合同CSV且冻结依赖关系CSV通过校验且字段满足规范python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-02-11-p11-p12-governance-mobile.csvmanualDONEDONEDONEissues/2026-02-11-p11-p12-governance-mobile.csv[]none
3G1Feature Flag模型与评估服务新增feature_flags数据模型并实现统一评估服务与env硬闸融合支持erp_sync/invoice_verification两键评估且默认fail-closedcd server && npm run prisma:validate && node --check src/services/featureFlags/index.js && node --check src/config.jsmanualDONEDONEDONEserver/prisma/schema.prisma | server/prisma/migrations/* | server/src/services/featureFlags/index.js | server/src/config.js | server/.env.example["G0"]默认两键force_off作为首期安全基线
4G2开关管理API与审计新增system.settings可访问的Feature Flag查询与更新API并写审计GET/PUT接口可用且变更具备审计记录cd server && node --check src/routes/featureFlags.js && node --check src/app.jsmanualDONEDONEDONEserver/src/routes/featureFlags.js | server/src/app.js | server/src/routes/audit.js | server/src/utils/audit.js["G1"]并发更新使用expectedVersion乐观锁
5G3ERP灰度接入(pay+手动sync)pay自动入队与手动ERP同步统一走feature flag并按department_id灰度pay成功语义不变且非灰度部门阻断手动sync并跳过自动入队cd server && ./scripts/regression-integrations.shmanualDONEDONEDONEserver/src/routes/reimbursements.js | server/src/routes/integrations.js | server/src/services/integrations/erp.js | server/src/services/featureFlags/index.js["G2"]需补齐reimbursement.department_id查询字段
6G4验真开关统一收口(路由+服务+作业)验真判定统一收敛到services/verification/index并覆盖路由与workerverify/retry/worker均按统一判定执行且关闭时落verification_disabled_by_flagcd server && ./scripts/regression-verification.shmanualDONEDONEDONEserver/src/routes/invoicePool/verification.js | server/src/services/verification/index.js | server/src/jobs/verificationJob.js | server/src/jobs/pgBossJobs.js | server/src/services/verification/tax.js | server/src/services/featureFlags/index.js["G2"]移除分散的config.invoiceVerificationEnabled直接判断
7G5管理后台开关页新增Feature Flags管理页面并接入权限与导航system.settings角色可查看并更新开关且前端构建通过cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/pages/FeatureFlagsPage.tsx | client/src/api/featureFlags.ts | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx["G2"]展示effective状态与灰度范围
8G6回归脚本与文档收口新增feature flag回归脚本并接入总回归与README和矩阵脚本可重复执行且check-minimal保持通过cd server && ./scripts/regression-feature-flags.sh && cd /home/shunli/Projects/hyb-oa && ./scripts/check-minimal.shmanualDONEDONEDONEserver/scripts/regression-feature-flags.sh | server/scripts/regression-all.sh | server/README.md | docs/feature-matrix.md["G3","G4","G5"]回滚通过RUN_FEATURE_FLAGS_REGRESSION=0
9H1安全与压测门槛新增安全基线检查与dashboard压测脚本并形成文档基线脚本输出可复用且阈值说明可追溯cd server && ./scripts/security-baseline.sh && ./scripts/benchmark-dashboard.shmanualDONEDONEDONEserver/scripts/security-baseline.sh | server/scripts/benchmark-dashboard.sh | docs/ops/non-functional-baseline.md["G6"]默认先观测不阻断
10M1PWA基础设施在现有client启用PWA并新增manifest与SW注册开关支持安装与离线壳打开且构建通过cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/vite.config.ts | client/src/main.tsx | client/public/manifest.webmanifest["H1"]默认仅缓存静态壳与离线fallback
11M2移动拍照与离线上传队列新增移动拍照上传页及indexeddb离线重放队列断网缓存并在联网后自动重放上传成功cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/pages/MobileCapturePage.tsx | client/src/mobile/uploadQueue.ts | client/src/api/invoicePool.ts | client/src/router/index.tsx["M1"]iOS只保证前台恢复后重放
12M3移动审批快捷处理新增移动审批列表与详情快捷动作页复用workflow接口移动端可完成approve/reject/return/transfer闭环cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/pages/MobileApprovalsPage.tsx | client/src/api/workflow.ts | client/src/router/index.tsx["M1"]保持现有权限守卫策略
13M4P12验收与收口补充PWA手工回归清单并同步矩阵与执行合同状态checklist完整且P12状态可审计追溯manual: 按 docs/mobile/pwa-regression-checklist.md 执行离线上传与移动审批全流程manualDONEDONEDONEdocs/mobile/pwa-regression-checklist.md | docs/feature-matrix.md | issues/2026-02-11-p11-p12-governance-mobile.csv["M2","M3"]无自动化时必须写可复现手工步骤