8.6 KiB
8.6 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | WF8-0 | WF8 连续合同建档 | 建立审批与通知增强连续型合同,把转审、通知、催办、邮件通道决策、三渠道验收和审批历史一致性放入同一 CSV。 | 1) 本 CSV 校验通过;2) 文档索引和状态矩阵指向本合同;3) 不进入复杂 BPM 或审批设计器;4) 不改业务代码;5) 执行前确认 ORG8 角色边界。 | 流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_18-23-52-wf8-approval-notification.csv;rg -n 'WF8|审批|通知' docs/文档索引.md docs/文档事实源状态矩阵.md issues/README.md。 | python3|rg|manual | DONE | DONE | DONE | issues/2026-05-13_18-23-52-wf8-approval-notification.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md|issues/README.md | [] | CSV validator 和索引 rg 均通过;本次仅合同建档和入口登记,未改业务代码,执行前仍需 ORG8 角色边界和方案批准。 |
| 3 | WF8-1 | 审批通知需求规约更新 | 复核统一审批中心规约,把转审、通知失败、催办、deeplink 和邮件通道决策写清楚或确认已覆盖。 | 1) 审批和通知边界清楚;2) 不引入复杂 BPM;3) 企业微信审批动作回 OA;4) 邮件是否验收有决策。 | 流程级验证:rg -n '转审|通知|催办|邮件|deeplink|复杂 BPM|审批设计器' docs/需求-统一审批中心规约.md docs/需求-企业微信基础设施规约.md。 | rg|manual | DONE | DONE | DONE | docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md | ["WF8-0"] | 统一审批中心规约已覆盖转审、通知失败、催办、deeplink、复杂 BPM 和审批设计器冻结;已补 WF8 邮件通道决策;未改 workflow 代码。 |
| 4 | WF8-2 | 转审扩展设计 | 设计请假、采购和报销的转审扩展规则,明确权限、状态、历史和通知影响。 | 1) 转审发起人和接收人规则清楚;2) 原审批人和新审批人历史可追溯;3) 不造成重复审批;4) 回滚路径明确。 | 流程级验证:人工审查状态流;rg -n '转审|delegat|reassign|审批历史|workflow' docs/需求-统一审批中心规约.md server/src。 | rg|manual | DONE | DONE | DONE | docs/需求-统一审批中心规约.md|server/src | ["WF8-1"] | 已将 docs/需求-统一审批中心规约.md 更新到 1.3 并新增 WF8 转审扩展设计,明确发起人、接收人、状态历史、并发重复、请假采购报销副作用和回滚路径;rg Test_Method 通过;node --check src/routes/workflow.js 通过;npm test -- tests/unit/routes/workflow.transfer.test.js 通过 7 tests。 |
| 5 | WF8-3 | 请假转审 | 实现或补强请假审批转审,保证请假流程和团队状态一致。 | 1) 请假待办可合法转审;2) 被转审人可审批;3) 历史记录完整;4) 团队状态不被错误更新。 | 流程级验证:员工提交请假 -> 审批人转审 -> 新审批人通过或驳回 -> 检查请假状态和审批历史。 | node|bash|manual | TODO | TODO | TODO | server/src|client/src|server/scripts | ["WF8-2"] | 不扩展考勤 API。 |
| 6 | WF8-4 | 采购转审 | 实现或补强采购审批转审,保证采购状态、附件和审批历史一致。 | 1) 采购待办可合法转审;2) 附件和状态不丢失;3) 重复转审有防护;4) 历史可追溯。 | 流程级验证:员工提交采购 -> 审批人转审 -> 新审批人处理 -> 检查采购状态和历史。 | node|bash|manual | TODO | TODO | TODO | server/src|client/src|server/scripts | ["WF8-2"] | 不引入复杂预算和供应商准入。 |
| 7 | WF8-5 | 报销转审复核 | 复核既有报销转审能力,补齐权限、历史或通知缺口。 | 1) 报销转审符合权限;2) 发票和附件不受影响;3) 财务状态不被非法改变;4) 通知到正确处理人。 | 流程级验证:员工提交报销 -> 审批人转审 -> 新审批人审批 -> 财务查看台账 -> 检查历史和通知。 | node|bash|manual | TODO | TODO | TODO | server/src|client/src|server/scripts | ["WF8-2"] | 不得改变付款状态机。 |
| 8 | WF8-6 | 通知失败可追溯 | 补强企业微信、站内和可选邮件通知失败的追踪口径。 | 1) 发送失败有摘要和错误类型;2) 不打印 token 或手机号;3) 业务流程不因非关键通知失败误完成;4) 可人工排障。 | 流程级验证:模拟通知失败 -> 检查通知记录或日志摘要 -> 确认业务状态和错误提示可解释。 | node|manual | TODO | TODO | TODO | server/src|scripts/qa|docs/试运行与自动化验证手册.md | ["WF8-1"] | 遵守只读审计和敏感字段脱敏。 |
| 9 | WF8-7 | 邮件通道决策记录 | 决定邮件通道是否进入当前验收,若不进入则冻结并说明替代通知通道。 | 1) 邮件是否验收有明确结论;2) 不影响企业微信和站内通知验收;3) 冻结原因可追溯;4) 后续解锁条件清楚。 | 流程级验证:人工核对需求规约和 Issue Notes 中邮件通道决策。 | manual | DONE | DONE | DONE | docs/需求-统一审批中心规约.md|issues/2026-05-13_18-23-52-wf8-approval-notification.csv | ["WF8-1"] | 邮件通道当前冻结,不作为 WF8 硬门禁;站内通知和企业微信个人应用消息继续验收;解锁条件已写入规约和本 Notes。 |
| 10 | WF8-8 | 三渠道通知验收设计 | 设计站内、企业微信个人应用消息和邮件或冻结替代通道的三渠道验收口径。 | 1) 三渠道或二渠道加冻结说明清楚;2) deeplink 回 OA;3) 缺配置时 SKIP 不等于 PASS;4) 真机和公网边界明确。 | 流程级验证:人工审查通知矩阵;必要时执行 live readiness 和企业微信真机验证。 | manual|bash|playwright | TODO | TODO | TODO | docs/试运行与自动化验证手册.md|docs/需求-企业微信基础设施规约.md | ["WF8-6","WF8-7"] | 三渠道中的邮件可被决策冻结,但必须说明。 |
| 11 | WF8-9 | 催办和超时提醒回归 | 回归既有催办和超时提醒,避免转审或通知增强引入倒退。 | 1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。 | 流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。 | node|bash|manual | TODO | TODO | TODO | server/src|server/scripts|docs/需求-统一审批中心规约.md | ["WF8-6"] | AP6 后提醒能力是当前事实。 |
| 12 | WF8-10 | 审批历史一致性 | 确保转审、催办、通过、驳回和通知事件在审批历史中一致展示。 | 1) 历史顺序清楚;2) 操作人和目标人可解释;3) 不泄露敏感字段;4) PC 和移动展示一致。 | 流程级验证:提交审批 -> 转审 -> 催办 -> 审批处理 -> PC 和移动查看历史。 | playwright|node|manual | TODO | TODO | TODO | server/src|client/src | ["WF8-3","WF8-4","WF8-5","WF8-9"] | 涉及前端需补 typecheck/build。 |
| 13 | WF8-11 | 通知 deeplink 回 OA 验证 | 验证企业微信个人应用消息或站内通知 deeplink 能回到 OA 目标页面。 | 1) deeplink 指向具体业务目标;2) 不只返回通知中心;3) 未登录或未绑定有可解释提示;4) 移动布局正常。 | 流程级验证:触发通知 -> 点击 deeplink -> 企业微信或移动浏览器打开 OA 目标详情 -> 检查权限和页面。 | playwright|manual | TODO | TODO | TODO | client/src|server/src|docs/trialrun/真机公网测试清单.md | ["WF8-8","WF8-10"] | 真机验收不能被自动化替代。 |
| 14 | WF8-12 | workflow reviewer 审查 | 对 WF8 涉及的 workflow 状态、权限和通知副作用做独立 review。 | 1) 非法状态跳转无阻断;2) 权限泄漏无阻断;3) 重复审批和并发风险可控;4) 漏测项有归属。 | 流程级验证:reviewer 人工审查 diff、Issue CSV 和测试证据。 | manual | TODO | TODO | TODO | issues/2026-05-13_18-23-52-wf8-approval-notification.csv|server/src|client/src | ["WF8-10","WF8-11"] | 实现后立即 review。 |
| 15 | WF8-13 | WF8 收口准备 | 整理 WF8 验证摘要、通知矩阵、未完成项和后续业务影响。 | 1) DONE 行均有证据;2) 通知渠道结论清楚;3) 未完成项不伪装完成;4) 文档入口同步。 | 流程级验证:人工核对 WF8 CSV 状态、验证摘要、通知矩阵和 git diff。 | manual|git | TODO | TODO | TODO | issues/2026-05-13_18-23-52-wf8-approval-notification.csv|docs/文档索引.md | ["WF8-12"] | 对应原规划 WF8-13。 |
| 16 | WF8-CLOSE | WF8 阶段 CLOSE | 阶段性关闭 WF8,完成状态回填、验证摘要和中文提交。 | 1) CSV 校验通过;2) git diff --check 通过;3) 所有 DONE 有命令或人工证据;4) 中文提交引用 WF8;5) 后续风险有归属。 | 流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对最终摘要。 | python3|git|manual | TODO | TODO | TODO | issues/2026-05-13_18-23-52-wf8-approval-notification.csv | ["WF8-13"] | 每个连续 CSV 保留 CLOSE 行。 |