WFDG 收口企微优先设计门禁

这个提交包含在:
2026-05-18 12:32:16 +08:00
父节点 14c5e38798
当前提交 d128161a95
共修改 16 个文件,包含 97 行新增和 34 行删除
+1 -1
查看文件
@@ -104,7 +104,7 @@ Final responses should include:
- R6 scope defaults to reimbursement, leave, procurement, approval, Enterprise WeChat entry/notification, finance payment/export. - R6 scope defaults to reimbursement, leave, procurement, approval, Enterprise WeChat entry/notification, finance payment/export.
- Do not expand to budget, ERP, AI, full travel, or complex BPM during R6; record those as follow-up Issues. - Do not expand to budget, ERP, AI, full travel, or complex BPM during R6; record those as follow-up Issues.
- Enterprise WeChat personal app message is the formal approval notification channel after R5; mock and group bots are not acceptance evidence for R6 business notification. - Enterprise WeChat personal app message is the formal approval notification channel after R5; mock and group bots are not acceptance evidence for R6 business notification.
- After DBWFOC, ERP is not a future OA integration target. HR/attendance employee daily approvals (leave, missed punch, outing, overtime) should reuse mature Enterprise WeChat capabilities first, while OA provides domain-based mirror, manual takeover, recovery writeback, finance closeout, and audit. Reimbursement, payment batches, AP, accounting handoff, procurement, expenses, contracts, projects, sensitive attachments, invoices, bank receipts, and accounting handoff materials remain OA-primary unless a later Issue changes that domain explicitly. OA-primary approvals may send Enterprise WeChat personal-app notifications, but messages must contain only dehydrated title/type/no/status/deeplink; do not upload procurement forms, contract bodies, quotes, supplier files, invoices, bank receipts, or accounting materials to WeCom native approvals or WeCom attachments. OA-driven Enterprise WeChat directory create/update/disable is live verified; for later HR/WeCom directory issues, first check configuration, permission, department, and data-specific causes before treating the capability as unfinished. After WCFB, Enterprise WeChat check-in sync uses an authorized custom app Secret: `WECOM_CHECKIN_SECRET` is an explicit override for a dedicated check-in app, and when it is empty OA can reuse the authorized workbench app `WECOM_AGENT_SECRET`. - After WFDG, ERP is not a future OA integration target. HR/attendance employee daily approvals (leave, missed punch, outing, overtime) should reuse mature Enterprise WeChat capabilities first, while OA provides domain-based mirror, manual takeover, recovery writeback, finance closeout, and audit. Reimbursement, payment batches, AP, accounting handoff, procurement, expenses, contracts, projects, sensitive attachments, invoices, bank receipts, and accounting handoff materials remain OA-primary unless a later Issue changes that domain explicitly. OA-primary approvals may send Enterprise WeChat personal-app notifications, but messages must contain only dehydrated title/type/no/status/deeplink; do not upload procurement forms, contract bodies, quotes, supplier files, invoices, bank receipts, or accounting materials to WeCom native approvals or WeCom attachments. Before runtime migration, run `WECOM-CAPABILITY-POC-V1` and classify each capability as `CAN_REUSE_NOW`, `NEEDS_CONFIG`, `NEEDS_API_POC`, `KEEP_OA_PRIMARY`, or `NOT_SUPPORTED_BY_API`; missing Secret, callback, template, trusted IP, visible scope, or API permission must be recorded as `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`, not PASS. UI and API work must distinguish `OA 主办`, `企微镜像`, and `OA 应急接管`. OA-driven Enterprise WeChat directory create/update/disable is live verified; for later HR/WeCom directory issues, first check configuration, permission, department, and data-specific causes before treating the capability as unfinished. After WCFB, Enterprise WeChat check-in sync uses an authorized custom app Secret: `WECOM_CHECKIN_SECRET` is an explicit override for a dedicated check-in app, and when it is empty OA can reuse the authorized workbench app `WECOM_AGENT_SECRET`.
- Approval-chain correctness can be proven by PC or automation, while Enterprise WeChat validates entry, binding,免登录, notification, deeplink, and mobile layout. - Approval-chain correctness can be proven by PC or automation, while Enterprise WeChat validates entry, binding,免登录, notification, deeplink, and mobile layout.
- If real-device mobile validation is paused after automation passes, record the gate as `PAUSED`; do not close RS6/UI6/R6 mobile blockers until representative real-device confirmation is recorded. - If real-device mobile validation is paused after automation passes, record the gate as `PAUSED`; do not close RS6/UI6/R6 mobile blockers until representative real-device confirmation is recorded.
- Role-specific pages should use one shared OA/mobile framework and tailor summaries, entries, actions, and sensitive fields by role. Do not create unrelated UI systems for employee, approver, finance, admin, or CEO views. - Role-specific pages should use one shared OA/mobile framework and tailor summaries, entries, actions, and sensitive fields by role. Do not create unrelated UI systems for employee, approver, finance, admin, or CEO views.
+2
查看文件
@@ -42,6 +42,7 @@ DCL7 已删除本文件中 R70-R91 的长流水历史,避免旧环境、旧开
- 2026-05-17 WCFB 已完成企微打卡同步 Secret 兼容修正的本地验证:用户确认「工作台」就是 OA 企业微信入口应用,且该应用已在企业微信打卡 API「可调用接口的应用」中授权。OA 后端调整为 `WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret;本地语法检查、focused 单测、文档和项目 skill 校验通过。该修正尚未部署到公网,部署后需复检企微打卡同步。 - 2026-05-17 WCFB 已完成企微打卡同步 Secret 兼容修正的本地验证:用户确认「工作台」就是 OA 企业微信入口应用,且该应用已在企业微信打卡 API「可调用接口的应用」中授权。OA 后端调整为 `WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret;本地语法检查、focused 单测、文档和项目 skill 校验通过。该修正尚未部署到公网,部署后需复检企微打卡同步。
- 2026-05-18 WFOC 已完成“企微优先 + OA 无痛接管”需求重构:用户确认能用企业微信成熟能力就优先使用企业微信,第一批聚焦 HR/考勤员工日常审批;OA 目标调整为镜像、人工接管、恢复回写、RuleOps、财务闭环和审计中台。员工主数据后续以企微/人事助手为主,OA 同步镜像;企微故障时由管理员人工开启 OA 应急模式;企微恢复后 OA 对应急数据 dry-run 并自动回写。本轮只更新需求事实源、手册、索引和 Issue CSV,不改业务代码、不部署、不改公网配置;后续实现需另拆 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。DBWFOC 后该口径进一步收窄为按域镜像和 OA 主办数据边界。 - 2026-05-18 WFOC 已完成“企微优先 + OA 无痛接管”需求重构:用户确认能用企业微信成熟能力就优先使用企业微信,第一批聚焦 HR/考勤员工日常审批;OA 目标调整为镜像、人工接管、恢复回写、RuleOps、财务闭环和审计中台。员工主数据后续以企微/人事助手为主,OA 同步镜像;企微故障时由管理员人工开启 OA 应急模式;企微恢复后 OA 对应急数据 dry-run 并自动回写。本轮只更新需求事实源、手册、索引和 Issue CSV,不改业务代码、不部署、不改公网配置;后续实现需另拆 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。DBWFOC 后该口径进一步收窄为按域镜像和 OA 主办数据边界。
- 2026-05-18 DBWFOC 已完成“企微能力参考 + OA 主办数据边界”修正:HR/考勤员工日常审批优先复用企业微信;采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办。企业微信成熟功能可作为流程、字段、交互和规则参考,但不默认托管 OA 主办业务数据;企业微信消息只承载脱敏标题、业务类型、编号、状态和 OA deeplink。采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。本轮只更新需求事实源、手册、索引、项目 skill 和 Issue CSV,不改业务代码、不部署、不改公网配置。 - 2026-05-18 DBWFOC 已完成“企微能力参考 + OA 主办数据边界”修正:HR/考勤员工日常审批优先复用企业微信;采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办。企业微信成熟功能可作为流程、字段、交互和规则参考,但不默认托管 OA 主办业务数据;企业微信消息只承载脱敏标题、业务类型、编号、状态和 OA deeplink。采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。本轮只更新需求事实源、手册、索引、项目 skill 和 Issue CSV,不改业务代码、不部署、不改公网配置。
- 2026-05-18 WFDG 已完成“企微优先 + OA 主办数据边界”的设计规约门禁:后续开发前必须先判定业务域主办方、主事实源、操作端、镜像方向、附件归属和审计责任;PC/移动页面需区分 `OA 主办`、`企微镜像` 和 `OA 应急接管`;企微同步必须具备幂等、重试、脱敏日志、审计记录和 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`。下一轮先做 `WECOM-CAPABILITY-POC-V1`,输出 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API` 能力矩阵;本轮不改业务代码、不部署、不调用生产写接口。
## 关键证据索引 ## 关键证据索引
@@ -126,6 +127,7 @@ DCL7 已删除本文件中 R70-R91 的长流水历史,避免旧环境、旧开
| WCFB 企微打卡 Secret 复用 | 本地通过,待部署复检 | Issue `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv`;`WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`;本地 `node --check`、`attendance.test.js`、Issue CSV 校验、文档审计和 skill 校验通过。 | | WCFB 企微打卡 Secret 复用 | 本地通过,待部署复检 | Issue `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv`;`WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`;本地 `node --check`、`attendance.test.js`、Issue CSV 校验、文档审计和 skill 校验通过。 |
| WFOC 企微优先 + OA 无痛接管需求重构 | 通过,无运行时变更 | Issue `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv`;PRD、企业微信基础设施规约、统一审批规约、请假考勤规约、管理员手册、员工快速上手、文档索引和事实源矩阵已回写。结论只代表需求方向冻结,不代表企微审批镜像、OA 接管或恢复回写已实现。 | | WFOC 企微优先 + OA 无痛接管需求重构 | 通过,无运行时变更 | Issue `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv`;PRD、企业微信基础设施规约、统一审批规约、请假考勤规约、管理员手册、员工快速上手、文档索引和事实源矩阵已回写。结论只代表需求方向冻结,不代表企微审批镜像、OA 接管或恢复回写已实现。 |
| DBWFOC 企微能力参考 + OA 主办数据边界 | 通过,无运行时变更 | Issue `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv`;PRD、产品口径、企微基础设施规约、统一审批规约、请假考勤规约、采购/合同/报销/项目规约、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill 已回写。结论固定:HR/考勤员工日常审批企微优先,OA 主办高敏业务不进企微原生审批或企微附件。 | | DBWFOC 企微能力参考 + OA 主办数据边界 | 通过,无运行时变更 | Issue `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv`;PRD、产品口径、企微基础设施规约、统一审批规约、请假考勤规约、采购/合同/报销/项目规约、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill 已回写。结论固定:HR/考勤员工日常审批企微优先,OA 主办高敏业务不进企微原生审批或企微附件。 |
| WFDG 企微优先设计门禁 | 通过,无运行时变更 | Issue `issues/2026-05-18_12-21-01-wecom-first-design-gate.csv`;产品口径、PRD、产品设计规则、企业微信基础设施规约、统一审批规约、请假考勤规约、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill 已回写。结论 `DONE_DESIGN_READY`,下一步进入 `WECOM-CAPABILITY-POC-V1`;不代表企微 HR/考勤镜像、OA 应急接管、恢复回写或 RuleOps 已实现。 |
## R7EP / OPS8 / QAF8 / UX8 / P2T 预检推进 ## R7EP / OPS8 / QAF8 / UX8 / P2T 预检推进
+1 -1
查看文件
@@ -16,7 +16,7 @@
- 当前状态:本地门禁已闭环;R4 部署预检、D3 受控同步、D4 只读复检、R5 公网 live smoke、真实 PDF OCR、PC/自动化审批链、企业微信真机入口、个人应用消息和 deeplink 均已完成。 - 当前状态:本地门禁已闭环;R4 部署预检、D3 受控同步、D4 只读复检、R5 公网 live smoke、真实 PDF OCR、PC/自动化审批链、企业微信真机入口、个人应用消息和 deeplink 均已完成。
- 当前最大缺口:MIF7-7 已收口;若要启动 R7,必须另建 R7E 执行合同,固定试运行名单、时间窗口、回滚联系人和问题登记规则后再开始。 - 当前最大缺口:MIF7-7 已收口;若要启动 R7,必须另建 R7E 执行合同,固定试运行名单、时间窗口、回滚联系人和问题登记规则后再开始。
本清单中的 A1-A8/R5/R6/R7E 证据保留当时路线:OA 是首轮主业务系统和正式审批中心,企业微信只做入口、身份、通知、deeplink 和打卡原始采集边界。当前最新产品口径已由 WFOC/DBWFOC 覆盖:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、采购、合同、项目、付款批次、AP、代账交接和高敏附件仍由 OA 主办。 本清单中的 A1-A8/R5/R6/R7E 证据保留当时路线:OA 是首轮主业务系统和正式审批中心,企业微信只做入口、身份、通知、deeplink 和打卡原始采集边界。当前最新产品口径已由 WFOC/DBWFOC/WFDG 覆盖:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、采购、合同、项目、付款批次、AP、代账交接和高敏附件仍由 OA 主办。后续正式迁移前先做 `WECOM-CAPABILITY-POC-V1`,不直接大规模开发。
## 2. 已完成证据 ## 2. 已完成证据
+7 -1
查看文件
@@ -20,13 +20,19 @@
- 企业微信打卡用于原始采集,保留其定位、人脸、Wi-Fi、规则与设备能力。 - 企业微信打卡用于原始采集,保留其定位、人脸、Wi-Fi、规则与设备能力。
- OA 后续同步企业微信打卡规则、排班、记录、日报、月报和 HR/考勤审批镜像,形成正式考勤口径。 - OA 后续同步企业微信打卡规则、排班、记录、日报、月报和 HR/考勤审批镜像,形成正式考勤口径。
- 请假、补卡、外出、加班等考勤修正正常在企业微信完成;OA 只在应急模式下接管,并在企微恢复后 dry-run 和自动回写。 - 请假、补卡、外出、加班等考勤修正正常在企业微信完成;OA 只在应急模式下接管,并在企微恢复后 dry-run 和自动回写。
- 后续实现必须另建 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1` 或 `wecom_ruleops_v1` 合同。 - 后续实现必须另建 `wecom_hr_master_sync_v1`、`wecom_attendance_approval_mirror_v1`(承接旧口径 `wecom_native_approval_mirror_v1`)、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1` 或 `wecom_ruleops_v1` 合同。
### P0-3 按域镜像定义 ### P0-3 按域镜像定义
- 企微主办域镜像到 OA:通讯录/人事助手、打卡、请假、补卡、外出、加班、假期余额和 HR/考勤规则。 - 企微主办域镜像到 OA:通讯录/人事助手、打卡、请假、补卡、外出、加班、假期余额和 HR/考勤规则。
- OA 主办域不反向全量镜像到企微:报销、采购、费用、合同、项目、付款批次、AP、代账交接和审计只发送脱敏消息、状态和 OA 链接。 - OA 主办域不反向全量镜像到企微:报销、采购、费用、合同、项目、付款批次、AP、代账交接和审计只发送脱敏消息、状态和 OA 链接。
- “无痛接管”长期目标只针对必要业务连续性,不承诺把所有 OA 高敏附件和财务资料复制到企业微信。 - “无痛接管”长期目标只针对必要业务连续性,不承诺把所有 OA 高敏附件和财务资料复制到企业微信。
### P0-4 WFDG 设计门禁
- WFDG 后,后续企微/OA 改造必须先按业务域判定主办方、主事实源、操作端、镜像方向、附件归属和审计责任,再拆实现合同。
- PC 和移动页面需要区分三种状态:`OA 主办`、`企微镜像`、`OA 应急接管`;不得把企微镜像页面误做成员工日常新建入口。
- 企业微信同步、镜像和回写必须具备幂等、重试、脱敏日志、审计记录和 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` 状态;缺 Secret、权限、模板或可信 IP 时不得伪造成成功。
- 下一轮先做 `WECOM-CAPABILITY-POC-V1`,输出 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API` 能力矩阵,再进入正式开发。
--- ---
## 请假模块 ## 请假模块
+10
查看文件
@@ -41,6 +41,16 @@ DG8 之后,hyb-oa 的唯一主 UI/布局参考是飞书工作台/飞书审批
- 详情页是业务事实源,PC 按摘要、关键字段、附件/发票、审批流和日志分区;移动深层 Push 页隐藏底部 Tab,使用顶部返回、状态和吸底操作。 - 详情页是业务事实源,PC 按摘要、关键字段、附件/发票、审批流和日志分区;移动深层 Push 页隐藏底部 Tab,使用顶部返回、状态和吸底操作。
- 竞品资料只用于抽象原则;不得复制飞书、钉钉、企业微信、泛微、每刻、合思、WeUI 或 Ant Design 的页面文案、视觉细节和专有交互。 - 竞品资料只用于抽象原则;不得复制飞书、钉钉、企业微信、泛微、每刻、合思、WeUI 或 Ant Design 的页面文案、视觉细节和专有交互。
### WFDG 企微/OA 主办界面边界
WFDG 后,涉及企业微信和 OA 双端的页面必须先判断业务主办方,再套用页面样板:
- `OA 主办`:报销、采购、费用、合同、项目、付款、AP、代账和高敏附件仍在 OA 内提交、审批、查看和导出;企业微信只发送脱敏消息和 OA deeplink。
- `企微镜像`:HR/考勤员工日常审批、打卡、人事助手和假期余额由企业微信主办;OA 页面只展示同步镜像、规则快照、审计状态和失败重试,不作为企微正常可用时的日常新建入口。
- `OA 应急接管`:仅管理员人工开启 `oa_hr_emergency_mode_v1` 后,OA 才临时开放请假、补卡、外出、加班提交和审批;页面必须显式展示应急原因、范围、预计结束时间和 `EMERGENCY` 标记。
- 移动工作台可展示企微镜像状态和 OA 应急入口状态,但不得把采购、合同、财务附件上传到企业微信原生审批或企业微信附件。
- 企业微信消息卡片只承载标题、类型、编号、状态和入口;点击后通过免登录或账号绑定进入 OA 目标页,附件查看和审批动作仍按 OA 服务端权限执行。
## DG9 页面分层与样板 ## DG9 页面分层与样板
DG9 之后,页面整改以“共享样板先行、核心流程优先、低频配置后置”为执行口径。DG9 只承接 UI/布局统一,不替代 WF8 审批通知验收、不替代 UX8 真实反馈池、不替代 BIZ8 财务/OCR/项目业务验收,也不代表已启动部署。 DG9 之后,页面整改以“共享样板先行、核心流程优先、低频配置后置”为执行口径。DG9 只承接 UI/布局统一,不替代 WF8 审批通知验收、不替代 UX8 真实反馈池、不替代 BIZ8 财务/OCR/项目业务验收,也不代表已启动部署。
+2 -1
查看文件
@@ -1,6 +1,6 @@
# hyb-oa 员工快速上手(10 人以下团队版) # hyb-oa 员工快速上手(10 人以下团队版)
**当前状态(2026-05-18 / DBWFOC)**:公网正式地址为 `https://oa.hyinda.com`。系统开发完成门禁结论为 `GO_TO_USE`。WFOC 已冻结新的产品方向,DBWFOC 已修正数据边界:能用企业微信成熟能力的 HR/考勤员工日常审批优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、报销和财务资料仍由 OA 主办。本轮只是需求口径调整,不代表页面入口已全部迁移完成。 **当前状态(2026-05-18 / WFDG)**:公网正式地址为 `https://oa.hyinda.com`。系统开发完成门禁结论为 `GO_TO_USE`。WFOC 已冻结新的产品方向,DBWFOC 已修正数据边界,WFDG 已固定后续设计门禁:能用企业微信成熟能力的 HR/考勤员工日常审批优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、报销和财务资料仍由 OA 主办。本轮只是设计规约和 POC 口径调整,不代表页面入口已全部迁移完成。
## 1. 你每周主要会用到什么 ## 1. 你每周主要会用到什么
- `Portal`:看公告、我的待办、我的资产、本周周报入口。 - `Portal`:看公告、我的待办、我的资产、本周周报入口。
@@ -55,6 +55,7 @@
- 有通知先看站内消息,IM 只是补充提醒 - 有通知先看站内消息,IM 只是补充提醒
- 收到 OA 主办审批提醒时,点开后回到 OA 页面处理;收到企业微信 HR/考勤原生审批待办时,在企业微信内处理。 - 收到 OA 主办审批提醒时,点开后回到 OA 页面处理;收到企业微信 HR/考勤原生审批待办时,在企业微信内处理。
- 企业微信消息只会显示脱敏摘要和 OA 链接;采购单附件、合同正文、报价、发票、银行回单和代账资料不要上传到企业微信原生审批或企业微信附件。 - 企业微信消息只会显示脱敏摘要和 OA 链接;采购单附件、合同正文、报价、发票、银行回单和代账资料不要上传到企业微信原生审批或企业微信附件。
- 如果 OA 页面标识为“企微镜像”,表示用于查看同步状态、历史和审计;如果标识为“OA 应急接管”,只有管理员明确通知后才在 OA 提交 HR/考勤应急申请。
- 首周遇到问题时,记录角色、页面、操作步骤和影响,不要在截图或文字里包含密码、完整票面、银行回单或敏感报价。 - 首周遇到问题时,记录角色、页面、操作步骤和影响,不要在截图或文字里包含密码、完整票面、银行回单或敏感报价。
## 9. 从企业微信进入 ## 9. 从企业微信进入
+1 -1
查看文件
@@ -84,7 +84,7 @@
- 每次只做当前 Issue 范围内的事,不顺手重构无关模块。 - 每次只做当前 Issue 范围内的事,不顺手重构无关模块。
- 跨后端和前端的任务,先稳定后端 API / 数据契约,再接前端。 - 跨后端和前端的任务,先稳定后端 API / 数据契约,再接前端。
- 涉及权限、状态机、审批规则、财务状态、Prisma migration 的改动,必须写明回滚策略。 - 涉及权限、状态机、审批规则、财务状态、Prisma migration 的改动,必须写明回滚策略。
- 不在当前 MVP 首批范围内扩展预算、ERP、AI 自动处理、飞书、复杂 BPM 或重型项目管理;企业微信原生审批只按 WFOC/DBWFOC 口径用于 HR/考勤员工日常审批优先复用,不迁移报销、财务、采购、合同、项目或高敏附件等 OA 主办流程。 - 不在当前 MVP 首批范围内扩展预算、ERP、AI 自动处理、飞书、复杂 BPM 或重型项目管理;企业微信原生审批只按 WFOC/DBWFOC/WFDG 口径用于 HR/考勤员工日常审批优先复用,不迁移报销、财务、采购、合同、项目或高敏附件等 OA 主办流程。后续企微/OA 运行时迁移先做 `WECOM-CAPABILITY-POC-V1`,再按单功能 Issue CSV 开发。
- 未经确认不得重置数据库、编辑迁移历史、修改生产配置、暴露真实密钥或处理真实敏感数据。 - 未经确认不得重置数据库、编辑迁移历史、修改生产配置、暴露真实密钥或处理真实敏感数据。
## 3.1 只读审计和排障边界 ## 3.1 只读审计和排障边界
+13 -12
查看文件
@@ -62,7 +62,8 @@
| `HRWD-CONTACT-LIVE-TEST` | `issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv` | `EVIDENCE` | 公网企微通讯录真实写入闭环已收口:`HRWDTEST-20260517214548` 测试员工完成 create/update/disable,企微 `errcode=0`,OA 员工最终 archived/inactive,登录负例、普通员工权限负例和审计动作均通过;报告 `artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json` | | `HRWD-CONTACT-LIVE-TEST` | `issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv` | `EVIDENCE` | 公网企微通讯录真实写入闭环已收口:`HRWDTEST-20260517214548` 测试员工完成 create/update/disable,企微 `errcode=0`,OA 员工最终 archived/inactive,登录负例、普通员工权限负例和审计动作均通过;报告 `artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json` |
| `WCFB` | `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv` | `LOCAL_VERIFIED` | 企微打卡同步 Secret 兼容修正:`WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`;本地语法和 focused 单测通过,待部署后公网复检 | | `WCFB` | `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv` | `LOCAL_VERIFIED` | 企微打卡同步 Secret 兼容修正:`WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`;本地语法和 focused 单测通过,待部署后公网复检 |
| `WFOC` | `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv` | `EVIDENCE` | 企微优先 + OA 无痛接管需求重构已收口;其中“HR/考勤/行政审批企微优先”和“完整镜像”宽口径已由 DBWFOC 收窄为 HR/考勤员工日常审批优先和按域镜像 | | `WFOC` | `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv` | `EVIDENCE` | 企微优先 + OA 无痛接管需求重构已收口;其中“HR/考勤/行政审批企微优先”和“完整镜像”宽口径已由 DBWFOC 收窄为 HR/考勤员工日常审批优先和按域镜像 |
| `DBWFOC` | `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv` | `CURRENT` | 企微能力参考 + OA 主办数据边界修正:HR/考勤员工日常审批企微优先;采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办;企业微信只做成熟能力参考、脱敏消息和 OA deeplink | | `DBWFOC` | `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv` | `EVIDENCE` | 企微能力参考 + OA 主办数据边界修正已收口;HR/考勤员工日常审批企微优先,采购/合同/财务等 OA 主办高敏业务不进入企微原生审批或企微附件 |
| `WFDG` | `issues/2026-05-18_12-21-01-wecom-first-design-gate.csv` | `CURRENT` | 企微优先设计规约门禁:固定主办方与数据边界矩阵、入口交互、隐私附件消息、同步审计失败处理、应急接管、恢复回写、RuleOps 和 `WECOM-CAPABILITY-POC-V1` 验收口径 |
旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。 旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。
@@ -70,23 +71,23 @@
| Doc_ID | Path | Category | Authority | Status | Owner | Related_Issues | Evidence | Supersedes | Last_Audited | Audit_Method | Risk | Notes | | Doc_ID | Path | Category | Authority | Status | Owner | Related_Issues | Evidence | Supersedes | Last_Audited | Audit_Method | Risk | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `IDX` | `docs/文档索引.md` | 入口索引 | 最高文档入口 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC` | `rg` | none | 2026-05-18 | `node scripts/qa/audit-docs.mjs --check-registry` | medium | 判断当前该读什么 | | `IDX` | `docs/文档索引.md` | 入口索引 | 最高文档入口 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG` | `rg` | none | 2026-05-18 | `node scripts/qa/audit-docs.mjs --check-registry` | medium | 判断当前该读什么 |
| `REG` | `docs/文档事实源状态矩阵.md` | 文档台账 | 文档分类和状态事实源 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC` | `audit-docs` | none | 2026-05-18 | `audit-docs --check-registry` | medium | 判断文档权威性 | | `REG` | `docs/文档事实源状态矩阵.md` | 文档台账 | 文档分类和状态事实源 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG` | `audit-docs` | none | 2026-05-18 | `audit-docs --check-registry` | medium | 判断文档权威性 |
| `PRD-MVP` | `docs/海音达OA-MVP需求规格说明书.md` | 需求事实源 | PRD 主事实源 | `CURRENT` | product | `REQ8,P2T,GOV8,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC` | Issue CSV | `docs/requirements-specification.md` | 2026-05-18 | `rg` | high | WFOC/DBWFOC 后定义企微优先、按域镜像、OA 主办数据边界;ERP 未来不接入 OA | | `PRD-MVP` | `docs/海音达OA-MVP需求规格说明书.md` | 需求事实源 | PRD 主事实源 | `CURRENT` | product | `REQ8,P2T,GOV8,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG` | Issue CSV | `docs/requirements-specification.md` | 2026-05-18 | `rg` | high | WFDG 后定义企微优先设计门禁、按域镜像、OA 主办数据边界和 POC 前置;ERP 未来不接入 OA |
| `PRODUCT-SCOPE` | `docs/产品口径.md` | 需求事实源 | 产品边界事实源 | `CURRENT` | product | `REQ8,P2T` | `rg` | none | 2026-05-13 | `rg` | high | 记录已拍板产品边界 | | `PRODUCT-SCOPE` | `docs/产品口径.md` | 需求事实源 | 产品边界事实源 | `CURRENT` | product | `REQ8,P2T,WFDG` | `rg` | none | 2026-05-18 | `rg` | high | 记录已拍板产品边界和企微/OA 设计门禁 |
| `DESIGN-UI` | `docs/产品设计规则.md` | 设计事实源 | PC/移动/企业微信设计事实源 | `CURRENT` | design/frontend | `MIA7,MIF7,GOV8,DG8,DG9` | Playwright/视觉审查/DG8/DG9 | none | 2026-05-13 | `rg` | high | 页面改动必须读取;DG8 后飞书为主 UI/布局参考;DG9 后按页面分层和样板选型 | | `DESIGN-UI` | `docs/产品设计规则.md` | 设计事实源 | PC/移动/企业微信设计事实源 | `CURRENT` | design/frontend | `MIA7,MIF7,GOV8,DG8,DG9,WFDG` | Playwright/视觉审查/DG8/DG9/WFDG | none | 2026-05-18 | `rg` | high | 页面改动必须读取;DG8 后飞书为主 UI/布局参考;DG9 后按页面分层和样板选型;WFDG 后区分 OA 主办、企微镜像和 OA 应急接管 |
| `DELIVERY` | `docs/开发交付与变更管理规约.md` | 开发治理 | 开发交付事实源 | `CURRENT` | dev/qa | `GOV8` | `rg` | none | 2026-05-13 | `rg` | high | Issue、review、commit 和交付规则 | | `DELIVERY` | `docs/开发交付与变更管理规约.md` | 开发治理 | 开发交付事实源 | `CURRENT` | dev/qa | `GOV8` | `rg` | none | 2026-05-13 | `rg` | high | Issue、review、commit 和交付规则 |
| `QA-GATE` | `docs/测试规约与回归门禁.md` | 测试验收 | 测试和回归门禁事实源 | `CURRENT` | qa | `QAF8,GOV8` | 回归脚本/Playwright | none | 2026-05-13 | `rg` | high | 测试计划和 DONE 门禁 | | `QA-GATE` | `docs/测试规约与回归门禁.md` | 测试验收 | 测试和回归门禁事实源 | `CURRENT` | qa | `QAF8,GOV8` | 回归脚本/Playwright | none | 2026-05-13 | `rg` | high | 测试计划和 DONE 门禁 |
| `AGENT-PRACTICE` | `docs/Agent开发交付实践.md` | Agent 治理 | Agent 协作事实源 | `CURRENT` | dev | `GOV8,DG8` | Skill 校验 | none | 2026-05-13 | `rg` | medium | Agent 协作开发实践和设计主参考层级 | | `AGENT-PRACTICE` | `docs/Agent开发交付实践.md` | Agent 治理 | Agent 协作事实源 | `CURRENT` | dev | `GOV8,DG8` | Skill 校验 | none | 2026-05-13 | `rg` | medium | Agent 协作开发实践和设计主参考层级 |
| `AGENTS` | `AGENTS.md` | 执行硬约束 | 项目硬规则 | `CURRENT` | lead | `GOV8` | 人工核对 | none | 2026-05-13 | `rg` | high | 不可违反约束 | | `AGENTS` | `AGENTS.md` | 执行硬约束 | 项目硬规则 | `CURRENT` | lead | `GOV8` | 人工核对 | none | 2026-05-13 | `rg` | high | 不可违反约束 |
| `SKILL-HYB` | `.agents/skills/hyb-oa-delivery/SKILL.md` | Skill | 项目交付 Skill | `CURRENT` | dev | `GOV8,DG8` | quick_validate | none | 2026-05-13 | `quick_validate.py` | medium | 每轮交付操作入口,UI 任务读取设计主参考层级 | | `SKILL-HYB` | `.agents/skills/hyb-oa-delivery/SKILL.md` | Skill | 项目交付 Skill | `CURRENT` | dev | `GOV8,DG8,WFDG` | quick_validate | none | 2026-05-18 | `quick_validate.py` | medium | 每轮交付操作入口,UI 任务读取设计主参考层级;企微/OA 后续先做 POC 再开发 |
| `REQ-WF` | `docs/需求-统一审批中心规约.md` | 需求事实源 | 审批模块规约 | `CURRENT` | product/backend | `AP6,WF8,WFOC,DBWFOC` | workflow 回归 | none | 2026-05-18 | `rg` | high | OA 主办审批和企微主办 HR/考勤员工日常审批镜像边界 | | `REQ-WF` | `docs/需求-统一审批中心规约.md` | 需求事实源 | 审批模块规约 | `CURRENT` | product/backend | `AP6,WF8,WFOC,DBWFOC,WFDG` | workflow 回归 | none | 2026-05-18 | `rg` | high | OA 主办审批、企微镜像和 OA 应急接管边界 |
| `REQ-OCR` | `docs/需求-报销发票OCR规约.md` | 需求事实源 | OCR 模块规约 | `CURRENT` | product/backend | `RI6,OCR8,BIZ8` | OCR 回归 | none | 2026-05-13 | `rg` | high | OCR 和发票边界 | | `REQ-OCR` | `docs/需求-报销发票OCR规约.md` | 需求事实源 | OCR 模块规约 | `CURRENT` | product/backend | `RI6,OCR8,BIZ8` | OCR 回归 | none | 2026-05-13 | `rg` | high | OCR 和发票边界 |
| `RULE-REIMB` | `docs/报销发票附件规则.md` | 需求事实源 | 报销发票附件规则 | `CURRENT` | product/finance | `RI6,BIZ8` | 报销回归 | none | 2026-05-13 | `rg` | high | 报销、发票、附件细则 | | `RULE-REIMB` | `docs/报销发票附件规则.md` | 需求事实源 | 报销发票附件规则 | `CURRENT` | product/finance | `RI6,BIZ8` | 报销回归 | none | 2026-05-13 | `rg` | high | 报销、发票、附件细则 |
| `REQ-WECOM` | `docs/需求-企业微信基础设施规约.md` | 需求事实源 | 企业微信边界规约 | `CURRENT` | product/backend | `R7E,ORG8,WF8,ATTV1,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC` | live smoke/真机反馈/Issue CSV | none | 2026-05-18 | `rg` | high | 企微优先承担 HR/考勤员工日常审批和人事/打卡能力;采购、合同、项目、报销和财务继续 OA 主办 | | `REQ-WECOM` | `docs/需求-企业微信基础设施规约.md` | 需求事实源 | 企业微信边界规约 | `CURRENT` | product/backend | `R7E,ORG8,WF8,ATTV1,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG` | live smoke/真机反馈/Issue CSV | none | 2026-05-18 | `rg` | high | 企微优先承担 HR/考勤员工日常审批和人事/打卡能力;采购、合同、项目、报销和财务继续 OA 主办;WFDG 固定 POC 能力矩阵 |
| `RUNBOOK-TRIAL` | `docs/试运行与自动化验证手册.md` | 操作手册 | 试运行验证手册 | `CURRENT` | qa/ops | `R7E,QAOPS8` | live readiness | none | 2026-05-13 | `rg` | medium | 本地、公网、企业微信和真实 OCR 验证 | | `RUNBOOK-TRIAL` | `docs/试运行与自动化验证手册.md` | 操作手册 | 试运行验证手册 | `CURRENT` | qa/ops | `R7E,QAOPS8` | live readiness | none | 2026-05-13 | `rg` | medium | 本地、公网、企业微信和真实 OCR 验证 |
| `MANUAL-ADMIN` | `docs/管理员手册.md` | 操作手册 | 管理员手册 | `CURRENT` | ops/admin | `ORG8,R7E,WFOC,DBWFOC` | 人工验收 | none | 2026-05-18 | `rg` | medium | 管理员上线、企微优先边界、OA 主办数据边界、OA 应急接管和恢复回写 | | `MANUAL-ADMIN` | `docs/管理员手册.md` | 操作手册 | 管理员手册 | `CURRENT` | ops/admin | `ORG8,R7E,WFOC,DBWFOC,WFDG` | 人工验收 | none | 2026-05-18 | `rg` | medium | 管理员上线、企微优先边界、OA 主办数据边界、OA 应急接管、恢复回写和 POC 前置 |
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC,DBWFOC` | 人工验收 | none | 2026-05-18 | `rg` | low | 员工侧使用说明,HR/考勤优先企业微信,采购/合同/财务仍在 OA | | `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC,DBWFOC,WFDG` | 人工验收 | none | 2026-05-18 | `rg` | low | 员工侧使用说明,HR/考勤优先企业微信,采购/合同/财务仍在 OA;区分企微镜像和 OA 应急接管 |
| `R7-DRAFT` | `docs/trialrun/R7扩大试运行草案.md` | 草案 | R7 准备材料 | `DRAFT` | product/qa | `R7E` | R7EP 报告 | none | 2026-05-13 | `rg` | medium | 不代表当前 R7E 执行状态 | | `R7-DRAFT` | `docs/trialrun/R7扩大试运行草案.md` | 草案 | R7 准备材料 | `DRAFT` | product/qa | `R7E` | R7EP 报告 | none | 2026-05-13 | `rg` | medium | 不代表当前 R7E 执行状态 |
| `OPS-RUNBOOK` | `docs/trialrun/OPS7运维交接Runbook.md` | 运维草案 | OPS 准备材料 | `DRAFT` | ops | `OPS8,QAOPS8` | 只读检查 | none | 2026-05-13 | `rg` | medium | 不代表恢复演练已执行 | | `OPS-RUNBOOK` | `docs/trialrun/OPS7运维交接Runbook.md` | 运维草案 | OPS 准备材料 | `DRAFT` | ops | `OPS8,QAOPS8` | 只读检查 | none | 2026-05-13 | `rg` | medium | 不代表恢复演练已执行 |
| `TRIAL-REPORT` | `docs/trialrun/人工试运行报告.md` | 证据材料 | 试运行证据入口 | `EVIDENCE` | qa | `R7EP,OPS8,QAF8` | artifacts/qa-flow | none | 2026-05-13 | `rg` | medium | 只证明发生过,不直接派工 | | `TRIAL-REPORT` | `docs/trialrun/人工试运行报告.md` | 证据材料 | 试运行证据入口 | `EVIDENCE` | qa | `R7EP,OPS8,QAF8` | artifacts/qa-flow | none | 2026-05-13 | `rg` | medium | 只证明发生过,不直接派工 |
@@ -176,4 +177,4 @@
- `ME6-3` 代表性企业微信真机门禁已关闭。 - `ME6-3` 代表性企业微信真机门禁已关闭。
- MIF7-1..7 与 MIF7T 已完成本地整改、公网部署、公网匿名复检和带凭据 live smoke/OCR 复检。 - MIF7-1..7 与 MIF7T 已完成本地整改、公网部署、公网匿名复检和带凭据 live smoke/OCR 复检。
- R7E 真实扩大试运行阶段验收、P2 排序、R7E 收口、QAOPS8 上线硬化阶段收口、QAOPS9 上线硬化连续合同、PRELAUNCH 正式启用前公网预回归、CASHIER-VOUCHER-V1 财务闭环与银行回单附件、LAUNCH-DEPLOY-FINANCE 部署复检、FIN-PROD-ENABLE 正式常开、ACCOUNTING-HANDOFF-V1 代账交接 SOP、SYSTEM-COMPLETE-GATE 系统完成门禁、LAUNCH-OPS-V1 首周运营保障、REQ-COMPLETE-AUDIT 需求完成度复核、ATTV1 考勤统一入口、AUTO-REMAINING-CLOSEOUT 剩余自动化收口、HRWD-CONTACT-LIVE-TEST 公网企微通讯录真实写入闭环、WFOC 需求重构和 DBWFOC 数据边界修正均已完成,当前 P0/P1 阻断为 0;P2D 已完成决策分流,P2-ORG 只读巡检已完成且无需写修复合同。LAUNCH-AUTO-OPS-V1 发现的公网 `payment_batch_v1=force_off` 漂移已由 AUTOREM 恢复为 `force_on`,正式自动巡检结论为 `GO_TO_OPERATE`;`erp_sync=force_off`,ERP 未来不接入 OA,正式支付接口、图片 OCR 和银行流水导入继续不进入当前路线。DBWFOC 后 HR/考勤员工日常审批优先复用企业微信,OA 目标是按域镜像、人工接管、恢复回写和 RuleOps;采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办。该方向尚未实现运行时迁移,后续必须另拆 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。HRWD 已完成 OA 驱动企业微信通讯录同步,并通过 `HRWDTEST-20260517214548` 真实公网 create/update/disable 验证;测试成员按审计要求保留离职/禁用状态。 - R7E 真实扩大试运行阶段验收、P2 排序、R7E 收口、QAOPS8 上线硬化阶段收口、QAOPS9 上线硬化连续合同、PRELAUNCH 正式启用前公网预回归、CASHIER-VOUCHER-V1 财务闭环与银行回单附件、LAUNCH-DEPLOY-FINANCE 部署复检、FIN-PROD-ENABLE 正式常开、ACCOUNTING-HANDOFF-V1 代账交接 SOP、SYSTEM-COMPLETE-GATE 系统完成门禁、LAUNCH-OPS-V1 首周运营保障、REQ-COMPLETE-AUDIT 需求完成度复核、ATTV1 考勤统一入口、AUTO-REMAINING-CLOSEOUT 剩余自动化收口、HRWD-CONTACT-LIVE-TEST 公网企微通讯录真实写入闭环、WFOC 需求重构、DBWFOC 数据边界修正和 WFDG 设计门禁均已完成,当前 P0/P1 阻断为 0;P2D 已完成决策分流,P2-ORG 只读巡检已完成且无需写修复合同。LAUNCH-AUTO-OPS-V1 发现的公网 `payment_batch_v1=force_off` 漂移已由 AUTOREM 恢复为 `force_on`,正式自动巡检结论为 `GO_TO_OPERATE`;`erp_sync=force_off`,ERP 未来不接入 OA,正式支付接口、图片 OCR 和银行流水导入继续不进入当前路线。WFDG 后 HR/考勤员工日常审批优先复用企业微信,OA 目标是按域镜像、人工接管、恢复回写和 RuleOps;采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办。该方向尚未实现运行时迁移,下一步必须先做 `WECOM-CAPABILITY-POC-V1`,再另拆 `wecom_hr_master_sync_v1`、`wecom_attendance_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。HRWD 已完成 OA 驱动企业微信通讯录同步,并通过 `HRWDTEST-20260517214548` 真实公网 create/update/disable 验证;测试成员按审计要求保留离职/禁用状态。
+3 -1
查看文件
@@ -20,7 +20,7 @@
## 最近事实源链 ## 最近事实源链
R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> MIF7/MIF7T(公网部署与带凭据公网复检已收口) -> DG8 -> DG9 -> R7E -> FBA -> QAOPS9/P2D -> P2-ORG -> P2-FIN-DECISION -> P2-FIN-V1 -> P2-OCR-SAMPLE -> P2Q -> P2AUTO -> P2AF -> P2-FIN-LIVE-DECISION -> P2-FIN-LIVE -> PRELAUNCH -> CASHIER-VOUCHER-V1 -> LAUNCH-DEPLOY-FINANCE -> FIN-PROD-ENABLE -> ACCOUNTING-HANDOFF-V1 -> SYSTEM-COMPLETE-GATE -> LAUNCH-OPS-V1 -> REQ-COMPLETE-AUDIT -> ATTV1 -> LAUNCH-AUTO-OPS-V1 -> AUTO-REMAINING-CLOSEOUT -> HR-WECOM-DIRECTORY-V1 -> HRWD-CONTACT-LIVE-TEST -> WCFB -> WFOC -> DBWFOC。 R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> MIF7/MIF7T(公网部署与带凭据公网复检已收口) -> DG8 -> DG9 -> R7E -> FBA -> QAOPS9/P2D -> P2-ORG -> P2-FIN-DECISION -> P2-FIN-V1 -> P2-OCR-SAMPLE -> P2Q -> P2AUTO -> P2AF -> P2-FIN-LIVE-DECISION -> P2-FIN-LIVE -> PRELAUNCH -> CASHIER-VOUCHER-V1 -> LAUNCH-DEPLOY-FINANCE -> FIN-PROD-ENABLE -> ACCOUNTING-HANDOFF-V1 -> SYSTEM-COMPLETE-GATE -> LAUNCH-OPS-V1 -> REQ-COMPLETE-AUDIT -> ATTV1 -> LAUNCH-AUTO-OPS-V1 -> AUTO-REMAINING-CLOSEOUT -> HR-WECOM-DIRECTORY-V1 -> HRWD-CONTACT-LIVE-TEST -> WCFB -> WFOC -> DBWFOC -> WFDG。
- R6、PC6、PA6、FL6、AP6、RI6、LP6 已完成并部署。 - R6、PC6、PA6、FL6、AP6、RI6、LP6 已完成并部署。
- ME6 自动化、公网视觉矩阵和 `ME6-3` 代表性企业微信真机门禁已完成。 - ME6 自动化、公网视觉矩阵和 `ME6-3` 代表性企业微信真机门禁已完成。
@@ -57,6 +57,7 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
- WCFB 是企微打卡同步 Secret 兼容修正合同:用户确认工作台应用已作为企微入口应用配置且已授权调用打卡 API;OA 后端调整为 `WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret。本地语法和考勤 focused 单测通过;公网需部署后复检企微打卡同步。 - WCFB 是企微打卡同步 Secret 兼容修正合同:用户确认工作台应用已作为企微入口应用配置且已授权调用打卡 API;OA 后端调整为 `WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret。本地语法和考勤 focused 单测通过;公网需部署后复检企微打卡同步。
- WFOC 是企微优先 + OA 无痛接管需求重构合同:用户已确认优先复用企业微信成熟能力,OA 做镜像、人工接管、恢复回写、财务闭环和审计中台;其“HR/考勤/行政审批”和“完整镜像”宽口径已由 DBWFOC 修正为 HR/考勤员工日常审批和按域镜像。本轮只冻结需求和事实源,不改业务代码、不部署、不切换公网配置;后续实现需拆 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。 - WFOC 是企微优先 + OA 无痛接管需求重构合同:用户已确认优先复用企业微信成熟能力,OA 做镜像、人工接管、恢复回写、财务闭环和审计中台;其“HR/考勤/行政审批”和“完整镜像”宽口径已由 DBWFOC 修正为 HR/考勤员工日常审批和按域镜像。本轮只冻结需求和事实源,不改业务代码、不部署、不切换公网配置;后续实现需拆 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。
- DBWFOC 是 WFOC 后的数据边界修正合同:将“企微优先”收窄为 HR/考勤员工日常审批优先,采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办;企业微信成熟功能可作为流程/字段/交互/规则参考,OA 主办审批只向企业微信发送脱敏提醒和 OA deeplink,不上传高敏附件到企微原生审批。 - DBWFOC 是 WFOC 后的数据边界修正合同:将“企微优先”收窄为 HR/考勤员工日常审批优先,采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办;企业微信成熟功能可作为流程/字段/交互/规则参考,OA 主办审批只向企业微信发送脱敏提醒和 OA deeplink,不上传高敏附件到企微原生审批。
- WFDG 是 DBWFOC 后的设计规约门禁合同:固定后续开发前必须先判定主办方、主事实源、操作端、镜像方向、附件归属和审计责任;PC/移动页面需区分 `OA 主办`、`企微镜像` 和 `OA 应急接管`;下一轮进入 `WECOM-CAPABILITY-POC-V1`,输出 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API` 能力矩阵。本轮不改业务代码、不部署、不调用生产写接口。
## 当前活跃治理流 ## 当前活跃治理流
@@ -100,6 +101,7 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
| `WCFB` | `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv` | 本地通过:企微打卡同步 Secret 兼容修正 | `WECOM_CHECKIN_SECRET` 显式优先;未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret;本地语法、focused 单测和文档/skill 校验通过 | 不新增业务 API/schema/UI;不改变企微权限边界;部署后需公网复检打卡同步 | | `WCFB` | `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv` | 本地通过:企微打卡同步 Secret 兼容修正 | `WECOM_CHECKIN_SECRET` 显式优先;未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret;本地语法、focused 单测和文档/skill 校验通过 | 不新增业务 API/schema/UI;不改变企微权限边界;部署后需公网复检打卡同步 |
| `WFOC` | `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv` | 已收口:企微优先 + OA 无痛接管需求重构 | 原宽口径已由 DBWFOC 修正:HR/考勤员工日常审批企微优先,OA 按域镜像、人工接管、恢复回写、RuleOps 和财务主办边界;PRD、模块规约、手册、索引和事实源矩阵已回写 | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置;不代表镜像、接管或回写运行时已完成 | | `WFOC` | `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv` | 已收口:企微优先 + OA 无痛接管需求重构 | 原宽口径已由 DBWFOC 修正:HR/考勤员工日常审批企微优先,OA 按域镜像、人工接管、恢复回写、RuleOps 和财务主办边界;PRD、模块规约、手册、索引和事实源矩阵已回写 | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置;不代表镜像、接管或回写运行时已完成 |
| `DBWFOC` | `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv` | 已收口:企微能力参考 + OA 主办数据边界修正 | HR/考勤员工日常审批企微优先;采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;企业微信只做成熟能力参考、脱敏消息和 OA deeplink | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置;不把 OA 主办域全量镜像到企微 | | `DBWFOC` | `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv` | 已收口:企微能力参考 + OA 主办数据边界修正 | HR/考勤员工日常审批企微优先;采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;企业微信只做成熟能力参考、脱敏消息和 OA deeplink | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置;不把 OA 主办域全量镜像到企微 |
| `WFDG` | `issues/2026-05-18_12-21-01-wecom-first-design-gate.csv` | 当前:企微优先设计规约门禁已收口,结论 `DONE_DESIGN_READY` | 固定主办方/数据边界矩阵、入口与交互规约、隐私附件消息规约、同步审计失败处理、应急接管、恢复回写、RuleOps 和下一轮 POC 验收口径 | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置、不调用生产写接口;不代表运行时迁移已完成 |
旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。 旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。
+1 -1
查看文件
@@ -2,7 +2,7 @@
**文档状态**:当前测试事实源。 **文档状态**:当前测试事实源。
**适用范围**:hyb-oa MVP 首轮开发 A3-A8,以及后续所有非微小改动。 **适用范围**:hyb-oa MVP 首轮开发 A3-A8,以及后续所有非微小改动。
**路线口径**:WFOC/DBWFOC 后,HR/考勤员工日常审批优先复用企业微信成熟能力,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;报销、采购、合同、项目、PDF OCR、付款批次、AP 台账、代账交接和高敏附件继续由 OA 主办;企业微信只做脱敏消息和 OA deeplink;飞书不进入当前路线。 **路线口径**:WFOC/DBWFOC/WFDG 后,HR/考勤员工日常审批优先复用企业微信成熟能力,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;报销、采购、合同、项目、PDF OCR、付款批次、AP 台账、代账交接和高敏附件继续由 OA 主办;企业微信只做脱敏消息和 OA deeplink;飞书不进入当前路线。后续企微/OA 运行时迁移前必须先做 `WECOM-CAPABILITY-POC-V1`,缺配置或权限时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,不得伪造成通过。
本文回答“什么时候测试、测什么、怎么判定通过、怎么记录跳过”。具体业务验收仍以主 PRD、模块规约和最新 Issue CSV 为准。 本文回答“什么时候测试、测什么、怎么判定通过、怎么记录跳过”。具体业务验收仍以主 PRD、模块规约和最新 Issue CSV 为准。
+16 -3
查看文件
@@ -27,7 +27,7 @@
### 1.1 背景 ### 1.1 背景
海音达需要一套适合 10 人以下科技公司的轻量 OA,用来把报销、采购、费用、合同、项目资料、财务闭环、审计和关键行政数据集中到一个可审计、可回归、可持续迭代的系统中。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”;DBWFOC 进一步修正边界:能复用企业微信成熟功能的 HR/考勤员工日常场景优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、财务和高敏附件仍由 OA 主办和存储。 海音达需要一套适合 10 人以下科技公司的轻量 OA,用来把报销、采购、费用、合同、项目资料、财务闭环、审计和关键行政数据集中到一个可审计、可回归、可持续迭代的系统中。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”;DBWFOC 进一步修正边界:能复用企业微信成熟功能的 HR/考勤员工日常场景优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、财务和高敏附件仍由 OA 主办和存储。WFDG 固定后续开发前必须先过设计规约门禁和企微 API 能力 POC,不再直接进入大规模运行时改造。
### 1.2 总目标 ### 1.2 总目标
@@ -56,7 +56,7 @@
| 恢复回写层 | OA + 企业微信 API | 企微恢复后由 `wecom_recovery_writeback_v1` 对应急数据执行 dry-run、自动回写、失败重试和冲突清单。 | | 恢复回写层 | OA + 企业微信 API | 企微恢复后由 `wecom_recovery_writeback_v1` 对应急数据执行 dry-run、自动回写、失败重试和冲突清单。 |
| 财务主办层 | OA | 报销、PDF 发票 OCR、发票查重、付款批次、银行回单、AP 台账、代账交接继续 OA 主办,不迁移到企微。 | | 财务主办层 | OA | 报销、PDF 发票 OCR、发票查重、付款批次、银行回单、AP 台账、代账交接继续 OA 主办,不迁移到企微。 |
无痛切换是长期目标,不代表本轮已实现完整替代。完整镜像按域定义:企微主办域镜像到 OA;OA 主办域不反向全量镜像到企微,只发送脱敏标题、业务类型、业务编号、状态和 OA 链接。后续必须按 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1` 和 `wecom_ruleops_v1` 分阶段拆 Issue CSV。 无痛切换是长期目标,不代表本轮已实现完整替代。完整镜像按域定义:企微主办域镜像到 OA;OA 主办域不反向全量镜像到企微,只发送脱敏标题、业务类型、业务编号、状态和 OA 链接。后续必须按 `wecom_hr_master_sync_v1`、`wecom_attendance_approval_mirror_v1`(承接旧口径 `wecom_native_approval_mirror_v1`)、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1` 和 `wecom_ruleops_v1` 分阶段拆 Issue CSV。
### 1.5 DBWFOC 数据边界修正 ### 1.5 DBWFOC 数据边界修正
@@ -66,6 +66,19 @@
- 采购单附件、合同正文、供应商报价、项目敏感资料、发票原件、银行回单、付款资料和代账资料不上传到企业微信原生审批或企业微信附件。 - 采购单附件、合同正文、供应商报价、项目敏感资料、发票原件、银行回单、付款资料和代账资料不上传到企业微信原生审批或企业微信附件。
- OA 主办审批仍可通过企业微信个人应用消息提醒;消息只包含脱敏摘要和 OA deeplink,点击后通过企业微信免登录或账号绑定回到 OA 目标审批页处理。 - OA 主办审批仍可通过企业微信个人应用消息提醒;消息只包含脱敏摘要和 OA deeplink,点击后通过企业微信免登录或账号绑定回到 OA 目标审批页处理。
### 1.6 WFDG 设计规约门禁
WFDG 将 DBWFOC 后的产品方向固化为开发前设计门禁。本节只代表规约冻结,不代表企微 HR/考勤镜像、OA 应急接管、恢复回写或 RuleOps 已实现运行时迁移。
| 业务域 | 主事实源 / 操作端 | OA 职责 | 企微职责 | 附件和审计边界 |
| --- | --- | --- | --- | --- |
| HR 主数据 | 企业微信通讯录 / 人事助手 | 同步员工镜像、账号、角色、绑定、审计和管理员修复 | 员工、部门、主管、职位、手机号、邮箱和在职状态维护 | 同步失败记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` 或可重试失败,不打印完整手机号、Secret、token 或原始 payload |
| 考勤与 HR 日常审批 | 企业微信打卡 / 原生审批 | 镜像请假、补卡、外出、加班、打卡、规则、假期余额和审计;企微故障时人工接管 | 日常提交、审批、打卡采集、规则和风控 | OA 应急单带 `EMERGENCY`;恢复后先 dry-run,再回写;冲突进入人工确认 |
| 报销、采购、合同、项目、付款、AP、代账 | OA | 主办提交、审批、附件、导出、付款批次、审计和代账资料 | 只发送脱敏消息和 OA deeplink | 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企微原生审批或企微附件 |
| RuleOps | OA + 企业微信 API | AI 草拟、差异报告、dry-run、人工确认、审计和回滚建议 | 接收经确认的审批模板、打卡规则、排班、假期余额或人事字段配置写入 | AI 不得直接改正式规则;每次写入保存前后快照、确认人、API `errcode` 和失败原因 |
下一轮必须先执行 `WECOM-CAPABILITY-POC-V1`,以 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API` 输出人事助手、通讯录、打卡、审批、假期余额、回调和权限配置能力矩阵。POC 默认只读或低风险探测;生产写接口必须单独批准。正式开发顺序为 `wecom_hr_master_sync_v1` -> `wecom_attendance_approval_mirror_v1`(承接旧口径 `wecom_native_approval_mirror_v1`)-> `oa_hr_emergency_mode_v1` -> `wecom_recovery_writeback_v1` -> `wecom_ruleops_v1`。
--- ---
## 2. 软件开发项目流程 ## 2. 软件开发项目流程
@@ -235,7 +248,7 @@ WFOC/DBWFOC 后审批分为两类:OA 主办审批和企微主办审批。OA
- 企业微信打卡用于原始采集和规则执行,保留其定位、人脸、Wi-Fi、排班、设备和防作弊能力。 - 企业微信打卡用于原始采集和规则执行,保留其定位、人脸、Wi-Fi、排班、设备和防作弊能力。
- OA 不重造企业微信打卡规则、定位、人脸识别、排班或防作弊引擎。 - OA 不重造企业微信打卡规则、定位、人脸识别、排班或防作弊引擎。
- 请假、补卡、外出、加班等考勤修正申请优先在企业微信原生审批中提交和处理。 - 请假、补卡、外出、加班等考勤修正申请优先在企业微信原生审批中提交和处理。
- OA 通过 `wecom_native_approval_mirror_v1` 同步企微审批、打卡记录、规则、日报、月报和异常摘要,形成按域镜像和考勤解释。 - OA 通过 `wecom_attendance_approval_mirror_v1` 同步企微审批、打卡记录、规则、日报、月报和异常摘要,形成按域镜像和考勤解释;该命名承接旧口径 `wecom_native_approval_mirror_v1`。
- 企业微信不可用时,管理员可人工开启 `oa_hr_emergency_mode_v1`,临时开放 OA 提交和审批;应急单据带 `EMERGENCY` 标记并进入恢复回写队列。 - 企业微信不可用时,管理员可人工开启 `oa_hr_emergency_mode_v1`,临时开放 OA 提交和审批;应急单据带 `EMERGENCY` 标记并进入恢复回写队列。
### 7.2 用户流程 ### 7.2 用户流程
+10 -3
查看文件
@@ -1,6 +1,6 @@
# hyb-oa 管理员手册(10 人以下团队版) # hyb-oa 管理员手册(10 人以下团队版)
**当前状态(2026-05-18 / DBWFOC)**:R7E、PRELAUNCH、CASHIER-VOUCHER-V1、LAUNCH-DEPLOY-FINANCE、FIN-PROD-ENABLE、ACCOUNTING-HANDOFF-V1、ATTV1、HR-WECOM-DIRECTORY-V1 和 HRWD-CONTACT-LIVE-TEST 均已收口;SYSTEM-COMPLETE-GATE 结论为 `GO_TO_USE`。WFOC 已冻结“企微优先 + OA 无痛接管”需求方向,DBWFOC 已修正数据边界:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办,企业微信只做脱敏提醒和 OA deeplink。本轮只更新需求口径,不代表运行时代码已完成迁移。公网 `payment_batch_v1=force_on`,`erp_sync=force_off`。公司当前无 ERP/独立财务系统,且 ERP 未来不接入 OA;财务闭环以 OA 内审批、台账、付款批次、银行对公付款回单和月度代账交接为准。 **当前状态(2026-05-18 / WFDG)**:R7E、PRELAUNCH、CASHIER-VOUCHER-V1、LAUNCH-DEPLOY-FINANCE、FIN-PROD-ENABLE、ACCOUNTING-HANDOFF-V1、ATTV1、HR-WECOM-DIRECTORY-V1 和 HRWD-CONTACT-LIVE-TEST 均已收口;SYSTEM-COMPLETE-GATE 结论为 `GO_TO_USE`。WFOC 已冻结“企微优先 + OA 无痛接管”需求方向,DBWFOC 已修正数据边界,WFDG 进一步固定设计门禁:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办,企业微信只做脱敏提醒和 OA deeplink。本轮只更新设计规约和 POC 口径,不代表运行时代码已完成迁移。公网 `payment_batch_v1=force_on`,`erp_sync=force_off`。公司当前无 ERP/独立财务系统,且 ERP 未来不接入 OA;财务闭环以 OA 内审批、台账、付款批次、银行对公付款回单和月度代账交接为准。
## 1. 适用范围 ## 1. 适用范围
- 适用于 `small_team_internal` 工作区模式。 - 适用于 `small_team_internal` 工作区模式。
@@ -24,7 +24,7 @@
5. 检查功能开关: 5. 检查功能开关:
- 建议开启:`portal_home_v1`、企业微信入口相关开关、报销/OCR、审批待办、请假、项目基础能力和 `payment_batch_v1`。 - 建议开启:`portal_home_v1`、企业微信入口相关开关、报销/OCR、审批待办、请假、项目基础能力和 `payment_batch_v1`。
- 按需开启:`announcements_v1`、`presence_board_v1`、`weekly_report_v1`、`employee_lifecycle_v1`、`hr_wecom_directory_sync_v1`、`todo_board_v1`、`global_search_v1`。 - 按需开启:`announcements_v1`、`presence_board_v1`、`weekly_report_v1`、`employee_lifecycle_v1`、`hr_wecom_directory_sync_v1`、`todo_board_v1`、`global_search_v1`。
- 后续按独立合同评估:`wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。 - 后续按独立合同评估:`wecom_hr_master_sync_v1`、`wecom_attendance_approval_mirror_v1`(承接旧口径 `wecom_native_approval_mirror_v1`)、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。
- 建议保留备用:`cutover_console_v1`、预算、AI 和完整差旅相关开关;`erp_sync` 保持关闭且不再作为后续接入目标。 - 建议保留备用:`cutover_console_v1`、预算、AI 和完整差旅相关开关;`erp_sync` 保持关闭且不再作为后续接入目标。
### 3.1 ORG8 组织账号与角色边界 ### 3.1 ORG8 组织账号与角色边界
@@ -171,7 +171,7 @@ ORDER BY e.employee_no;
1. HR 先在企业微信通讯录或人事助手维护员工、部门、主管、职位、手机号、邮箱和在职状态。 1. HR 先在企业微信通讯录或人事助手维护员工、部门、主管、职位、手机号、邮箱和在职状态。
2. OA 后续通过 `wecom_hr_master_sync_v1` 同步员工镜像,自动生成或更新 OA 员工档案、账号、角色、企业微信绑定和审计记录。 2. OA 后续通过 `wecom_hr_master_sync_v1` 同步员工镜像,自动生成或更新 OA 员工档案、账号、角色、企业微信绑定和审计记录。
3. 员工请假、补卡、外出、加班优先在企业微信原生审批中提交和处理。 3. 员工请假、补卡、外出、加班优先在企业微信原生审批中提交和处理。
4. OA 后续通过 `wecom_native_approval_mirror_v1` 同步审批详情、审批历史、附件、状态回调、打卡规则、排班、记录、日报、月报和异常摘要。 4. OA 后续通过 `wecom_attendance_approval_mirror_v1` 同步审批详情、审批历史、附件、状态回调、打卡规则、排班、记录、日报、月报和异常摘要;该命名承接旧口径 `wecom_native_approval_mirror_v1`。
5. 报销、PDF OCR、付款批次、银行回单、AP 台账和代账交接仍在 OA 内完成,不迁移到企业微信。 5. 报销、PDF OCR、付款批次、银行回单、AP 台账和代账交接仍在 OA 内完成,不迁移到企业微信。
6. 采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。 6. 采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。
7. OA 主办审批仍可向企业微信个人应用发送脱敏消息;消息点击后通过免登录或账号绑定回到 OA 目标审批页,审批动作仍在 OA 完成。 7. OA 主办审批仍可向企业微信个人应用发送脱敏消息;消息点击后通过免登录或账号绑定回到 OA 目标审批页,审批动作仍在 OA 完成。
@@ -190,6 +190,13 @@ RuleOps:
- 正式写入前必须人工确认;每次写入保存前后快照、确认人、API `errcode`、失败原因、回滚建议和审计记录。 - 正式写入前必须人工确认;每次写入保存前后快照、确认人、API `errcode`、失败原因、回滚建议和审计记录。
- 不得在报告、日志或截图中暴露 Secret、access token、完整位置、人脸数据、身份证号、完整手机号或原始密钥材料。 - 不得在报告、日志或截图中暴露 Secret、access token、完整位置、人脸数据、身份证号、完整手机号或原始密钥材料。
WFDG 后续推进:
1. 下一步先执行 `WECOM-CAPABILITY-POC-V1`,核对人事助手、通讯录、打卡、审批、假期余额、回调和权限配置。
2. POC 输出只使用 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API`,缺配置时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`。
3. 正式开发按 `wecom_hr_master_sync_v1` -> `wecom_attendance_approval_mirror_v1` -> `oa_hr_emergency_mode_v1` -> `wecom_recovery_writeback_v1` -> `wecom_ruleops_v1` 分合同实施。
4. 任何生产写接口、企微规则写入、应急模式开启或恢复回写都必须有单独批准、dry-run 或可审计记录。
### 3.3 正式财务闭环与代账交接 ### 3.3 正式财务闭环与代账交接
公司当前没有 ERP 或独立财务系统,OA 不生成 ERP 实时凭证,也不接真实支付接口。正式财务闭环如下: 公司当前没有 ERP 或独立财务系统,OA 不生成 ERP 实时凭证,也不接真实支付接口。正式财务闭环如下:
+12 -4
查看文件
@@ -32,11 +32,11 @@
| 能力 | 企微能力 | OA 使用程度 | 当前状态 | | 能力 | 企微能力 | OA 使用程度 | 当前状态 |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| 通讯录 | 成员创建、读取、更新、禁用或删除 | 近期已验证 OA 写企微;后续改为企微主源同步 OA,OA 保留修复和审计 | `CAN_REUSE` | | 通讯录 | 成员创建、读取、更新、禁用或删除 | 近期已验证 OA 写企微;后续改为企微主源同步 OA,OA 保留修复和审计 | `CAN_REUSE_NOW` |
| 人事助手 | 员工字段配置、花名册读取、花名册更新 | 作为员工主数据源,驱动 OA 员工、账号、角色、绑定和状态镜像 | `NEEDS_API_POC` | | 人事助手 | 员工字段配置、花名册读取、花名册更新 | 作为员工主数据源,驱动 OA 员工、账号、角色、绑定和状态镜像 | `NEEDS_API_POC` |
| 打卡 | 打卡记录、员工规则、日报、月报、排班、补卡、规则管理 | 企微主办规则和采集,OA 同步按域镜像和应急对账 | `CAN_REUSE` | | 打卡 | 打卡记录、员工规则、日报、月报、排班、补卡、规则管理 | 企微主办规则和采集,OA 同步按域镜像和应急对账 | `CAN_REUSE_NOW` |
| 审批 | 模板详情、提交审批、审批状态回调、审批详情、模板创建/更新、假期余额 | HR/考勤员工日常审批企微主办,OA 同步镜像;OA 主办财务、采购、合同、项目和报销审批不迁移 | `NEEDS_API_POC` | | 审批 | 模板详情、提交审批、审批状态回调、审批详情、模板创建/更新、假期余额 | HR/考勤员工日常审批企微主办,OA 同步镜像;OA 主办财务、采购、合同、项目和报销审批不迁移 | `NEEDS_API_POC` |
| 工作台和消息 | 自建应用入口、应用消息、deeplink | 继续作为 OA 移动入口和通知渠道 | `CAN_REUSE` | | 工作台和消息 | 自建应用入口、应用消息、deeplink | 继续作为 OA 移动入口和通知渠道 | `CAN_REUSE_NOW` |
| 财务/报销 | 企微不提供本项目需要的 PDF OCR、付款批次、银行回单和代账闭环 | OA 主办 | `KEEP_OA_PRIMARY` | | 财务/报销 | 企微不提供本项目需要的 PDF OCR、付款批次、银行回单和代账闭环 | OA 主办 | `KEEP_OA_PRIMARY` |
| 真实支付、ERP、图片 OCR、银行流水导入 | 非本路线目标 | 不进入当前路线 | `NOT_IN_SCOPE` | | 真实支付、ERP、图片 OCR、银行流水导入 | 非本路线目标 | 不进入当前路线 | `NOT_IN_SCOPE` |
@@ -211,6 +211,14 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。 - 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。
- 企业微信消息点击后进入 OA deeplink,完成企业微信免登录或账号绑定后回到目标页;审批动作仍在 OA 完成,服务端权限仍以 OA 为准。 - 企业微信消息点击后进入 OA deeplink,完成企业微信免登录或账号绑定后回到目标页;审批动作仍在 OA 完成,服务端权限仍以 OA 为准。
## 7.7 WFDG 设计门禁与 POC 口径
- 企业微信/OA 后续改造必须先标注业务域主办方、主事实源、操作端、镜像方向、附件归属和审计责任。
- 企业微信同步必须具备幂等、重试、脱敏日志、审计记录和 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` 状态;缺 Secret、可信 IP、应用可见范围、模板或 API 权限时不得写成成功。
- `WECOM-CAPABILITY-POC-V1` 是正式开发前置,能力矩阵状态固定为 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API`。
- `oa_hr_emergency_mode_v1` 只能由管理员人工开启;恢复后由 `wecom_recovery_writeback_v1` 先 dry-run,再对无冲突项回写,冲突、权限不足或 API 不支持进入人工确认。
- `wecom_ruleops_v1` 中 AI 只负责草拟规则、差异报告和 dry-run;正式写入企微审批模板、打卡规则、排班、假期余额或人事字段前必须人工确认,并保存前后快照、确认人、API `errcode`、失败原因和回滚建议。
--- ---
## 8. 验收场景 ## 8. 验收场景
@@ -241,7 +249,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
- A5:企业微信通知 provider 和失败重试,不阻断主业务。 - A5:企业微信通知 provider 和失败重试,不阻断主业务。
- A6:deeplink 白名单和移动目标页回跳。 - A6:deeplink 白名单和移动目标页回跳。
- A7:`wecom_hr_master_sync_v1`,企微/人事助手员工主数据同步 OA。 - A7:`wecom_hr_master_sync_v1`,企微/人事助手员工主数据同步 OA。
- A8:`wecom_native_approval_mirror_v1`,企微请假、补卡、外出、加班审批和打卡数据按域镜像。 - A8:`wecom_attendance_approval_mirror_v1`,企微请假、补卡、外出、加班审批和打卡数据按域镜像;该命名承接旧口径 `wecom_native_approval_mirror_v1`。
- A9:`oa_hr_emergency_mode_v1`,OA 人工接管 HR/考勤应急提交。 - A9:`oa_hr_emergency_mode_v1`,OA 人工接管 HR/考勤应急提交。
- A10:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。 - A10:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。
- A11:`wecom_ruleops_v1`,AI 草拟、人工确认、API 写入和配置快照审计。 - A11:`wecom_ruleops_v1`,AI 草拟、人工确认、API 写入和配置快照审计。
+5 -3
查看文件
@@ -350,9 +350,11 @@ WF8-3、WF8-4、WF8-5 实现前必须基于本设计给技术方案;实现后
- 企业微信消息只发送脱敏提醒:标题、业务编号、状态、处理入口。 - 企业微信消息只发送脱敏提醒:标题、业务编号、状态、处理入口。
- 企业微信 deeplink 必须指向 OA 审批页或业务详情页。 - 企业微信 deeplink 必须指向 OA 审批页或业务详情页。
- 用户点击消息后,在 OA 内查看详情并执行审批动作。 - 用户点击消息后,在 OA 内查看详情并执行审批动作。
- 企业微信原生审批参与 HR/考勤员工日常审批正式流程,OA 通过 `wecom_native_approval_mirror_v1` 同步为可查询、可导出、可审计的镜像记录。报销、财务、采购、合同和项目类 OA 主办审批仍不得在企业微信原生审批中替代完成。 - 企业微信原生审批参与 HR/考勤员工日常审批正式流程,OA 通过 `wecom_attendance_approval_mirror_v1` 同步为可查询、可导出、可审计的镜像记录;该命名承接旧口径 `wecom_native_approval_mirror_v1`。报销、财务、采购、合同和项目类 OA 主办审批仍不得在企业微信原生审批中替代完成。
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单、代账资料和其他高敏附件不进入企业微信原生审批或企业微信附件;企业微信只做提醒、deeplink 和免登录回流。 - 采购单附件、合同正文、报价、供应商资料、发票、银行回单、代账资料和其他高敏附件不进入企业微信原生审批或企业微信附件;企业微信只做提醒、deeplink 和免登录回流。
- 按域镜像是默认规则:企微主办 HR/考勤域镜像到 OA;OA 主办采购、合同、项目、财务和报销域不反向全量镜像到企微。 - 按域镜像是默认规则:企微主办 HR/考勤域镜像到 OA;OA 主办采购、合同、项目、财务和报销域不反向全量镜像到企微。
- WFDG 后,审批相关页面和接口必须区分 `OA 主办`、`企微镜像` 和 `OA 应急接管`;企微镜像不得被误用为 OA 日常新建入口,OA 应急接管单据必须带 `EMERGENCY` 并进入恢复回写队列。
- 后续企微审批同步的 POC 必须输出 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API`,缺模板、回调、Secret 或权限时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`。
- 若企业微信返回 `invaliduser`、`unlicenseduser`、不可见范围或权限类错误,业务提交和审批动作不应回滚,但通知记录必须可审计、可重试,并提示管理员修正企业微信应用可见范围或账号绑定。 - 若企业微信返回 `invaliduser`、`unlicenseduser`、不可见范围或权限类错误,业务提交和审批动作不应回滚,但通知记录必须可审计、可重试,并提示管理员修正企业微信应用可见范围或账号绑定。
- 真机验收以企业微信手机端收到应用消息并可点击回流为准;系统级弹窗是否出现受客户端通知权限影响,不作为 OA 通知链路硬门槛。 - 真机验收以企业微信手机端收到应用消息并可点击回流为准;系统级弹窗是否出现受客户端通知权限影响,不作为 OA 通知链路硬门槛。
@@ -382,7 +384,7 @@ WF8 当前正式验收通道为站内通知和企业微信个人应用消息。
| OA 主办审批通过 | 申请人提交报销、采购或合同事项;审批人在 PC 通过;查看业务详情 | 单据从草稿到审批中再到已通过;历史、当前状态、通知记录一致 | | OA 主办审批通过 | 申请人提交报销、采购或合同事项;审批人在 PC 通过;查看业务详情 | 单据从草稿到审批中再到已通过;历史、当前状态、通知记录一致 |
| 移动端审批 | 申请人提交单据;审批人从 `/mobile/approvals` 打开待办并通过 | 移动端可完成审批;PC 待办同步消失或进入已办 | | 移动端审批 | 申请人提交单据;审批人从 `/mobile/approvals` 打开待办并通过 | 移动端可完成审批;PC 待办同步消失或进入已办 |
| 企业微信通知回 OA | OA 主办待办产生后发送企业微信提醒;审批人点击 deeplink | 打开 OA 对应审批页;审批动作在 OA 完成 | | 企业微信通知回 OA | OA 主办待办产生后发送企业微信提醒;审批人点击 deeplink | 打开 OA 对应审批页;审批动作在 OA 完成 |
| 企微 HR 审批镜像 | 员工在企业微信提交请假、补卡、外出或加班;审批人在企业微信处理 | OA 通过 `wecom_native_approval_mirror_v1` 同步审批详情、历史、附件和状态 | | 企微 HR 审批镜像 | 员工在企业微信提交请假、补卡、外出或加班;审批人在企业微信处理 | OA 通过 `wecom_attendance_approval_mirror_v1` 同步审批详情、历史、附件和状态 |
| OA 应急 HR 审批 | 管理员人工开启 `oa_hr_emergency_mode_v1` 后,员工在 OA 提交 HR/考勤应急单 | 单据带 `EMERGENCY` 标记,进入恢复回写队列 | | OA 应急 HR 审批 | 管理员人工开启 `oa_hr_emergency_mode_v1` 后,员工在 OA 提交 HR/考勤应急单 | 单据带 `EMERGENCY` 标记,进入恢复回写队列 |
| 企业微信个人应用消息 | 触发待办后向绑定企业微信成员发送个人应用消息 | delivery 为成功且无 `invaliduser`;手机端可收到消息并点击回到 OA 移动审批 | | 企业微信个人应用消息 | 触发待办后向绑定企业微信成员发送个人应用消息 | delivery 为成功且无 `invaliduser`;手机端可收到消息并点击回到 OA 移动审批 |
| 驳回重提 | 审批人填写原因驳回;申请人查看原因后复制或重建申请 | 原流程留痕完整;新流程有新的提交记录 | | 驳回重提 | 审批人填写原因驳回;申请人查看原因后复制或重建申请 | 原流程留痕完整;新流程有新的提交记录 |
@@ -409,7 +411,7 @@ WF8 当前正式验收通道为站内通知和企业微信个人应用消息。
- A3:审批权限与当前处理人校验,覆盖越权、自审、停用账号和角色待办。 - A3:审批权限与当前处理人校验,覆盖越权、自审、停用账号和角色待办。
- A4:审批历史、审计日志和通知记录一致性。 - A4:审批历史、审计日志和通知记录一致性。
- A5:企业微信通知 deeplink 回 OA 验证,覆盖 OA 主办审批回 OA 和企微主办 HR/考勤审批镜像。 - A5:企业微信通知 deeplink 回 OA 验证,覆盖 OA 主办审批回 OA 和企微主办 HR/考勤审批镜像。
- A6:报销、采购、合同等 OA 主办业务逐个接入统一审批验收;请假、补卡、外出、加班按 `wecom_native_approval_mirror_v1` 单独接入镜像。 - A6:报销、采购、合同等 OA 主办业务逐个接入统一审批验收;请假、补卡、外出、加班按 `wecom_attendance_approval_mirror_v1` 单独接入镜像。
- A7:审批回归脚本与 Playwright PC/移动/企业微信 UA 验证。 - A7:审批回归脚本与 Playwright PC/移动/企业微信 UA 验证。
- A8:审批规则配置矩阵落地,覆盖金额阈值、天数阈值、兜底审批人、转审和撤回。 - A8:审批规则配置矩阵落地,覆盖金额阈值、天数阈值、兜底审批人、转审和撤回。
- A9:权限与数据范围矩阵落地,覆盖附件下载、导出、例外处理和系统管理员最小授权。 - A9:权限与数据范围矩阵落地,覆盖附件下载、导出、例外处理和系统管理员最小授权。
+3 -2
查看文件
@@ -20,6 +20,7 @@
- OA 保存完整原始归档和规范化镜像,用于团队状态、日历展示、考勤解释、审计和导出。 - OA 保存完整原始归档和规范化镜像,用于团队状态、日历展示、考勤解释、审计和导出。
- 企业微信不可用时,管理员可人工开启 OA 应急模式,临时开放请假、补卡、外出、加班提交和审批。 - 企业微信不可用时,管理员可人工开启 OA 应急模式,临时开放请假、补卡、外出、加班提交和审批。
- 企微恢复后,OA 对应急单据执行 dry-run、自动回写、失败重试和冲突清单。 - 企微恢复后,OA 对应急单据执行 dry-run、自动回写、失败重试和冲突清单。
- WFDG 后,正常页面和接口必须区分企微主办镜像、历史 OA fallback 和 OA 应急接管;缺企微 Secret、审批模板、回调或 API 权限时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,不得伪造成同步成功。
### 1.2 适用对象 ### 1.2 适用对象
@@ -48,7 +49,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,当前运行时完成度
| 请假对团队状态/日历的影响 | `DONE` | 已批准请假可作为团队状态和日历依据。 | | 请假对团队状态/日历的影响 | `DONE` | 已批准请假可作为团队状态和日历依据。 |
| 企业微信打卡作为原始采集 | `DONE` | 由企业微信侧承载定位、人脸、Wi-Fi、设备和防作弊能力;OA 不重造。 | | 企业微信打卡作为原始采集 | `DONE` | 由企业微信侧承载定位、人脸、Wi-Fi、设备和防作弊能力;OA 不重造。 |
| 企业微信打卡 API 同步 | `PARTIAL` | 已新增同步批次和企微打卡摘要表;有已授权调用打卡 API 的自建应用 Secret 和企微权限时同步,缺配置时记录 `SKIP`。`WECOM_CHECKIN_SECRET` 可作为单独考勤同步应用的显式覆盖;未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`。 | | 企业微信打卡 API 同步 | `PARTIAL` | 已新增同步批次和企微打卡摘要表;有已授权调用打卡 API 的自建应用 Secret 和企微权限时同步,缺配置时记录 `SKIP`。`WECOM_CHECKIN_SECRET` 可作为单独考勤同步应用的显式覆盖;未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`。 |
| 企微 HR/考勤审批镜像 | `PLANNED_BY_WFOC` | 后续通过 `wecom_native_approval_mirror_v1` 同步企微请假、补卡、外出、加班审批详情、历史、附件和状态。 | | 企微 HR/考勤审批镜像 | `PLANNED_BY_WFOC` | 后续通过 `wecom_attendance_approval_mirror_v1` 同步企微请假、补卡、外出、加班审批详情、历史、附件和状态;该命名承接旧口径 `wecom_native_approval_mirror_v1`。 |
| 员工补卡申请审批 | `DONE_AS_OA_FALLBACK` | 当前 OA 能提交补卡修正;WFOC 后正常入口迁往企微,OA 仅在应急模式开放并进入恢复回写。 | | 员工补卡申请审批 | `DONE_AS_OA_FALLBACK` | 当前 OA 能提交补卡修正;WFOC 后正常入口迁往企微,OA 仅在应急模式开放并进入恢复回写。 |
| 外出申请审批 | `DONE_AS_OA_FALLBACK` | 当前 OA 能提交外出修正;WFOC 后正常入口迁往企微,OA 仅在应急模式开放并进入恢复回写。 | | 外出申请审批 | `DONE_AS_OA_FALLBACK` | 当前 OA 能提交外出修正;WFOC 后正常入口迁往企微,OA 仅在应急模式开放并进入恢复回写。 |
| 加班申请审批 | `DONE_AS_OA_FALLBACK` | 当前 OA 能提交加班修正;WFOC 后正常入口迁往企微,OA 仅在应急模式开放并进入恢复回写。 | | 加班申请审批 | `DONE_AS_OA_FALLBACK` | 当前 OA 能提交加班修正;WFOC 后正常入口迁往企微,OA 仅在应急模式开放并进入恢复回写。 |
@@ -219,7 +220,7 @@ WFOC 后,正常审批规则优先以企业微信审批模板和打卡/假期
## 10. 后续开发拆分建议 ## 10. 后续开发拆分建议
- 已完成:OA 侧补卡/外出/加班申请对象、统一审批接入、月度考勤解释页、移动入口和企业微信 deeplink 回 OA;WFOC 后这些能力默认作为历史查询和应急接管基础。 - 已完成:OA 侧补卡/外出/加班申请对象、统一审批接入、月度考勤解释页、移动入口和企业微信 deeplink 回 OA;WFOC 后这些能力默认作为历史查询和应急接管基础。
- 后续 A1:`wecom_native_approval_mirror_v1`,同步企微请假、补卡、外出、加班审批、附件、历史和状态回调。 - 后续 A1:`wecom_attendance_approval_mirror_v1`,同步企微请假、补卡、外出、加班审批、附件、历史和状态回调;该命名承接旧口径 `wecom_native_approval_mirror_v1`。正式开发前先执行 `WECOM-CAPABILITY-POC-V1`,输出 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API` 能力矩阵。
- 后续 A2:企微打卡规则、排班、记录、日报、月报按域镜像,覆盖 Secret/API 权限、短窗口同步、错误码和脱敏证据。 - 后续 A2:企微打卡规则、排班、记录、日报、月报按域镜像,覆盖 Secret/API 权限、短窗口同步、错误码和脱敏证据。
- 后续 A3:`oa_hr_emergency_mode_v1`,管理员人工接管、应急提交、应急审批和恢复队列。 - 后续 A3:`oa_hr_emergency_mode_v1`,管理员人工接管、应急提交、应急审批和恢复队列。
- 后续 A4:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。 - 后续 A4:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。
@@ -0,0 +1,10 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
"WFDG-0","合同建档","建立 WECOM-FIRST-DESIGN-GATE 合同,锁定本轮只做企微优先与 OA 主办数据边界的设计规约门禁,不改业务代码、不部署、不改公网配置、不调用生产写接口。","1) CSV 校验通过;2) 明确本轮只更新设计规约、需求事实源、手册、项目 skill 和后续 POC 验收口径;3) 不新增 API/schema/UI/feature flag;4) 不触碰公网配置、生产写接口或真实数据。","受影响流程:需求边界确认 -> 设计规约门禁 -> 后续 POC 合同;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-18_12-21-01-wecom-first-design-gate.csv。","python3|manual","DONE","DONE","DONE","issues/2026-05-18_12-21-01-wecom-first-design-gate.csv","[]","已验证:CSV 校验、文档审计、skill 校验、内容 rg 和 git diff --check 通过;audit-docs 仅保留既有 unregistered docs files warning。结论 DONE_DESIGN_READY;回滚路径:回退本 CSV 和文档/skill 口径回写;不涉及运行时。"
"WFDG-1","主办方与数据边界矩阵","在现有事实源中明确各业务域主事实源、操作端、镜像方向、附件归属和审计责任,固定 HR/考勤企微主办、OA 镜像和接管,报销/采购/合同/项目/付款/AP/代账继续 OA 主办。","1) PRD、产品口径和企业微信规约包含主办方矩阵;2) OA 主办域不反向全量镜像到企微;3) 高敏附件归属 OA 或线下受控归档,不进入企微原生审批或企微附件。","受影响流程:企微 HR/考勤 -> OA 镜像;OA 报销/采购/合同/财务 -> 企微脱敏提醒;验证步骤:rg -n '主办方|主事实源|操作端|镜像方向|附件归属|OA 主办|企微主办|按域镜像' docs。","rg|manual","DONE","DONE","DONE","docs/产品口径.md|docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md","[""WFDG-0""]","已验证:主办方与数据边界矩阵已回写 PRD、产品口径和企业微信规约;本轮只固化设计口径,不代表企微 HR/考勤镜像运行时已完成。"
"WFDG-2","入口与交互规约","更新产品设计规则和相关事实源,要求员工 HR/考勤日常流程优先在企微完成,OA 主办审批通过企业微信脱敏消息 deeplink 回 OA,PC/移动页面必须区分 OA 主办、企微镜像和 OA 应急接管。","1) 产品设计规则写明三类页面/入口状态;2) 员工日常 HR/考勤不在企微正常可用时引导到 OA 新建;3) OA 主办审批的移动/企微入口仍回 OA 处理。","受影响流程:员工进入企业微信工作台 -> HR/考勤企微处理或 OA 镜像查看;审批人收到 OA 主办消息 -> deeplink 回 OA;验证步骤:rg -n 'OA 主办|企微镜像|OA 应急接管|deeplink|HR/考勤日常流程' docs/产品设计规则.md docs。","rg","DONE","DONE","DONE","docs/产品设计规则.md|docs/需求-统一审批中心规约.md|docs/需求-请假考勤修正规约.md","[""WFDG-1""]","已验证:产品设计规则和审批/考勤规约均写入 OA 主办、企微镜像和 OA 应急接管区分;后续页面实现必须另拆 Issue CSV 并跑 PC/移动/企业微信矩阵。"
"WFDG-3","隐私附件和消息规约","固定企业微信消息字段只允许标题、类型、编号、状态和入口;采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企微原生审批或企微附件。","1) 企业微信基础设施规约、审批规约、管理员/员工手册均写明脱敏消息和高敏附件边界;2) 不写任何把高敏附件上传企微的默认流程;3) 不把企业微信消息作为附件查看权限。","受影响流程:OA 主办单据提交 -> 企业微信消息 -> OA deeplink -> OA 权限查看附件;验证步骤:rg -n '脱敏消息|不进入企微|不上传到企业微信|合同正文|报价|银行回单|代账资料' docs。","rg","DONE","DONE","DONE","docs/需求-企业微信基础设施规约.md|docs/需求-统一审批中心规约.md|docs/管理员手册.md|docs/员工快速上手.md","[""WFDG-2""]","已验证:企业微信规约、审批规约和手册均写明脱敏消息及高敏附件边界;默认不接个人微信,文档中的微信按企业微信个人应用消息理解。"
"WFDG-4","同步审计失败处理规约","规定后续企微同步必须具备幂等、重试、脱敏日志、审计记录和 SKIP/BLOCKED_BY_EXTERNAL_CONFIG 状态;缺配置或缺权限不得伪造成成功。","1) 企业微信规约和 PRD 写明同步失败处理;2) 后续 POC 能区分 CAN_REUSE_NOW、NEEDS_CONFIG、NEEDS_API_POC、KEEP_OA_PRIMARY、NOT_SUPPORTED_BY_API;3) 日志不得输出 Secret、token、完整手机号、完整位置或原始 payload。","受影响流程:企微 API 探测/同步 -> OA 镜像或 SKIP -> 管理员重试/配置修复;验证步骤:rg -n '幂等|重试|脱敏日志|BLOCKED_BY_EXTERNAL_CONFIG|CAN_REUSE_NOW|NEEDS_CONFIG|NOT_SUPPORTED_BY_API' docs issues。","rg","DONE","DONE","DONE","docs/需求-企业微信基础设施规约.md|docs/海音达OA-MVP需求规格说明书.md","[""WFDG-3""]","已验证:企业微信规约和 PRD 已写明同步失败处理和 POC 能力矩阵;只定义规约,不新增 QA-only 探测脚本,脚本留到 WECOM-CAPABILITY-POC-V1。"
"WFDG-5","应急接管与恢复回写规约","固定 OA HR/考勤应急模式只能由管理员人工开启;恢复后先 dry-run,再回写企微;冲突、权限不足或 API 不支持进入人工确认。","1) 管理员手册、请假考勤规约和企业微信规约写明人工开启、原因、范围、预计结束时间和责任人;2) 应急单据必须带 EMERGENCY;3) 恢复回写不能静默覆盖企微正式记录。","受影响流程:企微不可用 -> 管理员开启 OA 应急模式 -> 员工应急提交 -> 企微恢复 dry-run -> 回写或冲突人工确认;验证步骤:rg -n '应急接管|EMERGENCY|dry-run|恢复回写|人工确认|静默覆盖' docs。","rg","DONE","DONE","DONE","docs/管理员手册.md|docs/需求-请假考勤修正规约.md|docs/需求-企业微信基础设施规约.md","[""WFDG-4""]","已验证:管理员手册、请假考勤规约和企业微信规约均写明应急接管与恢复回写;不自动触发接管,不在本轮实现运行时开关。"
"WFDG-6","RuleOps 与 AI 边界","固定 AI 只允许草拟规则、生成差异报告和 dry-run;正式写入企微审批模板、打卡规则、排班、假期余额或人事字段前必须人工确认,并保存前后快照和审计。","1) PRD、企业微信规约、审批规约和管理员手册写明 AI 不得直接写正式规则;2) RuleOps 正式写入必须保存前后快照、确认人、API errcode、失败原因和回滚建议;3) 不扩大 AI 自动审批或自动处理范围。","受影响流程:AI 草拟企微规则 -> 管理员确认 -> API 写入 -> 审计/回滚建议;验证步骤:rg -n 'RuleOps|AI.*草拟|dry-run|人工确认|前后快照|errcode|回滚建议' docs。","rg","DONE","DONE","DONE","docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md|docs/需求-统一审批中心规约.md|docs/管理员手册.md","[""WFDG-5""]","已验证:PRD、企业微信规约、审批规约和管理员手册均写明 RuleOps 与 AI 边界;AI 自动处理业务和自动审批继续不进入当前路线。"
"WFDG-7","文档与 skill 回写","更新现有事实源和项目 skill,不新建综合规划文档;回写产品口径、PRD、企微规约、审批规约、请假考勤规约、产品设计规则、管理员手册、员工手册、文档索引、事实源矩阵、人工试运行报告和 hyb-oa-delivery skill。","1) 相关事实源均记录 WFDG 设计门禁;2) skill 明确后续先做 WECOM-CAPABILITY-POC-V1,不直接大开发;3) 文档审计、skill 校验和 git diff --check 通过。","受影响流程:后续 agent/人工读取事实源 -> 拆 POC 合同 -> 实现合同;验证步骤:node scripts/qa/audit-docs.mjs --check-registry;python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check。","node|python3|git|rg","DONE","DONE","DONE","docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-18_12-21-01-wecom-first-design-gate.csv","[""WFDG-6""]","已验证:文档审计 errors=0 warnings=1(既有 unregistered docs files: 24)、skill valid、git diff --check 通过;优先更新现有文档,不新建综合规划文档。"
"WFDG-8","下一轮 POC 合同定义","为 WECOM-CAPABILITY-POC-V1 固定验收口径:能力矩阵覆盖人事助手、通讯录、打卡、审批、假期余额、回调和权限配置,状态包括 CAN_REUSE_NOW、NEEDS_CONFIG、NEEDS_API_POC、KEEP_OA_PRIMARY、NOT_SUPPORTED_BY_API。","1) PRD、企业微信规约、文档索引和事实源矩阵写明下一轮 POC 是正式开发前置;2) POC 默认只读或低风险探测;3) 生产写操作必须单独批准;4) 后续开发顺序明确。","受影响流程:设计门禁 -> API POC -> HR 主数据镜像 -> HR/考勤审批镜像 -> OA 应急接管 -> 恢复回写 -> RuleOps;验证步骤:rg -n 'WECOM-CAPABILITY-POC-V1|CAN_REUSE_NOW|NEEDS_API_POC|KEEP_OA_PRIMARY|wecom_hr_master_sync_v1|wecom_attendance_approval_mirror_v1|oa_hr_emergency_mode_v1|wecom_recovery_writeback_v1|wecom_ruleops_v1' docs issues .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-18_12-21-01-wecom-first-design-gate.csv","[""WFDG-7""]","已验证:PRD、企业微信规约、文档索引、事实源矩阵和 skill 均写明 WECOM-CAPABILITY-POC-V1 与后续开发顺序;WFDG 完成结论为 DONE_DESIGN_READY,不代表任何运行时迁移已完成。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 WFDG-0 合同建档 建立 WECOM-FIRST-DESIGN-GATE 合同,锁定本轮只做企微优先与 OA 主办数据边界的设计规约门禁,不改业务代码、不部署、不改公网配置、不调用生产写接口。 1) CSV 校验通过;2) 明确本轮只更新设计规约、需求事实源、手册、项目 skill 和后续 POC 验收口径;3) 不新增 API/schema/UI/feature flag;4) 不触碰公网配置、生产写接口或真实数据。 受影响流程:需求边界确认 -> 设计规约门禁 -> 后续 POC 合同;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-18_12-21-01-wecom-first-design-gate.csv。 python3|manual DONE DONE DONE issues/2026-05-18_12-21-01-wecom-first-design-gate.csv [] 已验证:CSV 校验、文档审计、skill 校验、内容 rg 和 git diff --check 通过;audit-docs 仅保留既有 unregistered docs files warning。结论 DONE_DESIGN_READY;回滚路径:回退本 CSV 和文档/skill 口径回写;不涉及运行时。
3 WFDG-1 主办方与数据边界矩阵 在现有事实源中明确各业务域主事实源、操作端、镜像方向、附件归属和审计责任,固定 HR/考勤企微主办、OA 镜像和接管,报销/采购/合同/项目/付款/AP/代账继续 OA 主办。 1) PRD、产品口径和企业微信规约包含主办方矩阵;2) OA 主办域不反向全量镜像到企微;3) 高敏附件归属 OA 或线下受控归档,不进入企微原生审批或企微附件。 受影响流程:企微 HR/考勤 -> OA 镜像;OA 报销/采购/合同/财务 -> 企微脱敏提醒;验证步骤:rg -n '主办方|主事实源|操作端|镜像方向|附件归属|OA 主办|企微主办|按域镜像' docs。 rg|manual DONE DONE DONE docs/产品口径.md|docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md ["WFDG-0"] 已验证:主办方与数据边界矩阵已回写 PRD、产品口径和企业微信规约;本轮只固化设计口径,不代表企微 HR/考勤镜像运行时已完成。
4 WFDG-2 入口与交互规约 更新产品设计规则和相关事实源,要求员工 HR/考勤日常流程优先在企微完成,OA 主办审批通过企业微信脱敏消息 deeplink 回 OA,PC/移动页面必须区分 OA 主办、企微镜像和 OA 应急接管。 1) 产品设计规则写明三类页面/入口状态;2) 员工日常 HR/考勤不在企微正常可用时引导到 OA 新建;3) OA 主办审批的移动/企微入口仍回 OA 处理。 受影响流程:员工进入企业微信工作台 -> HR/考勤企微处理或 OA 镜像查看;审批人收到 OA 主办消息 -> deeplink 回 OA;验证步骤:rg -n 'OA 主办|企微镜像|OA 应急接管|deeplink|HR/考勤日常流程' docs/产品设计规则.md docs。 rg DONE DONE DONE docs/产品设计规则.md|docs/需求-统一审批中心规约.md|docs/需求-请假考勤修正规约.md ["WFDG-1"] 已验证:产品设计规则和审批/考勤规约均写入 OA 主办、企微镜像和 OA 应急接管区分;后续页面实现必须另拆 Issue CSV 并跑 PC/移动/企业微信矩阵。
5 WFDG-3 隐私附件和消息规约 固定企业微信消息字段只允许标题、类型、编号、状态和入口;采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企微原生审批或企微附件。 1) 企业微信基础设施规约、审批规约、管理员/员工手册均写明脱敏消息和高敏附件边界;2) 不写任何把高敏附件上传企微的默认流程;3) 不把企业微信消息作为附件查看权限。 受影响流程:OA 主办单据提交 -> 企业微信消息 -> OA deeplink -> OA 权限查看附件;验证步骤:rg -n '脱敏消息|不进入企微|不上传到企业微信|合同正文|报价|银行回单|代账资料' docs。 rg DONE DONE DONE docs/需求-企业微信基础设施规约.md|docs/需求-统一审批中心规约.md|docs/管理员手册.md|docs/员工快速上手.md ["WFDG-2"] 已验证:企业微信规约、审批规约和手册均写明脱敏消息及高敏附件边界;默认不接个人微信,文档中的微信按企业微信个人应用消息理解。
6 WFDG-4 同步审计失败处理规约 规定后续企微同步必须具备幂等、重试、脱敏日志、审计记录和 SKIP/BLOCKED_BY_EXTERNAL_CONFIG 状态;缺配置或缺权限不得伪造成成功。 1) 企业微信规约和 PRD 写明同步失败处理;2) 后续 POC 能区分 CAN_REUSE_NOW、NEEDS_CONFIG、NEEDS_API_POC、KEEP_OA_PRIMARY、NOT_SUPPORTED_BY_API;3) 日志不得输出 Secret、token、完整手机号、完整位置或原始 payload。 受影响流程:企微 API 探测/同步 -> OA 镜像或 SKIP -> 管理员重试/配置修复;验证步骤:rg -n '幂等|重试|脱敏日志|BLOCKED_BY_EXTERNAL_CONFIG|CAN_REUSE_NOW|NEEDS_CONFIG|NOT_SUPPORTED_BY_API' docs issues。 rg DONE DONE DONE docs/需求-企业微信基础设施规约.md|docs/海音达OA-MVP需求规格说明书.md ["WFDG-3"] 已验证:企业微信规约和 PRD 已写明同步失败处理和 POC 能力矩阵;只定义规约,不新增 QA-only 探测脚本,脚本留到 WECOM-CAPABILITY-POC-V1。
7 WFDG-5 应急接管与恢复回写规约 固定 OA HR/考勤应急模式只能由管理员人工开启;恢复后先 dry-run,再回写企微;冲突、权限不足或 API 不支持进入人工确认。 1) 管理员手册、请假考勤规约和企业微信规约写明人工开启、原因、范围、预计结束时间和责任人;2) 应急单据必须带 EMERGENCY;3) 恢复回写不能静默覆盖企微正式记录。 受影响流程:企微不可用 -> 管理员开启 OA 应急模式 -> 员工应急提交 -> 企微恢复 dry-run -> 回写或冲突人工确认;验证步骤:rg -n '应急接管|EMERGENCY|dry-run|恢复回写|人工确认|静默覆盖' docs。 rg DONE DONE DONE docs/管理员手册.md|docs/需求-请假考勤修正规约.md|docs/需求-企业微信基础设施规约.md ["WFDG-4"] 已验证:管理员手册、请假考勤规约和企业微信规约均写明应急接管与恢复回写;不自动触发接管,不在本轮实现运行时开关。
8 WFDG-6 RuleOps 与 AI 边界 固定 AI 只允许草拟规则、生成差异报告和 dry-run;正式写入企微审批模板、打卡规则、排班、假期余额或人事字段前必须人工确认,并保存前后快照和审计。 1) PRD、企业微信规约、审批规约和管理员手册写明 AI 不得直接写正式规则;2) RuleOps 正式写入必须保存前后快照、确认人、API errcode、失败原因和回滚建议;3) 不扩大 AI 自动审批或自动处理范围。 受影响流程:AI 草拟企微规则 -> 管理员确认 -> API 写入 -> 审计/回滚建议;验证步骤:rg -n 'RuleOps|AI.*草拟|dry-run|人工确认|前后快照|errcode|回滚建议' docs。 rg DONE DONE DONE docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md|docs/需求-统一审批中心规约.md|docs/管理员手册.md ["WFDG-5"] 已验证:PRD、企业微信规约、审批规约和管理员手册均写明 RuleOps 与 AI 边界;AI 自动处理业务和自动审批继续不进入当前路线。
9 WFDG-7 文档与 skill 回写 更新现有事实源和项目 skill,不新建综合规划文档;回写产品口径、PRD、企微规约、审批规约、请假考勤规约、产品设计规则、管理员手册、员工手册、文档索引、事实源矩阵、人工试运行报告和 hyb-oa-delivery skill。 1) 相关事实源均记录 WFDG 设计门禁;2) skill 明确后续先做 WECOM-CAPABILITY-POC-V1,不直接大开发;3) 文档审计、skill 校验和 git diff --check 通过。 受影响流程:后续 agent/人工读取事实源 -> 拆 POC 合同 -> 实现合同;验证步骤:node scripts/qa/audit-docs.mjs --check-registry;python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check。 node|python3|git|rg DONE DONE DONE docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-18_12-21-01-wecom-first-design-gate.csv ["WFDG-6"] 已验证:文档审计 errors=0 warnings=1(既有 unregistered docs files: 24)、skill valid、git diff --check 通过;优先更新现有文档,不新建综合规划文档。
10 WFDG-8 下一轮 POC 合同定义 为 WECOM-CAPABILITY-POC-V1 固定验收口径:能力矩阵覆盖人事助手、通讯录、打卡、审批、假期余额、回调和权限配置,状态包括 CAN_REUSE_NOW、NEEDS_CONFIG、NEEDS_API_POC、KEEP_OA_PRIMARY、NOT_SUPPORTED_BY_API。 1) PRD、企业微信规约、文档索引和事实源矩阵写明下一轮 POC 是正式开发前置;2) POC 默认只读或低风险探测;3) 生产写操作必须单独批准;4) 后续开发顺序明确。 受影响流程:设计门禁 -> API POC -> HR 主数据镜像 -> HR/考勤审批镜像 -> OA 应急接管 -> 恢复回写 -> RuleOps;验证步骤:rg -n 'WECOM-CAPABILITY-POC-V1|CAN_REUSE_NOW|NEEDS_API_POC|KEEP_OA_PRIMARY|wecom_hr_master_sync_v1|wecom_attendance_approval_mirror_v1|oa_hr_emergency_mode_v1|wecom_recovery_writeback_v1|wecom_ruleops_v1' docs issues .agents/skills/hyb-oa-delivery/SKILL.md。 rg DONE DONE DONE docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-18_12-21-01-wecom-first-design-gate.csv ["WFDG-7"] 已验证:PRD、企业微信规约、文档索引、事实源矩阵和 skill 均写明 WECOM-CAPABILITY-POC-V1 与后续开发顺序;WFDG 完成结论为 DONE_DESIGN_READY,不代表任何运行时迁移已完成。