6.4 KiB
6.4 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | R30-0 | 总执行合同建档与范围冻结 | 为零人工发布 全域自动化回归与海音达工作台收口建立总执行合同并冻结三波推进范围 | Issue CSV 校验通过 且强阻断 三波推进 工作台命名与外部依赖半自动闭环范围冻结 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-23_09-07-13-r30-enterprise-workbench-zero-manual-release.csv | manual | DONE | DONE | DONE | issues/2026-03-23_09-07-13-r30-enterprise-workbench-zero-manual-release.csv | [] | none |
| 3 | R30-1 | 零人工发布门禁总编排 | 新增统一 release gate 脚本并把静态校验 server 回归 web gate deploy runtime smoke live smoke 串成唯一放行链 | 存在 scripts/qa/run-release-gate.sh 且 deploy trialrun 接入 env contract runtime smoke live smoke 失败即非零并输出阶段结果 | bash scripts/qa/run-release-gate.sh --help && git diff --check | manual | DONE | DONE | DONE | scripts/qa/run-release-gate.sh|deploy/trialrun/deploy.sh|deploy/trialrun/validate-env-contract.js|.github/workflows/ci-release-gate.yml | ["R30-0"] | 以现有 deploy 和 web gates 为基础增量收口 |
| 4 | R30-2 | 测试数据与fixture稳定化 | 固化 smoke 账号 本地全量 seed feature flags 与 Playwright helper fixture 约定以降低本地和 CI 差异 | smoke 账号约定固定 full-local 使用干净库和标准 seed 且高频用例 helper page object 契约明确 | cd client && npm run test:e2e:smoke && bash scripts/qa/run-web-gates.sh full-local | manual | DOING | TODO | TODO | client/tests/e2e/helpers/*|client/tests/e2e/helpers/pageObjects/*|client/tests/e2e/helpers/fixtures/*|scripts/qa/run-web-gates.sh|server/prisma/seed*.js | ["R30-0","R30-1"] | 优先稳定 smoke-admin smoke-employee 与标准测试实体 |
| 5 | R30-3 | flake治理与失败产物收口 | 治理 procurement 等已观测 flaky 用例并统一保留 HTML report screenshot video trace 与 server log 尾部 | PR smoke 与 full-local 不存在已知 release blocker flake 且失败产物可从统一目录定位 | bash scripts/qa/run-web-gates.sh full-local | manual | DONE | DONE | DONE | client/tests/e2e/procurement-flow.spec.ts|client/playwright.config.ts|scripts/qa/collect-failure-artifacts.sh|scripts/qa/run-web-gates.sh | ["R30-1","R30-2"] | 不以长期增加 retry 掩盖问题 |
| 6 | R30-4 | 高优先级业务E2E补齐 | 补齐请假 公告 团队状态 周报待办联动与项目工作台扩展覆盖 | 新增 leave announcements presence weekly todo 等 spec 并纳入 full-local 门禁 | cd client && npm run test:e2e:full | manual | DONE | DONE | DONE | client/tests/e2e/leave-flow.spec.ts|client/tests/e2e/announcements-presence.spec.ts|client/tests/e2e/weekly-todo-flow.spec.ts|client/tests/e2e/project-workbench.spec.ts|client/tests/e2e/main-flow.spec.ts | ["R30-2","R30-3"] | 新增用例需声明写数据与只读边界 |
| 7 | R30-5 | 管理域与低副作用smoke补齐 | 补齐工作区设置 功能开关 系统设置 流程定义 审计日志等管理页只读 smoke 与权限入口检查 | 管理员关键治理页可自动打开且主导航 管理导航 备用模块分组行为有自动化证明 | cd client && npm run test:e2e:full && E2E_MODE=live npm run test:e2e:live | manual | DONE | DONE | DONE | client/tests/e2e/settings-governance.spec.ts|client/tests/e2e/workflow-admin.spec.ts|client/tests/e2e/admin-shell.spec.ts|client/tests/e2e/live-smoke.spec.ts | ["R30-2","R30-3"] | live smoke 仅做只读与低副作用检查 |
| 8 | R30-6 | 外部依赖半自动闭环 | 新增企业微信 SMTP OCR 与桥接能力的配置契约与只读探活脚本并接入部署后 smoke | 存在 external deps smoke 且 deploy runtime live 可输出依赖状态与失败原因 | node server/src/scripts/smoke-external-deps.js && git diff --check | manual | DONE | DONE | DONE | server/src/scripts/smoke-external-deps.js|server/src/scripts/smoke-trialrun-runtime.js|deploy/trialrun/deploy.sh|client/tests/e2e/live-smoke.spec.ts | ["R30-1","R30-2"] | 真实 OAuth 发件 OCR 网络调用不进入主阻断链 |
| 9 | R30-7 | 工作台产品定位与文案统一 | 把员工侧入口 首页 导航 手册与运行文档统一收敛为海音达工作台并弱化 OA ERP 技术心智 | 登录页 Portal Profile 顶栏 文档默认采用海音达工作台 且 ERP 相关文案收敛为外部系统桥接或财务桥接 | cd client && npm run typecheck && npm run build && git diff --check | manual | DONE | DONE | DONE | client/src/pages/LoginPage.tsx|client/src/pages/ProfilePage.tsx|client/src/components/navigation/*|client/src/pages/SystemSettingsPage.tsx|client/src/pages/FeatureFlagsPage.tsx|client/src/pages/ReimbursementDetailPage.tsx|client/src/pages/PurchaseRequestsPage.tsx|deploy/trialrun/checklist.md|deploy/trialrun/runbook.md|docs/admin-handbook.md | ["R30-0"] | 不修改仓库名 域名 容器名 |
| 10 | R30-8 | 剩余详情页工作台化 | 完成报销详情与审批详情等高频详情页的统一概览 执行 留痕 归档骨架并补 data-testid 契约 | ReimbursementDetail 与 WorkflowTaskDetail 形成统一工作台模式 且关键 E2E 与视觉 smoke 可稳定运行 | cd client && npm run typecheck && npm run test:e2e:full | manual | TODO | TODO | TODO | client/src/pages/ReimbursementDetailPage.tsx|client/src/pages/WorkflowTaskDetailPage.tsx|client/src/components/patterns/*|client/tests/e2e/*.spec.ts | ["R29-6","R30-4"] | 先定义 testid 再迁移结构避免打碎自动化 |
| 11 | R30-9 | 观测告警与发布runbook收口 | 统一 QA 报告目录 Job Summary runbook checklist 与失败归因模板并去掉发版后手工点站步骤 | 发布失败可快速定位静态 server regression e2e runtime live external config 任一层且手册仅保留第三方后台人工前置动作 | git diff --check && bash scripts/qa/run-release-gate.sh --help | manual | DONE | DONE | DONE | scripts/qa/*|.github/workflows/*.yml|deploy/trialrun/checklist.md|deploy/trialrun/runbook.md|docs/admin-handbook.md | ["R30-1","R30-3","R30-6","R30-7"] | 保留只针对第三方后台配置的人工前置清单 |
| 12 | R30-10 | 总体验收与试点放行 | 执行连续多轮 full-local runtime smoke live smoke 与文案检查并给出试点放行结论 | PR smoke main full-local live smoke 连续三次稳定且前台已统一为海音达工作台后才标记放行 | bash scripts/qa/run-release-gate.sh && bash scripts/qa/run-web-gates.sh smoke-live | manual | DOING | TODO | TODO | issues/2026-03-23_09-07-13-r30-enterprise-workbench-zero-manual-release.csv|scripts/qa/*|client/tests/e2e/*|deploy/trialrun/* | ["R30-4","R30-5","R30-6","R30-7","R30-8","R30-9"] | 需满足三次连续绿灯后再宣布试点可用 |