DBWFOC 修正企微参考与OA数据边界

这个提交包含在:
2026-05-18 11:51:47 +08:00
父节点 f75bc1bbdc
当前提交 14c5e38798
共修改 20 个文件,包含 131 行新增和 72 行删除
+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.
- 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.
- After WFOC, ERP is not a future OA integration target. HR/attendance/admin approvals should reuse mature Enterprise WeChat capabilities first, while OA provides complete mirror, manual takeover, recovery writeback, finance closeout, and audit. Reimbursement, payment batches, AP, accounting handoff, procurement, contracts, and projects remain OA-primary unless a later Issue changes that domain explicitly. 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 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`.
- 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.
- 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.
+3 -1
查看文件
@@ -40,7 +40,8 @@ DCL7 已删除本文件中 R70-R91 的长流水历史,避免旧环境、旧开
- 2026-05-17 HR-WECOM-DIRECTORY-V1 已完成并部署公网:产品口径已调整为 ERP 未来不接入 OA;人事生命周期和考勤同属 HR 大域但分模块实现。OA 继续作为员工、权限、审批和审计主事实源;企业微信作为通讯录、入口、通知和打卡采集基础设施。HRWD 新增企业微信通讯录同步 flag、配置、同步记录、入职创建/资料更新/离职禁用钩子和员工管理重试入口。本地后端/前端/Playwright 通过,部署后公网 readiness、PDF live OCR、HRWD 端点 SKIP 检查和公网移动/企微矩阵通过;部署过程中发现 `seed-config` 会覆盖正式 feature flag,已修正为只创建缺失开关并复部署验证,最终 `payment_batch_v1=force_on`、`erp_sync=force_off`。
- 2026-05-17 HRWD-CONTACT-LIVE-TEST 已完成公网企业微信通讯录真实写入闭环:使用 `HRWDTEST-20260517214548` 测试员工,验证 OA 创建员工后由 onboarding 触发企微 create、资料更新触发企微 update、离职 checklist 完成后禁用 OA 账号并触发企微 disable;三次企微同步均为 `wecom_contact_synced` 且 `errcode=0`。普通员工查看/重试他人同步状态被拒绝,审计日志包含 `WECOM_DIRECTORY_CREATE/UPDATE/DISABLE`;测试成员按约定保留离职/禁用状态,不删除。
- 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`。
- 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,不改业务代码、不部署、不改公网配置。
## 关键证据索引
@@ -124,6 +125,7 @@ DCL7 已删除本文件中 R70-R91 的长流水历史,避免旧环境、旧开
| HRWD-CONTACT-LIVE-TEST 企微通讯录公网闭环 | 通过,结论 `PASS` | 新增 QA-only runner `scripts/qa/run-hrwd-contact-live-test.mjs`;公网创建 `HRWDTEST-20260517214548` 测试员工,onboarding 触发企微 create、资料变更触发 update、offboarding checklist 触发 disable,三次同步均 `errcode=0`;OA 账号最终 archived/inactive,离职后登录 403 `AUTH_003`,普通员工同步状态权限负例和审计动作均通过;报告 `artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json`。 |
| 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 接管或恢复回写已实现。 |
| DBWFOC 企微能力参考 + OA 主办数据边界 | 通过,无运行时变更 | Issue `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv`;PRD、产品口径、企微基础设施规约、统一审批规约、请假考勤规约、采购/合同/报销/项目规约、管理员手册、员工快速上手、文档索引、事实源矩阵和项目 skill 已回写。结论固定:HR/考勤员工日常审批企微优先,OA 主办高敏业务不进企微原生审批或企微附件。 |
## R7EP / OPS8 / QAF8 / UX8 / P2T 预检推进
+1 -1
查看文件
@@ -16,7 +16,7 @@
- 当前状态:本地门禁已闭环;R4 部署预检、D3 受控同步、D4 只读复检、R5 公网 live smoke、真实 PDF OCR、PC/自动化审批链、企业微信真机入口、个人应用消息和 deeplink 均已完成。
- 当前最大缺口:MIF7-7 已收口;若要启动 R7,必须另建 R7E 执行合同,固定试运行名单、时间窗口、回滚联系人和问题登记规则后再开始。
本清单中的 A1-A8/R5/R6/R7E 证据保留当时路线:OA 是首轮主业务系统和正式审批中心,企业微信只做入口、身份、通知、deeplink 和打卡原始采集边界。当前最新产品口径已由 WFOC 覆盖:HR/考勤/行政审批优先复用企业微信,OA 做镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、付款批次、AP 和代账交接仍由 OA 主办。
本清单中的 A1-A8/R5/R6/R7E 证据保留当时路线:OA 是首轮主业务系统和正式审批中心,企业微信只做入口、身份、通知、deeplink 和打卡原始采集边界。当前最新产品口径已由 WFOC/DBWFOC 覆盖:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、采购、合同、项目、付款批次、AP、代账交接和高敏附件仍由 OA 主办。
## 2. 已完成证据
+12 -4
查看文件
@@ -8,10 +8,13 @@
## 平台边界
### P0-1 企微优先 + OA 镜像/接管
- WFOC 起,能用企业微信成熟能力的 HR/考勤/行政审批优先使用企业微信;OA 做完整镜像、人工接管、恢复回写、财务闭环和审计中台。
- 报销、采购、费用、合同、财务付款、AP 台账和代账交接仍由 OA 主办,在 OA 内提交、审批、留痕、归档。
- 请假、补卡、外出、加班等 HR/考勤审批优先在企业微信原生审批中提交和处理,OA 同步完整镜像;企业微信不可用时由管理员人工开启 OA 应急模式。
- 企业微信作为手机工作台入口、免登/绑定、通讯录身份、消息通知、打卡、人事助手和 HR/考勤/行政审批主操作端。
- WFOC 起,能用企业微信成熟能力的 HR/考勤员工日常审批优先使用企业微信;OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台。
- DBWFOC 后固定数据边界:企业微信成熟功能可作为流程、字段、交互和规则参考,但不默认成为高敏业务数据托管处。
- 报销、采购、费用、合同、项目、财务付款、AP 台账、代账交接、审计和敏感附件仍由 OA 主办,在 OA 内提交、审批、留痕、归档。
- 请假、补卡、外出、加班等 HR/考勤员工日常审批优先在企业微信原生审批中提交和处理,OA 同步按域镜像;企业微信不可用时由管理员人工开启 OA 应急模式。
- 企业微信作为手机工作台入口、免登/绑定、通讯录身份、消息通知、打卡、人事助手和 HR/考勤员工日常审批主操作端;OA 主办审批通过企业微信个人应用消息发送脱敏提醒并 deeplink 回 OA 处理。
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不上传到企业微信原生审批或企业微信附件。
- 简写口径:采购不进企微原生审批,合同不进企微原生审批,附件不进企微附件;企微只做提醒、入口和免登录回 OA。
### P0-2 企业微信打卡与 OA 考勤口径
- 企业微信打卡用于原始采集,保留其定位、人脸、Wi-Fi、规则与设备能力。
@@ -19,6 +22,11 @@
- 请假、补卡、外出、加班等考勤修正正常在企业微信完成;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` 合同。
### P0-3 按域镜像定义
- 企微主办域镜像到 OA:通讯录/人事助手、打卡、请假、补卡、外出、加班、假期余额和 HR/考勤规则。
- OA 主办域不反向全量镜像到企微:报销、采购、费用、合同、项目、付款批次、AP、代账交接和审计只发送脱敏消息、状态和 OA 链接。
- “无痛接管”长期目标只针对必要业务连续性,不承诺把所有 OA 高敏附件和财务资料复制到企业微信。
---
## 请假模块
+3 -2
查看文件
@@ -1,10 +1,10 @@
# hyb-oa 员工快速上手(10 人以下团队版)
**当前状态(2026-05-18 / WFOC)**:公网正式地址为 `https://oa.hyinda.com`。系统开发完成门禁结论为 `GO_TO_USE`。WFOC 已冻结新的产品方向:能用企业微信成熟能力的 HR/考勤/行政审批优先使用企业微信,OA 做完整镜像、人工接管、恢复回写、财务闭环和审计中台。本轮只是需求口径调整,不代表页面入口已全部迁移完成。
**当前状态(2026-05-18 / DBWFOC)**:公网正式地址为 `https://oa.hyinda.com`。系统开发完成门禁结论为 `GO_TO_USE`。WFOC 已冻结新的产品方向,DBWFOC 已修正数据边界:能用企业微信成熟能力的 HR/考勤员工日常审批优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、报销和财务资料仍由 OA 主办。本轮只是需求口径调整,不代表页面入口已全部迁移完成。
## 1. 你每周主要会用到什么
- `Portal`:看公告、我的待办、我的资产、本周周报入口。
- `审批`:在 OA 处理报销、采购、合同、财务等 OA 主办审批;请假、补卡、外出、加班后续优先在企业微信处理。
- `审批`:在 OA 处理报销、采购、合同、项目、财务等 OA 主办审批;请假、补卡、外出、加班后续优先在企业微信处理。
- `团队`:更新今天是在岗、居家、外出还是出差。
- `请假 / 考勤`:正常在企业微信提交请假、补卡、外出、加班并打卡;OA 后续用于查看镜像、历史和应急入口。
- `报销`:继续提交和跟踪报销。
@@ -54,6 +54,7 @@
- 状态有变化时及时更新 `团队`
- 有通知先看站内消息,IM 只是补充提醒
- 收到 OA 主办审批提醒时,点开后回到 OA 页面处理;收到企业微信 HR/考勤原生审批待办时,在企业微信内处理。
- 企业微信消息只会显示脱敏摘要和 OA 链接;采购单附件、合同正文、报价、发票、银行回单和代账资料不要上传到企业微信原生审批或企业微信附件。
- 首周遇到问题时,记录角色、页面、操作步骤和影响,不要在截图或文字里包含密码、完整票面、银行回单或敏感报价。
## 9. 从企业微信进入
+1 -1
查看文件
@@ -84,7 +84,7 @@
- 每次只做当前 Issue 范围内的事,不顺手重构无关模块。
- 跨后端和前端的任务,先稳定后端 API / 数据契约,再接前端。
- 涉及权限、状态机、审批规则、财务状态、Prisma migration 的改动,必须写明回滚策略。
- 不在当前 MVP 首批范围内扩展预算、ERP、AI 自动处理、飞书、复杂 BPM 或重型项目管理;企业微信原生审批只按 WFOC 口径用于 HR/考勤/行政审批优先复用,不迁移报销、财务、采购、合同或项目等 OA 主办流程。
- 不在当前 MVP 首批范围内扩展预算、ERP、AI 自动处理、飞书、复杂 BPM 或重型项目管理;企业微信原生审批只按 WFOC/DBWFOC 口径用于 HR/考勤员工日常审批优先复用,不迁移报销、财务、采购、合同、项目或高敏附件等 OA 主办流程。
- 未经确认不得重置数据库、编辑迁移历史、修改生产配置、暴露真实密钥或处理真实敏感数据。
## 3.1 只读审计和排障边界
+10 -9
查看文件
@@ -61,7 +61,8 @@
| `HR-WECOM-DIRECTORY-V1` | `issues/2026-05-17_20-00-40-hr-wecom-directory-v1.csv` | `EVIDENCE` | 人事生命周期与企业微信通讯录同步已部署并收口:ERP 未来不接入 OA;HR 大域拆分为人事生命周期和考勤两个模块;OA 驱动企微通讯录创建/更新/禁用,失败不回滚 OA 人事动作;公网端点检查显示缺通讯录配置时重试记录 `SKIP wecom_contact_sync_disabled`,不阻断 OA 人事闭环;seed-config 已改为不覆盖已有正式 feature flag,复部署后 `payment_batch_v1=force_on`、`erp_sync=force_off` |
| `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 单测通过,待部署后公网复检 |
| `WFOC` | `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv` | `CURRENT` | 企微优先 + OA 无痛接管需求重构已收口:HR/考勤/行政审批优先复用企业微信,OA 做完整镜像、人工接管、恢复回写、RuleOps、财务闭环和审计中台;本轮只改需求事实源,不改运行时代码、不部署、不切换公网配置 |
| `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 |
旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。
@@ -69,9 +70,9 @@
| 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` | `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` | `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` | Issue CSV | `docs/requirements-specification.md` | 2026-05-18 | `rg` | high | WFOC 后定义企微优先 + OA 无痛接管;ERP 未来不接入 OA |
| `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 | 判断当前该读什么 |
| `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 | 判断文档权威性 |
| `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 |
| `PRODUCT-SCOPE` | `docs/产品口径.md` | 需求事实源 | 产品边界事实源 | `CURRENT` | product | `REQ8,P2T` | `rg` | none | 2026-05-13 | `rg` | high | 记录已拍板产品边界 |
| `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 后按页面分层和样板选型 |
| `DELIVERY` | `docs/开发交付与变更管理规约.md` | 开发治理 | 开发交付事实源 | `CURRENT` | dev/qa | `GOV8` | `rg` | none | 2026-05-13 | `rg` | high | Issue、review、commit 和交付规则 |
@@ -79,13 +80,13 @@
| `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 | 不可违反约束 |
| `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 任务读取设计主参考层级 |
| `REQ-WF` | `docs/需求-统一审批中心规约.md` | 需求事实源 | 审批模块规约 | `CURRENT` | product/backend | `AP6,WF8,WFOC` | workflow 回归 | none | 2026-05-18 | `rg` | high | OA 主办审批和企微主办 HR/考勤审批镜像边界 |
| `REQ-WF` | `docs/需求-统一审批中心规约.md` | 需求事实源 | 审批模块规约 | `CURRENT` | product/backend | `AP6,WF8,WFOC,DBWFOC` | workflow 回归 | none | 2026-05-18 | `rg` | high | OA 主办审批和企微主办 HR/考勤员工日常审批镜像边界 |
| `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 | 报销、发票、附件细则 |
| `REQ-WECOM` | `docs/需求-企业微信基础设施规约.md` | 需求事实源 | 企业微信边界规约 | `CURRENT` | product/backend | `R7E,ORG8,WF8,ATTV1,HR-WECOM-DIRECTORY-V1,WFOC` | 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` | live smoke/真机反馈/Issue CSV | none | 2026-05-18 | `rg` | high | 企微优先承担 HR/考勤员工日常审批和人事/打卡能力;采购、合同、项目、报销和财务继续 OA 主办 |
| `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` | 人工验收 | none | 2026-05-18 | `rg` | medium | 管理员上线、企微优先边界、OA 应急接管和恢复回写 |
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC` | 人工验收 | none | 2026-05-18 | `rg` | low | 员工侧使用说明,HR/考勤优先企业微信 |
| `MANUAL-ADMIN` | `docs/管理员手册.md` | 操作手册 | 管理员手册 | `CURRENT` | ops/admin | `ORG8,R7E,WFOC,DBWFOC` | 人工验收 | none | 2026-05-18 | `rg` | medium | 管理员上线、企微优先边界、OA 主办数据边界、OA 应急接管和恢复回写 |
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC,DBWFOC` | 人工验收 | none | 2026-05-18 | `rg` | low | 员工侧使用说明,HR/考勤优先企业微信,采购/合同/财务仍在 OA |
| `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 | 不代表恢复演练已执行 |
| `TRIAL-REPORT` | `docs/trialrun/人工试运行报告.md` | 证据材料 | 试运行证据入口 | `EVIDENCE` | qa | `R7EP,OPS8,QAF8` | artifacts/qa-flow | none | 2026-05-13 | `rg` | medium | 只证明发生过,不直接派工 |
@@ -175,4 +176,4 @@
- `ME6-3` 代表性企业微信真机门禁已关闭。
- 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 需求重构均已完成,当前 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 和银行流水导入继续不进入当前路线。WFOC 后 HR/考勤/行政审批优先复用企业微信,OA 目标是完整镜像、人工接管、恢复回写和 RuleOps;该方向尚未实现运行时迁移,后续必须另拆 `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 数据边界修正均已完成,当前 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 验证;测试成员按审计要求保留离职/禁用状态。
+7 -5
查看文件
@@ -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。
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 自动化、公网视觉矩阵和 `ME6-3` 代表性企业微信真机门禁已完成。
@@ -55,7 +55,8 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
- HR-WECOM-DIRECTORY-V1 是 HRWD 当前合同:ERP 从冻结待办改为未来不接入 OA;人事生命周期和考勤同属 HR 大域但分模块实现;OA 为员工、权限、审批和审计主事实源,企业微信作为通讯录、入口、通知和打卡采集基础设施。新增 `hr_wecom_directory_sync_v1`、企业微信通讯录同步记录、入职创建/调岗更新/离职禁用和管理员重试;缺通讯录 Secret 或 API 权限时 OA 人事闭环照常完成,同步记录为可解释 SKIP/失败。
- HRWD-CONTACT-LIVE-TEST 已完成公网企微通讯录真实写入闭环:使用 `HRWDTEST-20260517214548` 测试员工验证 OA 创建员工后由 onboarding 触发企微成员创建、资料更新触发企微 update、离职 checklist 完成后禁用 OA 账号并触发企微 disable;同步均返回 `wecom_contact_synced`、`errcode=0`,普通员工同步记录权限负例和审计动作核验通过。测试成员按约定保留离职/禁用状态,不删除。
- WCFB 是企微打卡同步 Secret 兼容修正合同:用户确认工作台应用已作为企微入口应用配置且已授权调用打卡 API;OA 后端调整为 `WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret。本地语法和考勤 focused 单测通过;公网需部署后复检企微打卡同步。
- WFOC 是企微优先 + OA 无痛接管需求重构合同:用户已确认 HR/考勤/行政审批优先复用企业微信成熟能力,OA 做完整镜像、人工接管、恢复回写、财务闭环和审计中台。本轮只冻结需求和事实源,不改业务代码、不部署、不切换公网配置;后续实现需拆 `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,不上传高敏附件到企微原生审批。
## 当前活跃治理流
@@ -97,7 +98,8 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
| `HR-WECOM-DIRECTORY-V1` | `issues/2026-05-17_20-00-40-hr-wecom-directory-v1.csv` | 已收口:人事生命周期与企业微信通讯录同步闭环已部署公网 | ERP 永不接入 OA;入职/调岗/资料变更/离职驱动企微通讯录创建、更新、禁用;员工管理和详情展示同步状态与重试;部署后 live smoke、HRWD 端点 SKIP 检查、公网移动/企微矩阵通过;seed 已改为不覆盖正式 flag | 该合同不涉及企业微信原生审批迁移、不接真实支付、不开放图片 OCR、不导入银行流水;企微通讯录真实写入依赖后台 Secret、默认部门和 API 权限 |
| `HRWD-CONTACT-LIVE-TEST` | `issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv` | 已收口:公网企微通讯录真实写入闭环通过 | `HRWDTEST-20260517214548` 测试员工完成 OA 创建、onboarding 企微 create、资料 update、offboarding 企微 disable、OA 禁用、登录负例、权限负例和审计核验;报告 `artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json` | 不删除企业微信测试成员、不重置数据库、不改业务 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 无痛接管需求重构 | 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 主办域全量镜像到企微 |
旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。
@@ -121,10 +123,10 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
| [文档事实源状态矩阵](./文档事实源状态矩阵.md) | 文档分类、删除恢复和冲突规则 |
| [产品设计规则](./产品设计规则.md) | PC、移动、企业微信 WebView 设计事实源;DG8 后飞书工作台/飞书审批为唯一主 UI/布局参考;DG9 后按页面分层和样板选型 |
| [产品口径](./产品口径.md) | 已拍板产品边界和业务规则 |
| [需求 - 统一审批中心规约](./需求-统一审批中心规约.md) | OA 主办审批、企微主办 HR/考勤审批镜像、催办、超时提醒、审批效率 |
| [需求 - 统一审批中心规约](./需求-统一审批中心规约.md) | OA 主办审批、企微主办 HR/考勤员工日常审批镜像、催办、超时提醒、审批效率 |
| [报销发票附件规则](./报销发票附件规则.md) | 报销、发票、OCR、附件细则 |
| [需求 - 报销发票 OCR 规约](./需求-报销发票OCR规约.md) | 报销发票 OCR 模块规约 |
| [需求 - 企业微信基础设施规约](./需求-企业微信基础设施规约.md) | 企业微信入口、身份、消息、deeplink、HR/考勤审批、打卡、人事助手、OA 接管和恢复回写 |
| [需求 - 企业微信基础设施规约](./需求-企业微信基础设施规约.md) | 企业微信入口、身份、消息、deeplink、HR/考勤员工日常审批、打卡、人事助手、按域镜像、OA 接管和恢复回写 |
| [需求 - 请假考勤修正规约](./需求-请假考勤修正规约.md) | 企微请假/补卡/外出/加班、考勤镜像、OA 应急接管和恢复回写 |
| [需求 - 采购费用审批规约](./需求-采购费用审批规约.md) | 采购、费用、附件、审批规则 |
| [需求 - 合同附件归档规约](./需求-合同附件归档规约.md) | 合同台账和附件归档边界 |
+1 -1
查看文件
@@ -2,7 +2,7 @@
**文档状态**:当前测试事实源。
**适用范围**:hyb-oa MVP 首轮开发 A3-A8,以及后续所有非微小改动。
**路线口径**:WFOC 后,HR/考勤/行政审批优先复用企业微信成熟能力,OA 做完整镜像、人工接管、恢复回写、财务闭环和审计中台;报销、PDF OCR、付款批次、AP 台账、代账交接等财务主线继续由 OA 主办;飞书不进入当前路线。
**路线口径**:WFOC/DBWFOC 后,HR/考勤员工日常审批优先复用企业微信成熟能力,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;报销、采购、合同、项目、PDF OCR、付款批次、AP 台账、代账交接和高敏附件继续由 OA 主办;企业微信只做脱敏消息和 OA deeplink;飞书不进入当前路线。
本文回答“什么时候测试、测什么、怎么判定通过、怎么记录跳过”。具体业务验收仍以主 PRD、模块规约和最新 Issue CSV 为准。
+28 -19
查看文件
@@ -27,13 +27,14 @@
### 1.1 背景
海音达需要一套适合 10 人以下科技公司的轻量 OA,用来把报销、采购、费用、合同、项目资料、财务闭环、审计和关键行政数据集中到一个可审计、可回归、可持续迭代的系统中。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”:能复用企业微信成熟功能的员工行政场景优先使用企业微信,OA 保留完整镜像、人工接管、恢复回写、财务闭环和审计中台能力。
海音达需要一套适合 10 人以下科技公司的轻量 OA,用来把报销、采购、费用、合同、项目资料、财务闭环、审计和关键行政数据集中到一个可审计、可回归、可持续迭代的系统中。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”;DBWFOC 进一步修正边界:能复用企业微信成熟功能的 HR/考勤员工日常场景优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、财务和高敏附件仍由 OA 主办和存储。
### 1.2 总目标
- HR/考勤/行政审批优先复用企业微信成熟能力;OA 同步完整镜像并保留人工接管和恢复回写能力。
- HR/考勤员工日常审批优先复用企业微信成熟能力;OA 同步按域镜像并保留人工接管和恢复回写能力。
- 报销、PDF 发票 OCR、发票查重、付款批次、银行回单、AP 台账、代账交接和财务审计继续由 OA 主办。
- 企业微信作为手机工作台入口、免登/绑定、通讯录身份、消息通知、打卡、人事助手和 HR/考勤/行政审批主操作端。
- 企业微信作为手机工作台入口、免登/绑定、通讯录身份、消息通知、打卡、人事助手和 HR/考勤员工日常审批主操作端。
- 采购、费用、合同、项目、报销、付款、AP、代账交接和敏感附件不迁移到企业微信原生审批或企业微信附件;企业微信只发送脱敏提醒和 OA deeplink。
- PC 用户可直接访问 OA;手机端优先从企业微信工作台进入 OA 移动端。
- 后续开发必须先有需求事实源和 Issue CSV 执行合同,避免边想边做。
@@ -41,8 +42,8 @@
| 平台 | 定位 | 首批使用方式 | 不承担 |
| --- | --- | --- | --- |
| `hyb-oa` | 财务主系统、数据镜像、接管和审计中台 | 报销、发票、OCR、付款批次、银行回单、AP 台账、代账交接、采购/合同/项目轻台账、企微数据镜像和应急接管 | 重造企业微信成熟打卡、人事和 HR/考勤审批能力 |
| 企业微信 | HR/考勤/行政审批主操作端和移动入口 | 通讯录、人事助手花名册、打卡规则/排班/日报/月报、请假/补卡/外出/加班审批、假期余额、工作台入口和消息 | 财务附件主库、报销 OCR、付款批次、代账交接、OA 审计主库 |
| `hyb-oa` | 财务主系统、OA 主办业务系统、按域镜像、接管和审计中台 | 报销、发票、OCR、付款批次、银行回单、AP 台账、代账交接、采购/合同/项目轻台账、企微 HR/考勤数据镜像和应急接管 | 重造企业微信成熟打卡、人事和 HR/考勤员工日常审批能力;把 OA 主办高敏数据全量镜像到企微 |
| 企业微信 | HR/考勤员工日常主操作端、移动入口和消息通道 | 通讯录、人事助手花名册、打卡规则/排班/日报/月报、请假/补卡/外出/加班审批、假期余额、工作台入口和脱敏消息 | 财务附件主库、报销 OCR、付款批次、代账交接、采购/合同/项目附件主库、OA 审计主库 |
| 飞书 | 已废弃路线 | 不进入首批实现 | 不接入身份、审批、通知、文档或项目主线 |
### 1.4 WFOC 需求分层
@@ -50,12 +51,20 @@
| 层级 | 主办方 | 目标 |
| --- | --- | --- |
| 企微主办层 | 企业微信 | 通讯录、人事助手花名册、打卡规则/排班/日报/月报、请假/补卡/外出/加班审批、假期余额。 |
| OA 镜像层 | OA | 同步企微人员、部门、审批单、打卡、规则、附件、回调和操作日志,形成可查询、可导出、可审计的完整副本。 |
| OA 镜像层 | OA | 按域同步企微主办的人员、部门、HR/考勤审批单、打卡、规则、附件、回调和操作日志,形成可查询、可导出、可审计的副本。 |
| OA 接管层 | OA | 企微不可用时由管理员人工开启 `oa_hr_emergency_mode_v1`,员工通过 OA 账号密码提交 HR/考勤类应急申请。 |
| 恢复回写层 | OA + 企业微信 API | 企微恢复后由 `wecom_recovery_writeback_v1` 对应急数据执行 dry-run、自动回写、失败重试和冲突清单。 |
| 财务主办层 | OA | 报销、PDF 发票 OCR、发票查重、付款批次、银行回单、AP 台账、代账交接继续 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_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1` 和 `wecom_ruleops_v1` 分阶段拆 Issue CSV。
### 1.5 DBWFOC 数据边界修正
- 企业微信成熟功能可以作为产品流程、字段、交互和规则参考;参考不等于把业务数据托管到企业微信。
- HR/考勤员工日常审批第一阶段仅限请假、补卡、外出、加班和相关假期余额/考勤解释。
- 采购、费用、合同、项目、报销、付款批次、AP、代账交接和审计继续 OA 主办;审批动作、附件查看、下载、导出和审计仍以 OA 服务端权限为准。
- 采购单附件、合同正文、供应商报价、项目敏感资料、发票原件、银行回单、付款资料和代账资料不上传到企业微信原生审批或企业微信附件。
- OA 主办审批仍可通过企业微信个人应用消息提醒;消息只包含脱敏摘要和 OA deeplink,点击后通过企业微信免登录或账号绑定回到 OA 目标审批页处理。
---
@@ -95,7 +104,7 @@
| 当前已实现 / 已收口 | R6 小范围试运行主链路;PC6/PA6/FL6/AP6/RI6/LP6;ME6 自动化、公网和代表性真机门禁;MIF7/MIF7T 移动信息架构与真机反馈整改;MIF7TD 公网部署、匿名复检和带凭据 live smoke/OCR。 |
| R7 必需 | 用户确认参与人、角色、时间窗口、回滚联系人、问题登记负责人和每日收口节奏;R7E 公网健康、public bundle、带凭据 live readiness、公网移动矩阵、核心业务流和账号角色只读门禁通过;阻断问题为 0。 |
| R7 后优化 | UX8 真实反馈池、iPhone 12 间距观察项、详情字段扫读性二次优化、移动采购创建能力评估、组织账号主数据治理、图片 OCR 能力、转审扩展和邮件通道完整验收。 |
| 明确不做 / 当前冻结 | ERP 未来不接入 OA;真实支付、图片 OCR、银行流水导入、完整差旅、复杂 BPM、审批设计器、预算重型控制继续不进入当前路线;AI 只允许草拟规则和 dry-run,人工确认后才能写入企微配置。企业微信原生审批从整体冻结调整为 HR/考勤/行政审批优先复用,财务和报销仍由 OA 主办。 |
| 明确不做 / 当前冻结 | ERP 未来不接入 OA;真实支付、图片 OCR、银行流水导入、完整差旅、复杂 BPM、审批设计器、预算重型控制继续不进入当前路线;AI 只允许草拟规则和 dry-run,人工确认后才能写入企微配置。企业微信原生审批从整体冻结调整为 HR/考勤员工日常审批优先复用,采购、费用、合同、项目、财务和报销仍由 OA 主办。 |
### 2.3 P2T 候选优先级
@@ -109,7 +118,7 @@ P2T 只做排序和边界确认,不进入当前实现。候选项按 R7 真实
| P2-4 | 费用/预算/项目轻量增强 | 可评估费用提示和项目关联增强;预算重型控制和正式成本核算继续冻结,ERP 不再作为后续接入项 |
| P2-5 | 运维上线增强 | 备份恢复演练、SLO 门禁和正式上线准备需单独窗口;不在 R7E 预检中做真实恢复 |
ERP 已从“冻结待办”调整为“未来不接入 OA”。其他冻结项不是永久删除,而是当前 MVP/R7 不启动:AI 自动处理、完整差旅、复杂 BPM、审批设计器、预算重型控制。企业微信原生审批不再整体冻结,HR/考勤/行政审批按 WFOC 口径优先复用。
ERP 已从“冻结待办”调整为“未来不接入 OA”。其他冻结项不是永久删除,而是当前 MVP/R7 不启动:AI 自动处理、完整差旅、复杂 BPM、审批设计器、预算重型控制。企业微信原生审批不再整体冻结,HR/考勤员工日常审批按 WFOC/DBWFOC 口径优先复用。
---
@@ -130,11 +139,11 @@ ERP 已从“冻结待办”调整为“未来不接入 OA”。其他冻结项
| 优先级 | 模块 | 目标 | 主入口 | 验收口径 |
| --- | --- | --- | --- | --- |
| P0 | 统一审批和镜像中心 | 财务、报销、采购、合同等 OA 主办审批继续在 OA;HR/考勤/行政审批改为企微主办、OA 镜像 | PC 审批待办、移动审批、企微审批镜像 | OA 主办审批可处理;企微主办审批可同步、查询、审计和应急接管 |
| P0 | 企业微信基础设施 | 手机入口、免登、通知、打卡、人事助手、HR/考勤/行政审批主操作端 | 企业微信自建应用 `海音达工作台`、企微打卡、企微审批、人事助手 | 员工优先在企微完成成熟流程,OA 获得完整镜像和审计 |
| P0 | 统一审批和镜像中心 | 财务、报销、采购、合同等 OA 主办审批继续在 OA;HR/考勤员工日常审批改为企微主办、OA 镜像 | PC 审批待办、移动审批、企微审批镜像 | OA 主办审批可处理;企微主办审批可同步、查询、审计和应急接管 |
| P0 | 企业微信基础设施 | 手机入口、免登、通知、打卡、人事助手、HR/考勤员工日常审批主操作端 | 企业微信自建应用 `海音达工作台`、企微打卡、企微审批、人事助手 | 员工优先在企微完成成熟流程,OA 获得按域镜像和审计 |
| P0 | 人事生命周期 | 企微/人事助手主源,OA 同步员工、账号、权限、绑定和离职停用 | 企业微信人事/通讯录、OA 人员管理 | 先企微后 OA;OA 可审计、可接管、可在恢复后回写 |
| P0 | 报销/发票/OCR | 员工自助报销,财务可查重和导出 | 报销、移动报销、票据中心 | 上传、OCR、查重、绑定、审批、付款闭环 |
| P0 | 请假与考勤镜像/接管 | 请假、补卡、外出、加班优先企微审批,OA 同步完整镜像并保留应急提交 | 企业微信审批、OA 考勤镜像、OA 应急模式 | 企微正常时员工走企微;企微不可用时管理员人工开启 OA 接管 |
| P0 | 请假与考勤镜像/接管 | 请假、补卡、外出、加班优先企微审批,OA 同步按域镜像并保留应急提交 | 企业微信审批、OA 考勤镜像、OA 应急模式 | 企微正常时员工走企微;企微不可用时管理员人工开启 OA 接管 |
| P1 | 采购/费用审批 | 小团队采购和费用事项留痕 | 采购、审批待办 | 申请、附件、审批、状态更新可用 |
| P1 | 合同与附件归档 | 管合同编号、责任人、归档位置和非涉密附件 | 合同/项目资料或项目页 | 能登记、查询、关联项目和审批记录 |
| P1 | 项目轻管理 | 把费用、采购、差旅、周报挂到项目 | 项目、Portal、周报 | 能看项目事项、风险、费用摘要,不做重型排产 |
@@ -148,14 +157,14 @@ ERP 已从“冻结待办”调整为“未来不接入 OA”。其他冻结项
### 5.1 范围
WFOC 后审批分为两类:OA 主办审批和企微主办审批。OA 主办审批仍在 OA 内提交、审批、留痕、归档;企微主办审批在企业微信内发起和处理,OA 同步完整镜像、附件、审批历史、回调和审计,并在企微不可用时人工接管。
WFOC/DBWFOC 后审批分为两类:OA 主办审批和企微主办审批。OA 主办审批仍在 OA 内提交、审批、留痕、归档;企微主办审批仅限 HR/考勤员工日常审批第一阶段,在企业微信内发起和处理,OA 同步按域镜像、附件、审批历史、回调和审计,并在企微不可用时人工接管。
- 报销、费用、采购。
- 合同相关审批和合同台账维护。
- 资产领用、归还、调拨、盘点中的需要留痕动作。
- 后续新增财务、采购、合同、项目类业务审批,默认进入 OA 审批中心。
请假、补卡、外出、加班等 HR/考勤/行政审批优先复用企业微信原生审批,OA 不再重复开发成熟员工日常流程;旧 OA 提交能力只作为 `oa_hr_emergency_mode_v1` 应急入口保留。
请假、补卡、外出、加班等 HR/考勤员工日常审批优先复用企业微信原生审批,OA 不再重复开发成熟员工日常流程;旧 OA 提交能力只作为 `oa_hr_emergency_mode_v1` 应急入口保留。采购、费用、合同、项目和财务类 OA 主办审批不进入企业微信原生审批,企业微信只做脱敏提醒和回 OA 处理入口。
### 5.2 审批能力
@@ -226,7 +235,7 @@ WFOC 后审批分为两类:OA 主办审批和企微主办审批。OA 主办审
- 企业微信打卡用于原始采集和规则执行,保留其定位、人脸、Wi-Fi、排班、设备和防作弊能力。
- OA 不重造企业微信打卡规则、定位、人脸识别、排班或防作弊引擎。
- 请假、补卡、外出、加班等考勤修正申请优先在企业微信原生审批中提交和处理。
- OA 通过 `wecom_native_approval_mirror_v1` 同步企微审批、打卡记录、规则、日报、月报和异常摘要,形成完整镜像和考勤解释。
- OA 通过 `wecom_native_approval_mirror_v1` 同步企微审批、打卡记录、规则、日报、月报和异常摘要,形成按域镜像和考勤解释。
- 企业微信不可用时,管理员可人工开启 `oa_hr_emergency_mode_v1`,临时开放 OA 提交和审批;应急单据带 `EMERGENCY` 标记并进入恢复回写队列。
### 7.2 用户流程
@@ -250,7 +259,7 @@ REQAUD 复核后,ATTV1 已按“企业微信打卡、OA 审批解释”口径
| --- | --- | --- |
| 请假申请、审批、撤回、编辑和移动查看 | `DONE` | 已有 `leave_requests`、统一审批、PC/移动页面和回归证据。 |
| 请假影响团队状态/日历 | `DONE` | 已批准请假可进入团队状态和日历展示。 |
| 企业微信入口、免登/绑定、通知和 HR/考勤审批 | `REPLANNED_BY_WFOC` | 企业微信继续作为入口、身份和提醒;HR/考勤/行政审批优先在企微处理,OA 同步镜像;OA 主办审批仍回 OA。 |
| 企业微信入口、免登/绑定、通知和 HR/考勤审批 | `REPLANNED_BY_WFOC` | 企业微信继续作为入口、身份和提醒;HR/考勤员工日常审批优先在企微处理,OA 同步镜像;OA 主办审批仍回 OA。 |
| 企业微信打卡运营使用 | `DONE` | 员工继续按公司要求在企业微信打卡;这是企业微信侧能力,不代表 OA 已同步打卡 API。 |
| 企业微信打卡 API 同步到 OA | `PARTIAL` | 已新增 `attendance_unified_v1` 同步批次和打卡摘要表;有已授权调用打卡 API 的自建应用 Secret/API 权限时可同步,缺配置时按 `SKIP` 记录,不伪造通过。`WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`。 |
| 员工补卡申请审批 | `DONE` | 已新增 OA 考勤修正申请,补卡只解释企微缺卡,不向企业微信写回。 |
@@ -320,7 +329,7 @@ REQAUD 复核后,ATTV1 已按“企业微信打卡、OA 审批解释”口径
### 9.4 打卡原始采集
- 企业微信打卡数据、打卡规则、日报和月报是 OA 考勤镜像的原始来源。
- `attendance_unified_v1` 当前只同步打卡摘要、批次、脱敏错误码和 raw hash;WFOC 后续目标是扩展为打卡规则、排班、记录、日报、月报和异常摘要完整镜像。
- `attendance_unified_v1` 当前只同步打卡摘要、批次、脱敏错误码和 raw hash;WFOC/DBWFOC 后续目标是扩展为打卡规则、排班、记录、日报、月报和异常摘要按域镜像。
- 正式考勤统计必须结合企微请假/补卡/外出/加班审批、OA 应急单和恢复回写结果。
---
@@ -369,7 +378,7 @@ REQAUD 复核后,ATTV1 已按“企业微信打卡、OA 审批解释”口径
首批 MVP 不做以下事项:
- 不接入飞书,不保留飞书登录、通知、审批、文档或项目管理路线。
- 不把企业微信原生审批用于报销、财务付款、采购、合同、项目等 OA 主办流程;HR/考勤/行政审批按 WFOC 口径优先复用企微。
- 不把企业微信原生审批用于报销、财务付款、采购、合同、项目等 OA 主办流程;HR/考勤员工日常审批按 WFOC/DBWFOC 口径优先复用企微。
- 不开发复杂 BPM 流程设计器,不做并行会签建模。
- 不依赖付费低代码平台、付费第三方应用或付费项目管理套件。
- 不重造企业微信打卡的定位、人脸识别、Wi-Fi、排班规则。
@@ -387,7 +396,7 @@ REQAUD 复核后,ATTV1 已按“企业微信打卡、OA 审批解释”口径
- 审批人能在 OA 处理 OA 主办待办,并在企业微信处理 HR/考勤原生审批;OA 能同步镜像。
- 财务能完成发票查重、付款标记和导出。
- 管理员能维护人员、权限、企业微信入口和基础配置。
- 企业微信作为 HR/考勤/行政审批主操作端,OA 作为镜像和应急接管;不得产生无法对账的双轨审批。
- 企业微信作为 HR/考勤员工日常审批主操作端,OA 作为按域镜像和应急接管;不得产生无法对账的双轨审批。
### 12.2 流程验收
+9 -6
查看文件
@@ -1,11 +1,11 @@
# hyb-oa 管理员手册(10 人以下团队版)
**当前状态(2026-05-18 / WFOC)**: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 无痛接管”需求方向:HR/考勤/行政审批优先复用企业微信,OA 做完整镜像、人工接管、恢复回写、财务闭环和审计中台。本轮只更新需求口径,不代表运行时代码已完成迁移。公网 `payment_batch_v1=force_on`,`erp_sync=force_off`。公司当前无 ERP/独立财务系统,且 ERP 未来不接入 OA;财务闭环以 OA 内审批、台账、付款批次、银行对公付款回单和月度代账交接为准。
**当前状态(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 内审批、台账、付款批次、银行对公付款回单和月度代账交接为准。
## 1. 适用范围
- 适用于 `small_team_internal` 工作区模式。
- 适用于单公司、少部门、全员账号密码登录的小团队。
- 目标是把财务、报销、审计、镜像和接管能力收口到 `hyb-oa`;企业微信优先承担通讯录、人事助手、打卡、HR/考勤/行政审批和移动入口。
- 目标是把财务、报销、采购、合同、项目、审计、镜像和接管能力收口到 `hyb-oa`;企业微信优先承担通讯录、人事助手、打卡、HR/考勤员工日常审批和移动入口。
## 2. 管理员每周固定动作
- 周一:查看 `审批待办`、报销/OCR 异常、企微 HR/考勤审批镜像、项目风险和本周关键付款/归档事项。
@@ -173,6 +173,8 @@ ORDER BY e.employee_no;
3. 员工请假、补卡、外出、加班优先在企业微信原生审批中提交和处理。
4. OA 后续通过 `wecom_native_approval_mirror_v1` 同步审批详情、审批历史、附件、状态回调、打卡规则、排班、记录、日报、月报和异常摘要。
5. 报销、PDF OCR、付款批次、银行回单、AP 台账和代账交接仍在 OA 内完成,不迁移到企业微信。
6. 采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。
7. OA 主办审批仍可向企业微信个人应用发送脱敏消息;消息点击后通过免登录或账号绑定回到 OA 目标审批页,审批动作仍在 OA 完成。
企微不可用时:
@@ -340,10 +342,10 @@ RuleOps:
4. 连续 4 周都达到预期后,再扩大到 P1 采购/费用、合同归档和项目轻管理试点。
## 12. 企业微信入口与登录策略
- 企业微信定位为 `入口 + 免登 + 通知 + 打卡原始采集`,不承载公司正式审批流。
- 企业微信定位为 `入口 + 免登 + 通知 + 打卡原始采集 + HR/考勤员工日常审批`,不承载 OA 主办的采购、合同、项目、报销或财务审批。
- 公司只维护一个企业微信自建应用,建议命名为 `海音达工作台`。
- 默认工作台入口在企业微信手机端落到 `/mobile`;桌面浏览器和账号密码登录仍进入 `/portal`。员工真正操作仍在 `hyb-oa` 内完成。
- 已上线的报销、采购、费用、合同、请假、补卡、外出和加班审批都在 OA 内提交和审批;出差等未上线流程待后续合同完成后再纳入 OA 正式审批。企业微信消息只负责提醒并 deeplink 回 OA。
- 默认工作台入口在企业微信手机端落到 `/mobile`;桌面浏览器和账号密码登录仍进入 `/portal`。OA 主办业务的真正操作仍在 `hyb-oa` 内完成。
- 已上线的报销、采购、费用、合同、项目和财务类 OA 主办审批都在 OA 内提交和审批;企业微信消息只负责脱敏提醒并 deeplink 回 OA。请假、补卡、外出、加班后续按 WFOC/DBWFOC 迁往企业微信原生审批,OA 同步镜像并保留应急入口。
- 企微免登建议先完成账号绑定,再逐步在试点部门开启;任何时候都保留账号密码回退。
- 若 OA 部署到公网,生产建议同时满足:`HTTPS`、`COOKIE_SECURE=true`、登录失败锁定、限流、审计开启。
@@ -362,7 +364,7 @@ RuleOps:
- `WECOM_ALLOWED_RETURN_HOSTS=oa.hyinda.com`
5. 先让管理员用账号密码登录,在 `个人设置` 完成一次绑定,再测试企业微信工作台直达;已绑定用户从手机企业微信进入时应直接看到移动工作台。
6. 若启用 OA 同步企业微信打卡数据,在企业微信打卡 API「可调用接口的应用」中授权 `海音达工作台`。OA 默认可复用 `WECOM_AGENT_SECRET`;只有单独创建考勤同步应用时才额外配置 `WECOM_CHECKIN_SECRET`。
7. HR/考勤/行政审批后续配置企业微信原生审批模板作为主流程;报销、财务、采购、合同和项目类 OA 主办审批仍使用企业微信消息提醒并回到 OA 页面完成。
7. HR/考勤员工日常审批后续配置企业微信原生审批模板作为主流程;报销、财务、采购、合同和项目类 OA 主办审批仍使用企业微信消息提醒并回到 OA 页面完成。
### 员工会看到的典型状态
- 未绑定:登录页会提示“当前企业微信账号尚未绑定”,回退到账号密码登录。
@@ -386,6 +388,7 @@ RuleOps:
- 涉密正文、涉密附件、详细报价/成本/毛利、敏感客户资料不进入公网 OA。
- 企业微信通知不得发送涉密正文,只保留最小必要信息和 deeplink。
- 企业微信审批不作为涉密或财务审批载体,正式审批记录以 OA 审批历史和审计日志为准。
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不上传到企业微信原生审批或企业微信附件;企业微信只保留脱敏标题、编号、状态和 OA 链接。
- 如项目被标记为涉密,管理员应要求正文继续保存在内网文件盘、NAS 或离线档案中。
## 15. 初始化与导入建议
+1 -1
查看文件
@@ -4,7 +4,7 @@
**快照日期**:2026-03-12
**当前基线**:`P19+IM-1`、`P19+ERP-1`、`P19+ERP-2`、`P19+ERP-3`、`P19+MCP-1`、`P19+AI-1`、`P20+TRAVEL-1`、`P20+TRAVEL-2`、`P20+TRAVEL-3`、`P21+PWA-1` 与 `P21+PWA-2` 已完成;当前运行时已落地企微群机器人 + 深链 + Outbox 异步派发的一期协同适配,以及 ERP 主数据 Pull、报销付款凭证切片、采购双阶段 journal / 归档摘要出站、资产台账摘要出站、Postgres MCP 只读工具基线、报销 / 采购 / 资产详情页 AI 只读建议挂件、差旅申请主单 / 行程段 / 审批预算锁定 / `travel_orders` 关联入站、混合双轨对公支付闭环与批次级对账摘要桥的三期差旅基线,以及浏览器 PWA 下的移动资产扫码、盘点快捷录入与离线队列重放、移动审批 deep link 直达、本地会话快照离线守卫与审批草稿重放。
**目标**:在保持核心域稳定的前提下,冻结 ERP / IM / AI / MCP / TRAVEL / PWA 的长期边界,并记录 IM 一期、ERP 三期、AI 一期、差旅三期与 PWA 两期的已实现范围、禁入规则以及 R10 主线闭环后的固定收口结论。
**当前路线说明**:2026-05-17 HRWD 后,ERP 从“冻结待办”调整为“未来不接入 OA”;财务闭环固定为 OA 内审批/台账/付款批次/银行回单 + 月度代账交接。2026-05-18 WFOC 后,HR/考勤/行政审批优先复用企业微信成熟能力,OA 做完整镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、付款批次、AP 和代账交接继续由 OA 主办。飞书路线已废弃;钉钉、小程序、外部 IM 回调审批和付费第三方套件不进入首批。
**当前路线说明**:2026-05-17 HRWD 后,ERP 从“冻结待办”调整为“未来不接入 OA”;财务闭环固定为 OA 内审批/台账/付款批次/银行回单 + 月度代账交接。2026-05-18 WFOC/DBWFOC 后,HR/考勤员工日常审批优先复用企业微信成熟能力,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、采购、合同、项目、付款批次、AP、代账交接和高敏附件继续由 OA 主办。飞书路线已废弃;钉钉、小程序、外部 IM 回调审批和付费第三方套件不进入首批。
**不得误读**:本文是技术参考和历史证据,不作为当前 MVP 扩大 ERP、AI、TRAVEL、PWA 或外部 IM 适配范围的依据;ERP 相关历史实现和接口不代表后续路线,不再规划对接外部 ERP。
## 1. 总体原则
+22 -11
查看文件
@@ -6,7 +6,7 @@
**上级事实源**:[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)
**相关事实源**:[需求 - 统一审批中心规约](./需求-统一审批中心规约.md)
本规约细化企业微信在 `hyb-oa` 中的基础设施边界、入口、免登/绑定、通讯录身份、消息通知、deeplink、打卡、人事助手、原生审批、OA 镜像、人工接管和恢复回写要求。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”:能用企业微信成熟能力的 HR/考勤/行政审批优先使用企业微信,OA 做完整镜像、备份接管、财务闭环和审计中台。后续企业微信相关开发必须先从本规约拆分 Issue CSV,再进入技术方案和代码实现。
本规约细化企业微信在 `hyb-oa` 中的基础设施边界、入口、免登/绑定、通讯录身份、消息通知、deeplink、打卡、人事助手、原生审批、OA 镜像、人工接管和恢复回写要求。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”;DBWFOC 后进一步固定为:HR/考勤员工日常审批优先使用企业微信,OA 做按域镜像、备份接管、财务闭环和审计中台;采购、合同、项目、财务和高敏附件继续由 OA 主办。后续企业微信相关开发必须先从本规约拆分 Issue CSV,再进入技术方案和代码实现。
---
@@ -14,15 +14,16 @@
### 1.1 目标
- 企业微信作为 `hyb-oa` 的手机工作台入口、通讯录账号、身份辅助、消息通知、打卡、人事助手和 HR/考勤/行政审批主操作端。
- 企业微信作为 `hyb-oa` 的手机工作台入口、通讯录账号、身份辅助、消息通知、打卡、人事助手和 HR/考勤员工日常审批主操作端。
- 员工在手机企业微信中进入唯一自建应用 `海音达工作台`,默认落到 OA 移动端。
- OA 主办的报销、财务、采购、合同和项目类审批仍由企业微信消息提醒并 deeplink 回 OA 处理。
- HR/考勤/行政审批优先复用企业微信原生审批和打卡能力,OA 同步完整镜像、附件、审批历史、规则快照和审计记录。
- HR/考勤员工日常审批优先复用企业微信原生审批和打卡能力,OA 同步按域镜像、附件、审批历史、规则快照和审计记录。
- 企业微信不可用时,由管理员人工开启 OA HR/考勤应急模式;企微恢复后,OA 对应急数据执行 dry-run、自动回写、失败重试和冲突清单。
### 1.2 不做范围
- 不把企业微信聊天、文件或审批记录作为财务附件主库、报销 OCR 主库、付款批次主库或代账交接主库。
- 不把采购单、合同正文、供应商报价、项目敏感资料、发票原件、银行回单或代账资料上传到企业微信原生审批或企业微信附件。
- OA 不重造企业微信打卡采集和风控;ATTV1 起只同步企微打卡摘要并做 OA 考勤解释。
- 首批不在 OA 内重造企业微信打卡的定位、人脸识别、Wi-Fi、排班、设备和防作弊规则;长期无痛接管目标也不要求复刻所有企微风控细节。
- 不接入飞书、钉钉或其他办公平台作为首批入口。
@@ -33,8 +34,8 @@
| --- | --- | --- | --- |
| 通讯录 | 成员创建、读取、更新、禁用或删除 | 近期已验证 OA 写企微;后续改为企微主源同步 OA,OA 保留修复和审计 | `CAN_REUSE` |
| 人事助手 | 员工字段配置、花名册读取、花名册更新 | 作为员工主数据源,驱动 OA 员工、账号、角色、绑定和状态镜像 | `NEEDS_API_POC` |
| 打卡 | 打卡记录、员工规则、日报、月报、排班、补卡、规则管理 | 企微主办规则和采集,OA 同步完整镜像和应急对账 | `CAN_REUSE` |
| 审批 | 模板详情、提交审批、审批状态回调、审批详情、模板创建/更新、假期余额 | HR/考勤/行政审批企微主办,OA 同步镜像;OA 主办财务和报销审批不迁移 | `NEEDS_API_POC` |
| 打卡 | 打卡记录、员工规则、日报、月报、排班、补卡、规则管理 | 企微主办规则和采集,OA 同步按域镜像和应急对账 | `CAN_REUSE` |
| 审批 | 模板详情、提交审批、审批状态回调、审批详情、模板创建/更新、假期余额 | HR/考勤员工日常审批企微主办,OA 同步镜像;OA 主办财务、采购、合同、项目和报销审批不迁移 | `NEEDS_API_POC` |
| 工作台和消息 | 自建应用入口、应用消息、deeplink | 继续作为 OA 移动入口和通知渠道 | `CAN_REUSE` |
| 财务/报销 | 企微不提供本项目需要的 PDF OCR、付款批次、银行回单和代账闭环 | OA 主办 | `KEEP_OA_PRIMARY` |
| 真实支付、ERP、图片 OCR、银行流水导入 | 非本路线目标 | 不进入当前路线 | `NOT_IN_SCOPE` |
@@ -48,12 +49,12 @@
| 角色 | 使用目标 | 可做动作 | 权限边界 |
| --- | --- | --- | --- |
| 员工 | 从手机进入 OA、接收提醒、完成绑定 | 进入移动工作台、绑定企业微信身份、点击消息 deeplink、查看本人相关业务 | 不能通过企业微信绕过 OA 权限 |
| 审批人 | 在手机端处理企微主办审批或从消息回 OA 处理 OA 主办审批 | HR/考勤/行政审批在企微处理;财务、报销、采购、合同等 OA 主办审批回 OA 处理 | 不得把企微 HR 审批结果当作财务付款或报销依据,必须等 OA 镜像和财务规则确认 |
| 审批人 | 在手机端处理企微主办审批或从消息回 OA 处理 OA 主办审批 | 请假、补卡、外出、加班等 HR/考勤员工日常审批在企微处理;财务、报销、采购、合同、项目等 OA 主办审批回 OA 处理 | 不得把企微 HR 审批结果当作财务付款或报销依据,必须等 OA 镜像和财务规则确认 |
| 管理员/HR | 管理入口、人员、通讯录同步、绑定异常、离职停用和应急接管 | 配置可见范围、协助绑定、同步企微主数据、查看镜像状态、人工开启/关闭 OA 应急模式 | 不得手工把一个企业微信身份绑定到多个员工;不得无审计开启应急入口或静默覆盖企微数据 |
| 系统管理员 | 维护企业微信应用配置、消息通道、回调和 RuleOps | 配置 CorpID、AgentID、Secret、回调、可信域名、消息开关、重试策略和规则写入权限 | 不处理业务审批,不暴露 secret;AI 规则建议必须人工确认后才能写入企微 |
| 财务/老板 | 接收关键待办或状态提醒 | 点击 deeplink 回 OA 查看或处理 | 消息中不得出现完整发票、合同正文、敏感报价、银行卡、身份证 |
WFOC 后,企微/人事助手是 HR 员工主数据源;OA 是员工镜像、账号权限、财务业务、接管状态、审计和导出事实源。企业微信身份和通讯录账号服务于入口、通知、打卡采集、HR/考勤审批和移动工作台,但 OA 仍负责自己的权限判断、财务动作和审计边界。
WFOC 后,企微/人事助手是 HR 员工主数据源;OA 是员工镜像、账号权限、OA 主办业务、接管状态、审计和导出事实源。企业微信身份和通讯录账号服务于入口、通知、打卡采集、HR/考勤审批和移动工作台,但 OA 仍负责自己的权限判断、采购/合同/项目/财务动作和审计边界。
---
@@ -130,6 +131,7 @@ WFOC 后,企微/人事助手是 HR 员工主数据源;OA 是员工镜像、
- 企业微信消息只发送脱敏提醒,不承载正式审批动作。
- 消息内容只包含:标题、业务类型、业务编号、状态、处理入口。
- 消息不得包含完整发票图片、合同正文、敏感报价、银行卡、身份证、大段业务说明或密钥。
- OA 主办域的附件不通过企业微信原生审批或企业微信附件承载;员工点击消息后必须回到 OA 目标页按 OA 权限查看。
- 发送失败不阻断主业务提交、审批、付款或归档;失败记录进入可重试状态。
### 5.2 Deeplink 目标
@@ -172,7 +174,7 @@ deeplink 必须校验目标地址白名单,避免跳转到非 OA 域名或未
| OA 员工生命周期 | `DONE` | 支持入职、转正、调岗、离职 checklist、账号禁用、会话失效和审计。 |
| OA 驱动企微通讯录创建/更新/禁用 | `DONE_LIVE_VERIFIED` | 代码、同步记录、员工管理状态和重试入口已部署;HCLT 公网真实写入闭环通过,`HRWDTEST-20260517214548` create/update/disable 均返回 `errcode=0`。其他环境缺 Secret、默认部门或通讯录 API 权限时仍按 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` 或失败可重试处理。 |
| 企微 HR 主数据同步 OA | `PLANNED_BY_WFOC` | 后续以 `wecom_hr_master_sync_v1` 拆实现合同,员工主数据从企微/人事助手同步到 OA。 |
| 企业微信原生审批 | `PARTIAL_REUSE_BY_WFOC` | HR/考勤/行政审批优先复用企业微信,OA 同步完整镜像;报销、财务、采购、合同等 OA 主办审批不迁移。 |
| 企业微信原生审批 | `PARTIAL_REUSE_BY_WFOC` | HR/考勤员工日常审批优先复用企业微信,OA 同步按域镜像;报销、财务、采购、合同、项目等 OA 主办审批不迁移。 |
---
@@ -180,7 +182,7 @@ deeplink 必须校验目标地址白名单,避免跳转到非 OA 域名或未
- 企业微信打卡用于原始采集和规则执行,保留其定位、人脸识别、Wi-Fi、排班、设备和防作弊能力。
- OA 不重造打卡定位、人脸识别、Wi-Fi、排班、设备绑定、防作弊和异常判断引擎;长期无痛接管目标优先保障关键申请和审计,不复刻企微所有风控能力。
- ATTV1 新增企微打卡摘要同步、同步批次和 raw hash 留痕;WFOC 后后续目标扩展为打卡规则、排班、记录、日报、月报和异常摘要完整镜像。
- ATTV1 新增企微打卡摘要同步、同步批次和 raw hash 留痕;WFOC/DBWFOC 后后续目标扩展为打卡规则、排班、记录、日报、月报和异常摘要按域镜像。
- 请假、补卡、外出、加班优先走企业微信原生审批;OA 同步企微审批结果并形成考勤解释。
- 企业微信不可用时,管理员人工开启 `oa_hr_emergency_mode_v1`,OA 应急单据带 `EMERGENCY` 标记;企微恢复后由 `wecom_recovery_writeback_v1` 执行 dry-run、自动回写和冲突清单。
@@ -191,7 +193,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
| 企业微信打卡运营使用 | `DONE` | 员工继续按公司要求使用企业微信打卡,定位、人脸、Wi-Fi、设备和防作弊由企业微信侧承担。 |
| OA 同步企业微信打卡 API | `PARTIAL` | 同步表、批次、摘要和脱敏错误码已实现;公网真实同步取决于已授权调用打卡 API 的自建应用 Secret 和企微打卡 API 权限。默认显式 `WECOM_CHECKIN_SECRET` 优先;未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`。 |
| OA 历史 `attendance_v1` 极简打卡 | `FROZEN_CLOSED` | 该模块已从正式入口关闭;旧表保留,旧写接口返回 409,不作为企微打卡能力。 |
| 正式考勤解释 | `REPLANNED_BY_WFOC` | 当前 OA 已支持请假、补卡、外出、加班审批和月度解释;后续目标改为企微审批主办、OA 完整镜像、应急接管和恢复回写。 |
| 正式考勤解释 | `REPLANNED_BY_WFOC` | 当前 OA 已支持请假、补卡、外出、加班审批和月度解释;后续目标改为企微审批主办、OA 按域镜像、应急接管和恢复回写。 |
## 7.5 接管、回写和 RuleOps
@@ -201,6 +203,14 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
- `wecom_ruleops_v1` 允许 AI 读取 OA 制度和企微规则后生成建议配置、差异报告和风险提示;正式写入企微审批模板、打卡规则、排班、假期余额或人事字段前必须人工确认。
- 每次 RuleOps 写入必须保存前后快照、确认人、API `errcode`、失败原因、回滚建议和审计记录;不得保存 Secret、access token、完整位置、人脸数据或原始密钥材料。
## 7.6 DBWFOC 数据边界和按域镜像
- 企业微信成熟功能可作为 OA 流程、字段、交互和规则设计参考;参考不等于迁移数据主办方。
- 企业微信主办域镜像到 OA:通讯录/人事助手、打卡、请假、补卡、外出、加班、假期余额和 HR/考勤规则。
- OA 主办域不反向全量镜像到企业微信:报销、采购、费用、合同、项目、付款批次、AP、代账交接和审计只向企业微信发送脱敏提醒、状态和 OA 链接。
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。
- 企业微信消息点击后进入 OA deeplink,完成企业微信免登录或账号绑定后回到目标页;审批动作仍在 OA 完成,服务端权限仍以 OA 为准。
---
## 8. 验收场景
@@ -216,6 +226,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
| OA 应急接管 | 管理员人工开启应急模式后,员工在 OA 提交 HR/考勤应急申请 | 单据带 `EMERGENCY` 标记,进入恢复回写队列 |
| 恢复回写 | 企业微信恢复后执行 dry-run 和回写 | 成功、失败、冲突和人工确认项均可审计 |
| 报销通知脱敏 | 报销状态变化发送提醒 | 消息只有标题、编号、状态和入口,不含完整发票或附件 |
| 高敏附件边界 | 采购、合同、项目或财务事项产生企业微信提醒 | 企业微信只显示脱敏摘要和 OA 链接,不上传附件原文、不展示合同正文、报价、发票或银行回单 |
| 通知失败不阻断 | 模拟企业微信消息发送失败 | 主业务成功,通知进入失败可重试 |
| 打卡边界确认 | 员工使用企业微信打卡,OA 查看考勤相关说明 | 文档和界面不暗示 OA 已重造定位、人脸或排班 |
@@ -230,7 +241,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
- A5:企业微信通知 provider 和失败重试,不阻断主业务。
- A6:deeplink 白名单和移动目标页回跳。
- A7:`wecom_hr_master_sync_v1`,企微/人事助手员工主数据同步 OA。
- A8:`wecom_native_approval_mirror_v1`,企微请假、补卡、外出、加班审批和打卡数据完整镜像。
- A8:`wecom_native_approval_mirror_v1`,企微请假、补卡、外出、加班审批和打卡数据按域镜像。
- A9:`oa_hr_emergency_mode_v1`,OA 人工接管 HR/考勤应急提交。
- A10:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。
- A11:`wecom_ruleops_v1`,AI 草拟、人工确认、API 写入和配置快照审计。
+3
查看文件
@@ -37,6 +37,7 @@
- 首批不做客户关系管理 CRM、供应商生命周期管理或完整法务系统。
- 涉密合同正文、敏感报价、成本细节、客户敏感资料不进入公网 OA。
- 不使用企业微信原生审批管理正式合同审批。
- 合同正文、合同附件、报价、供应商资料和涉密归档信息不上传到企业微信原生审批或企业微信附件;企业微信只做脱敏提醒和 OA deeplink。
- 不接入飞书文档或飞书审批作为合同事实源。
---
@@ -200,6 +201,8 @@
| 项目轻管理 | 项目页汇总相关合同、里程碑、交付和风险 |
| 企业微信 | 只发送脱敏通知:合同编号、标题、状态和 deeplink |
企业微信通知不得包含合同正文、报价明细、供应商敏感资料、附件原文或线下归档位置的完整细节;点击后必须回到 OA,并按 OA 权限查看摘要或附件。
---
## 10. 异常规则
+2
查看文件
@@ -26,6 +26,7 @@
- 首批不做银行自动付款、企业卡自动对账、ERP 自动入账。
- 首批不做复杂预算占用和多币种核算。
- 首批不把企业微信文件作为发票或附件长期主库。
- 报销单、发票原件、附件、银行回单、付款资料和代账交接资料不上传到企业微信原生审批或企业微信附件;企业微信只做脱敏提醒和 OA deeplink。
---
@@ -346,6 +347,7 @@ BIZ8 阶段的图片 OCR 结论是“技术可行,但当前不开放为正式
- 报销审批链、直属主管、老板/总经理、自审禁止、`manager`、`ceo`、`admin` 的角色口径,以统一审批中心规约为准;本规约不重复维护第二套审批事实源。
- 企业微信消息只包含脱敏标题、报销单号、状态和 OA deeplink。
- 消息中不得包含完整发票图片、合同正文、银行卡、身份证、敏感报价或大段说明。
- 企业微信原生审批不承载报销审批或报销附件;审批人点击企业微信消息后必须回 OA 按 OA 权限查看和处理。
- 企业微信通知失败不阻断报销提交、审批或付款标记。
---
+8 -5
查看文件
@@ -5,7 +5,7 @@
**状态**:模块级开发规约
**上级事实源**:[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)
本规约细化 `hyb-oa` 审批中心和企业微信原生审批镜像的产品边界、角色权限、状态模型、异常规则、留痕要求和验收场景。WFOC 起,审批按主办方分层:报销、财务、采购、合同和项目类审批继续由 OA 主办;HR/考勤/行政审批优先由企业微信主办,OA 同步完整镜像并保留人工接管和恢复回写能力。后续审批相关开发必须先从本规约拆分 Issue CSV,再进入技术方案和代码实现。
本规约细化 `hyb-oa` 审批中心和企业微信原生审批镜像的产品边界、角色权限、状态模型、异常规则、留痕要求和验收场景。WFOC 起,审批按主办方分层;DBWFOC 后边界进一步收窄:报销、财务、采购、合同和项目类审批继续由 OA 主办;请假、补卡、外出、加班等 HR/考勤员工日常审批优先由企业微信主办,OA 同步按域镜像并保留人工接管和恢复回写能力。后续审批相关开发必须先从本规约拆分 Issue CSV,再进入技术方案和代码实现。
---
@@ -14,7 +14,7 @@
### 1.1 目标
- `hyb-oa` 是财务审批、报销、采购、合同、项目和审计镜像中心。
- HR/考勤/行政审批优先复用企业微信原生审批;OA 同步审批单、审批历史、附件、状态回调和审计镜像。
- HR/考勤员工日常审批优先复用企业微信原生审批;OA 同步审批单、审批历史、附件、状态回调和审计镜像。
- PC、移动端和企业微信入口应能区分 OA 主办审批、企微主办审批镜像和 OA 应急接管单据。
- 企业微信消息继续作为 OA 主办审批的提醒和 deeplink;企微主办审批在企业微信内完成,OA 负责镜像和恢复对账。
- 企微不可用时,管理员可人工开启 `oa_hr_emergency_mode_v1`,临时由 OA 接管 HR/考勤应急审批;企微恢复后通过 `wecom_recovery_writeback_v1` 回写和对账。
@@ -47,6 +47,7 @@ OA 中既有请假、补卡、外出、加班能力转为历史只读、镜像
- 首批不做跨公司多租户审批市场化配置。
- 首批不做审批动作离线处理;移动端必须在线提交动作。
- 不把企业微信 HR/考勤审批结果直接用于报销付款、财务复核或 AP 台账;财务动作必须在 OA 内完成。
- 不把采购单、合同正文、报价、供应商资料、发票、银行回单或代账资料上传到企业微信原生审批或企业微信附件。
- 不让 AI 直接改正式审批模板;`wecom_ruleops_v1` 只能先草拟和 dry-run,人工确认后才允许写入企微。
---
@@ -58,7 +59,7 @@ OA 中既有请假、补卡、外出、加班能力转为历史只读、镜像
| 申请人 | 普通员工、主管、财务、HR | 创建草稿、提交、查看自己的单据、撤回允许撤回的单据、按退回意见修改后重提 | 只能编辑草稿、已退回、已驳回且规则允许重提的本人单据;当前不允许审批自己的待办;未来如需自审例外,必须另拆规则并强审计 |
| 审批人 | 主管、项目负责人、老板、被转审人 | 查看分配给自己的待办,通过、驳回、退回、转审、查看审批历史 | 只能处理当前分配给自己的任务;不能越权处理他人待办 |
| 财务 | 财务人员、财务主管 | 处理报销复核、付款标记、财务导出、重复发票例外审批中与财务相关的动作 | 不默认拥有系统管理权限;财务例外动作必须留痕 |
| HR/行政 | HR、行政负责人 | 在企业微信处理请假、补卡、外出、加班等行政审批;在 OA 查看镜像、处理应急接管和恢复对账 | 不能绕过审批流直接改业务结果,必要修正必须审计 |
| HR/行政 | HR、行政负责人 | 在企业微信处理请假、补卡、外出、加班等 HR/考勤员工日常审批;在 OA 查看镜像、处理应急接管和恢复对账 | 不能绕过审批流直接改业务结果,必要修正必须审计 |
| 老板/总经理 | 公司负责人 | 处理大额、高风险或最终节点审批,查看公司级待办和摘要 | 操作仍需写入审批历史和审计日志 |
| 系统管理员 | 运维或后台系统负责人 | 配置角色、权限、企业微信入口、通知、基础字典、功能开关、应急模式和 RuleOps | `admin` 只代表系统管理权限,不自动获得业务单据审批权;应急模式、回写和规则写入必须有审计 |
@@ -114,7 +115,7 @@ OA 中既有请假、补卡、外出、加班能力转为历史只读、镜像
| PC 审批待办 | `/workflow/tasks` | 审批人集中处理待办、已办、抄送或历史任务 | 应在 PC 主导航清晰可达 |
| 移动审批 | `/mobile/approvals` | 手机端处理待办和查看审批历史 | 应适配企业微信 WebView 和普通手机浏览器 |
| 业务详情页 | 报销、请假、采购、合同等详情页 | 从具体单据查看审批流和执行动作 | 状态、当前节点、历史记录必须与待办一致 |
| 企业微信消息 | deeplink 到 OA 页面或企微原生审批 | OA 主办审批回 OA,HR/考勤企微主办审批在企业微信处理 | 必须区分主办方,不把企微 HR 审批当作财务审批 |
| 企业微信消息 | deeplink 到 OA 页面或企微原生审批 | OA 主办审批回 OA,HR/考勤企微主办审批在企业微信处理 | 必须区分主办方,不把企微 HR 审批当作财务审批;OA 主办域附件不进入企微 |
| Portal 待办摘要 | `/portal` 或首页卡片 | 提醒当前待处理数量 | 点击后进入 `/workflow/tasks` 或对应详情页 |
### 3.2 任务列表要求
@@ -349,7 +350,9 @@ WF8-3、WF8-4、WF8-5 实现前必须基于本设计给技术方案;实现后
- 企业微信消息只发送脱敏提醒:标题、业务编号、状态、处理入口。
- 企业微信 deeplink 必须指向 OA 审批页或业务详情页。
- 用户点击消息后,在 OA 内查看详情并执行审批动作。
- 企业微信原生审批参与 HR/考勤/行政审批正式流程,OA 通过 `wecom_native_approval_mirror_v1` 同步为可查询、可导出、可审计的镜像记录。报销、财务、采购、合同和项目类 OA 主办审批仍不得在企业微信原生审批中替代完成。
- 企业微信原生审批参与 HR/考勤员工日常审批正式流程,OA 通过 `wecom_native_approval_mirror_v1` 同步为可查询、可导出、可审计的镜像记录。报销、财务、采购、合同和项目类 OA 主办审批仍不得在企业微信原生审批中替代完成。
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单、代账资料和其他高敏附件不进入企业微信原生审批或企业微信附件;企业微信只做提醒、deeplink 和免登录回流。
- 按域镜像是默认规则:企微主办 HR/考勤域镜像到 OA;OA 主办采购、合同、项目、财务和报销域不反向全量镜像到企微。
- 若企业微信返回 `invaliduser`、`unlicenseduser`、不可见范围或权限类错误,业务提交和审批动作不应回滚,但通知记录必须可审计、可重试,并提示管理员修正企业微信应用可见范围或账号绑定。
- 真机验收以企业微信手机端收到应用消息并可点击回流为准;系统级弹窗是否出现受客户端通知权限影响,不作为 OA 通知链路硬门槛。
+3 -2
查看文件
@@ -7,7 +7,7 @@
**相关事实源**:[需求 - 统一审批中心规约](./需求-统一审批中心规约.md)、[需求 - 企业微信基础设施规约](./需求-企业微信基础设施规约.md)
**体验总依据**:[产品设计规则基线](./产品设计规则.md)
本规约细化请假、补卡、外出、加班与考勤修正的产品要求。WFOC 起,企业微信作为 HR/考勤/行政审批和打卡规则主操作端;OA 负责完整镜像、应急接管、恢复回写、查询导出和审计。PC 和移动页面体验以产品设计规则基线为依据,不重复定义通用审批链和移动导航规则。
本规约细化请假、补卡、外出、加班与考勤修正的产品要求。WFOC 起,企业微信作为 HR/考勤员工日常审批和打卡规则主操作端;OA 负责按域镜像、应急接管、恢复回写、查询导出和审计。PC 和移动页面体验以产品设计规则基线为依据,不重复定义通用审批链和移动导航规则。
---
@@ -36,6 +36,7 @@
- 不在 OA 内重造企业微信打卡采集和风控;OA 同步记录、规则、日报、月报和异常摘要并做镜像解释。
- 首批不做复杂假期余额、调休余额、薪资计算、排班引擎和法定节假日自动规则。
- 不把企业微信打卡异常直接作为 OA 最终考勤结论;最终解释需结合企微审批、OA 应急单和恢复对账结果。
- 本规约只覆盖 HR/考勤员工日常审批,不改变采购、费用、合同、项目、报销和财务审批继续 OA 主办的边界。
### 1.4 当前实现状态
@@ -219,7 +220,7 @@ WFOC 后,正常审批规则优先以企业微信审批模板和打卡/假期
- 已完成:OA 侧补卡/外出/加班申请对象、统一审批接入、月度考勤解释页、移动入口和企业微信 deeplink 回 OA;WFOC 后这些能力默认作为历史查询和应急接管基础。
- 后续 A1:`wecom_native_approval_mirror_v1`,同步企微请假、补卡、外出、加班审批、附件、历史和状态回调。
- 后续 A2:企微打卡规则、排班、记录、日报、月报完整镜像,覆盖 Secret/API 权限、短窗口同步、错误码和脱敏证据。
- 后续 A2:企微打卡规则、排班、记录、日报、月报按域镜像,覆盖 Secret/API 权限、短窗口同步、错误码和脱敏证据。
- 后续 A3:`oa_hr_emergency_mode_v1`,管理员人工接管、应急提交、应急审批和恢复队列。
- 后续 A4:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。
- 后续 A5:团队状态和日历按企微镜像、OA 应急单和回写结果统一解释。
+4 -3
查看文件
@@ -37,7 +37,8 @@
- 首批不做预算占用、预算冻结、预算释放和预算超额控制。
- 首批不做支付执行、银行直连、ERP 入账或财务凭证生成。
- 首批不做库存管理、资产自动入账、采购订单全生命周期或三单匹配。
- 不使用企业微信原生审批;企业微信只做通知和 deeplink。
- 不使用企业微信原生审批;企业微信只做脱敏通知和 deeplink。
- 采购单、费用申请、报价、供应商资料、合同草稿、验收材料和附件不上传到企业微信原生审批或企业微信附件。
- 不接入飞书审批、飞书项目或飞书文档作为正式流程。
---
@@ -119,7 +120,7 @@
| 项目材料 | 项目关联、材料清单、交付或验收说明 | 建议关联项目 |
| 大额采购 | 报价、合同草稿或验收附件 | 建议关联合同或后续验收记录 |
附件不得包含账号密码、密钥、客户涉密资料、敏感报价明细等不应进入公网 OA 的内容;确需留存时只记录线下归档位置。
附件不得包含账号密码、密钥、客户涉密资料、敏感报价明细等不应进入公网 OA 的内容;确需留存时只记录线下归档位置。企业微信消息只允许展示采购/费用的脱敏标题、编号、状态和 OA 链接,不承载附件原文。
---
@@ -171,7 +172,7 @@
| 报销/OCR | 费用发生后可关联报销单;发票、OCR、付款和导出仍由报销规约管理 |
| 合同归档 | 大额采购或服务采购可关联合同台账;合同正文和敏感附件按合同规约处理 |
| 项目轻管理 | 项目页汇总采购/费用事项,用于项目成本和风险参考 |
| 企业微信 | 只发送脱敏通知和 deeplink,审批动作回 OA 完成 |
| 企业微信 | 只发送脱敏通知和 deeplink,审批动作回 OA 完成;采购、报价、供应商和附件不进企微原生审批或企微附件 |
---
+2
查看文件
@@ -39,6 +39,7 @@
- 首批不做项目 IM、在线文档协同或会议系统。
- 首批不做 AI 项目总结、自动风险识别或自动排期。
- 不把飞书项目、企业微信原生审批或第三方付费项目工具作为当前 MVP 依赖。
- 企业微信成熟项目或审批能力可作为交互参考,但项目数据、交付附件、合同/采购/费用关联和敏感资料继续由 OA 主办,不上传到企业微信原生审批或企业微信附件。
---
@@ -196,6 +197,7 @@
| 无权限查看关联单据 | 只显示脱敏摘要或不显示 | 不泄露敏感字段 |
| 业务单据取消或删除 | 项目页同步显示取消或不可用状态 | 保留历史关联 |
| 附件涉密 | 不上传公网 OA,只记录线下归档位置 | 提示按线下归档处理 |
| 企业微信消息 | 只发送脱敏项目或待办摘要和 OA 链接 | 不包含交付附件、合同正文、报价、成本或客户敏感资料 |
---
@@ -0,0 +1,10 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
"DBWFOC-0","合同建档","建立 DATA-BOUNDARY-WFOC-REVISION 合同,锁定本轮只做企微能力参考与 OA 主办数据边界修正,不改业务代码、不部署、不改公网配置。","1) CSV 校验通过;2) 明确本轮只更新需求事实源、模块规约、手册、索引、事实源矩阵和项目 skill;3) 不新增 API/schema/UI/feature flag;4) 不触碰公网配置或真实数据。","受影响流程:需求边界确认 -> 执行合同 -> 后续实现合同;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv。","python3|manual","DONE","DONE","DONE","issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv","[]","已验证:CSV 校验、文档审计、skill 校验、内容 rg 和 git diff --check 通过;audit-docs 仅保留既有 unregistered docs files warning。回滚路径:回退本 CSV 和文档口径回写;不涉及运行时。"
"DBWFOC-1","数据风险复核","记录采购、合同、报价、付款、发票、银行回单、代账资料等不应进入企微原生审批或企微附件的风险。","1) 高敏数据和附件风险写入 PRD/企微规约/采购合同财务规约;2) 明确企微消息只承载脱敏摘要和 OA 链接;3) 不要求采购单、合同附件或财务资料上传企微。","受影响流程:OA 主办业务 -> 企业微信消息提醒 -> OA deeplink;验证步骤:rg -n '采购.*不进企微|合同.*不进企微|附件.*不进企微|银行回单|代账资料|脱敏摘要' docs。","rg|manual","DONE","DONE","DONE","docs","[""DBWFOC-0""]","已验证:PRD、产品口径、企微/审批/采购/合同/报销/项目规约和手册均写明高敏资料不进入企微原生审批或附件;只修需求边界,不改变已部署通知能力。"
"DBWFOC-2","企微能力复用原则","明确企业微信成熟功能可作为流程、字段、交互和规则参考;除 HR/考勤员工日常能力外,不默认把业务流迁到企微。","1) PRD、产品口径和企业微信规约写明参考而非托管;2) 采购/合同/财务/项目继续 OA 主办;3) 后续每个迁移项必须另建合同并声明数据边界。","受影响流程:企微能力调研 -> OA 需求设计 -> 后续合同拆分;验证步骤:rg -n '成熟功能.*参考|参考.*不等于|不默认.*迁到企微|OA 主办' docs。","rg","DONE","DONE","DONE","docs/海音达OA-MVP需求规格说明书.md|docs/产品口径.md|docs/需求-企业微信基础设施规约.md","[""DBWFOC-1""]","已验证:企业微信官方能力可参考,但不扩大数据托管范围。"
"DBWFOC-3","审批边界修正","将 HR/考勤/行政审批企微优先统一改为 HR/考勤员工日常审批企微优先,避免与采购、费用、合同和项目混淆。","1) 当前事实源不再把采购/合同/财务误归入企微原生审批;2) 请假、补卡、外出、加班仍为企微原生审批第一阶段;3) OA 主办审批清单清晰。","受影响流程:员工提交 HR/考勤事项 -> 企业微信审批;员工提交采购/合同/财务事项 -> OA 审批;验证步骤:rg -n 'HR/考勤员工日常审批|HR/考勤/行政审批|企业微信原生审批' docs。","rg","DONE","DONE","DONE","docs/海音达OA-MVP需求规格说明书.md|docs/产品口径.md|docs/需求-统一审批中心规约.md|docs/需求-请假考勤修正规约.md","[""DBWFOC-2""]","已验证:当前事实源已用 DBWFOC 说明修正旧 WFOC 宽口径;保留 HR/行政 角色名时结合上下文说明为 HR/考勤管理,不扩大审批主办范围。"
"DBWFOC-4","高敏附件边界","固定采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不上传到企微原生审批;企微只发脱敏摘要和 OA 链接。","1) 采购、合同、报销、财务和企业微信规约均写明附件边界;2) 企微消息不得包含附件原文或敏感正文;3) 涉密材料继续按 OA 受控元数据或线下归档处理。","受影响流程:OA 主办单据附件 -> 审批通知 -> 企业微信 deeplink;验证步骤:rg -n '附件.*不进企微|不上传到企微|合同正文|报价|银行回单|OA 链接' docs。","rg","DONE","DONE","DONE","docs/需求-采购费用审批规约.md|docs/需求-合同附件归档规约.md|docs/需求-报销发票OCR规约.md|docs/需求-企业微信基础设施规约.md","[""DBWFOC-3""]","已验证:高敏附件不进企微是默认策略;例外必须另建合同。"
"DBWFOC-5","OA 主办审批消息","明确 OA 主办审批继续通过企业微信个人应用消息通知;消息点击后走企业微信免登录或账号绑定回跳,打开 OA 对应审批页。","1) 统一审批和企微规约写清 OA 主办审批消息路径;2) 消息只含脱敏标题、类型、编号、状态和处理入口;3) 审批动作仍在 OA 完成,服务端权限仍以 OA 为准。","受影响流程:OA 单据提交 -> 企业微信消息 -> 免登录/deeplink -> OA 审批页;验证步骤:rg -n 'OA 主办审批.*企业微信|脱敏标题|免登录|deeplink|审批动作仍在 OA' docs。","rg","DONE","DONE","DONE","docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md|docs/管理员手册.md|docs/员工快速上手.md","[""DBWFOC-4""]","已验证:OA 主办审批消息口径已回写;不接个人微信,微信均指企业微信个人应用消息。"
"DBWFOC-6","按域镜像定义","重新定义完整镜像为按域镜像:企微主办域镜像到 OA;OA 主办域不反向全量镜像到企微。","1) PRD、产品口径和企微规约写明按域镜像;2) OA 主办域只向企微发送脱敏提醒和链接;3) 不写全量双向复制承诺。","受影响流程:企微 HR/考勤 -> OA 镜像;OA 财务/采购/合同 -> 企微提醒;验证步骤:rg -n '按域镜像|不反向全量镜像|OA 主办域|企微主办域' docs。","rg","DONE","DONE","DONE","docs/海音达OA-MVP需求规格说明书.md|docs/产品口径.md|docs/需求-企业微信基础设施规约.md","[""DBWFOC-5""]","已验证:完整镜像不等于所有系统全量双向复制。"
"DBWFOC-7","后续实现排序","调整后续合同顺序:先做数据边界和入口治理,再做企微 HR 主数据同步、企微 HR/考勤审批镜像、OA 应急接管,最后评估恢复回写和 RuleOps。","1) PRD、企微规约、索引和事实源矩阵记录新排序;2) 后续合同不混入采购/合同/财务企微审批迁移;3) 入口治理必须先处理 OA/企微双轨入口风险。","受影响流程:需求收口 -> 后续实现拆分;验证步骤:rg -n '数据边界|入口治理|wecom_hr_master_sync_v1|wecom_native_approval_mirror_v1|oa_hr_emergency_mode_v1|wecom_recovery_writeback_v1|wecom_ruleops_v1' docs。","rg","DONE","DONE","DONE","docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md","[""DBWFOC-6""]","已验证:后续实现顺序只规划,不启动代码。"
"DBWFOC-8","文档和 skill 收口","回写 PRD、产品口径、企微规约、审批规约、采购/合同/财务规约、管理员/员工手册、索引、事实源矩阵、人工试运行报告和项目 skill。","1) 相关事实源均按 DBWFOC 口径一致;2) skill 不再把企微优先误读为高敏业务迁企微;3) audit-docs、skill validate 和 git diff --check 通过;4) Issue 状态回填完成。","受影响流程:文档读取 -> 后续 agent/人工实现 -> 验收口径;验证步骤: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;rg -n 'DBWFOC|HR/考勤员工日常审批|按域镜像|企微只做提醒|不进企微' docs issues .agents/skills/hyb-oa-delivery/SKILL.md。","node|python3|git|rg","DONE","DONE","DONE","docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv","[""DBWFOC-7""]","已验证:audit-docs errors=0 warnings=1(既有 unregistered docs files: 24)、skill valid、git diff --check 和内容 rg 通过;不部署。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 DBWFOC-0 合同建档 建立 DATA-BOUNDARY-WFOC-REVISION 合同,锁定本轮只做企微能力参考与 OA 主办数据边界修正,不改业务代码、不部署、不改公网配置。 1) CSV 校验通过;2) 明确本轮只更新需求事实源、模块规约、手册、索引、事实源矩阵和项目 skill;3) 不新增 API/schema/UI/feature flag;4) 不触碰公网配置或真实数据。 受影响流程:需求边界确认 -> 执行合同 -> 后续实现合同;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv。 python3|manual DONE DONE DONE issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv [] 已验证:CSV 校验、文档审计、skill 校验、内容 rg 和 git diff --check 通过;audit-docs 仅保留既有 unregistered docs files warning。回滚路径:回退本 CSV 和文档口径回写;不涉及运行时。
3 DBWFOC-1 数据风险复核 记录采购、合同、报价、付款、发票、银行回单、代账资料等不应进入企微原生审批或企微附件的风险。 1) 高敏数据和附件风险写入 PRD/企微规约/采购合同财务规约;2) 明确企微消息只承载脱敏摘要和 OA 链接;3) 不要求采购单、合同附件或财务资料上传企微。 受影响流程:OA 主办业务 -> 企业微信消息提醒 -> OA deeplink;验证步骤:rg -n '采购.*不进企微|合同.*不进企微|附件.*不进企微|银行回单|代账资料|脱敏摘要' docs。 rg|manual DONE DONE DONE docs ["DBWFOC-0"] 已验证:PRD、产品口径、企微/审批/采购/合同/报销/项目规约和手册均写明高敏资料不进入企微原生审批或附件;只修需求边界,不改变已部署通知能力。
4 DBWFOC-2 企微能力复用原则 明确企业微信成熟功能可作为流程、字段、交互和规则参考;除 HR/考勤员工日常能力外,不默认把业务流迁到企微。 1) PRD、产品口径和企业微信规约写明参考而非托管;2) 采购/合同/财务/项目继续 OA 主办;3) 后续每个迁移项必须另建合同并声明数据边界。 受影响流程:企微能力调研 -> OA 需求设计 -> 后续合同拆分;验证步骤:rg -n '成熟功能.*参考|参考.*不等于|不默认.*迁到企微|OA 主办' docs。 rg DONE DONE DONE docs/海音达OA-MVP需求规格说明书.md|docs/产品口径.md|docs/需求-企业微信基础设施规约.md ["DBWFOC-1"] 已验证:企业微信官方能力可参考,但不扩大数据托管范围。
5 DBWFOC-3 审批边界修正 将 HR/考勤/行政审批企微优先统一改为 HR/考勤员工日常审批企微优先,避免与采购、费用、合同和项目混淆。 1) 当前事实源不再把采购/合同/财务误归入企微原生审批;2) 请假、补卡、外出、加班仍为企微原生审批第一阶段;3) OA 主办审批清单清晰。 受影响流程:员工提交 HR/考勤事项 -> 企业微信审批;员工提交采购/合同/财务事项 -> OA 审批;验证步骤:rg -n 'HR/考勤员工日常审批|HR/考勤/行政审批|企业微信原生审批' docs。 rg DONE DONE DONE docs/海音达OA-MVP需求规格说明书.md|docs/产品口径.md|docs/需求-统一审批中心规约.md|docs/需求-请假考勤修正规约.md ["DBWFOC-2"] 已验证:当前事实源已用 DBWFOC 说明修正旧 WFOC 宽口径;保留 HR/行政 角色名时结合上下文说明为 HR/考勤管理,不扩大审批主办范围。
6 DBWFOC-4 高敏附件边界 固定采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不上传到企微原生审批;企微只发脱敏摘要和 OA 链接。 1) 采购、合同、报销、财务和企业微信规约均写明附件边界;2) 企微消息不得包含附件原文或敏感正文;3) 涉密材料继续按 OA 受控元数据或线下归档处理。 受影响流程:OA 主办单据附件 -> 审批通知 -> 企业微信 deeplink;验证步骤:rg -n '附件.*不进企微|不上传到企微|合同正文|报价|银行回单|OA 链接' docs。 rg DONE DONE DONE docs/需求-采购费用审批规约.md|docs/需求-合同附件归档规约.md|docs/需求-报销发票OCR规约.md|docs/需求-企业微信基础设施规约.md ["DBWFOC-3"] 已验证:高敏附件不进企微是默认策略;例外必须另建合同。
7 DBWFOC-5 OA 主办审批消息 明确 OA 主办审批继续通过企业微信个人应用消息通知;消息点击后走企业微信免登录或账号绑定回跳,打开 OA 对应审批页。 1) 统一审批和企微规约写清 OA 主办审批消息路径;2) 消息只含脱敏标题、类型、编号、状态和处理入口;3) 审批动作仍在 OA 完成,服务端权限仍以 OA 为准。 受影响流程:OA 单据提交 -> 企业微信消息 -> 免登录/deeplink -> OA 审批页;验证步骤:rg -n 'OA 主办审批.*企业微信|脱敏标题|免登录|deeplink|审批动作仍在 OA' docs。 rg DONE DONE DONE docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md|docs/管理员手册.md|docs/员工快速上手.md ["DBWFOC-4"] 已验证:OA 主办审批消息口径已回写;不接个人微信,微信均指企业微信个人应用消息。
8 DBWFOC-6 按域镜像定义 重新定义完整镜像为按域镜像:企微主办域镜像到 OA;OA 主办域不反向全量镜像到企微。 1) PRD、产品口径和企微规约写明按域镜像;2) OA 主办域只向企微发送脱敏提醒和链接;3) 不写全量双向复制承诺。 受影响流程:企微 HR/考勤 -> OA 镜像;OA 财务/采购/合同 -> 企微提醒;验证步骤:rg -n '按域镜像|不反向全量镜像|OA 主办域|企微主办域' docs。 rg DONE DONE DONE docs/海音达OA-MVP需求规格说明书.md|docs/产品口径.md|docs/需求-企业微信基础设施规约.md ["DBWFOC-5"] 已验证:完整镜像不等于所有系统全量双向复制。
9 DBWFOC-7 后续实现排序 调整后续合同顺序:先做数据边界和入口治理,再做企微 HR 主数据同步、企微 HR/考勤审批镜像、OA 应急接管,最后评估恢复回写和 RuleOps。 1) PRD、企微规约、索引和事实源矩阵记录新排序;2) 后续合同不混入采购/合同/财务企微审批迁移;3) 入口治理必须先处理 OA/企微双轨入口风险。 受影响流程:需求收口 -> 后续实现拆分;验证步骤:rg -n '数据边界|入口治理|wecom_hr_master_sync_v1|wecom_native_approval_mirror_v1|oa_hr_emergency_mode_v1|wecom_recovery_writeback_v1|wecom_ruleops_v1' docs。 rg DONE DONE DONE docs/文档索引.md|docs/文档事实源状态矩阵.md|docs/海音达OA-MVP需求规格说明书.md|docs/需求-企业微信基础设施规约.md ["DBWFOC-6"] 已验证:后续实现顺序只规划,不启动代码。
10 DBWFOC-8 文档和 skill 收口 回写 PRD、产品口径、企微规约、审批规约、采购/合同/财务规约、管理员/员工手册、索引、事实源矩阵、人工试运行报告和项目 skill。 1) 相关事实源均按 DBWFOC 口径一致;2) skill 不再把企微优先误读为高敏业务迁企微;3) audit-docs、skill validate 和 git diff --check 通过;4) Issue 状态回填完成。 受影响流程:文档读取 -> 后续 agent/人工实现 -> 验收口径;验证步骤: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;rg -n 'DBWFOC|HR/考勤员工日常审批|按域镜像|企微只做提醒|不进企微' docs issues .agents/skills/hyb-oa-delivery/SKILL.md。 node|python3|git|rg DONE DONE DONE docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv ["DBWFOC-7"] 已验证:audit-docs errors=0 warnings=1(既有 unregistered docs files: 24)、skill valid、git diff --check 和内容 rg 通过;不部署。