文件
hyb-oa/issues/2026-05-19_21-55-33-wecom-archive-mirror-data-model-design-v1.csv
T

10 行
9.9 KiB
CSV

ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
"WADM1-0","设计合同与边界冻结","建立 WADM1 自建留存/镜像数据模型设计合同;本轮只做 Issue CSV 和事实源设计,不改 Prisma schema、不写业务代码、不部署、不写 OA/企微业务数据。","1) 明确本轮只做数据模型设计;2) 不进入 WARCH1 实现、wecom_attendance_approval_mirror_v1、应急接管、恢复回写或 RuleOps;3) 继承 WEGOV1 四域边界;4) 记录请假/补卡 WREAD1 PASS_READABLE 和同意单击风险;5) 明确外出/加班仍需后续样例或处理决策。","受影响流程:WREAD1 PASS_READABLE -> WADM1 模型设计 -> WARCH1 准入;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-19_21-55-33-wecom-archive-mirror-data-model-design-v1.csv;node scripts/qa/check-process-contract.mjs --issue issues/2026-05-19_21-55-33-wecom-archive-mirror-data-model-design-v1.csv --profile wecom --json;node scripts/qa/check-process-contract.mjs --issue issues/2026-05-19_21-55-33-wecom-archive-mirror-data-model-design-v1.csv --profile docs-only --json。","python3|node|manual","DONE","DONE","DONE","issues/2026-05-19_21-55-33-wecom-archive-mirror-data-model-design-v1.csv","[]","docs-only/contract-only。本轮不调用企微 API;后续读取仍固定 WECOM_AGENT_SECRET,不尝试其他 Secret、无 fallback、不得靠多个 Secret;缺 Secret、权限、可信 IP、可见范围、模板、回调或样例时记录 NEEDS_CONFIG 或 SKIP/BLOCKED_BY_EXTERNAL_CONFIG。回滚/清理:删除本合同和事实源回写;无数据库迁移、无远端 env 修改、无 OA/企微写入。"
"WADM1-1","四域数据模型边界","把企微主办域、OA 主办域、OA 留存域、OA 应急域映射到数据模型职责,明确哪些外部键和业务摘要进入 OA 留存,哪些高敏数据继续禁止进入企微原生审批。","1) 设计区分企微主办、OA 主办、OA 留存和 OA 应急;2) 保存完整外部关联键到 OA 数据库,但报告和日志只输出脱敏前缀;3) 报销、采购、合同、项目、付款、发票、银行回单、高敏附件继续 OA 主办;4) HR/考勤日常审批只保存必要历史和摘要。","受影响流程:域边界 -> schema 设计 -> 权限和日志策略;验证步骤:rg -n ""WADM1|企微主办域|OA 主办域|OA 留存域|OA 应急域|完整外部关联键|高敏附件"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs/企微优先开发路线图.md|docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md|docs/需求-请假考勤修正规约.md","[""WADM1-0""]","模型设计不得把采购、合同、报销、发票、银行回单或高敏附件推进企微原生审批。完整 template_id、sp_no、userid 可进入受权限保护的 OA DB 业务表;日志、报告、Issue 和文档不得保存完整值。"
"WADM1-2","审批留存模型设计","设计企微审批自建留存表:审批单主表、参与人/节点/动作、字段摘要、附件摘要、状态机、幂等键、索引和员工映射关系。","1) 主表能表示 template、sp_no、申请人、审批人、状态、申请/完成时间、最后来源和风险标记;2) 节点/动作能表示审批流历史、同意/驳回/转交等事件;3) 字段摘要只保存业务必要字段,不保存无治理原始 payload;4) 状态机和幂等键支持回调与补偿拉取合并。","受影响流程:企微审批详情 -> OA 自建历史 -> 后续查询/对账;验证步骤:rg -n ""WecomApprovalArchive|审批留存|sp_no|template_id|idempotency|幂等|状态机|字段摘要"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs/需求-统一审批中心规约.md|docs/企微优先开发路线图.md","[""WADM1-1""]","建议模型命名优先复用现有 Wecom* 风格。WARCH1 可先实现主表、参与人快照、动作表和同步运行记录;附件只存摘要和外部引用,不下载高敏内容。"
"WADM1-3","回调与补偿证据模型设计","设计回调事件、补偿拉取运行记录和对账结果模型,解决 WACP3R finding:回调证据文件未持久化,跨部署无法比对。","1) 回调事件表保存验签/解密后的规范化事件摘要、幂等键、接收时间、处理结果和关联审批单;2) 补偿拉取 run/item 保存窗口、模板过滤、游标、计数、错误和拉取详情关联;3) 对账结果可记录漏回调、重复回调、状态不一致和可解释差异;4) 不保存原始 XML、密文、Token、EncodingAESKey 或原始 payload。","受影响流程:企微回调 -> OA 持久证据 -> 补偿拉取比对;验证步骤:rg -n ""callback|回调事件|补偿拉取|漏回调|重复回调|状态不一致|原始 XML|EncodingAESKey"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs/需求-统一审批中心规约.md|docs/企微API能力目录.md","[""WADM1-2""]","WCBK1 已证明真实回调可用;WACP3R finding 必须由 WARCH1 持久化解决。回调密钥仍只在部署环境,不写入仓库、文档、Issue 或日志。"
"WADM1-4","打卡与人事快照模型边界","设计打卡记录、打卡规则快照、人事助手花名册快照、假期余额摘要在 OA 自建留存中的边界,复用既有 WecomCheckin* 和 WHMS 模型。","1) 明确现有 WecomCheckinRecord/Run 可承载打卡记录摘要,后续只补规则快照、日报/月报或排班缺口;2) 人事花名册快照优先依托 WHMS run/item 或新增快照表;3) 假期余额只存摘要和时间点;4) 不保存 Secret、token、原始密文或无治理原始 payload。","受影响流程:企微打卡/人事助手 -> OA 历史查看 -> 后续最小留存;验证步骤:rg -n ""WecomCheckin|人事花名册|假期余额|规则快照|排班|日报|月报"" docs server/prisma/schema.prisma。","rg","DONE","DONE","DONE","docs/需求-企业微信基础设施规约.md|docs/需求-请假考勤修正规约.md|docs/企微优先开发路线图.md","[""WADM1-1""]","WARCH1 V1 可优先做审批留存和既有打卡记录读取持久化,不强行一次覆盖排班、日报、月报和假期余额;缺 API/权限时记录 NEEDS_API_POC 或 NEEDS_CONFIG。"
"WADM1-5","隐私保留、权限和审计设计","定义完整外部键、业务摘要、表单字段、附件摘要、原始 payload、日志报告的保留策略,以及管理员/HR/员工/审计角色的访问边界。","1) OA DB 可保存完整外部键用于补偿和恢复;2) 报告、日志、文档只输出脱敏前缀;3) 原始 payload 默认不保存,确需保存必须另设加密存储和访问审计;4) 普通员工只能看自己的历史,管理视图按 HR/部门/管理员权限分层;5) 导出默认脱敏。","受影响流程:历史查看 -> 权限控制 -> 审计导出;验证步骤:rg -n ""隐私|脱敏|完整外部键|原始 payload|访问审计|导出|权限"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md|docs/管理员手册.md","[""WADM1-2"",""WADM1-3"",""WADM1-4""]","同意单击即通过的风险不通过复制企微原始页面解决;WADM1 只记录审计、状态历史和必要提示策略,WARCH1 后页面可补充查看历史和审批轨迹。"
"WADM1-6","WARCH1 最小实现切片与迁移回滚设计","把数据模型拆成 WARCH1 可实现的最小切片,定义 schema 迁移顺序、回填方式、失败回滚和验收口径。","1) WARCH1 V1 优先只读保存请假/补卡审批历史、回调事件、补偿拉取 run/item 和必要员工映射;2) 先不实现完整镜像查询增强、应急接管、恢复回写或 RuleOps;3) 迁移可回滚,写入可幂等重放;4) 断开企微 API 时 OA 仍能查看已保存历史摘要。","受影响流程:WADM1 设计 -> WARCH1 实现合同;验证步骤:rg -n ""WARCH1|最小自建历史留存|迁移|回滚|幂等重放|断开企微"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg","DONE","DONE","DONE","docs/企微优先开发路线图.md|docs/需求-统一审批中心规约.md|docs/开发交付与变更管理规约.md","[""WADM1-5""]","WARCH1 仍需单独 Issue CSV 和方案批准;WADM1 不创建迁移文件。建议迁移顺序:先新增只写不读表,再 runner/backfill,再只读页面/接口,再运营验收。"
"WADM1-7","事实源回写、评审和提交","更新路线图、审批规约、企微基础设施规约、请假考勤规约、管理员手册、文档索引、事实源矩阵和项目 skill;启动只读评审员 agent 审查模型风险;完成验证和中文提交。","1) 事实源记录 WADM1 设计结论;2) 评审员覆盖状态机、幂等、隐私、迁移回滚、权限和跳阶段风险;3) 文档审计、skill 校验、process gate 和 git diff --check 通过;4) 中文提交完成;5) 下一步明确进入 WARCH1。","受影响流程:WADM1 设计收口 -> WARCH1 准入;验证步骤: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;node scripts/qa/check-process-contract.mjs --baseline --json;git diff --check;git commit -m 'WADM1 设计企微自建留存数据模型'。","node|python3|git|agent-review","DONE","DONE","DONE","docs/企微优先开发路线图.md|docs/需求-统一审批中心规约.md|docs/需求-企业微信基础设施规约.md|docs/需求-请假考勤修正规约.md|docs/管理员手册.md|docs/文档索引.md|docs/文档事实源状态矩阵.md|.agents/skills/hyb-oa-delivery/SKILL.md","[""WADM1-6""]","评审员只读,不修改文件;评审指出的完整外部键、合并语义和合同状态一致性问题已修正文档。提交后继续按三脑轮次判断是否立即进入 WARCH1;若 WARCH1 schema/隐私风险需要人工拍板,则用问答方式暂停。"