WFDG 收口企微优先设计门禁

这个提交包含在:
2026-05-18 12:32:16 +08:00
父节点 14c5e38798
当前提交 d128161a95
共修改 16 个文件,包含 97 行新增和 34 行删除
+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-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 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 校验通过。 |
| 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 主办高敏业务不进企微原生审批或企微附件。 |
| 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 预检推进
+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/DBWFOC 覆盖:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、采购、合同、项目、付款批次、AP、代账交接和高敏附件仍由 OA 主办。
本清单中的 A1-A8/R5/R6/R7E 证据保留当时路线:OA 是首轮主业务系统和正式审批中心,企业微信只做入口、身份、通知、deeplink 和打卡原始采集边界。当前最新产品口径已由 WFOC/DBWFOC/WFDG 覆盖:HR/考勤员工日常审批优先复用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;财务、报销、采购、合同、项目、付款批次、AP、代账交接和高敏附件仍由 OA 主办。后续正式迁移前先做 `WECOM-CAPABILITY-POC-V1`,不直接大规模开发。
## 2. 已完成证据
+7 -1
查看文件
@@ -20,13 +20,19 @@
- 企业微信打卡用于原始采集,保留其定位、人脸、Wi-Fi、规则与设备能力。
- OA 后续同步企业微信打卡规则、排班、记录、日报、月报和 HR/考勤审批镜像,形成正式考勤口径。
- 请假、补卡、外出、加班等考勤修正正常在企业微信完成;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 按域镜像定义
- 企微主办域镜像到 OA:通讯录/人事助手、打卡、请假、补卡、外出、加班、假期余额和 HR/考勤规则。
- OA 主办域不反向全量镜像到企微:报销、采购、费用、合同、项目、付款批次、AP、代账交接和审计只发送脱敏消息、状态和 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,使用顶部返回、状态和吸底操作。
- 竞品资料只用于抽象原则;不得复制飞书、钉钉、企业微信、泛微、每刻、合思、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 只承接 UI/布局统一,不替代 WF8 审批通知验收、不替代 UX8 真实反馈池、不替代 BIZ8 财务/OCR/项目业务验收,也不代表已启动部署。
+2 -1
查看文件
@@ -1,6 +1,6 @@
# 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. 你每周主要会用到什么
- `Portal`:看公告、我的待办、我的资产、本周周报入口。
@@ -55,6 +55,7 @@
- 有通知先看站内消息,IM 只是补充提醒
- 收到 OA 主办审批提醒时,点开后回到 OA 页面处理;收到企业微信 HR/考勤原生审批待办时,在企业微信内处理。
- 企业微信消息只会显示脱敏摘要和 OA 链接;采购单附件、合同正文、报价、发票、银行回单和代账资料不要上传到企业微信原生审批或企业微信附件。
- 如果 OA 页面标识为“企微镜像”,表示用于查看同步状态、历史和审计;如果标识为“OA 应急接管”,只有管理员明确通知后才在 OA 提交 HR/考勤应急申请。
- 首周遇到问题时,记录角色、页面、操作步骤和影响,不要在截图或文字里包含密码、完整票面、银行回单或敏感报价。
## 9. 从企业微信进入
+1 -1
查看文件
@@ -84,7 +84,7 @@
- 每次只做当前 Issue 范围内的事,不顺手重构无关模块。
- 跨后端和前端的任务,先稳定后端 API / 数据契约,再接前端。
- 涉及权限、状态机、审批规则、财务状态、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 只读审计和排障边界
+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` |
| `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/考勤员工日常审批优先和按域镜像 |
| `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。
@@ -70,23 +71,23 @@
| 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 | 判断当前该读什么 |
| `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 后按页面分层和样板选型 |
| `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,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,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,WFDG` | `rg` | none | 2026-05-18 | `rg` | high | 记录已拍板产品边界和企微/OA 设计门禁 |
| `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 和交付规则 |
| `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 协作开发实践和设计主参考层级 |
| `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,DBWFOC` | workflow 回归 | none | 2026-05-18 | `rg` | high | OA 主办审批和企微主办 HR/考勤员工日常审批镜像边界 |
| `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,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 和发票边界 |
| `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 验证 |
| `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 |
| `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,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 执行状态 |
| `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 | 只证明发生过,不直接派工 |
@@ -176,4 +177,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 需求重构和 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 已完成并部署。
- 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 单测通过;公网需部署后复检企微打卡同步。
- 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,不上传高敏附件到企微原生审批。
- 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;不改变企微权限边界;部署后需公网复检打卡同步 |
| `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 主办域全量镜像到企微 |
| `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,旧文件保留历史审计语义。
+1 -1
查看文件
@@ -2,7 +2,7 @@
**文档状态**:当前测试事实源。
**适用范围**: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 为准。
+16 -3
查看文件
@@ -27,7 +27,7 @@
### 1.1 背景
海音达需要一套适合 10 人以下科技公司的轻量 OA,用来把报销、采购、费用、合同、项目资料、财务闭环、审计和关键行政数据集中到一个可审计、可回归、可持续迭代的系统中。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”;DBWFOC 进一步修正边界:能复用企业微信成熟功能的 HR/考勤员工日常场景优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、财务和高敏附件仍由 OA 主办和存储。
海音达需要一套适合 10 人以下科技公司的轻量 OA,用来把报销、采购、费用、合同、项目资料、财务闭环、审计和关键行政数据集中到一个可审计、可回归、可持续迭代的系统中。WFOC 起产品方向调整为“企微优先 + OA 无痛接管”;DBWFOC 进一步修正边界:能复用企业微信成熟功能的 HR/考勤员工日常场景优先使用企业微信,OA 做按域镜像、人工接管、恢复回写、财务闭环和审计中台;采购、合同、项目、财务和高敏附件仍由 OA 主办和存储。WFDG 固定后续开发前必须先过设计规约门禁和企微 API 能力 POC,不再直接进入大规模运行时改造。
### 1.2 总目标
@@ -56,7 +56,7 @@
| 恢复回写层 | OA + 企业微信 API | 企微恢复后由 `wecom_recovery_writeback_v1` 对应急数据执行 dry-run、自动回写、失败重试和冲突清单。 |
| 财务主办层 | 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 数据边界修正
@@ -66,6 +66,19 @@
- 采购单附件、合同正文、供应商报价、项目敏感资料、发票原件、银行回单、付款资料和代账资料不上传到企业微信原生审批或企业微信附件。
- 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. 软件开发项目流程
@@ -235,7 +248,7 @@ WFOC/DBWFOC 后审批分为两类:OA 主办审批和企微主办审批。OA
- 企业微信打卡用于原始采集和规则执行,保留其定位、人脸、Wi-Fi、排班、设备和防作弊能力。
- 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` 标记并进入恢复回写队列。
### 7.2 用户流程
+10 -3
查看文件
@@ -1,6 +1,6 @@
# 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. 适用范围
- 适用于 `small_team_internal` 工作区模式。
@@ -24,7 +24,7 @@
5. 检查功能开关:
- 建议开启:`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`。
- 后续按独立合同评估:`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` 保持关闭且不再作为后续接入目标。
### 3.1 ORG8 组织账号与角色边界
@@ -171,7 +171,7 @@ ORDER BY e.employee_no;
1. HR 先在企业微信通讯录或人事助手维护员工、部门、主管、职位、手机号、邮箱和在职状态。
2. OA 后续通过 `wecom_hr_master_sync_v1` 同步员工镜像,自动生成或更新 OA 员工档案、账号、角色、企业微信绑定和审计记录。
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 内完成,不迁移到企业微信。
6. 采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。
7. OA 主办审批仍可向企业微信个人应用发送脱敏消息;消息点击后通过免登录或账号绑定回到 OA 目标审批页,审批动作仍在 OA 完成。
@@ -190,6 +190,13 @@ RuleOps:
- 正式写入前必须人工确认;每次写入保存前后快照、确认人、API `errcode`、失败原因、回滚建议和审计记录。
- 不得在报告、日志或截图中暴露 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 正式财务闭环与代账交接
公司当前没有 ERP 或独立财务系统,OA 不生成 ERP 实时凭证,也不接真实支付接口。正式财务闭环如下:
+12 -4
查看文件
@@ -32,11 +32,11 @@
| 能力 | 企微能力 | OA 使用程度 | 当前状态 |
| --- | --- | --- | --- |
| 通讯录 | 成员创建、读取、更新、禁用或删除 | 近期已验证 OA 写企微;后续改为企微主源同步 OA,OA 保留修复和审计 | `CAN_REUSE` |
| 通讯录 | 成员创建、读取、更新、禁用或删除 | 近期已验证 OA 写企微;后续改为企微主源同步 OA,OA 保留修复和审计 | `CAN_REUSE_NOW` |
| 人事助手 | 员工字段配置、花名册读取、花名册更新 | 作为员工主数据源,驱动 OA 员工、账号、角色、绑定和状态镜像 | `NEEDS_API_POC` |
| 打卡 | 打卡记录、员工规则、日报、月报、排班、补卡、规则管理 | 企微主办规则和采集,OA 同步按域镜像和应急对账 | `CAN_REUSE` |
| 打卡 | 打卡记录、员工规则、日报、月报、排班、补卡、规则管理 | 企微主办规则和采集,OA 同步按域镜像和应急对账 | `CAN_REUSE_NOW` |
| 审批 | 模板详情、提交审批、审批状态回调、审批详情、模板创建/更新、假期余额 | HR/考勤员工日常审批企微主办,OA 同步镜像;OA 主办财务、采购、合同、项目和报销审批不迁移 | `NEEDS_API_POC` |
| 工作台和消息 | 自建应用入口、应用消息、deeplink | 继续作为 OA 移动入口和通知渠道 | `CAN_REUSE` |
| 工作台和消息 | 自建应用入口、应用消息、deeplink | 继续作为 OA 移动入口和通知渠道 | `CAN_REUSE_NOW` |
| 财务/报销 | 企微不提供本项目需要的 PDF OCR、付款批次、银行回单和代账闭环 | OA 主办 | `KEEP_OA_PRIMARY` |
| 真实支付、ERP、图片 OCR、银行流水导入 | 非本路线目标 | 不进入当前路线 | `NOT_IN_SCOPE` |
@@ -211,6 +211,14 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单和代账资料不进入企业微信原生审批或企业微信附件。
- 企业微信消息点击后进入 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. 验收场景
@@ -241,7 +249,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,企业微信打卡边界
- A5:企业微信通知 provider 和失败重试,不阻断主业务。
- A6:deeplink 白名单和移动目标页回跳。
- 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/考勤应急提交。
- A10:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。
- A11:`wecom_ruleops_v1`,AI 草拟、人工确认、API 写入和配置快照审计。
+5 -3
查看文件
@@ -350,9 +350,11 @@ WF8-3、WF8-4、WF8-5 实现前必须基于本设计给技术方案;实现后
- 企业微信消息只发送脱敏提醒:标题、业务编号、状态、处理入口。
- 企业微信 deeplink 必须指向 OA 审批页或业务详情页。
- 用户点击消息后,在 OA 内查看详情并执行审批动作。
- 企业微信原生审批参与 HR/考勤员工日常审批正式流程,OA 通过 `wecom_native_approval_mirror_v1` 同步为可查询、可导出、可审计的镜像记录。报销、财务、采购、合同和项目类 OA 主办审批仍不得在企业微信原生审批中替代完成。
- 企业微信原生审批参与 HR/考勤员工日常审批正式流程,OA 通过 `wecom_attendance_approval_mirror_v1` 同步为可查询、可导出、可审计的镜像记录;该命名承接旧口径 `wecom_native_approval_mirror_v1`。报销、财务、采购、合同和项目类 OA 主办审批仍不得在企业微信原生审批中替代完成。
- 采购单附件、合同正文、报价、供应商资料、发票、银行回单、代账资料和其他高敏附件不进入企业微信原生审批或企业微信附件;企业微信只做提醒、deeplink 和免登录回流。
- 按域镜像是默认规则:企微主办 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`、不可见范围或权限类错误,业务提交和审批动作不应回滚,但通知记录必须可审计、可重试,并提示管理员修正企业微信应用可见范围或账号绑定。
- 真机验收以企业微信手机端收到应用消息并可点击回流为准;系统级弹窗是否出现受客户端通知权限影响,不作为 OA 通知链路硬门槛。
@@ -382,7 +384,7 @@ WF8 当前正式验收通道为站内通知和企业微信个人应用消息。
| OA 主办审批通过 | 申请人提交报销、采购或合同事项;审批人在 PC 通过;查看业务详情 | 单据从草稿到审批中再到已通过;历史、当前状态、通知记录一致 |
| 移动端审批 | 申请人提交单据;审批人从 `/mobile/approvals` 打开待办并通过 | 移动端可完成审批;PC 待办同步消失或进入已办 |
| 企业微信通知回 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` 标记,进入恢复回写队列 |
| 企业微信个人应用消息 | 触发待办后向绑定企业微信成员发送个人应用消息 | delivery 为成功且无 `invaliduser`;手机端可收到消息并点击回到 OA 移动审批 |
| 驳回重提 | 审批人填写原因驳回;申请人查看原因后复制或重建申请 | 原流程留痕完整;新流程有新的提交记录 |
@@ -409,7 +411,7 @@ WF8 当前正式验收通道为站内通知和企业微信个人应用消息。
- A3:审批权限与当前处理人校验,覆盖越权、自审、停用账号和角色待办。
- A4:审批历史、审计日志和通知记录一致性。
- A5:企业微信通知 deeplink 回 OA 验证,覆盖 OA 主办审批回 OA 和企微主办 HR/考勤审批镜像。
- A6:报销、采购、合同等 OA 主办业务逐个接入统一审批验收;请假、补卡、外出、加班按 `wecom_native_approval_mirror_v1` 单独接入镜像。
- A6:报销、采购、合同等 OA 主办业务逐个接入统一审批验收;请假、补卡、外出、加班按 `wecom_attendance_approval_mirror_v1` 单独接入镜像。
- A7:审批回归脚本与 Playwright PC/移动/企业微信 UA 验证。
- A8:审批规则配置矩阵落地,覆盖金额阈值、天数阈值、兜底审批人、转审和撤回。
- A9:权限与数据范围矩阵落地,覆盖附件下载、导出、例外处理和系统管理员最小授权。
+3 -2
查看文件
@@ -20,6 +20,7 @@
- OA 保存完整原始归档和规范化镜像,用于团队状态、日历展示、考勤解释、审计和导出。
- 企业微信不可用时,管理员可人工开启 OA 应急模式,临时开放请假、补卡、外出、加班提交和审批。
- 企微恢复后,OA 对应急单据执行 dry-run、自动回写、失败重试和冲突清单。
- WFDG 后,正常页面和接口必须区分企微主办镜像、历史 OA fallback 和 OA 应急接管;缺企微 Secret、审批模板、回调或 API 权限时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,不得伪造成同步成功。
### 1.2 适用对象
@@ -48,7 +49,7 @@ REQAUD 复核后,ATTV1 已完成统一入口实现,当前运行时完成度
| 请假对团队状态/日历的影响 | `DONE` | 已批准请假可作为团队状态和日历依据。 |
| 企业微信打卡作为原始采集 | `DONE` | 由企业微信侧承载定位、人脸、Wi-Fi、设备和防作弊能力;OA 不重造。 |
| 企业微信打卡 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 仅在应急模式开放并进入恢复回写。 |
@@ -219,7 +220,7 @@ WFOC 后,正常审批规则优先以企业微信审批模板和打卡/假期
## 10. 后续开发拆分建议
- 已完成: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 权限、短窗口同步、错误码和脱敏证据。
- 后续 A3:`oa_hr_emergency_mode_v1`,管理员人工接管、应急提交、应急审批和恢复队列。
- 后续 A4:`wecom_recovery_writeback_v1`,企微恢复后 dry-run、自动回写、失败重试和冲突清单。