HCLT 同步企微通讯录验证口径

这个提交包含在:
2026-05-17 22:19:59 +08:00
父节点 769e1e4ca6
当前提交 1ccd675714
共修改 5 个文件,包含 15 行新增和 5 行删除
+2
查看文件
@@ -15,6 +15,7 @@ Read only what is relevant:
- After R5, first check the main R5/R6 contract status before planning trial-run or follow-up work; R5 must remain the completed gate and R6 must have its own Issue CSV before expanding scope.
- For UI/page work, PC/mobile/WeCom experience, approval UX, or domestic OA benchmarking, read `docs/产品设计规则.md` and `references/visual-qa.md`. DG8 makes Feishu workbench/approval the single main UI/layout reference, with Hyinda branding and project rules taking priority. DG9 adds the A/B/C page layering and shared workbench/mobile samples; choose the DG9 sample before designing or coding a page. Other products are only function/process/control references. Mobile page work must treat `docs/产品设计规则.md` as the source of truth for the unified mobile shell, icon grid, card lists, deep Push pages, sticky actions, safe-area, and cross-viewport matrix. 移动页必须先对齐该设计事实源,再进入实现或验证。
- For approval workflow, roles, self-approval, notification, deeplink, reminder, or escalation work, read `docs/需求-统一审批中心规约.md`.
- For HR lifecycle, employee onboarding/offboarding, Enterprise WeChat directory sync, or account disablement work, read `docs/需求-企业微信基础设施规约.md`, `docs/管理员手册.md`, and the latest HCLT/HRWD Issue CSV evidence first.
- For reimbursement, invoice, OCR, duplicate invoice, or attachment work, read `docs/报销发票附件规则.md` and `references/reimbursement.md`.
- For local/WeCom/public trial-run, OCR runtime, Caddy, or DB drift work, read `docs/试运行与自动化验证手册.md` and `references/trialrun.md`.
- For how this skill should evolve, read `docs/Agent开发交付实践.md`.
@@ -103,6 +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 HRWD/HCLT, ERP is not a future OA integration target, Enterprise WeChat native approval is not the formal workflow, and 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.
- 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.
+2 -2
查看文件
@@ -91,7 +91,7 @@ P2T 只做排序和边界确认,不进入当前实现。候选项按 R7 真实
| 优先级 | 候选 | 当前边界 |
| --- | --- | --- |
| P2-1 | 人事生命周期与账号主数据治理 | 优先覆盖入职、转正、调岗、离职、直属主管缺失、主管/审批人停用、admin-only 误用、财务/管理员角色混淆、OA 账号和企业微信通讯录/绑定闭环;不使用企业微信原生审批 |
| P2-1 | 人事生命周期与账号主数据治理 | 已覆盖入职、转正、调岗、离职、OA 账号和企业微信通讯录/绑定闭环;HCLT 已验证公网企微通讯录 create/update/disable 真实写入;不使用企业微信原生审批 |
| P2-2 | 审批与通知扩展 | 转审扩展到请假/采购/差旅拆 `W2F`;邮件通道和三渠道完整验收另决策;不引入复杂 BPM |
| P2-3 | OCR 与票据增强 | 当前试运行继续 PDF-only;图片 OCR、批量样票和异步体验需另补样票、隐私处理和 provider 回归 |
| P2-4 | 费用/预算/项目轻量增强 | 可评估费用提示和项目关联增强;预算重型控制和正式成本核算继续冻结,ERP 不再作为后续接入项 |
@@ -120,7 +120,7 @@ ERP 已从“冻结待办”调整为“未来不接入 OA”。其他冻结项
| --- | --- | --- | --- | --- |
| P0 | 统一审批中心 | 所有正式审批在 OA 内处理 | PC 审批待办、移动审批 | 能提交、审批、驳回、退回、转审、留痕 |
| P0 | 企业微信基础设施 | 手机入口、免登、通知、打卡原始采集 | 企业微信自建应用 `海音达工作台` | 手机进入 `/mobile`,通知 deeplink 回 OA |
| P0 | 人事生命周期 | 入职、转正、调岗、离职、OA 账号、权限和企业微信通讯录状态闭环 | 人员管理、员工档案 | OA 为员工主事实源,企微通讯录同步成功或可解释 SKIP/失败可重试 |
| P0 | 人事生命周期 | 入职、转正、调岗、离职、OA 账号、权限和企业微信通讯录状态闭环 | 人员管理、员工档案 | OA 为员工主事实源;HCLT 已验证公网企微通讯录真实写入,其他环境缺配置时同步可解释 SKIP/失败并可重试 |
| P0 | 报销/发票/OCR | 员工自助报销,财务可查重和导出 | 报销、移动报销、票据中心 | 上传、OCR、查重、绑定、审批、付款闭环 |
| P0 | 请假与考勤修正审批 | 请假、补卡、外出、加班等修正都在 OA 内审批 | 请假、移动审批、团队状态 | 审批后团队状态和考勤口径不破坏 |
| P1 | 采购/费用审批 | 小团队采购和费用事项留痕 | 采购、审批待办 | 申请、附件、审批、状态更新可用 |
+2 -2
查看文件
@@ -1,6 +1,6 @@
# hyb-oa 管理员手册(10 人以下团队版)
**当前状态(2026-05-17 / HRWD)**:R7E、PRELAUNCH、CASHIER-VOUCHER-V1、LAUNCH-DEPLOY-FINANCE、FIN-PROD-ENABLE、ACCOUNTING-HANDOFF-V1、ATTV1 和 HR-WECOM-DIRECTORY-V1 均已收口;SYSTEM-COMPLETE-GATE 结论为 `GO_TO_USE`。公网 `payment_batch_v1=force_on`,`erp_sync=force_off`。公司当前无 ERP/独立财务系统,且 ERP 未来不接入 OA;财务闭环以 OA 内审批、台账、付款批次、银行对公付款回单和月度代账交接为准。
**当前状态(2026-05-17 / HCLT)**: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`。公网 `payment_batch_v1=force_on`,`erp_sync=force_off`。企业微信通讯录同步已完成公网 create/update/disable 真实写入验证。公司当前无 ERP/独立财务系统,且 ERP 未来不接入 OA;财务闭环以 OA 内审批、台账、付款批次、银行对公付款回单和月度代账交接为准。
## 1. 适用范围
- 适用于 `small_team_internal` 工作区模式。
@@ -242,7 +242,7 @@ ORDER BY e.employee_no;
### 4.1 入职
1. 在 `人员管理` 创建员工账号。
2. 打开员工详情页,补齐部门、职位、直属上级、试用期结束日、工作地点、紧急联系人。
3. 若已开启 `hr_wecom_directory_sync_v1` 且企业微信通讯录配置完整,创建或发起入职时系统会尝试创建企业微信成员;缺 Secret、缺默认部门或无通讯录权限时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,OA 入职不回滚。
3. 若已开启 `hr_wecom_directory_sync_v1` 且企业微信通讯录配置完整,创建或发起入职时系统会尝试创建企业微信成员;HCLT 已验证公网真实写入闭环,缺 Secret、缺默认部门或无通讯录权限时记录 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,OA 入职不回滚。
4. 发起 `入职`,系统会自动生成 checklist:账号初始化、资产发放、制度确认。
5. checklist 全部完成后,员工状态自动从 `onboarding` 进入 `probation`。
6. 人员列表或员工详情中的“企业微信通讯录”状态若为同步失败或配置缺失,管理员可在配置修复后执行“重试同步”。
@@ -142,6 +142,7 @@ deeplink 必须校验目标地址白名单,避免跳转到非 OA 域名或未
## 6. 通讯录身份边界
- HRWD 起,OA 驱动企业微信通讯录成员创建、更新和禁用;OA 员工表仍是权限、审批、业务数据和审计的主事实源。
- HCLT 已完成公网真实写入验证:测试员工 `HRWDTEST-20260517214548` 已完成企业微信通讯录 create/update/disable,三次同步均为 `wecom_contact_synced` 且 `errcode=0`。
- 新员工在 OA 创建账号和入职记录后,可在 `hr_wecom_directory_sync_v1` 开启且配置完整时同步创建企业微信成员,并写入 `wecom_identity_bindings.external_user_id`。
- OA 调岗、部门、职位、手机号、邮箱变化后,可触发企业微信成员更新;历史审批和历史业务单据不因调岗被改写。
- 离职完成后默认禁用企业微信成员,不删除成员;绑定关系和历史业务记录保留审计。
@@ -154,7 +155,7 @@ deeplink 必须校验目标地址白名单,避免跳转到非 OA 域名或未
| 项目 | 状态 | 当前口径 |
| --- | --- | --- |
| OA 员工生命周期 | `DONE` | 支持入职、转正、调岗、离职 checklist、账号禁用、会话失效和审计。 |
| OA 驱动企微通讯录创建/更新/禁用 | `DONE_WITH_EXTERNAL_SKIP` | 代码、同步记录、员工管理状态和重试入口已部署;公网端点检查在缺配置时返回 `SKIP wecom_contact_sync_disabled`,真实写入取决于通讯录 Secret、默认部门和企业微信通讯录 API 权限。 |
| OA 驱动企微通讯录创建/更新/禁用 | `DONE_LIVE_VERIFIED` | 代码、同步记录、员工管理状态和重试入口已部署;HCLT 公网真实写入闭环通过,`HRWDTEST-20260517214548` create/update/disable 均返回 `errcode=0`。其他环境缺 Secret、默认部门或通讯录 API 权限时仍按 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` 或失败可重试处理。 |
| 企业微信原生审批 | `FROZEN` | 不作为正式审批流,入离职、请假、补卡、外出、加班审批均在 OA 内留痕。 |
---
@@ -0,0 +1,7 @@
"ID","Title","Description","Acceptance","Test_Method","Tools","Dev_Status","Review1_Status","Regression_Status","Files","Dependencies","Notes"
"HDS-0","合同建档","建立 HCLT-DOC-SKILL-SYNC 合同,记录 HCLT 公网测试已证明 OA 驱动企业微信通讯录 create/update/disable 真实写入闭环通过;本轮只同步文档和项目 skill 口径。","1) Issue CSV 校验通过;2) 范围限定为规约、PRD、管理员手册和 hyb-oa-delivery skill;3) 明确不改业务代码、不改 API/schema/UI、不部署;4) 记录 HCLT 证据路径和测试 marker。","受影响流程:HCLT 证据 -> 文档/Skill 口径同步;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv。","python3|manual","DONE","DONE","DONE","issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv","[]","回滚路径:回退本 CSV 和文档/skill 口径同步;不涉及运行时。"
"HDS-1","企业微信规约同步","更新企业微信基础设施规约,将 OA 驱动企微通讯录创建/更新/禁用从仅实现且可能外部 SKIP 的口径调整为公网真实写入已验证,同时保留缺配置环境的 SKIP/BLOCKED 边界。","1) 完成度表状态调整为 DONE_LIVE_VERIFIED 或等价口径;2) 写明 HRWDTEST-20260517214548 create/update/disable 和 errcode=0;3) 保留缺 Secret、默认部门或权限时可解释 SKIP/失败;4) 不新增企业微信原生审批或删除成员承诺。","受影响流程:HR 人事生命周期 -> 企微通讯录同步 -> 后续验收判断;验证步骤:rg -n 'DONE_LIVE_VERIFIED|HRWDTEST-20260517214548|wecom_contact_synced|SKIP/BLOCKED_BY_EXTERNAL_CONFIG' docs/需求-企业微信基础设施规约.md。","rg|manual","DONE","DONE","DONE","docs/需求-企业微信基础设施规约.md","[""HDS-0""]","离职仍默认禁用成员,不删除;其他环境缺外部配置时仍不是业务代码失败。"
"HDS-2","PRD 和管理员手册同步","更新 PRD 和管理员手册,将人事生命周期/企业微信通讯录状态补充为公网真实写入已验证,避免继续误读为只具备配置或代码能力。","1) PRD 人事生命周期验收口径包含公网真实写入已验证;2) 管理员手册当前状态和入职说明包含 HCLT 事实;3) 不新增操作流程;4) ERP 继续写为未来不接入 OA。","受影响流程:产品事实源 -> 管理员上线/入职操作说明;验证步骤:rg -n 'HCLT|HRWDTEST-20260517214548|公网真实写入|ERP 未来不接入' docs/海音达OA-MVP需求规格说明书.md docs/管理员手册.md。","rg|manual","DONE","DONE","DONE","docs/海音达OA-MVP需求规格说明书.md|docs/管理员手册.md","[""HDS-1""]","只修正状态事实,不改变员工入职操作步骤。"
"HDS-3","项目 Skill 同步","更新 .agents/skills/hyb-oa-delivery/SKILL.md,补充 HR/企业微信通讯录任务必读事实源和默认边界:ERP 未来不接入、企业微信原生审批不作为正式流、企微通讯录同步已 live verified。","1) skill 增加 HR/企微通讯录相关必读事实源;2) skill 增加 HCLT 后默认判断边界;3) quick_validate 通过;4) 不扩大 skill 职责或引入新流程机制。","受影响流程:后续 agent 处理 HR/企微通讯录任务 -> 读取正确事实源 -> 避免误判能力未完成;验证步骤:python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery。","python3|manual","DONE","DONE","DONE",".agents/skills/hyb-oa-delivery/SKILL.md","[""HDS-1""]","保持 skill 简洁,只增加必要事实源和边界。"
"HDS-4","内容与静态门禁","运行文档、Skill、CSV 和 diff 静态校验,确认没有新增业务承诺或格式问题。","1) validate_issues_csv 通过;2) quick_validate 通过;3) audit-docs errors=0,既有 unregistered docs warning 不作为本轮阻断;4) git diff --check 通过;5) rg 内容核对通过。","受影响流程:文档治理 -> 提交门禁;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv;python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery;node scripts/qa/audit-docs.mjs --check-registry;git diff --check;rg -n 'HCLT|HRWDTEST-20260517214548|DONE_LIVE_VERIFIED|wecom_contact_synced|hr_wecom_directory_sync_v1|ERP 未来不接入' docs .agents/skills/hyb-oa-delivery/SKILL.md issues。","python3|node|rg|git","DONE","DONE","DONE","docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv","[""HDS-2"",""HDS-3""]","不修复既有 audit-docs warning;如需清理另建文档治理合同。"
"HDS-5","收口提交","回填 Issue 状态并提交中文 commit。","1) 本 CSV 全部状态按实测回填 DONE;2) git status 干净;3) 中文 commit 引用 HCLT/HDS;4) 最终说明不宣称已部署,因为本轮无需部署。","受影响流程:HCLT 口径同步 -> 审计提交;验证步骤:git status --short;git commit -m 'HCLT 同步企微通讯录验证口径'。","git","DONE","DONE","DONE","issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv|docs|.agents/skills/hyb-oa-delivery/SKILL.md","[""HDS-4""]","仅文档和 skill 提交;不部署。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 HDS-0 合同建档 建立 HCLT-DOC-SKILL-SYNC 合同,记录 HCLT 公网测试已证明 OA 驱动企业微信通讯录 create/update/disable 真实写入闭环通过;本轮只同步文档和项目 skill 口径。 1) Issue CSV 校验通过;2) 范围限定为规约、PRD、管理员手册和 hyb-oa-delivery skill;3) 明确不改业务代码、不改 API/schema/UI、不部署;4) 记录 HCLT 证据路径和测试 marker。 受影响流程:HCLT 证据 -> 文档/Skill 口径同步;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv。 python3|manual DONE DONE DONE issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv [] 回滚路径:回退本 CSV 和文档/skill 口径同步;不涉及运行时。
3 HDS-1 企业微信规约同步 更新企业微信基础设施规约,将 OA 驱动企微通讯录创建/更新/禁用从仅实现且可能外部 SKIP 的口径调整为公网真实写入已验证,同时保留缺配置环境的 SKIP/BLOCKED 边界。 1) 完成度表状态调整为 DONE_LIVE_VERIFIED 或等价口径;2) 写明 HRWDTEST-20260517214548 create/update/disable 和 errcode=0;3) 保留缺 Secret、默认部门或权限时可解释 SKIP/失败;4) 不新增企业微信原生审批或删除成员承诺。 受影响流程:HR 人事生命周期 -> 企微通讯录同步 -> 后续验收判断;验证步骤:rg -n 'DONE_LIVE_VERIFIED|HRWDTEST-20260517214548|wecom_contact_synced|SKIP/BLOCKED_BY_EXTERNAL_CONFIG' docs/需求-企业微信基础设施规约.md。 rg|manual DONE DONE DONE docs/需求-企业微信基础设施规约.md ["HDS-0"] 离职仍默认禁用成员,不删除;其他环境缺外部配置时仍不是业务代码失败。
4 HDS-2 PRD 和管理员手册同步 更新 PRD 和管理员手册,将人事生命周期/企业微信通讯录状态补充为公网真实写入已验证,避免继续误读为只具备配置或代码能力。 1) PRD 人事生命周期验收口径包含公网真实写入已验证;2) 管理员手册当前状态和入职说明包含 HCLT 事实;3) 不新增操作流程;4) ERP 继续写为未来不接入 OA。 受影响流程:产品事实源 -> 管理员上线/入职操作说明;验证步骤:rg -n 'HCLT|HRWDTEST-20260517214548|公网真实写入|ERP 未来不接入' docs/海音达OA-MVP需求规格说明书.md docs/管理员手册.md。 rg|manual DONE DONE DONE docs/海音达OA-MVP需求规格说明书.md|docs/管理员手册.md ["HDS-1"] 只修正状态事实,不改变员工入职操作步骤。
5 HDS-3 项目 Skill 同步 更新 .agents/skills/hyb-oa-delivery/SKILL.md,补充 HR/企业微信通讯录任务必读事实源和默认边界:ERP 未来不接入、企业微信原生审批不作为正式流、企微通讯录同步已 live verified。 1) skill 增加 HR/企微通讯录相关必读事实源;2) skill 增加 HCLT 后默认判断边界;3) quick_validate 通过;4) 不扩大 skill 职责或引入新流程机制。 受影响流程:后续 agent 处理 HR/企微通讯录任务 -> 读取正确事实源 -> 避免误判能力未完成;验证步骤:python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery。 python3|manual DONE DONE DONE .agents/skills/hyb-oa-delivery/SKILL.md ["HDS-1"] 保持 skill 简洁,只增加必要事实源和边界。
6 HDS-4 内容与静态门禁 运行文档、Skill、CSV 和 diff 静态校验,确认没有新增业务承诺或格式问题。 1) validate_issues_csv 通过;2) quick_validate 通过;3) audit-docs errors=0,既有 unregistered docs warning 不作为本轮阻断;4) git diff --check 通过;5) rg 内容核对通过。 受影响流程:文档治理 -> 提交门禁;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv;python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery;node scripts/qa/audit-docs.mjs --check-registry;git diff --check;rg -n 'HCLT|HRWDTEST-20260517214548|DONE_LIVE_VERIFIED|wecom_contact_synced|hr_wecom_directory_sync_v1|ERP 未来不接入' docs .agents/skills/hyb-oa-delivery/SKILL.md issues。 python3|node|rg|git DONE DONE DONE docs|.agents/skills/hyb-oa-delivery/SKILL.md|issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv ["HDS-2","HDS-3"] 不修复既有 audit-docs warning;如需清理另建文档治理合同。
7 HDS-5 收口提交 回填 Issue 状态并提交中文 commit。 1) 本 CSV 全部状态按实测回填 DONE;2) git status 干净;3) 中文 commit 引用 HCLT/HDS;4) 最终说明不宣称已部署,因为本轮无需部署。 受影响流程:HCLT 口径同步 -> 审计提交;验证步骤:git status --short;git commit -m 'HCLT 同步企微通讯录验证口径'。 git DONE DONE DONE issues/2026-05-17_22-16-27-hclt-doc-skill-sync.csv|docs|.agents/skills/hyb-oa-delivery/SKILL.md ["HDS-4"] 仅文档和 skill 提交;不部署。