From 97befdb45740c54b29e188902181b1ad71fbd2f5 Mon Sep 17 00:00:00 2001 From: shunli Date: Wed, 13 May 2026 18:29:24 +0800 Subject: [PATCH] =?UTF-8?q?ORG8=20WF8=20BIZ8=20=E5=BB=BA=E7=AB=8B=E8=BF=9E?= =?UTF-8?q?=E7=BB=AD=E6=B2=BB=E7=90=86=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/文档事实源状态矩阵.md | 6 +++--- docs/文档索引.md | 6 +++--- ...3_18-23-51-org8-master-data-permission.csv | 19 +++++++++++++++++++ ...-13_18-23-52-wf8-approval-notification.csv | 16 ++++++++++++++++ ...5-13_18-23-53-biz8-finance-ocr-project.csv | 17 +++++++++++++++++ issues/README.md | 6 +++--- 6 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 issues/2026-05-13_18-23-51-org8-master-data-permission.csv create mode 100644 issues/2026-05-13_18-23-52-wf8-approval-notification.csv create mode 100644 issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv diff --git a/docs/文档事实源状态矩阵.md b/docs/文档事实源状态矩阵.md index 13ed051c..58fc31b1 100644 --- a/docs/文档事实源状态矩阵.md +++ b/docs/文档事实源状态矩阵.md @@ -29,9 +29,9 @@ | --- | --- | --- | --- | | `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | `EVIDENCE` | 连续型 Issue 治理、文档台账、流程模板和审计脚本,已收口 | | `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | `CURRENT` | 真实扩大试运行人工确认和执行;R7E-1..7 完成前不得启动真实 R7 | -| `ORG8` | 待新建连续合同 | `DRAFT` | 组织账号和权限主数据治理 | -| `WF8` | 待新建连续合同 | `DRAFT` | 审批与通知增强 | -| `BIZ8` | 待新建连续合同 | `DRAFT` | 报销/OCR/财务/项目轻量增强 | +| `ORG8` | `issues/2026-05-13_18-23-51-org8-master-data-permission.csv` | `CURRENT` | 组织账号和权限主数据治理;代码行执行前仍需方案批准 | +| `WF8` | `issues/2026-05-13_18-23-52-wf8-approval-notification.csv` | `CURRENT` | 审批与通知增强;执行前需确认 ORG8 角色边界和方案 | +| `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | `CURRENT` | 报销/OCR/财务/项目轻量增强;执行前需确认 R7E/P2 排序和方案 | | `QAOPS8` | `issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv` | `CURRENT` | 测试、发布、运维和上线准备;与 R7E 并行贯穿,不替代 R7E 人工确认 | 旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。 diff --git a/docs/文档索引.md b/docs/文档索引.md index 33c8cc4f..37141c96 100644 --- a/docs/文档索引.md +++ b/docs/文档索引.md @@ -35,9 +35,9 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M | --- | --- | --- | --- | --- | | `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | 已收口 | 文档分类、台账、流程模板、审计脚本、需求冻结、变更控制 | 不改业务代码、不部署 | | `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | 当前执行:等待人工确认 | 人工确认、真实试运行、每日问题收口、验收结论 | 不新增 P2 能力 | -| `ORG8` | 待 R7E 或用户确认后新建连续合同 | 规划 | 组织、账号、直属主管、停用、角色、企业微信绑定、权限边界 | 不做审批流程增强 | -| `WF8` | 待 ORG8 或用户确认后新建连续合同 | 规划 | 转审、通知、催办、邮件通道决策、三渠道验收 | 不做复杂 BPM 或审批设计器 | -| `BIZ8` | 待 R7E/P2 排序后新建连续合同 | 规划 | OCR、票据、财务、费用提示、项目关联 | 不做 ERP 实时集成或重预算 | +| `ORG8` | `issues/2026-05-13_18-23-51-org8-master-data-permission.csv` | 已建档:待方案批准 | 组织、账号、直属主管、停用、角色、企业微信绑定、权限边界 | 不做审批流程增强 | +| `WF8` | `issues/2026-05-13_18-23-52-wf8-approval-notification.csv` | 已建档:待 ORG8 角色边界和方案批准 | 转审、通知、催办、邮件通道决策、三渠道验收 | 不做复杂 BPM 或审批设计器 | +| `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | 已建档:待 R7E/P2 排序和方案批准 | OCR、票据、财务、费用提示、项目关联 | 不做 ERP 实时集成或重预算 | | `QAOPS8` | `issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv` | 当前执行:贯穿治理 | 回归稳定、测试覆盖、上线门禁、备份恢复、SLO | 不改业务需求 | 旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。 diff --git a/issues/2026-05-13_18-23-51-org8-master-data-permission.csv b/issues/2026-05-13_18-23-51-org8-master-data-permission.csv new file mode 100644 index 00000000..f3938bc7 --- /dev/null +++ b/issues/2026-05-13_18-23-51-org8-master-data-permission.csv @@ -0,0 +1,19 @@ +ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes +ORG8-0,ORG8 连续合同建档,"建立组织账号与权限主数据连续型合同,把组织、账号、主管、停用、角色、企业微信绑定和权限边界集中到同一 CSV。","1) 本 CSV 校验通过;2) 文档索引和状态矩阵指向本合同;3) 不改业务代码;4) 不绕过 R7E 人工确认;5) 后续组织权限问题优先进入本合同。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_18-23-51-org8-master-data-permission.csv;rg -n 'ORG8|组织账号|权限主数据' docs/文档索引.md docs/文档事实源状态矩阵.md issues/README.md。",python3|rg|manual,DONE,DONE,DONE,issues/2026-05-13_18-23-51-org8-master-data-permission.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md|issues/README.md,[],CSV validator 和索引 rg 均通过;本次仅合同建档和入口登记,未改业务代码,后续实现行仍需方案批准。 +ORG8-1,组织账号需求规约更新,"把员工、主管、财务、管理员、停用和企业微信绑定的当前口径补入现有事实源或确认现有事实源已覆盖。","1) 组织账号主数据口径清楚;2) 不把管理员角色当作业务审批人;3) 企业微信只做身份和入口绑定;4) 冻结项不进入。","流程级验证:rg -n '组织|账号|直属主管|停用|角色|企业微信绑定|管理员' docs/管理员手册.md docs/需求-企业微信基础设施规约.md docs/海音达OA-MVP需求规格说明书.md。",rg|manual,TODO,TODO,TODO,docs/管理员手册.md|docs/需求-企业微信基础设施规约.md|docs/海音达OA-MVP需求规格说明书.md,"[""ORG8-0""]",先做事实源对齐;不足再补文档。 +ORG8-2,角色边界设计,"设计员工、直属主管、审批人、财务和管理员的边界,明确最小权限和不兼容角色组合。","1) 角色能力矩阵清楚;2) 财务与系统管理混授风险可识别;3) admin-only 不进入业务审批;4) 有回滚和审计口径。","流程级验证:人工审查角色矩阵;rg -n '员工|主管|审批人|财务|管理员|角色边界|最小权限' docs/管理员手册.md docs/开发交付与变更管理规约.md。",rg|manual,TODO,TODO,TODO,docs/管理员手册.md|docs/开发交付与变更管理规约.md,"[""ORG8-1""]",涉及权限模型实现前必须单独方案批准。 +ORG8-3,直属主管缺失审计,"建立直属主管缺失的只读审计口径,识别会影响审批链的员工账号。","1) 缺直属主管的员工可列出摘要;2) 不打印隐私和密码;3) 不直接写生产数据;4) 缺口进入修复分流。","流程级验证:在只读环境执行员工和主管关系核验;无环境时记录可复现 SQL 或脚本步骤。",manual|node,TODO,TODO,TODO,scripts/qa|server/prisma,"[""ORG8-2""]",生产核验必须遵守 audit-readonly 边界。 +ORG8-4,主管停用影响审计,"识别直属主管被停用后对请假、报销、采购审批链的影响。","1) 停用主管关联员工可追溯;2) 受影响流程明确;3) 不自动改审批链;4) 有人工处理建议。","流程级验证:只读核验停用主管和下属关系;流程核对员工提交请假或报销时审批链是否可解释。",manual|node,TODO,TODO,TODO,scripts/qa|server/src,"[""ORG8-3""]",不在审计中修数据。 +ORG8-5,审批人停用影响审计,"识别审批人停用后待办、历史记录和新流程分派的影响。","1) 待办不分配给停用审批人;2) 历史审批记录不丢失;3) 新流程有替代规则;4) 异常可追溯。","流程级验证:提交或模拟审批流 -> 停用审批人场景 -> 检查待办归属和历史记录。",manual|node,TODO,TODO,TODO,server/src|scripts/qa,"[""ORG8-4""]",涉及状态机或待办迁移时需 reviewer。 +ORG8-6,admin-only 误用为审批人审计,"审计 admin-only 账号是否被配置为业务审批人或财务处理人。","1) admin-only 不承担业务审批;2) 误配能被发现;3) 不影响管理员系统管理入口;4) 修复路径明确。","流程级验证:只读查询角色和审批链配置;流程核对报销或请假审批人不是 admin-only。",manual|node,TODO,TODO,TODO,scripts/qa|server/src,"[""ORG8-2""]",如发现误配先记录,不直接改生产。 +ORG8-7,财务和管理员混授审计,"审计财务和系统管理员角色混授风险,明确是否允许同人双角色及审计要求。","1) 混授账号可列摘要;2) 财务付款和系统管理权限边界清楚;3) 高风险组合进入人工确认;4) 不泄露敏感字段。","流程级验证:只读核验用户角色集合;流程核对财务台账和系统管理入口权限。",manual|node,TODO,TODO,TODO,scripts/qa|server/src|client/src,"[""ORG8-2""]",真实名单只记录账号标识和角色摘要。 +ORG8-8,新员工账号流程,"定义新员工账号创建、角色分配、直属主管配置和企业微信绑定的操作流程。","1) 新员工从创建到可用路径清楚;2) 必填主数据明确;3) 缺主管或缺绑定有提示;4) 不记录密码明文。","流程级验证:管理员创建员工 -> 分配角色和主管 -> 员工登录或进入企业微信入口 -> 权限正确。",manual|playwright,TODO,TODO,TODO,docs/管理员手册.md|server/src|client/src,"[""ORG8-3"",""ORG8-7""]",若涉及 UI 改动需读产品设计规则并补视觉验证。 +ORG8-9,企业微信绑定流程,"收敛企业微信用户标识、OA 账号和绑定状态的流程和异常处理。","1) 绑定状态可解释;2) 未绑定提示清楚;3) 解绑或变更有审计;4) 企业微信只做入口和身份基础设施。","流程级验证:企业微信入口 -> 身份绑定检查 -> OA 角色入口 -> deeplink 返回目标页面。",manual|playwright,TODO,TODO,TODO,docs/需求-企业微信基础设施规约.md|server/src|client/src,"[""ORG8-8""]",不做企业微信原生审批。 +ORG8-10,账号禁用和离职流程,"定义账号禁用、离职和权限回收流程,保护历史单据和审批记录。","1) 禁用账号不能新登录或处理新任务;2) 历史记录保留;3) 待办有转交或暂停策略;4) 回滚路径清楚。","流程级验证:禁用账号 -> 尝试登录和处理审批 -> 检查历史单据可读但不可越权操作。",manual|node|playwright,TODO,TODO,TODO,server/src|client/src|docs/管理员手册.md,"[""ORG8-5""]",涉及数据变更必须先写方案和回滚路径。 +ORG8-11,角色变更审计日志,"定义角色新增、移除和关键权限变化的审计日志口径。","1) 谁在何时变更了何种角色可追溯;2) 不记录密码或 token;3) 关键变更可用于排障;4) 不影响业务性能。","流程级验证:管理员变更角色 -> 查看审计摘要或日志路径 -> 验证敏感字段未入库或未打印。",manual|node,TODO,TODO,TODO,server/src|docs/开发交付与变更管理规约.md,"[""ORG8-10""]",如需新增表或字段需 Prisma 迁移方案。 +ORG8-12,后端权限护栏,"补强组织账号相关 API 的服务端授权,避免仅靠前端隐藏入口。","1) 普通员工不能访问管理员能力;2) 财务权限和管理员权限分离;3) 直属主管相关 API 校验服务端生效;4) 权限失败可追溯。","流程级验证:使用不同角色请求组织账号和财务相关 API -> 检查 403 或允许范围 -> 复跑权限回归。",node|bash|manual,TODO,TODO,TODO,server/src|server/scripts,"[""ORG8-2"",""ORG8-11""]",高风险权限改动必须 reviewer。 +ORG8-13,前端角色入口调整,"按角色边界调整 PC、移动和企业微信入口,避免显示不可用或越权入口。","1) 员工、审批人、财务、管理员入口符合角色;2) 前端不替代服务端授权;3) 移动视口不重叠;4) 文案不承诺冻结能力。","流程级验证:不同角色登录 PC 和移动入口 -> 检查导航和关键操作 -> 运行 typecheck/build 和必要 Playwright。",playwright|npm|manual,TODO,TODO,TODO,client/src|docs/产品设计规则.md,"[""ORG8-12""]",涉及页面必须参考产品设计规则。 +ORG8-14,权限直连回归,"对组织账号、角色、财务、审批和企业微信入口做直连权限回归。","1) URL 直连不能越权;2) API 直连不能越权;3) 前端入口和服务端结果一致;4) 证据路径可追溯。","流程级验证:按权限直连审计记录复跑不同角色直连 URL/API -> 检查允许和拒绝结果。",bash|node|manual,TODO,TODO,TODO,scripts/qa|docs/trialrun/权限直连审计记录.md,"[""ORG8-12"",""ORG8-13""]",不能用导航隐藏替代授权。 +ORG8-15,组织账号试运行验收,"用代表性角色完成组织账号和权限主数据试运行验收。","1) 至少覆盖员工、审批人、财务、管理员;2) 账号启用、禁用、角色变更和绑定流程有结论;3) 阻断问题归属清楚;4) 不泄露隐私。","流程级验证:管理员配置账号 -> 员工提交业务 -> 审批人处理 -> 财务查看 -> 禁用或角色变更后复核权限。",manual|playwright,TODO,TODO,TODO,docs/trialrun/人工试运行报告.md|issues/2026-05-13_18-23-51-org8-master-data-permission.csv,"[""ORG8-14""]",可与 R7E 后续问题分流联动。 +ORG8-16,ORG8 收口准备,"整理 ORG8 变更摘要、验证证据、未完成项和后续 WF8/BIZ8 影响。","1) DONE 行均有证据;2) 未完成项不伪装完成;3) 影响 WF8 的角色边界清楚;4) 文档入口同步。","流程级验证:人工核对 ORG8 CSV 状态、验证摘要、文档索引和 git diff。",manual|git,TODO,TODO,TODO,issues/2026-05-13_18-23-51-org8-master-data-permission.csv|docs/文档索引.md,"[""ORG8-15""]",对应原规划 ORG8-16。 +ORG8-CLOSE,ORG8 阶段 CLOSE,"阶段性关闭 ORG8,完成状态回填、验证摘要和中文提交。","1) CSV 校验通过;2) git diff --check 通过;3) 所有 DONE 有命令或人工证据;4) 中文提交引用 ORG8;5) 后续风险有归属。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对最终摘要。",python3|git|manual,TODO,TODO,TODO,issues/2026-05-13_18-23-51-org8-master-data-permission.csv,"[""ORG8-16""]",每个连续 CSV 保留 CLOSE 行。 diff --git a/issues/2026-05-13_18-23-52-wf8-approval-notification.csv b/issues/2026-05-13_18-23-52-wf8-approval-notification.csv new file mode 100644 index 00000000..b006763f --- /dev/null +++ b/issues/2026-05-13_18-23-52-wf8-approval-notification.csv @@ -0,0 +1,16 @@ +ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes +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 角色边界和方案批准。 +WF8-1,审批通知需求规约更新,"复核统一审批中心规约,把转审、通知失败、催办、deeplink 和邮件通道决策写清楚或确认已覆盖。","1) 审批和通知边界清楚;2) 不引入复杂 BPM;3) 企业微信审批动作回 OA;4) 邮件是否验收有决策。","流程级验证:rg -n '转审|通知|催办|邮件|deeplink|复杂 BPM|审批设计器' docs/需求-统一审批中心规约.md docs/需求-企业微信基础设施规约.md。",rg|manual,TODO,TODO,TODO,docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md,"[""WF8-0""]",先事实源对齐再实现。 +WF8-2,转审扩展设计,"设计请假、采购和报销的转审扩展规则,明确权限、状态、历史和通知影响。","1) 转审发起人和接收人规则清楚;2) 原审批人和新审批人历史可追溯;3) 不造成重复审批;4) 回滚路径明确。","流程级验证:人工审查状态流;rg -n '转审|delegat|reassign|审批历史|workflow' docs/需求-统一审批中心规约.md server/src。",rg|manual,TODO,TODO,TODO,docs/需求-统一审批中心规约.md|server/src,"[""WF8-1""]",涉及 workflow 状态机必须 reviewer。 +WF8-3,请假转审,"实现或补强请假审批转审,保证请假流程和团队状态一致。","1) 请假待办可合法转审;2) 被转审人可审批;3) 历史记录完整;4) 团队状态不被错误更新。","流程级验证:员工提交请假 -> 审批人转审 -> 新审批人通过或驳回 -> 检查请假状态和审批历史。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不扩展考勤 API。 +WF8-4,采购转审,"实现或补强采购审批转审,保证采购状态、附件和审批历史一致。","1) 采购待办可合法转审;2) 附件和状态不丢失;3) 重复转审有防护;4) 历史可追溯。","流程级验证:员工提交采购 -> 审批人转审 -> 新审批人处理 -> 检查采购状态和历史。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不引入复杂预算和供应商准入。 +WF8-5,报销转审复核,"复核既有报销转审能力,补齐权限、历史或通知缺口。","1) 报销转审符合权限;2) 发票和附件不受影响;3) 财务状态不被非法改变;4) 通知到正确处理人。","流程级验证:员工提交报销 -> 审批人转审 -> 新审批人审批 -> 财务查看台账 -> 检查历史和通知。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""WF8-2""]",不得改变付款状态机。 +WF8-6,通知失败可追溯,"补强企业微信、站内和可选邮件通知失败的追踪口径。","1) 发送失败有摘要和错误类型;2) 不打印 token 或手机号;3) 业务流程不因非关键通知失败误完成;4) 可人工排障。","流程级验证:模拟通知失败 -> 检查通知记录或日志摘要 -> 确认业务状态和错误提示可解释。",node|manual,TODO,TODO,TODO,server/src|scripts/qa|docs/试运行与自动化验证手册.md,"[""WF8-1""]",遵守只读审计和敏感字段脱敏。 +WF8-7,邮件通道决策记录,"决定邮件通道是否进入当前验收,若不进入则冻结并说明替代通知通道。","1) 邮件是否验收有明确结论;2) 不影响企业微信和站内通知验收;3) 冻结原因可追溯;4) 后续解锁条件清楚。","流程级验证:人工核对需求规约和 Issue Notes 中邮件通道决策。",manual,TODO,TODO,TODO,docs/需求-统一审批中心规约.md|issues/2026-05-13_18-23-52-wf8-approval-notification.csv,"[""WF8-1""]",默认不因邮件通道阻塞企业微信个人应用消息验收。 +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""]","三渠道中的邮件可被决策冻结,但必须说明。" +WF8-9,催办和超时提醒回归,"回归既有催办和超时提醒,避免转审或通知增强引入倒退。","1) 催办不改变审批状态;2) 超时提醒不重复刷屏;3) 通知对象正确;4) 历史记录可追溯。","流程级验证:创建待审批任务 -> 触发催办或超时提醒 -> 检查通知和 workflow history。",node|bash|manual,TODO,TODO,TODO,server/src|server/scripts|docs/需求-统一审批中心规约.md,"[""WF8-6""]",AP6 后提醒能力是当前事实。 +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。 +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""]",真机验收不能被自动化替代。 +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。 +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。 +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 行。 diff --git a/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv b/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv new file mode 100644 index 00000000..8f84ee13 --- /dev/null +++ b/issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv @@ -0,0 +1,17 @@ +ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes +BIZ8-0,BIZ8 连续合同建档,"建立报销、OCR、财务和项目轻量增强连续型合同,避免 OCR、票据、财务导出、费用提示和项目关联散落到多个小 CSV。","1) 本 CSV 校验通过;2) 文档索引和状态矩阵指向本合同;3) 不进入 ERP 实时集成或重预算;4) 不改业务代码;5) 真实 OCR 和样票需授权。","流程级验证:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv;rg -n 'BIZ8|OCR|财务|项目' docs/文档索引.md docs/文档事实源状态矩阵.md issues/README.md。",python3|rg|manual,DONE,DONE,DONE,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv|docs/文档索引.md|docs/文档事实源状态矩阵.md|issues/README.md,[],CSV validator 和索引 rg 均通过;本次仅合同建档和入口登记,未改业务代码,真实 OCR 和样票仍需授权。 +BIZ8-1,业务增强需求规约更新,"复核报销、发票、OCR、财务、费用提示和项目轻管理规约,明确 BIZ8 当前做与不做。","1) PDF-only 当前口径清楚;2) 图片 OCR 仅做可行性设计或明确不做;3) ERP 和重预算冻结;4) 财务和项目权限边界清楚。","流程级验证:rg -n 'PDF|图片 OCR|发票|财务|费用|项目|ERP|预算' docs/报销发票附件规则.md docs/需求-报销发票OCR规约.md docs/需求-项目轻管理规约.md docs/海音达OA-MVP需求规格说明书.md。",rg|manual,TODO,TODO,TODO,docs/报销发票附件规则.md|docs/需求-报销发票OCR规约.md|docs/需求-项目轻管理规约.md|docs/海音达OA-MVP需求规格说明书.md,"[""BIZ8-0""]",先事实源对齐再实现。 +BIZ8-2,PDF-only 当前口径复核,"复核当前 OCR 是否仍以 PDF-only 为验收口径,避免把未实现图片 OCR 误报为能力。","1) 当前支持格式清楚;2) 页面提示和后端校验一致;3) 测试样例可复现;4) 不承诺未实现格式。","流程级验证:上传 PDF 和非 PDF 样例 -> 检查校验、提示和 OCR 状态;rg 当前 OCR 文档口径。",manual|node|playwright,TODO,TODO,TODO,docs/需求-报销发票OCR规约.md|server/src|client/src,"[""BIZ8-1""]",如改变格式支持需方案和回滚路径。 +BIZ8-3,图片 OCR 可行性设计,"设计图片 OCR 是否进入当前阶段,评估 provider、成本、准确率、样票授权和回滚路径。","1) provider 和 SDK 选择清楚;2) 样票授权和脱敏规则明确;3) 不影响 PDF OCR;4) 不做 AI 自动处理。","流程级验证:人工审查可行性设计;必要时用脱敏样票在非生产环境验证。",manual,TODO,TODO,TODO,docs/需求-报销发票OCR规约.md|docs/报销发票附件规则.md,"[""BIZ8-2""]",引入新依赖需在 Notes 写用途、版本、替代方案和回滚路径。 +BIZ8-4,样票脱敏和授权规则,"定义真实 OCR 和批量回归所需样票的授权、脱敏、存放和引用规则。","1) 样票来源合法;2) 票据、公司、金额和个人信息按需脱敏;3) 仓库不提交敏感原件;4) 证据只记录路径和摘要。","流程级验证:人工核对样票授权记录和脱敏规则;rg 确认仓库未新增真实票据原件。",manual|rg,TODO,TODO,TODO,docs/报销发票附件规则.md|artifacts|output,"[""BIZ8-3""]",真实票据原件不得入库。 +BIZ8-5,批量样票回归设计,"设计 OCR 批量样票回归,区分 mock、真实 provider、pending OCR 和失败重试。","1) mock 与真实 provider 结论分离;2) pending OCR 不等于失败或通过;3) 阈值和样本数清楚;4) 失败有复核路径。","流程级验证:node scripts/qa/check-pending-ocr.mjs --thresholds=2,5,10;真实样票缺失时记录 SKIP。",node|manual,TODO,TODO,TODO,scripts/qa|docs/需求-报销发票OCR规约.md,"[""BIZ8-4""]",复用 QAOPS8-7 边界。 +BIZ8-6,OCR 异步终态体验,"优化或验证 OCR 异步处理中、成功、失败、pending 和重试的页面体验。","1) 异步状态可解释;2) 用户知道是否需要等待或重试;3) 失败不阻塞无关流程;4) 移动端不重叠。","流程级验证:上传发票 -> 观察 OCR pending/success/failure -> PC 和移动查看报销详情状态。",playwright|node|manual,TODO,TODO,TODO,server/src|client/src|docs/产品设计规则.md,"[""BIZ8-5""]",页面改动需视觉验证。 +BIZ8-7,重复票据例外流程,"设计重复票据发现后的例外处理流程,避免误拦截合法场景或放过风险。","1) 重复提示清楚;2) 人工例外有权限和记录;3) 不绕过财务复核;4) 审计可追溯。","流程级验证:提交重复票据 -> 检查拦截或例外路径 -> 财务复核 -> 查看审计记录。",node|playwright|manual,TODO,TODO,TODO,server/src|client/src|docs/报销发票附件规则.md,"[""BIZ8-2""]",不得自动处理或自动放行。 +BIZ8-8,财务台账扫读性,"提升财务台账的扫读性,优先解决状态、金额、申请人、项目和票据提示的扫描效率。","1) 财务能快速识别待处理项;2) 状态和金额不混乱;3) 权限不泄露;4) PC 和移动布局可用。","流程级验证:财务查看台账 -> 筛选或扫读待付款报销 -> 检查状态、金额、申请人和票据提示。",playwright|npm|manual,TODO,TODO,TODO,client/src|server/src|docs/产品设计规则.md,"[""BIZ8-1""]",UI 改动必须参考设计事实源。 +BIZ8-9,付款和导出增强,"增强或验证财务付款标记和导出路径,保证权限、状态和审计一致。","1) 只有财务可执行付款或导出;2) 状态转换合法;3) 导出不泄露无权限数据;4) 操作可追溯。","流程级验证:财务付款或导出 -> 普通员工和管理员直连复核 -> 检查状态和权限。",node|bash|manual,TODO,TODO,TODO,server/src|client/src|server/scripts,"[""BIZ8-8""]",不得引入 ERP 实时集成。 +BIZ8-10,费用提示轻量规则,"设计轻量费用提示规则,作为填报辅助而非重预算控制。","1) 提示不阻断合法报销;2) 规则来源清楚;3) 不承诺预算控制;4) 用户可理解。","流程级验证:填写不同金额或类型报销 -> 检查费用提示 -> 提交和审批不被误阻断。",manual|playwright,TODO,TODO,TODO,docs/报销发票附件规则.md|client/src|server/src,"[""BIZ8-1""]",预算重型控制冻结。 +BIZ8-11,项目关联增强,"增强报销、采购或合同与项目轻管理的关联,保持轻量不扩展成重型项目管理。","1) 项目选择和展示清楚;2) 无项目时可解释;3) 项目权限不泄露;4) 不扩展复杂 WBS。","流程级验证:创建或选择项目 -> 提交报销/采购 -> 财务或负责人查看关联 -> 检查权限。",node|playwright|manual,TODO,TODO,TODO,docs/需求-项目轻管理规约.md|server/src|client/src,"[""BIZ8-1""]",项目重管理冻结。 +BIZ8-12,移动端业务入口评估,"评估报销、OCR、财务和项目轻量能力在移动端和企业微信入口的可用性。","1) 移动入口不重复;2) 企业微信入口回 OA;3) 财务敏感能力不误暴露;4) 新增入口进入移动矩阵。","流程级验证:员工和财务角色在移动端进入业务入口 -> 检查报销/OCR/项目状态和权限。",playwright|manual,TODO,TODO,TODO,client/src|docs/产品设计规则.md|docs/trialrun/真机公网测试清单.md,"[""BIZ8-8"",""BIZ8-11""]",真机验证不能被自动化替代。 +BIZ8-13,财务和项目权限回归,"回归财务台账、付款导出、项目关联和报销详情的权限边界。","1) 普通员工只能看自己的数据;2) 财务只看授权财务数据;3) 管理员不自动获得财务处理;4) 项目关联不越权。","流程级验证:不同角色直连财务、项目、报销详情和导出 API -> 检查允许和拒绝结果。",bash|node|manual,TODO,TODO,TODO,scripts/qa|server/src|client/src,"[""BIZ8-9"",""BIZ8-11"",""BIZ8-12""]",高风险权限变更必须 reviewer。 +BIZ8-14,BIZ8 收口准备,"整理 BIZ8 验证摘要、OCR 边界、财务和项目权限结论、未完成项。","1) DONE 行均有证据;2) OCR 真实与 mock 结论分离;3) 权限回归通过或有阻断;4) 未完成项不伪装完成。","流程级验证:人工核对 BIZ8 CSV 状态、验证摘要、OCR 证据和权限回归结果。",manual|git,TODO,TODO,TODO,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv|docs/文档索引.md,"[""BIZ8-13""]",对应原规划 BIZ8-14。 +BIZ8-CLOSE,BIZ8 阶段 CLOSE,"阶段性关闭 BIZ8,完成状态回填、验证摘要和中文提交。","1) CSV 校验通过;2) git diff --check 通过;3) 所有 DONE 有命令或人工证据;4) 中文提交引用 BIZ8;5) 后续风险有归属。","流程级验证:validate_issues_csv.py 本 CSV;git diff --check;人工核对最终摘要。",python3|git|manual,TODO,TODO,TODO,issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv,"[""BIZ8-14""]",每个连续 CSV 保留 CLOSE 行。 diff --git a/issues/README.md b/issues/README.md index 5d3d6475..42d6b340 100644 --- a/issues/README.md +++ b/issues/README.md @@ -18,9 +18,9 @@ GOV8 后默认采用“少量长期连续合同 + 多行任务 + 阶段收口” | --- | --- | --- | | `GOV8` | `2026-05-13_16-31-09-gov8-system-governance.csv` | 文档、流程、Issue 管理和审计治理(已收口) | | `R7E` | `2026-05-13_17-11-44-r7e-human-trialrun.csv` | 真实扩大试运行(当前等待人工确认) | -| `ORG8` | 待新建连续 CSV | 组织账号和权限主数据 | -| `WF8` | 待新建连续 CSV | 审批与通知增强 | -| `BIZ8` | 待新建连续 CSV | 报销/OCR/财务/项目轻量增强 | +| `ORG8` | `2026-05-13_18-23-51-org8-master-data-permission.csv` | 组织账号和权限主数据(已建档,待方案批准) | +| `WF8` | `2026-05-13_18-23-52-wf8-approval-notification.csv` | 审批与通知增强(已建档,待 ORG8 和方案批准) | +| `BIZ8` | `2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | 报销/OCR/财务/项目轻量增强(已建档,待 R7E/P2 排序和方案批准) | | `QAOPS8` | `2026-05-13_17-30-00-qaops8-test-release-ops.csv` | 测试、发布、运维和上线准备(当前贯穿治理) | ## 必填列(全部必填)